From f81ca3ba605687ccb1b2b76d700a03f7dc4d370f Mon Sep 17 00:00:00 2001 From: GCHQ 77703 Date: Thu, 30 Aug 2018 22:38:01 +0100 Subject: [PATCH 001/754] Implement RSA generation and signing of messages --- src/core/config/Categories.json | 2 + src/core/operations/GenerateRSAKeyPair.mjs | 82 ++++++++++++++++++++++ src/core/operations/RSASign.mjs | 60 ++++++++++++++++ 3 files changed, 144 insertions(+) create mode 100644 src/core/operations/GenerateRSAKeyPair.mjs create mode 100644 src/core/operations/RSASign.mjs diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index ab3bc486..68e17294 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -89,6 +89,8 @@ "Derive EVP key", "Bcrypt", "Scrypt", + "Generate RSA Key Pair", + "RSA Sign", "Pseudo-Random Number Generator" ] }, diff --git a/src/core/operations/GenerateRSAKeyPair.mjs b/src/core/operations/GenerateRSAKeyPair.mjs new file mode 100644 index 00000000..9d7a88d8 --- /dev/null +++ b/src/core/operations/GenerateRSAKeyPair.mjs @@ -0,0 +1,82 @@ +/** + * @author gchq77703 [] + * @copyright Crown Copyright 2018 + ` * @license Apache-2.0 + */ + +import Operation from "../Operation"; +import forge from "node-forge/dist/forge.min.js"; + +/** + * Generate RSA Key Pair operation + */ +class GenerateRSAKeyPair extends Operation { + + /** + * GenerateRSAKeyPair constructor + */ + constructor() { + super(); + + this.name = "Generate RSA Key Pair"; + this.module = "Ciphers"; + this.description = "Generate an RSA key pair with a given number of bits"; + this.infoURL = "https://wikipedia.org/wiki/RSA_(cryptosystem)"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + name: "RSA Key Length", + type: "option", + value: [ + "1024", + "2048", + "4096" + ] + }, + { + name: "Output Format", + type: "option", + value: [ + "PEM", + "JSON", + "DER" + ] + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + async run(input, args) { + const [keyLength, outputFormat] = args + + return new Promise((resolve, reject) => { + forge.pki.rsa.generateKeyPair({ bits: Number(keyLength), workers: 2 }, (err, keypair) => { + if (err) return reject(err) + + let result; + + switch(outputFormat) { + case "PEM": + result = forge.pki.publicKeyToPem(keypair.publicKey) + "\n" + forge.pki.privateKeyToPem(keypair.privateKey); + break; + case "JSON": + result = JSON.stringify(keypair); + break; + case "DER": + result = forge.asn1.toDer(forge.pki.privateKeyToAsn1(keypair.privateKey)).getBytes(); + break; + }; + + resolve(result); + }) + }) + } + +} + +export default GenerateRSAKeyPair; diff --git a/src/core/operations/RSASign.mjs b/src/core/operations/RSASign.mjs new file mode 100644 index 00000000..fb3e4bbd --- /dev/null +++ b/src/core/operations/RSASign.mjs @@ -0,0 +1,60 @@ +/** + * @author gchq77703 [] + * @copyright Crown Copyright 2018 + * @license Apache-2.0 + */ + +import Operation from "../Operation"; +import forge from "node-forge/dist/forge.min.js"; + +/** + * RSA Sign operation + */ +class RSASign extends Operation { + + /** + * RSASign constructor + */ + constructor() { + super(); + + this.name = "RSA Sign"; + this.module = "Ciphers"; + this.description = "Sign a plaintext message with a PEM encoded RSA key."; + this.infoURL = "https://wikipedia.org/wiki/RSA_(cryptosystem)"; + this.inputType = "string"; + this.outputType = "byteArray"; + this.args = [ + { + name: "RSA Private Key (PEM)", + type: "text", + value: "-----BEGIN RSA PRIVATE KEY-----" + }, + { + name: "Password", + type: "text", + value: "" + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const [key, password] = args; + + const privateKey = forge.pki.decryptRsaPrivateKey(key, password); + + const md = forge.md.sha1.create(); + md.update(input, 'utf8'); + const signature = privateKey.sign(md); + + return signature.split('').map(char => char.charCodeAt()); + } + +} + +export default RSASign; From 31e758ca45667125feb52707762ead91d7969a08 Mon Sep 17 00:00:00 2001 From: Matt C Date: Fri, 31 Aug 2018 11:25:05 +0100 Subject: [PATCH 002/754] Attempt to make RSA key generation functional --- package-lock.json | 6 ++++++ package.json | 1 + src/core/operations/GenerateRSAKeyPair.mjs | 19 ++++++++++++------- src/core/operations/RSASign.mjs | 4 ++-- webpack.config.js | 4 ++++ 5 files changed, 25 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index d9814093..e7ce7f62 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8573,6 +8573,12 @@ } } }, + "raw-loader": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", + "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", + "dev": true + }, "rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", diff --git a/package.json b/package.json index 5ff508f6..6805c522 100644 --- a/package.json +++ b/package.json @@ -62,6 +62,7 @@ "postcss-import": "^12.0.0", "postcss-loader": "^2.1.6", "prompt": "^1.0.0", + "raw-loader": "^0.5.1", "sass-loader": "^7.1.0", "sitemap": "^1.13.0", "style-loader": "^0.21.0", diff --git a/src/core/operations/GenerateRSAKeyPair.mjs b/src/core/operations/GenerateRSAKeyPair.mjs index 9d7a88d8..64ff29d2 100644 --- a/src/core/operations/GenerateRSAKeyPair.mjs +++ b/src/core/operations/GenerateRSAKeyPair.mjs @@ -6,6 +6,7 @@ import Operation from "../Operation"; import forge from "node-forge/dist/forge.min.js"; +import PrimeWorker from "node-forge/dist/prime.worker.min.js"; /** * Generate RSA Key Pair operation @@ -52,15 +53,19 @@ class GenerateRSAKeyPair extends Operation { * @returns {string} */ async run(input, args) { - const [keyLength, outputFormat] = args + const [keyLength, outputFormat] = args; + let workerScript; return new Promise((resolve, reject) => { - forge.pki.rsa.generateKeyPair({ bits: Number(keyLength), workers: 2 }, (err, keypair) => { - if (err) return reject(err) + if (ENVIRONMENT_IS_WORKER || window) { + workerScript = ENVIRONMENT_IS_WORKER() ? self.URL.createObjectURL(new Blob([PrimeWorker])) : window.URL.createObjectURL(new Blob([PrimeWorker])); + } + forge.pki.rsa.generateKeyPair({ bits: Number(keyLength), workers: 2, workerScript}, (err, keypair) => { + if (err) return reject(err); let result; - switch(outputFormat) { + switch (outputFormat) { case "PEM": result = forge.pki.publicKeyToPem(keypair.publicKey) + "\n" + forge.pki.privateKeyToPem(keypair.privateKey); break; @@ -70,11 +75,11 @@ class GenerateRSAKeyPair extends Operation { case "DER": result = forge.asn1.toDer(forge.pki.privateKeyToAsn1(keypair.privateKey)).getBytes(); break; - }; + } resolve(result); - }) - }) + }); + }); } } diff --git a/src/core/operations/RSASign.mjs b/src/core/operations/RSASign.mjs index fb3e4bbd..c0b4ccdf 100644 --- a/src/core/operations/RSASign.mjs +++ b/src/core/operations/RSASign.mjs @@ -49,10 +49,10 @@ class RSASign extends Operation { const privateKey = forge.pki.decryptRsaPrivateKey(key, password); const md = forge.md.sha1.create(); - md.update(input, 'utf8'); + md.update(input, "utf8"); const signature = privateKey.sign(md); - return signature.split('').map(char => char.charCodeAt()); + return signature.split("").map(char => char.charCodeAt()); } } diff --git a/webpack.config.js b/webpack.config.js index 89a36f69..1a4f5a2d 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -61,6 +61,10 @@ module.exports = { test: /forge.min.js$/, loader: "imports-loader?jQuery=>null" }, + { + test: /prime.worker.min.js$/, + use: "raw-loader" + }, { test: /bootstrap-material-design/, loader: "imports-loader?Popper=popper.js/dist/umd/popper.js" From 1f09c03d4897206e7ed4a3d90cac6c577c486aed Mon Sep 17 00:00:00 2001 From: GCHQ 77703 Date: Fri, 15 Feb 2019 14:23:16 +0000 Subject: [PATCH 003/754] Add De Bruijn Operation --- src/core/config/Categories.json | 1 + .../operations/GenerateDeBruijnSequence.mjs | 87 +++++++++++++++++++ tests/operations/index.mjs | 1 + .../tests/GenerateDeBruijnSequence.mjs | 33 +++++++ 4 files changed, 122 insertions(+) create mode 100644 src/core/operations/GenerateDeBruijnSequence.mjs create mode 100644 tests/operations/tests/GenerateDeBruijnSequence.mjs diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 8235ab10..238c7282 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -370,6 +370,7 @@ "Chi Square", "Disassemble x86", "Pseudo-Random Number Generator", + "Generate De Bruijn Sequence", "Generate UUID", "Generate TOTP", "Generate HOTP", diff --git a/src/core/operations/GenerateDeBruijnSequence.mjs b/src/core/operations/GenerateDeBruijnSequence.mjs new file mode 100644 index 00000000..647d3c7f --- /dev/null +++ b/src/core/operations/GenerateDeBruijnSequence.mjs @@ -0,0 +1,87 @@ +/** + * @author gchq77703 [gchq77703@gchq.gov.uk] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation"; +import OperationError from "../errors/OperationError"; + +/** + * Generate De Bruijn Sequence operation + */ +class GenerateDeBruijnSequence extends Operation { + + /** + * GenerateDeBruijnSequence constructor + */ + constructor() { + super(); + + this.name = "Generate De Bruijn Sequence"; + this.module = "Default"; + this.description = "Generates rolling keycode combinations given a certain alphabet size and key length."; + this.infoURL = "https://wikipedia.org/wiki/De_Bruijn_sequence"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + name: "Alphabet size (k)", + type: "number", + value: 2 + }, + { + name: "Key length (n)", + type: "number", + value: 3 + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const [k, n] = args; + + if (k < 2 || k > 9) { + throw new OperationError("Invalid alphabet size, required to be between 2 and 9 (inclusive)."); + } + + if (n < 2) { + throw new OperationError("Invalid key length, required to be at least 2."); + } + + if (Math.pow(k, n) > 50000) { + throw new OperationError("Too many permutations, please reduce k^n to under 50,000."); + } + + const a = []; + for (let i = 0; i < k * n; i++) a.push(0); + + const sequence = []; + + (function db(t = 1, p = 1) { + if (t > n) { + if (n % p !== 0) return; + for (let j = 1; j <= p; j++) { + sequence.push(a[j]); + } + return; + } + + a[t] = a[t - p]; + db(t + 1, p); + for (let j = a[t - p] + 1; j < k; j++) { + a[t] = j; + db(t + 1, t); + } + })(); + + return sequence.join(""); + } +} + +export default GenerateDeBruijnSequence; diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index fb68ed9c..316e934c 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -45,6 +45,7 @@ import "./tests/DateTime"; import "./tests/ExtractEmailAddresses"; import "./tests/Fork"; import "./tests/FromDecimal"; +import "./tests/GenerateDeBruijnSequence"; import "./tests/Hash"; import "./tests/HaversineDistance"; import "./tests/Hexdump"; diff --git a/tests/operations/tests/GenerateDeBruijnSequence.mjs b/tests/operations/tests/GenerateDeBruijnSequence.mjs new file mode 100644 index 00000000..b68a843f --- /dev/null +++ b/tests/operations/tests/GenerateDeBruijnSequence.mjs @@ -0,0 +1,33 @@ +/** + * De Brujin Sequence tests. + * + * @author gchq77703 [gchq77703@gchq.gov.uk] + * @copyright Crown Copyright 2017 + * @license Apache-2.0 + */ +import TestRegister from "../TestRegister"; + +TestRegister.addTests([ + { + name: "Small Sequence", + input: "", + expectedOutput: "00010111", + recipeConfig: [ + { + "op": "Generate De Bruijn Sequence", + "args": [2, 3] + } + ] + }, + { + name: "Long Sequence", + input: "", + expectedOutput: "0000010000200003000110001200013000210002200023000310003200033001010010200103001110011200113001210012200123001310013200133002010020200203002110021200213002210022200223002310023200233003010030200303003110031200313003210032200323003310033200333010110101201013010210102201023010310103201033011020110301111011120111301121011220112301131011320113301202012030121101212012130122101222012230123101232012330130201303013110131201313013210132201323013310133201333020210202202023020310203202033021030211102112021130212102122021230213102132021330220302211022120221302221022220222302231022320223302303023110231202313023210232202323023310233202333030310303203033031110311203113031210312203123031310313203133032110321203213032210322203223032310323203233033110331203313033210332203323033310333203333111112111131112211123111321113311212112131122211223112321123311312113131132211323113321133312122121231213212133122131222212223122321223312313123221232312332123331313213133132221322313232132331332213323133321333322222322233223232233323233233333", + recipeConfig: [ + { + "op": "Generate De Bruijn Sequence", + "args": [4, 5] + } + ] + } +]) \ No newline at end of file From 44a164ed2825ddd799b656459b89b1a4ee5a9f0a Mon Sep 17 00:00:00 2001 From: GCHQ 77703 Date: Tue, 19 Feb 2019 09:56:38 +0000 Subject: [PATCH 004/754] Fix test script linter --- tests/operations/tests/GenerateDeBruijnSequence.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/operations/tests/GenerateDeBruijnSequence.mjs b/tests/operations/tests/GenerateDeBruijnSequence.mjs index b68a843f..48e8c4ff 100644 --- a/tests/operations/tests/GenerateDeBruijnSequence.mjs +++ b/tests/operations/tests/GenerateDeBruijnSequence.mjs @@ -30,4 +30,4 @@ TestRegister.addTests([ } ] } -]) \ No newline at end of file +]); From 822a4fab86572817fcd2e6218d8c736d1e22bbf4 Mon Sep 17 00:00:00 2001 From: GCHQ 77703 Date: Tue, 19 Feb 2019 10:16:51 +0000 Subject: [PATCH 005/754] Fix operation linting --- src/core/operations/GenerateDeBruijnSequence.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/operations/GenerateDeBruijnSequence.mjs b/src/core/operations/GenerateDeBruijnSequence.mjs index 647d3c7f..af788585 100644 --- a/src/core/operations/GenerateDeBruijnSequence.mjs +++ b/src/core/operations/GenerateDeBruijnSequence.mjs @@ -71,7 +71,7 @@ class GenerateDeBruijnSequence extends Operation { } return; } - + a[t] = a[t - p]; db(t + 1, p); for (let j = a[t - p] + 1; j < k; j++) { From 846e84d3a471513287f25d1e4071dbc5e970e272 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karsten=20Silkenb=C3=A4umer?= Date: Sun, 3 Mar 2019 16:18:31 +0100 Subject: [PATCH 006/754] Add fernet encryption/decryption operation --- package-lock.json | 161 +++++++++++++++----------- package.json | 1 + src/core/config/Categories.json | 2 + src/core/operations/FernetDecrypt.mjs | 64 ++++++++++ src/core/operations/FernetEncrypt.mjs | 54 +++++++++ tests/operations/tests/Fernet.mjs | 80 +++++++++++++ 6 files changed, 292 insertions(+), 70 deletions(-) create mode 100644 src/core/operations/FernetDecrypt.mjs create mode 100644 src/core/operations/FernetEncrypt.mjs create mode 100644 tests/operations/tests/Fernet.mjs diff --git a/package-lock.json b/package-lock.json index 55ad6303..18da5b7a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1631,7 +1631,7 @@ }, "array-equal": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", "dev": true }, @@ -1716,7 +1716,7 @@ }, "util": { "version": "0.10.3", - "resolved": "http://registry.npmjs.org/util/-/util-0.10.3.tgz", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "dev": true, "requires": { @@ -1864,7 +1864,7 @@ }, "axios": { "version": "0.18.0", - "resolved": "http://registry.npmjs.org/axios/-/axios-0.18.0.tgz", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", "dev": true, "requires": { @@ -2334,7 +2334,7 @@ }, "browserify-aes": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { @@ -2371,7 +2371,7 @@ }, "browserify-rsa": { "version": "4.0.1", - "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { @@ -2436,7 +2436,7 @@ }, "buffer": { "version": "4.9.1", - "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "dev": true, "requires": { @@ -2590,7 +2590,7 @@ }, "camelcase-keys": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { @@ -2639,7 +2639,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { "ansi-styles": "^2.2.1", @@ -3172,7 +3172,7 @@ }, "create-hash": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { @@ -3185,7 +3185,7 @@ }, "create-hmac": { "version": "1.1.7", - "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { @@ -3332,7 +3332,7 @@ }, "css-select": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "dev": true, "requires": { @@ -3700,7 +3700,7 @@ }, "diffie-hellman": { "version": "5.0.3", - "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { @@ -3764,7 +3764,7 @@ "dependencies": { "domelementtype": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", "dev": true }, @@ -3969,7 +3969,7 @@ }, "entities": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", "dev": true }, @@ -4392,7 +4392,7 @@ }, "eventemitter2": { "version": "0.4.14", - "resolved": "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", "dev": true }, @@ -4404,7 +4404,7 @@ }, "events": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", "dev": true }, @@ -4720,6 +4720,22 @@ "pend": "~1.2.0" } }, + "fernet": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/fernet/-/fernet-0.3.1.tgz", + "integrity": "sha512-7KnsrcpLkUsKy6aH6Ow68hrMWhvE25rTDd3370+xVGkpqZta05cUCmdJQPyLBKTsNdPUB5NumJZBgJIJ60aQqw==", + "requires": { + "crypto-js": "~3.1.2-1", + "urlsafe-base64": "1.0.0" + }, + "dependencies": { + "crypto-js": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.1.8.tgz", + "integrity": "sha1-cV8HC/YBTyrpkqmLOSkli3E/CNU=" + } + } + }, "figgy-pudding": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", @@ -4821,7 +4837,7 @@ }, "finalhandler": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", "dev": true, "requires": { @@ -5057,7 +5073,7 @@ }, "fs-extra": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", "dev": true, "requires": { @@ -5726,7 +5742,7 @@ }, "get-stream": { "version": "3.0.0", - "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, @@ -5868,7 +5884,7 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -5945,7 +5961,7 @@ }, "grunt-cli": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz", "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=", "dev": true, "requires": { @@ -5993,7 +6009,7 @@ "dependencies": { "shelljs": { "version": "0.5.3", - "resolved": "http://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz", "integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM=", "dev": true } @@ -6013,7 +6029,7 @@ "dependencies": { "async": { "version": "1.5.2", - "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true } @@ -6058,7 +6074,7 @@ }, "grunt-contrib-jshint": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-1.1.0.tgz", "integrity": "sha1-Np2QmyWTxA6L55lAshNAhQx5Oaw=", "dev": true, "requires": { @@ -6157,7 +6173,7 @@ "dependencies": { "colors": { "version": "1.1.2", - "resolved": "http://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", "dev": true } @@ -6221,7 +6237,7 @@ "dependencies": { "async": { "version": "1.5.2", - "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true } @@ -6482,7 +6498,7 @@ }, "html-webpack-plugin": { "version": "3.2.0", - "resolved": "http://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", "dev": true, "requires": { @@ -6538,7 +6554,7 @@ }, "htmlparser2": { "version": "3.8.3", - "resolved": "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", "dev": true, "requires": { @@ -6557,7 +6573,7 @@ }, "http-errors": { "version": "1.6.3", - "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "dev": true, "requires": { @@ -6607,7 +6623,7 @@ }, "http-proxy-middleware": { "version": "0.18.0", - "resolved": "http://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", "dev": true, "requires": { @@ -7053,7 +7069,7 @@ }, "is-builtin-module": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { @@ -7614,7 +7630,7 @@ }, "jsonfile": { "version": "2.4.0", - "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "dev": true, "requires": { @@ -7725,7 +7741,7 @@ }, "kew": { "version": "0.7.0", - "resolved": "http://registry.npmjs.org/kew/-/kew-0.7.0.tgz", + "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", "dev": true }, @@ -7844,7 +7860,7 @@ }, "load-json-file": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { @@ -7857,7 +7873,7 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -8221,7 +8237,7 @@ }, "media-typer": { "version": "0.3.0", - "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, @@ -8280,7 +8296,7 @@ }, "meow": { "version": "3.7.0", - "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { @@ -8501,7 +8517,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" @@ -8711,7 +8727,7 @@ }, "ncp": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/ncp/-/ncp-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-1.0.1.tgz", "integrity": "sha1-0VNn5cuHQyuhF9K/gP30Wuz7QkY=", "dev": true }, @@ -8810,7 +8826,7 @@ "dependencies": { "semver": { "version": "5.3.0", - "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", "dev": true } @@ -8993,7 +9009,7 @@ "dependencies": { "colors": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/colors/-/colors-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz", "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=" }, "underscore": { @@ -9287,13 +9303,13 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, "os-locale": { "version": "1.4.0", - "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "dev": true, "requires": { @@ -9302,7 +9318,7 @@ }, "os-tmpdir": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, @@ -9338,7 +9354,7 @@ }, "p-is-promise": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", "dev": true }, @@ -9526,7 +9542,7 @@ }, "parse-asn1": { "version": "5.1.1", - "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { @@ -9612,7 +9628,7 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, @@ -9653,7 +9669,7 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -9836,7 +9852,7 @@ "dependencies": { "async": { "version": "1.5.2", - "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true } @@ -10207,7 +10223,7 @@ }, "progress": { "version": "1.1.8", - "resolved": "http://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=" }, "promise-inflight": { @@ -10232,13 +10248,13 @@ "dependencies": { "async": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/async/-/async-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=", "dev": true }, "winston": { "version": "2.1.1", - "resolved": "http://registry.npmjs.org/winston/-/winston-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/winston/-/winston-2.1.1.tgz", "integrity": "sha1-PJNJ0ZYgf9G9/51LxD73JRDjoS4=", "dev": true, "requires": { @@ -10253,7 +10269,7 @@ "dependencies": { "colors": { "version": "1.0.3", - "resolved": "http://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", "dev": true }, @@ -10476,7 +10492,7 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -10665,7 +10681,7 @@ "dependencies": { "jsesc": { "version": "0.5.0", - "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", "dev": true } @@ -10716,7 +10732,7 @@ }, "htmlparser2": { "version": "3.3.0", - "resolved": "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", "dev": true, "requires": { @@ -10728,7 +10744,7 @@ }, "readable-stream": { "version": "1.0.34", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { @@ -10995,7 +11011,7 @@ }, "safe-regex": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { @@ -11315,7 +11331,7 @@ }, "sha.js": { "version": "2.4.11", - "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { @@ -11359,7 +11375,7 @@ }, "shelljs": { "version": "0.3.0", - "resolved": "http://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", "dev": true }, @@ -12080,7 +12096,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" @@ -12097,7 +12113,7 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, @@ -12190,7 +12206,7 @@ }, "tar": { "version": "2.2.1", - "resolved": "http://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", "dev": true, "requires": { @@ -12348,7 +12364,7 @@ }, "through": { "version": "2.3.8", - "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, @@ -12942,6 +12958,11 @@ "requires-port": "^1.0.0" } }, + "urlsafe-base64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz", + "integrity": "sha1-I/iQaabGL0bPOh07ABac77kL4MY=" + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -13008,7 +13029,7 @@ "dependencies": { "async": { "version": "0.9.2", - "resolved": "http://registry.npmjs.org/async/-/async-0.9.2.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", "dev": true }, @@ -13034,7 +13055,7 @@ }, "valid-data-url": { "version": "0.1.6", - "resolved": "http://registry.npmjs.org/valid-data-url/-/valid-data-url-0.1.6.tgz", + "resolved": "https://registry.npmjs.org/valid-data-url/-/valid-data-url-0.1.6.tgz", "integrity": "sha512-FXg2qXMzfAhZc0y2HzELNfUeiOjPr+52hU1DNBWiJJ2luXD+dD1R9NA48Ug5aj0ibbxroeGDc/RJv6ThiGgkDw==", "dev": true }, @@ -13050,7 +13071,7 @@ }, "validator": { "version": "9.4.1", - "resolved": "http://registry.npmjs.org/validator/-/validator-9.4.1.tgz", + "resolved": "https://registry.npmjs.org/validator/-/validator-9.4.1.tgz", "integrity": "sha512-YV5KjzvRmSyJ1ee/Dm5UED0G+1L4GZnLN3w6/T+zZm8scVua4sOhYKWTUrKa0H/tMiJyO9QLHMPN+9mB/aMunA==", "dev": true }, @@ -13736,14 +13757,14 @@ "dependencies": { "async": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/async/-/async-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=", "dev": true, "optional": true }, "colors": { "version": "1.0.3", - "resolved": "http://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", "dev": true, "optional": true @@ -13776,7 +13797,7 @@ }, "wrap-ansi": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { diff --git a/package.json b/package.json index cb59db38..35901453 100644 --- a/package.json +++ b/package.json @@ -96,6 +96,7 @@ "esmangle": "^1.0.1", "esprima": "^4.0.1", "exif-parser": "^0.1.12", + "fernet": "^0.3.1", "file-saver": "^2.0.0", "geodesy": "^1.1.3", "highlight.js": "^9.13.1", diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 8235ab10..2db5af51 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -73,6 +73,8 @@ "DES Decrypt", "Triple DES Encrypt", "Triple DES Decrypt", + "Fernet Encrypt", + "Fernet Decrypt", "RC2 Encrypt", "RC2 Decrypt", "RC4", diff --git a/src/core/operations/FernetDecrypt.mjs b/src/core/operations/FernetDecrypt.mjs new file mode 100644 index 00000000..76d4fd16 --- /dev/null +++ b/src/core/operations/FernetDecrypt.mjs @@ -0,0 +1,64 @@ +/** + * @author Karsten Silkenbäumer [kassi@users.noreply.github.com] + * @copyright Karsten Silkenbäumer 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation"; +import OperationError from "../errors/OperationError"; +import fernet from "fernet"; + +/** + * FernetDecrypt operation + */ +class FernetDecrypt extends Operation { + /** + * FernetDecrypt constructor + */ + constructor() { + super(); + + this.name = "Fernet Decrypt"; + this.module = "Default"; + this.description = "Fernet is a symmetric encryption method which makes sure that the message encrypted cannot be manipulated/read without the key. It uses URL safe encoding for the keys. Fernet uses 128-bit AES in CBC mode and PKCS7 padding, with HMAC using SHA256 for authentication. The IV is created from os.random().

Key: The key must be 32 bytes (256 bits) encoded with Base64."; + this.infoURL = "https://asecuritysite.com/encryption/fer"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + "name": "Key", + "type": "string", + "value": "" + }, + ]; + this.patterns = [ + { + match: "^[A-Z\\d\\-_=]{20,}$", + flags: "i", + args: [] + }, + ]; + } + /** + * @param {String} input + * @param {Object[]} args + * @returns {String} + */ + run(input, args) { + const [secretInput] = args; + // const fernet = require("fernet"); + try { + const secret = new fernet.Secret(secretInput); + const token = new fernet.Token({ + secret: secret, + token: input, + ttl: 0 + }); + return token.decode(); + } catch (err) { + throw new OperationError(err); + } + } +} + +export default FernetDecrypt; diff --git a/src/core/operations/FernetEncrypt.mjs b/src/core/operations/FernetEncrypt.mjs new file mode 100644 index 00000000..ac8c64cb --- /dev/null +++ b/src/core/operations/FernetEncrypt.mjs @@ -0,0 +1,54 @@ +/** + * @author Karsten Silkenbäumer [kassi@users.noreply.github.com] + * @copyright Karsten Silkenbäumer 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation"; +import OperationError from "../errors/OperationError"; +import fernet from "fernet"; + +/** + * FernetEncrypt operation + */ +class FernetEncrypt extends Operation { + /** + * FernetEncrypt constructor + */ + constructor() { + super(); + + this.name = "Fernet Encrypt"; + this.module = "Default"; + this.description = "Fernet is a symmetric encryption method which makes sure that the message encrypted cannot be manipulated/read without the key. It uses URL safe encoding for the keys. Fernet uses 128-bit AES in CBC mode and PKCS7 padding, with HMAC using SHA256 for authentication. The IV is created from os.random().

Key: The key must be 32 bytes (256 bits) encoded with Base64."; + this.infoURL = "https://asecuritysite.com/encryption/fer"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + "name": "Key", + "type": "string", + "value": "" + }, + ]; + } + /** + * @param {String} input + * @param {Object[]} args + * @returns {String} + */ + run(input, args) { + const [secretInput] = args; + try { + const secret = new fernet.Secret(secretInput); + const token = new fernet.Token({ + secret: secret, + }); + return token.encode(input); + } catch (err) { + throw new OperationError(err); + } + } +} + +export default FernetEncrypt; diff --git a/tests/operations/tests/Fernet.mjs b/tests/operations/tests/Fernet.mjs new file mode 100644 index 00000000..0632fca9 --- /dev/null +++ b/tests/operations/tests/Fernet.mjs @@ -0,0 +1,80 @@ +/** + * Fernet tests. + * + * @author Karsten Silkenbäumer [kassi@users.noreply.github.com] + * @copyright Karsten Silkenbäumer 2019 + * @license Apache-2.0 + */ +import TestRegister from "../TestRegister"; + +TestRegister.addTests([ + { + name: "Fernet Decrypt: no input", + input: "", + expectedOutput: "Error: Invalid version", + recipeConfig: [ + { + op: "Fernet Decrypt", + args: ["MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI="] + } + ], + }, + { + name: "Fernet Decrypt: no secret", + input: "gAAAAABce-Tycae8klRxhDX2uenJ-uwV8-A1XZ2HRnfOXlNzkKKfRxviNLlgtemhT_fd1Fw5P_zFUAjd69zaJBQyWppAxVV00SExe77ql8c5n62HYJOnoIU=", + expectedOutput: "Error: Secret must be 32 url-safe base64-encoded bytes.", + recipeConfig: [ + { + op: "Fernet Decrypt", + args: [""] + } + ], + }, + { + name: "Fernet Decrypt: valid arguments", + input: "gAAAAABce-Tycae8klRxhDX2uenJ-uwV8-A1XZ2HRnfOXlNzkKKfRxviNLlgtemhT_fd1Fw5P_zFUAjd69zaJBQyWppAxVV00SExe77ql8c5n62HYJOnoIU=", + expectedOutput: "This is a secret message.\n", + recipeConfig: [ + { + op: "Fernet Decrypt", + args: ["VGhpc0lzVGhpcnR5VHdvQ2hhcmFjdGVyc0xvbmdLZXk="] + } + ], + } +]); + +TestRegister.addTests([ + { + name: "Fernet Encrypt: no input", + input: "", + expectedMatch: /^gAAAAABce-[\w-]+={0,2}$/, + recipeConfig: [ + { + op: "Fernet Encrypt", + args: ["MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI="] + } + ], + }, + { + name: "Fernet Encrypt: no secret", + input: "This is a secret message.\n", + expectedOutput: "Error: Secret must be 32 url-safe base64-encoded bytes.", + recipeConfig: [ + { + op: "Fernet Encrypt", + args: [""] + } + ], + }, + { + name: "Fernet Encrypt: valid arguments", + input: "This is a secret message.\n", + expectedMatch: /^gAAAAABce-[\w-]+={0,2}$/, + recipeConfig: [ + { + op: "Fernet Encrypt", + args: ["MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI="] + } + ], + } +]); From 55cac174564cf71da857f6aee0941e06635d445d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karsten=20Silkenb=C3=A4umer?= Date: Sun, 3 Mar 2019 17:19:07 +0100 Subject: [PATCH 007/754] Change author URL --- src/core/operations/FernetDecrypt.mjs | 2 +- src/core/operations/FernetEncrypt.mjs | 2 +- tests/operations/tests/Fernet.mjs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/operations/FernetDecrypt.mjs b/src/core/operations/FernetDecrypt.mjs index 76d4fd16..d68593d8 100644 --- a/src/core/operations/FernetDecrypt.mjs +++ b/src/core/operations/FernetDecrypt.mjs @@ -1,5 +1,5 @@ /** - * @author Karsten Silkenbäumer [kassi@users.noreply.github.com] + * @author Karsten Silkenbäumer [github.com/kassi] * @copyright Karsten Silkenbäumer 2019 * @license Apache-2.0 */ diff --git a/src/core/operations/FernetEncrypt.mjs b/src/core/operations/FernetEncrypt.mjs index ac8c64cb..2f98449f 100644 --- a/src/core/operations/FernetEncrypt.mjs +++ b/src/core/operations/FernetEncrypt.mjs @@ -1,5 +1,5 @@ /** - * @author Karsten Silkenbäumer [kassi@users.noreply.github.com] + * @author Karsten Silkenbäumer [github.com/kassi] * @copyright Karsten Silkenbäumer 2019 * @license Apache-2.0 */ diff --git a/tests/operations/tests/Fernet.mjs b/tests/operations/tests/Fernet.mjs index 0632fca9..ee9ba2f1 100644 --- a/tests/operations/tests/Fernet.mjs +++ b/tests/operations/tests/Fernet.mjs @@ -1,7 +1,7 @@ /** * Fernet tests. * - * @author Karsten Silkenbäumer [kassi@users.noreply.github.com] + * @author Karsten Silkenbäumer [github.com/kassi] * @copyright Karsten Silkenbäumer 2019 * @license Apache-2.0 */ From 4d7988b78ebe0d8ab3238c3f30efb673e80ca4fb Mon Sep 17 00:00:00 2001 From: Matt Date: Mon, 30 Sep 2019 13:12:10 +0100 Subject: [PATCH 008/754] Fixed RSA key generation --- src/core/operations/GenerateRSAKeyPair.mjs | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/core/operations/GenerateRSAKeyPair.mjs b/src/core/operations/GenerateRSAKeyPair.mjs index 64ff29d2..951c2667 100644 --- a/src/core/operations/GenerateRSAKeyPair.mjs +++ b/src/core/operations/GenerateRSAKeyPair.mjs @@ -1,12 +1,11 @@ /** * @author gchq77703 [] * @copyright Crown Copyright 2018 - ` * @license Apache-2.0 + * @license Apache-2.0 */ import Operation from "../Operation"; import forge from "node-forge/dist/forge.min.js"; -import PrimeWorker from "node-forge/dist/prime.worker.min.js"; /** * Generate RSA Key Pair operation @@ -54,13 +53,9 @@ class GenerateRSAKeyPair extends Operation { */ async run(input, args) { const [keyLength, outputFormat] = args; - let workerScript; return new Promise((resolve, reject) => { - if (ENVIRONMENT_IS_WORKER || window) { - workerScript = ENVIRONMENT_IS_WORKER() ? self.URL.createObjectURL(new Blob([PrimeWorker])) : window.URL.createObjectURL(new Blob([PrimeWorker])); - } - forge.pki.rsa.generateKeyPair({ bits: Number(keyLength), workers: 2, workerScript}, (err, keypair) => { + forge.pki.rsa.generateKeyPair({ bits: Number(keyLength), workers: -1}, (err, keypair) => { if (err) return reject(err); let result; From a8dc69103308e419abdb7a867eb2c9a9c9727be7 Mon Sep 17 00:00:00 2001 From: Matt Date: Mon, 30 Sep 2019 13:51:38 +0100 Subject: [PATCH 009/754] Try using github actions Gonna monch this commit once i know it works --- .github/workflows/main.yml | 40 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..6861528a --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,40 @@ +name: Test + +on: [push] + +jobs: + test: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v1 + - name: Setup + run: | + npm i + npm i -g grunt + export NODE_OPTIONS=--max_old_space_size=2048 + - name: Lint + run: grunt lint + - name: Unit Tests + run: | + grunt test + grunt testnodeconsumer + - name: UI Tests + run: xvfb-run --server-args="-screen 0 1200x800x24" grunt testui + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - name: Setup + run: | + npm i + npm i -g grunt + export NODE_OPTIONS=--max_old_space_size=2048 + - name: Build & Deploy + uses: JamesIves/github-pages-deploy-action@master + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + BRANCH: gh-pages + FOLDER: build/prod + BUILD_SCRIPT: grunt prod From 85906cafbb9422af3a544347cc918c38b047798d Mon Sep 17 00:00:00 2001 From: Matt Date: Mon, 30 Sep 2019 13:56:26 +0100 Subject: [PATCH 010/754] Adjustment --- .github/workflows/main.yml | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6861528a..d971756d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,4 +1,4 @@ -name: Test +name: Test & Deploy on: [push] @@ -12,29 +12,19 @@ jobs: - name: Setup run: | npm i - npm i -g grunt export NODE_OPTIONS=--max_old_space_size=2048 - name: Lint - run: grunt lint + run: npx grunt lint - name: Unit Tests run: | - grunt test - grunt testnodeconsumer + npx grunt test + npx grunt testnodeconsumer - name: UI Tests - run: xvfb-run --server-args="-screen 0 1200x800x24" grunt testui - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - name: Setup - run: | - npm i - npm i -g grunt - export NODE_OPTIONS=--max_old_space_size=2048 + run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui - name: Build & Deploy uses: JamesIves/github-pages-deploy-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} BRANCH: gh-pages FOLDER: build/prod - BUILD_SCRIPT: grunt prod + BUILD_SCRIPT: npx grunt prod From 4e0d97f2c1dfed634d680b08e8d39d42030e1605 Mon Sep 17 00:00:00 2001 From: Matt Date: Mon, 30 Sep 2019 14:02:22 +0100 Subject: [PATCH 011/754] Added sudo --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d971756d..6d012505 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -18,7 +18,7 @@ jobs: - name: Unit Tests run: | npx grunt test - npx grunt testnodeconsumer + sudo npx grunt testnodeconsumer - name: UI Tests run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui - name: Build & Deploy From 4c737475d4ec5ae1de7812659a21cbbb5ea81d80 Mon Sep 17 00:00:00 2001 From: Matt Date: Mon, 30 Sep 2019 14:08:23 +0100 Subject: [PATCH 012/754] Forgot to run prod build --- .github/workflows/main.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6d012505..3dae7b2d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -19,12 +19,13 @@ jobs: run: | npx grunt test sudo npx grunt testnodeconsumer + - name: Production Build + run: npx grunt prod - name: UI Tests run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui - - name: Build & Deploy + - name: Deploy uses: JamesIves/github-pages-deploy-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} BRANCH: gh-pages FOLDER: build/prod - BUILD_SCRIPT: npx grunt prod From 123a0ccd700335d68912d180474e696d2a94e691 Mon Sep 17 00:00:00 2001 From: Matt Date: Mon, 30 Sep 2019 14:41:14 +0100 Subject: [PATCH 013/754] Changed pages workflow --- .github/workflows/main.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3dae7b2d..ed0e59a8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,6 +1,9 @@ name: Test & Deploy -on: [push] +on: + push: + branches: + - master jobs: test: @@ -8,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@master - name: Setup run: | npm i @@ -24,8 +27,8 @@ jobs: - name: UI Tests run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui - name: Deploy - uses: JamesIves/github-pages-deploy-action@master + uses: peaceiris/actions-gh-pages@v2.4.0 env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - BRANCH: gh-pages - FOLDER: build/prod + PERSONAL_TOKEN: ${{ secrets.ACCESS_TOKEN }} + PUBLISH_BRANCH: gh-pages + PUBLISH_DIR: ./build/prod From be2080259ec9ae7d64945fc5640188ec4b773ba6 Mon Sep 17 00:00:00 2001 From: Kyle Parrish Date: Wed, 2 Oct 2019 09:57:50 -0400 Subject: [PATCH 014/754] Add Fang URL to categories --- src/core/config/Categories.json | 1 + 1 file changed, 1 insertion(+) diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 94f7fd30..18fc19ff 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -183,6 +183,7 @@ "Encode NetBIOS Name", "Decode NetBIOS Name", "Defang URL", + "Fang URL", "Defang IP Addresses" ] }, From cd15a8c406726bf06d55b879d271ac3f79b3ba99 Mon Sep 17 00:00:00 2001 From: Kyle Parrish Date: Wed, 2 Oct 2019 09:58:28 -0400 Subject: [PATCH 015/754] Create FangURL.mjs --- src/core/operations/FangURL.mjs | 77 +++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 src/core/operations/FangURL.mjs diff --git a/src/core/operations/FangURL.mjs b/src/core/operations/FangURL.mjs new file mode 100644 index 00000000..5badaae7 --- /dev/null +++ b/src/core/operations/FangURL.mjs @@ -0,0 +1,77 @@ +/** + * @author arnydo [github@arnydo.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; + +/** + * FangURL operation + */ +class FangURL extends Operation { + + /** + * FangURL constructor + */ + constructor() { + super(); + + this.name = "Fang URL"; + this.module = "Default"; + this.description = "Takes a 'Defanged' Universal Resource Locator (URL) and 'Fangs' it. Meaning, it removes the alterations (defanged) that render it useless so that it can be used again."; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + name: "Escape [.]", + type: "boolean", + value: true + }, + { + name: "Escape hxxp", + type: "boolean", + value: true + }, + { + name: "Escape ://", + type: "boolean", + value: true + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const [dots, http, slashes] = args; + + input = fangURL(input, dots, http, slashes); + + return input; + } + +} + + +/** + * Defangs a given URL + * + * @param {string} url + * @param {boolean} dots + * @param {boolean} http + * @param {boolean} slashes + * @returns {string} + */ +function fangURL(url, dots, http, slashes) { + if (dots) url = url.replace(/\[\.\]/g, "."); + if (http) url = url.replace(/hxxp/g, "http"); + if (slashes) url = url.replace(/\[\:\/\/\]/g, "://"); + + return url; +} + +export default FangURL; From 794e0effba5ed4193265ddc6429ba55f6dac33d4 Mon Sep 17 00:00:00 2001 From: Alan C Date: Mon, 7 Oct 2019 20:02:28 +0800 Subject: [PATCH 016/754] Add "To Float" and "From Float" operations --- package-lock.json | 6 +- package.json | 1 + src/core/config/Categories.json | 2 + src/core/operations/FromFloat.mjs | 78 ++++++++++++++ src/core/operations/ToFloat.mjs | 80 +++++++++++++++ tests/operations/index.mjs | 1 + tests/operations/tests/Float.mjs | 164 ++++++++++++++++++++++++++++++ 7 files changed, 329 insertions(+), 3 deletions(-) create mode 100644 src/core/operations/FromFloat.mjs create mode 100644 src/core/operations/ToFloat.mjs create mode 100644 tests/operations/tests/Float.mjs diff --git a/package-lock.json b/package-lock.json index 11c80ca0..930dfc40 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7657,9 +7657,9 @@ "integrity": "sha512-slx8Q6oywCCSfKgPgL0sEsXtPVnSbTLWpyiDcu6msHOyKOLari1TD1qocXVCft80umnkk3/Qqh3lwoFt8T/BPQ==" }, "ieee754": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" }, "iferr": { "version": "0.1.5", diff --git a/package.json b/package.json index e9c33484..1283f545 100644 --- a/package.json +++ b/package.json @@ -112,6 +112,7 @@ "file-saver": "^2.0.2", "geodesy": "^1.1.3", "highlight.js": "^9.15.10", + "ieee754": "^1.1.13", "jimp": "^0.6.4", "jquery": "3.4.1", "js-crc": "^0.2.0", diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 94f7fd30..939aa22e 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -14,6 +14,8 @@ "From Charcode", "To Decimal", "From Decimal", + "To Float", + "From Float", "To Binary", "From Binary", "To Octal", diff --git a/src/core/operations/FromFloat.mjs b/src/core/operations/FromFloat.mjs new file mode 100644 index 00000000..4fe5990e --- /dev/null +++ b/src/core/operations/FromFloat.mjs @@ -0,0 +1,78 @@ +/** + * @author tcode2k16 [tcode2k16@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import ieee754 from "ieee754"; +import {DELIM_OPTIONS} from "../lib/Delim.mjs"; + +/** + * From Float operation + */ +class FromFloat extends Operation { + + /** + * FromFloat constructor + */ + constructor() { + super(); + + this.name = "From Float"; + this.module = "Default"; + this.description = "Convert from EEE754 Floating Point Numbers"; + this.infoURL = "https://en.wikipedia.org/wiki/IEEE_754"; + this.inputType = "string"; + this.outputType = "byteArray"; + this.args = [ + { + "name": "Endianness", + "type": "option", + "value": [ + "Big Endian", + "Little Endian" + ] + }, + { + "name": "Size", + "type": "option", + "value": [ + "Float (4 bytes)", + "Double (8 bytes)" + ] + }, + { + "name": "Delimiter", + "type": "option", + "value": DELIM_OPTIONS + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {byteArray} + */ + run(input, args) { + if (input.length === 0) return []; + + const [endianness, size, delimiterName] = args; + const delim = Utils.charRep(delimiterName || "Space"); + const byteSize = size === "Double (8 bytes)" ? 8 : 4; + const isLE = endianness === "Little Endian"; + const mLen = byteSize === 4 ? 23 : 52; + const floats = input.split(delim); + + const output = new Array(floats.length*byteSize); + for (let i = 0; i < floats.length; i++) { + ieee754.write(output, parseFloat(floats[i]), i*byteSize, isLE, mLen, byteSize); + } + return output; + } + +} + +export default FromFloat; diff --git a/src/core/operations/ToFloat.mjs b/src/core/operations/ToFloat.mjs new file mode 100644 index 00000000..b9aef638 --- /dev/null +++ b/src/core/operations/ToFloat.mjs @@ -0,0 +1,80 @@ +/** + * @author tcode2k16 [tcode2k16@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; +import ieee754 from "ieee754"; +import {DELIM_OPTIONS} from "../lib/Delim.mjs"; + +/** + * To Float operation + */ +class ToFloat extends Operation { + + /** + * ToFloat constructor + */ + constructor() { + super(); + + this.name = "To Float"; + this.module = "Default"; + this.description = "Convert to EEE754 Floating Point Numbers"; + this.infoURL = "https://en.wikipedia.org/wiki/IEEE_754"; + this.inputType = "byteArray"; + this.outputType = "string"; + this.args = [ + { + "name": "Endianness", + "type": "option", + "value": [ + "Big Endian", + "Little Endian" + ] + }, + { + "name": "Size", + "type": "option", + "value": [ + "Float (4 bytes)", + "Double (8 bytes)" + ] + }, + { + "name": "Delimiter", + "type": "option", + "value": DELIM_OPTIONS + } + ]; + } + + /** + * @param {byteArray} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const [endianness, size, delimiterName] = args; + const delim = Utils.charRep(delimiterName || "Space"); + const byteSize = size === "Double (8 bytes)" ? 8 : 4; + const isLE = endianness === "Little Endian"; + const mLen = byteSize === 4 ? 23 : 52; + + if (input.length % byteSize !== 0) { + throw new OperationError(`Input is not a multiple of ${byteSize}`); + } + + const output = []; + for (let i = 0; i < input.length; i+=byteSize) { + output.push(ieee754.read(input, i, isLE, mLen, byteSize)); + } + return output.join(delim); + } + +} + +export default ToFloat; diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index 14c7408e..b77f16a9 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -39,6 +39,7 @@ import "./tests/Crypt.mjs"; import "./tests/CSV.mjs"; import "./tests/DateTime.mjs"; import "./tests/ExtractEmailAddresses.mjs"; +import "./tests/Float.mjs"; import "./tests/Fork.mjs"; import "./tests/FromDecimal.mjs"; import "./tests/Hash.mjs"; diff --git a/tests/operations/tests/Float.mjs b/tests/operations/tests/Float.mjs new file mode 100644 index 00000000..3977834c --- /dev/null +++ b/tests/operations/tests/Float.mjs @@ -0,0 +1,164 @@ +/** + * Float tests. + * + * @author tcode2k16 [tcode2k16@gmail.com] + * + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import TestRegister from "../../lib/TestRegister.mjs"; + + +TestRegister.addTests([ + { + name: "To Float: nothing", + input: "", + expectedOutput: "", + recipeConfig: [ + { + op: "From Hex", + args: ["Auto"] + }, + { + op: "To Float", + args: ["Big Endian", "Float (4 bytes)", "Space"] + } + ], + }, + { + name: "To Float (Big Endian, 4 bytes): 0.5", + input: "3f0000003f000000", + expectedOutput: "0.5 0.5", + recipeConfig: [ + { + op: "From Hex", + args: ["Auto"] + }, + { + op: "To Float", + args: ["Big Endian", "Float (4 bytes)", "Space"] + } + ] + }, + { + name: "To Float (Little Endian, 4 bytes): 0.5", + input: "0000003f0000003f", + expectedOutput: "0.5 0.5", + recipeConfig: [ + { + op: "From Hex", + args: ["Auto"] + }, + { + op: "To Float", + args: ["Little Endian", "Float (4 bytes)", "Space"] + } + ] + }, + { + name: "To Float (Big Endian, 8 bytes): 0.5", + input: "3fe00000000000003fe0000000000000", + expectedOutput: "0.5 0.5", + recipeConfig: [ + { + op: "From Hex", + args: ["Auto"] + }, + { + op: "To Float", + args: ["Big Endian", "Double (8 bytes)", "Space"] + } + ] + }, + { + name: "To Float (Little Endian, 8 bytes): 0.5", + input: "000000000000e03f000000000000e03f", + expectedOutput: "0.5 0.5", + recipeConfig: [ + { + op: "From Hex", + args: ["Auto"] + }, + { + op: "To Float", + args: ["Little Endian", "Double (8 bytes)", "Space"] + } + ] + }, + { + name: "From Float: nothing", + input: "", + expectedOutput: "", + recipeConfig: [ + { + op: "From Float", + args: ["Big Endian", "Float (4 bytes)", "Space"] + }, + { + op: "To Hex", + args: ["None"] + } + ] + }, + { + name: "From Float (Big Endian, 4 bytes): 0.5", + input: "0.5 0.5", + expectedOutput: "3f0000003f000000", + recipeConfig: [ + { + op: "From Float", + args: ["Big Endian", "Float (4 bytes)", "Space"] + }, + { + op: "To Hex", + args: ["None"] + } + ] + }, + { + name: "From Float (Little Endian, 4 bytes): 0.5", + input: "0.5 0.5", + expectedOutput: "0000003f0000003f", + recipeConfig: [ + { + op: "From Float", + args: ["Little Endian", "Float (4 bytes)", "Space"] + }, + { + op: "To Hex", + args: ["None"] + } + ] + }, + { + name: "From Float (Big Endian, 8 bytes): 0.5", + input: "0.5 0.5", + expectedOutput: "3fe00000000000003fe0000000000000", + recipeConfig: [ + { + op: "From Float", + args: ["Big Endian", "Double (8 bytes)", "Space"] + }, + { + op: "To Hex", + args: ["None"] + } + ] + }, + { + name: "From Float (Little Endian, 8 bytes): 0.5", + input: "0.5 0.5", + expectedOutput: "000000000000e03f000000000000e03f", + recipeConfig: [ + { + op: "From Float", + args: ["Little Endian", "Double (8 bytes)", "Space"] + }, + { + op: "To Hex", + args: ["None"] + } + ] + } +]); From 3546ee30a22611f6af16c00532a31eb08fdd2501 Mon Sep 17 00:00:00 2001 From: Kyle Parrish Date: Mon, 7 Oct 2019 16:09:22 -0400 Subject: [PATCH 017/754] Update escaped chars --- src/core/operations/FangURL.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/operations/FangURL.mjs b/src/core/operations/FangURL.mjs index 5badaae7..7390c1a9 100644 --- a/src/core/operations/FangURL.mjs +++ b/src/core/operations/FangURL.mjs @@ -69,7 +69,7 @@ class FangURL extends Operation { function fangURL(url, dots, http, slashes) { if (dots) url = url.replace(/\[\.\]/g, "."); if (http) url = url.replace(/hxxp/g, "http"); - if (slashes) url = url.replace(/\[\:\/\/\]/g, "://"); + if (slashes) url = url.replace(/[://]/g, "://"); return url; } From 462f619f43e58e880a48a75159158714faa4f604 Mon Sep 17 00:00:00 2001 From: Jarrod Connolly Date: Thu, 31 Oct 2019 23:18:54 -0700 Subject: [PATCH 018/754] Update JavaScript Minify operation to support ES6. --- package-lock.json | 135 ++--------------------- package.json | 2 +- src/core/operations/JavaScriptMinify.mjs | 26 ++--- 3 files changed, 17 insertions(+), 146 deletions(-) diff --git a/package-lock.json b/package-lock.json index dd1d3d79..6566326a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1807,7 +1807,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=", + "dev": true }, "ansi-colors": { "version": "3.2.4", @@ -2809,8 +2810,7 @@ "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 + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, "buffer-indexof": { "version": "1.1.1", @@ -4923,21 +4923,6 @@ } } }, - "escope": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escope/-/escope-1.0.3.tgz", - "integrity": "sha1-dZ3OhJbEJI/sLQyq9BCLzz8af10=", - "requires": { - "estraverse": "^2.0.0" - }, - "dependencies": { - "estraverse": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-2.0.0.tgz", - "integrity": "sha1-WuRpYyQ2ACBmdMyySgnhZnT83KE=" - } - } - }, "eslint": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.2.2.tgz", @@ -5110,89 +5095,6 @@ "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==" }, - "esmangle": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esmangle/-/esmangle-1.0.1.tgz", - "integrity": "sha1-2bs3uPjq+/Tm1O1reqKVarvTxMI=", - "requires": { - "escodegen": "~1.3.2", - "escope": "~1.0.1", - "esprima": "~1.1.1", - "esshorten": "~1.1.0", - "estraverse": "~1.5.0", - "esutils": "~ 1.0.0", - "optionator": "~0.3.0", - "source-map": "~0.1.33" - }, - "dependencies": { - "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=" - }, - "fast-levenshtein": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.0.7.tgz", - "integrity": "sha1-AXjc3uAjuSkFGTrwlZ6KdjnP3Lk=" - }, - "levn": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.2.5.tgz", - "integrity": "sha1-uo0znQykphDjo/FFucr0iAcVUFQ=", - "requires": { - "prelude-ls": "~1.1.0", - "type-check": "~0.3.1" - } - }, - "optionator": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.3.0.tgz", - "integrity": "sha1-lxWotfXnWGz/BsgkngOc1zZNP1Q=", - "requires": { - "deep-is": "~0.1.2", - "fast-levenshtein": "~1.0.0", - "levn": "~0.2.4", - "prelude-ls": "~1.1.0", - "type-check": "~0.3.1", - "wordwrap": "~0.0.2" - } - }, - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "requires": { - "amdefine": ">=0.0.4" - } - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" - } - } - }, "espree": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.1.tgz", @@ -5235,23 +5137,6 @@ "estraverse": "^4.1.0" } }, - "esshorten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/esshorten/-/esshorten-1.1.1.tgz", - "integrity": "sha1-F0+Wt8wmfkaHLYFOfbfCkL3/Yak=", - "requires": { - "escope": "~1.0.1", - "estraverse": "~4.1.1", - "esutils": "~2.0.2" - }, - "dependencies": { - "estraverse": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz", - "integrity": "sha1-9srKcokzqFDvkGYdDheYK6RxEaI=" - } - } - }, "estraverse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", @@ -12156,10 +12041,9 @@ } }, "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, + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -12809,10 +12693,9 @@ } }, "terser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.2.1.tgz", - "integrity": "sha512-cGbc5utAcX4a9+2GGVX4DsenG6v0x3glnDi5hx8816X1McEAwPlPgRtXPJzSBsbpILxZ8MQMT0KvArLuE0HP5A==", - "dev": true, + "version": "4.3.9", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.9.tgz", + "integrity": "sha512-NFGMpHjlzmyOtPL+fDw3G7+6Ueh/sz4mkaUYa4lJCxOPTNzd0Uj0aZJOmsDYoSQyfuVoWDMSWTPU3huyOm2zdA==", "requires": { "commander": "^2.20.0", "source-map": "~0.6.1", diff --git a/package.json b/package.json index 2419ae87..58ef7415 100644 --- a/package.json +++ b/package.json @@ -106,7 +106,6 @@ "es6-promisify": "^6.0.2", "escodegen": "^1.12.0", "esm": "^3.2.25", - "esmangle": "^1.0.1", "esprima": "^4.0.1", "exif-parser": "^0.1.12", "file-saver": "^2.0.2", @@ -144,6 +143,7 @@ "sortablejs": "^1.9.0", "split.js": "^1.5.11", "ssdeep.js": "0.0.2", + "terser": "^4.3.9", "tesseract.js": "^2.0.0-alpha.15", "ua-parser-js": "^0.7.20", "utf8": "^3.0.0", diff --git a/src/core/operations/JavaScriptMinify.mjs b/src/core/operations/JavaScriptMinify.mjs index b75aa857..b395cf34 100644 --- a/src/core/operations/JavaScriptMinify.mjs +++ b/src/core/operations/JavaScriptMinify.mjs @@ -4,10 +4,9 @@ * @license Apache-2.0 */ +import OperationError from "../errors/OperationError.mjs"; import Operation from "../Operation.mjs"; -import * as esprima from "esprima"; -import escodegen from "escodegen"; -import esmangle from "esmangle"; +import Terser from "terser"; /** * JavaScript Minify operation @@ -34,22 +33,11 @@ class JavaScriptMinify extends Operation { * @returns {string} */ run(input, args) { - let result = ""; - const AST = esprima.parseScript(input), - optimisedAST = esmangle.optimize(AST, null), - mangledAST = esmangle.mangle(optimisedAST); - - result = escodegen.generate(mangledAST, { - format: { - renumber: true, - hexadecimal: true, - escapeless: true, - compact: true, - semicolons: false, - parentheses: false - } - }); - return result; + const result = Terser.minify(input); + if (result.error) { + throw new OperationError(`Error minifying JavaScript. (${result.error})`); + } + return result.code; } } From e92ed13864d5e404fa9986e6972b61ca83a7123a Mon Sep 17 00:00:00 2001 From: n1073645 Date: Thu, 21 Nov 2019 12:53:44 +0000 Subject: [PATCH 019/754] PLIST viewer. --- src/core/operations/PLISTViewer.mjs | 56 +++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/core/operations/PLISTViewer.mjs diff --git a/src/core/operations/PLISTViewer.mjs b/src/core/operations/PLISTViewer.mjs new file mode 100644 index 00000000..1d263468 --- /dev/null +++ b/src/core/operations/PLISTViewer.mjs @@ -0,0 +1,56 @@ +/** + * @author n1073645 [n1073645@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; + +/** + * PLIST Viewer operation + */ +class PLISTViewer extends Operation { + + /** + * PLISTViewer constructor + */ + constructor() { + super(); + + this.name = "PLIST Viewer"; + this.module = "Other"; + this.description = "Converts PLISTXML file into a human readable format."; + this.infoURL = ""; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + /* Example arguments. See the project wiki for full details. + { + name: "First arg", + type: "string", + value: "Don't Panic" + }, + { + name: "Second arg", + type: "number", + value: 42 + } + */ + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + // const [firstArg, secondArg] = args; + + throw new OperationError("Test"); + } + +} + +export default PLISTViewer; From 63bb19d48d06c8e780ba402f2abb0274e0ecc250 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Fri, 22 Nov 2019 08:32:46 +0000 Subject: [PATCH 020/754] Began implementing the PLIST viewer operation --- src/core/config/Categories.json | 1 + src/core/operations/PLISTViewer.mjs | 111 +++++++++++++++++++++++++++- 2 files changed, 108 insertions(+), 4 deletions(-) diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index f663e16d..11e8f076 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -422,6 +422,7 @@ "Frequency distribution", "Index of Coincidence", "Chi Square", + "PLIST Viewer", "Disassemble x86", "Pseudo-Random Number Generator", "Generate UUID", diff --git a/src/core/operations/PLISTViewer.mjs b/src/core/operations/PLISTViewer.mjs index 1d263468..6229d336 100644 --- a/src/core/operations/PLISTViewer.mjs +++ b/src/core/operations/PLISTViewer.mjs @@ -5,7 +5,6 @@ */ import Operation from "../Operation.mjs"; -import OperationError from "../errors/OperationError.mjs"; /** * PLIST Viewer operation @@ -46,11 +45,115 @@ class PLISTViewer extends Operation { * @returns {string} */ run(input, args) { - // const [firstArg, secondArg] = args; - throw new OperationError("Test"); + const reserved = [["","",8], + ["","",6], + ["","",9], + ["","", 6], + ["","",6], + ["","",7], + ["","",6], + ["","",5], + ["",false,8], + ["",true,7]]; + + function the_viewer(input, dictionary_flag){ + var new_dict = new Array(); + var result = new Array(); + var new_key = null; + while(dictionary_flag ? input.slice(0,7) != "" : input.slice(0,8) != ""){ + reserved.forEach( function (elem, index){ + var element = elem[0]; + var endelement = elem[1]; + var length = elem[2]; + let temp = input.slice(0,length); + if(temp == element){ + input = input.slice(length); + if(temp == ""){ + var returned = the_viewer(input, true); + input = returned[1]; + if(new_key) + new_dict[new_key] = returned[0]; + else + new_dict["plist"] = returned[0]; + new_key = null; + }else if(temp == ""){ + var returned = the_viewer(input, false); + if(dictionary_flag) + new_dict[new_key] = returned[0]; + else + result.push(returned[0]); + input = returned[1]; + new_key = null; + }else if(temp == ""){ + var end = input.indexOf(endelement); + new_key = input.slice(0, end); + input = input.slice(end+length+1); + }else if(temp == "" || temp == ""){ + new_dict[new_key] = endelement; + new_key = null; + }else{ + var end = input.indexOf(endelement); + var toadd = input.slice(0, end); + if(temp == "") + toadd = parseInt(toadd); + else if(temp == "") + toadd = parseFloat(toadd); + if(dictionary_flag){ + new_dict[new_key] = toadd; + new_key = null; + }else{ + result.push(toadd); + } + input = input.slice(end+length+1); + } + } + }); + } + if(dictionary_flag){ + input = input.slice(7); + return [new_dict, input]; + }else{ + input = input.slice(8); + return [result, input]; + } + } + + let result = ""; + function print_it(input, depth) { + Object.keys(input).forEach((key, index) => { + if(typeof(input[key]) == "object") { + result += (("\t".repeat(depth)) + key + ": {\n"); + print_it(input[key], depth+1); + result += (("\t".repeat(depth)) + "}\n"); + } else { + result += (("\t".repeat(depth)) + key + " : " + input[key] + "\n"); + } + }); + } + + while (input.indexOf("/, ""); + } + while (input.indexOf("") !== -1){ + input = input.replace(/<\/plist>/, ""); + } + console.log(input); + while(input.indexOf("\n") !== -1) + input = input.replace("\n", ""); + while(input.indexOf("\t") !== -1) + input = input.replace("\t", ""); + while(input.indexOf(" ") !== -1) + input = input.replace(" ", ""); + console.log(input); + input = input.slice(input.indexOf("")+6); + //return input + var other = the_viewer(input, 1); + print_it(other[0],1); + result = "{\n" + result; + result += "}"; + return result; } - } export default PLISTViewer; From 8e1e1d56cadbb1465a323adec3ac544e9c53f3af Mon Sep 17 00:00:00 2001 From: n1073645 Date: Fri, 22 Nov 2019 15:39:43 +0000 Subject: [PATCH 021/754] Plist viewer operation added. --- src/core/operations/PLISTViewer.mjs | 156 ++++++++++------------------ 1 file changed, 55 insertions(+), 101 deletions(-) diff --git a/src/core/operations/PLISTViewer.mjs b/src/core/operations/PLISTViewer.mjs index 6229d336..939b7d1a 100644 --- a/src/core/operations/PLISTViewer.mjs +++ b/src/core/operations/PLISTViewer.mjs @@ -46,112 +46,66 @@ class PLISTViewer extends Operation { */ run(input, args) { - const reserved = [["","",8], - ["","",6], - ["","",9], - ["","", 6], - ["","",6], - ["","",7], - ["","",6], - ["","",5], - ["",false,8], - ["",true,7]]; - - function the_viewer(input, dictionary_flag){ - var new_dict = new Array(); - var result = new Array(); - var new_key = null; - while(dictionary_flag ? input.slice(0,7) != "" : input.slice(0,8) != ""){ - reserved.forEach( function (elem, index){ - var element = elem[0]; - var endelement = elem[1]; - var length = elem[2]; - let temp = input.slice(0,length); - if(temp == element){ - input = input.slice(length); - if(temp == ""){ - var returned = the_viewer(input, true); - input = returned[1]; - if(new_key) - new_dict[new_key] = returned[0]; - else - new_dict["plist"] = returned[0]; - new_key = null; - }else if(temp == ""){ - var returned = the_viewer(input, false); - if(dictionary_flag) - new_dict[new_key] = returned[0]; - else - result.push(returned[0]); - input = returned[1]; - new_key = null; - }else if(temp == ""){ - var end = input.indexOf(endelement); - new_key = input.slice(0, end); - input = input.slice(end+length+1); - }else if(temp == "" || temp == ""){ - new_dict[new_key] = endelement; - new_key = null; - }else{ - var end = input.indexOf(endelement); - var toadd = input.slice(0, end); - if(temp == "") - toadd = parseInt(toadd); - else if(temp == "") - toadd = parseFloat(toadd); - if(dictionary_flag){ - new_dict[new_key] = toadd; - new_key = null; - }else{ - result.push(toadd); - } - input = input.slice(end+length+1); - } - } - }); - } - if(dictionary_flag){ - input = input.slice(7); - return [new_dict, input]; - }else{ - input = input.slice(8); - return [result, input]; - } - } - + // Regexes are designed to transform the xml format into a reasonably more readable string format. + input = input.slice(input.indexOf("/g, "plist => ") + .replace(//g, "{") + .replace(/<\/dict>/g, "}") + .replace(//g, "[") + .replace(/<\/array>/g, "]") + .replace(/.+<\/key>/g, m => `${m.slice(5, m.indexOf(/<\/key>/g)-5)}\t=> `) + .replace(/.+<\/real>/g, m => `${m.slice(6, m.indexOf(/<\/real>/g)-6)}\n`) + .replace(/.+<\/string>/g, m => `${m.slice(8, m.indexOf(/<\/string>/g)-8)}\n`) + .replace(/.+<\/integer>/g, m => `${m.slice(9, m.indexOf(/<\/integer>/g)-9)}\n`) + .replace(//g, m => "false") + .replace(//g, m => "true") + .replace(/<\/plist>/g, "/plist") + .replace(/.+<\/date>/g, m => `${m.slice(6, m.indexOf(/<\/integer>/g)-6)}`) + .replace(/(\s|.)+?<\/data>/g, m => `${m.slice(6, m.indexOf(/<\/data>/g)-6)}`) + .replace(/[ \t\r\f\v]/g, ""); + let result = ""; - function print_it(input, depth) { - Object.keys(input).forEach((key, index) => { - if(typeof(input[key]) == "object") { - result += (("\t".repeat(depth)) + key + ": {\n"); - print_it(input[key], depth+1); - result += (("\t".repeat(depth)) + "}\n"); + + /** + * Formats the input after the regex has replaced all of the relevant parts. + * + * @param {array} input + * @param {number} depthCount + */ + function printIt(input, depthCount) { + if (!(input.length)) + return; + + // If the current position points at a larger dynamic structure. + if (input[0].indexOf("=>") !== -1) { + + // If the LHS also points at a larger structure (nested plists in a dictionary). + if (input[1].indexOf("=>") !== -1) { + result += ("\t".repeat(depthCount)) + input[0].slice(0, -2) + " => " + input[1].slice(0, -2) + " =>\n"; } else { - result += (("\t".repeat(depth)) + key + " : " + input[key] + "\n"); + result += ("\t".repeat(depthCount)) + input[0].slice(0, -2) + " => " + input[1] + "\n"; } - }); + + // Controls the tab depth for how many opening braces there have been. + if (input[1] === "{" || input[1] === "[") { + depthCount += 1; + } + input = input.slice(1); + } else { + // Controls the tab depth for how many closing braces there have been. + if (input[0] === "}" || input[0] === "]") + depthCount--; + + // Has to be here since the formatting breaks otherwise. + result += ("\t".repeat(depthCount)) + input[0] + "\n"; + if (input[0] === "{" || input[0] === "[") + depthCount++; + } + printIt(input.slice(1), depthCount); } - while (input.indexOf("/, ""); - } - while (input.indexOf("") !== -1){ - input = input.replace(/<\/plist>/, ""); - } - console.log(input); - while(input.indexOf("\n") !== -1) - input = input.replace("\n", ""); - while(input.indexOf("\t") !== -1) - input = input.replace("\t", ""); - while(input.indexOf(" ") !== -1) - input = input.replace(" ", ""); - console.log(input); - input = input.slice(input.indexOf("")+6); - //return input - var other = the_viewer(input, 1); - print_it(other[0],1); - result = "{\n" + result; - result += "}"; + input = input.split("\n").filter(e => e !== ""); + printIt(input, 0); return result; } } From 0295d0c9b47d6cd6b30492ce3b77b3741414cde9 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Mon, 25 Nov 2019 10:35:45 +0000 Subject: [PATCH 022/754] Tided up presentation of the PLIST --- src/core/operations/PLISTViewer.mjs | 71 +++++++++++++++++++++-------- 1 file changed, 52 insertions(+), 19 deletions(-) diff --git a/src/core/operations/PLISTViewer.mjs b/src/core/operations/PLISTViewer.mjs index 939b7d1a..8232fb14 100644 --- a/src/core/operations/PLISTViewer.mjs +++ b/src/core/operations/PLISTViewer.mjs @@ -55,7 +55,7 @@ class PLISTViewer extends Operation { .replace(/<\/array>/g, "]") .replace(/.+<\/key>/g, m => `${m.slice(5, m.indexOf(/<\/key>/g)-5)}\t=> `) .replace(/.+<\/real>/g, m => `${m.slice(6, m.indexOf(/<\/real>/g)-6)}\n`) - .replace(/.+<\/string>/g, m => `${m.slice(8, m.indexOf(/<\/string>/g)-8)}\n`) + .replace(/.+<\/string>/g, m => `"${m.slice(8, m.indexOf(/<\/string>/g)-8)}"\n`) .replace(/.+<\/integer>/g, m => `${m.slice(9, m.indexOf(/<\/integer>/g)-9)}\n`) .replace(//g, m => "false") .replace(//g, m => "true") @@ -64,44 +64,77 @@ class PLISTViewer extends Operation { .replace(/(\s|.)+?<\/data>/g, m => `${m.slice(6, m.indexOf(/<\/data>/g)-6)}`) .replace(/[ \t\r\f\v]/g, ""); + /** + * Depending on the type of brace, it will increment the depth and amount of arrays accordingly. + * + * @param {string} elem + * @param {array} vals + * @param {number} offset + */ + function braces(elem, vals,offset) { + let temp = vals.indexOf(elem); + if (temp !== -1) { + depthCount += offset; + if (temp === 1) + arrCount += offset; + } + } + let result = ""; + let arrCount = 0; + let depthCount = 0; /** * Formats the input after the regex has replaced all of the relevant parts. * * @param {array} input - * @param {number} depthCount + * @param {number} index */ - function printIt(input, depthCount) { + function printIt(input, index) { if (!(input.length)) return; + let temp = ""; + const origArr = arrCount; + let currElem = input[0]; + // If the current position points at a larger dynamic structure. - if (input[0].indexOf("=>") !== -1) { + if (currElem.indexOf("=>") !== -1) { // If the LHS also points at a larger structure (nested plists in a dictionary). - if (input[1].indexOf("=>") !== -1) { - result += ("\t".repeat(depthCount)) + input[0].slice(0, -2) + " => " + input[1].slice(0, -2) + " =>\n"; - } else { - result += ("\t".repeat(depthCount)) + input[0].slice(0, -2) + " => " + input[1] + "\n"; - } + if (input[1].indexOf("=>") !== -1) + temp = currElem.slice(0, -2) + " => " + input[1].slice(0, -2) + " =>\n"; + else + temp = currElem.slice(0, -2) + " => " + input[1] + "\n"; - // Controls the tab depth for how many opening braces there have been. - if (input[1] === "{" || input[1] === "[") { - depthCount += 1; - } input = input.slice(1); } else { // Controls the tab depth for how many closing braces there have been. - if (input[0] === "}" || input[0] === "]") - depthCount--; + + braces(currElem, ["}", "]"], -1); // Has to be here since the formatting breaks otherwise. - result += ("\t".repeat(depthCount)) + input[0] + "\n"; - if (input[0] === "{" || input[0] === "[") - depthCount++; + temp = currElem + "\n"; } - printIt(input.slice(1), depthCount); + + currElem = input[0]; + + // Tab out to the correct distance. + result += ("\t".repeat(depthCount)); + + // If it is enclosed in an array show index. + if (arrCount > 0 && currElem !== "]") + result += index.toString() + " => "; + + result += temp; + + // Controls the tab depth for how many opening braces there have been. + braces(currElem, ["{", "["],1); + + // If there has been a new array then reset index. + if (arrCount > origArr) + return printIt(input.slice(1), 0); + return printIt(input.slice(1), ++index); } input = input.split("\n").filter(e => e !== ""); From d8405e5f814e17319dd293fdcddfdeeca2a43f15 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Mon, 25 Nov 2019 10:37:30 +0000 Subject: [PATCH 023/754] Linting on PLIST viewer operation. --- src/core/operations/PLISTViewer.mjs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/operations/PLISTViewer.mjs b/src/core/operations/PLISTViewer.mjs index 8232fb14..b8a90c5b 100644 --- a/src/core/operations/PLISTViewer.mjs +++ b/src/core/operations/PLISTViewer.mjs @@ -71,8 +71,8 @@ class PLISTViewer extends Operation { * @param {array} vals * @param {number} offset */ - function braces(elem, vals,offset) { - let temp = vals.indexOf(elem); + function braces(elem, vals, offset) { + const temp = vals.indexOf(elem); if (temp !== -1) { depthCount += offset; if (temp === 1) @@ -129,7 +129,7 @@ class PLISTViewer extends Operation { result += temp; // Controls the tab depth for how many opening braces there have been. - braces(currElem, ["{", "["],1); + braces(currElem, ["{", "["], 1); // If there has been a new array then reset index. if (arrCount > origArr) From c689cf7f134df8e8309302c88e8b9bf1a22e94f8 Mon Sep 17 00:00:00 2001 From: Andy Wang Date: Thu, 9 Jan 2020 15:14:33 +0000 Subject: [PATCH 024/754] Fix #930 by allowing variable key sizes --- src/core/operations/BlowfishDecrypt.mjs | 8 ++++++-- src/core/operations/BlowfishEncrypt.mjs | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/core/operations/BlowfishDecrypt.mjs b/src/core/operations/BlowfishDecrypt.mjs index 07b6a0ff..83236327 100644 --- a/src/core/operations/BlowfishDecrypt.mjs +++ b/src/core/operations/BlowfishDecrypt.mjs @@ -70,10 +70,14 @@ class BlowfishDecrypt extends Operation { inputType = args[3], outputType = args[4]; - if (key.length !== 8) { + if (key.length < 4 || key.length > 56) { throw new OperationError(`Invalid key length: ${key.length} bytes -Blowfish uses a key length of 8 bytes (64 bits).`); +Blowfish's key length needs to between 4 and 56 bytes (32-448 bits).`); + } + + if (iv.length !== 8) { + throw new OperationError(`Invalid IV length: ${iv.length} bytes. Expected 8 bytes`); } input = Utils.convertToByteString(input, inputType); diff --git a/src/core/operations/BlowfishEncrypt.mjs b/src/core/operations/BlowfishEncrypt.mjs index e7e558cd..ebf5e5c2 100644 --- a/src/core/operations/BlowfishEncrypt.mjs +++ b/src/core/operations/BlowfishEncrypt.mjs @@ -70,10 +70,14 @@ class BlowfishEncrypt extends Operation { inputType = args[3], outputType = args[4]; - if (key.length !== 8) { + if (key.length < 4 || key.length > 56) { throw new OperationError(`Invalid key length: ${key.length} bytes + +Blowfish's key length needs to between 4 and 56 bytes (32-448 bits).`); + } -Blowfish uses a key length of 8 bytes (64 bits).`); + if (iv.length !== 8) { + throw new OperationError(`Invalid IV length: ${iv.length} bytes. Expected 8 bytes`); } input = Utils.convertToByteString(input, inputType); From 9e17825b53b371ed1c8671472ef6585f96a29d86 Mon Sep 17 00:00:00 2001 From: Andy Wang Date: Thu, 9 Jan 2020 15:15:01 +0000 Subject: [PATCH 025/754] Add variable key size tests --- tests/operations/tests/Crypt.mjs | 34 ++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/tests/operations/tests/Crypt.mjs b/tests/operations/tests/Crypt.mjs index b56f9cf8..a6b9e2ac 100644 --- a/tests/operations/tests/Crypt.mjs +++ b/tests/operations/tests/Crypt.mjs @@ -1751,4 +1751,38 @@ DES uses a key length of 8 bytes (64 bits).`, } ], }, + { + name: "Blowfish Encrypt with variable key length: CBC, ASCII, 4 bytes", + input: "The quick brown fox jumps over the lazy dog.", + expectedOutput: "823f337a53ecf121aa9ec1b111bd5064d1d7586abbdaaa0c8fd0c6cc43c831c88bf088ee3e07287e3f36cf2e45f9c7e6", + recipeConfig: [ + { + "op": "Blowfish Encrypt", + "args": [ + {"option": "Hex", "string": "00112233"}, // Key + {"option": "Hex", "string": "0000000000000000"}, // IV + "CBC", // Mode + "Raw", // Input + "Hex" // Output + ] + } + ], + }, + { + name: "Blowfish Encrypt with variable key length: CBC, ASCII, 42 bytes", + input: "The quick brown fox jumps over the lazy dog.", + expectedOutput: "19f5a68145b34321cfba72226b0f33922ce44dd6e7869fe328db64faae156471216f12ed2a37fd0bdd7cebf867b3cff0", + recipeConfig: [ + { + "op": "Blowfish Encrypt", + "args": [ + {"option": "Hex", "string": "deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdead"}, // Key + {"option": "Hex", "string": "0000000000000000"}, // IV + "CBC", // Mode + "Raw", // Input + "Hex" // Output + ] + } + ], + } ]); From 81605b2222e2a4b9b41198651da3abc9f2156082 Mon Sep 17 00:00:00 2001 From: Andy Wang Date: Sat, 11 Jan 2020 10:47:40 +0000 Subject: [PATCH 026/754] Grammar typo --- src/core/operations/BlowfishDecrypt.mjs | 2 +- src/core/operations/BlowfishEncrypt.mjs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/operations/BlowfishDecrypt.mjs b/src/core/operations/BlowfishDecrypt.mjs index 83236327..a80fdb2b 100644 --- a/src/core/operations/BlowfishDecrypt.mjs +++ b/src/core/operations/BlowfishDecrypt.mjs @@ -73,7 +73,7 @@ class BlowfishDecrypt extends Operation { if (key.length < 4 || key.length > 56) { throw new OperationError(`Invalid key length: ${key.length} bytes -Blowfish's key length needs to between 4 and 56 bytes (32-448 bits).`); +Blowfish's key length needs to be between 4 and 56 bytes (32-448 bits).`); } if (iv.length !== 8) { diff --git a/src/core/operations/BlowfishEncrypt.mjs b/src/core/operations/BlowfishEncrypt.mjs index ebf5e5c2..7d550d46 100644 --- a/src/core/operations/BlowfishEncrypt.mjs +++ b/src/core/operations/BlowfishEncrypt.mjs @@ -73,7 +73,7 @@ class BlowfishEncrypt extends Operation { if (key.length < 4 || key.length > 56) { throw new OperationError(`Invalid key length: ${key.length} bytes -Blowfish's key length needs to between 4 and 56 bytes (32-448 bits).`); +Blowfish's key length needs to be between 4 and 56 bytes (32-448 bits).`); } if (iv.length !== 8) { From 3a2580fbc2da549c83190f8e49a72af20c8ea07b Mon Sep 17 00:00:00 2001 From: n1073645 Date: Wed, 22 Jan 2020 10:35:11 +0000 Subject: [PATCH 027/754] Extra Base64 Alphabets --- src/core/lib/Base64.mjs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/core/lib/Base64.mjs b/src/core/lib/Base64.mjs index 339a41d4..d9452575 100644 --- a/src/core/lib/Base64.mjs +++ b/src/core/lib/Base64.mjs @@ -148,4 +148,8 @@ export const ALPHABET_OPTIONS = [ {name: "BinHex: !-,-0-689@A-NP-VX-Z[`a-fh-mp-r", value: "!-,-0-689@A-NP-VX-Z[`a-fh-mp-r"}, {name: "ROT13: N-ZA-Mn-za-m0-9+/=", value: "N-ZA-Mn-za-m0-9+/="}, {name: "UNIX crypt: ./0-9A-Za-z", value: "./0-9A-Za-z"}, + {name: "Atom128: /128GhIoPQROSTeUbADfgHijKLM+n0pFWXY456xyzB7=39VaqrstJklmNuZvwcdEC", value: "/128GhIoPQROSTeUbADfgHijKLM+n0pFWXY456xyzB7=39VaqrstJklmNuZvwcdEC"}, + {name: "Megan35: 3GHIJKLMNOPQRSTUb=cdefghijklmnopWXYZ/12+406789VaqrstuvwxyzABCDEF5", value: "3GHIJKLMNOPQRSTUb=cdefghijklmnopWXYZ/12+406789VaqrstuvwxyzABCDEF5"}, + {name: "Zong22: ZKj9n+yf0wDVX1s/5YbdxSo=ILaUpPBCHg8uvNO4klm6iJGhQ7eFrWczAMEq3RTt2", value: "ZKj9n+yf0wDVX1s/5YbdxSo=ILaUpPBCHg8uvNO4klm6iJGhQ7eFrWczAMEq3RTt2"}, + {name: "Hazz15: HNO4klm6ij9n+J2hyf0gzA8uvwDEq3X1Q7ZKeFrWcVTts/MRGYbdxSo=ILaUpPBC5", value: "HNO4klm6ij9n+J2hyf0gzA8uvwDEq3X1Q7ZKeFrWcVTts/MRGYbdxSo=ILaUpPBC5"} ]; From 0259ed8314c0635124d7be316f9e9ec583f4cce0 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Mon, 27 Jan 2020 16:07:54 +0000 Subject: [PATCH 028/754] LS47 implemented, needs linting --- src/core/lib/LS47.mjs | 148 ++++++++++++++++++++++++++++ src/core/operations/LS47Decrypt.mjs | 58 +++++++++++ src/core/operations/LS47Encrypt.mjs | 63 ++++++++++++ 3 files changed, 269 insertions(+) create mode 100644 src/core/lib/LS47.mjs create mode 100644 src/core/operations/LS47Decrypt.mjs create mode 100644 src/core/operations/LS47Encrypt.mjs diff --git a/src/core/lib/LS47.mjs b/src/core/lib/LS47.mjs new file mode 100644 index 00000000..a4ef10a5 --- /dev/null +++ b/src/core/lib/LS47.mjs @@ -0,0 +1,148 @@ +/** + * @author n1073645 [n1073645@gmail.com] + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ + +import OperationError from "../errors/OperationError.mjs"; + +let letters = "_abcdefghijklmnopqrstuvwxyz.0123456789,-+*/:?!'()"; +let tiles = []; + +export function init_tiles() { + for (let i = 0; i < 49; i++) + tiles.push([letters.charAt(i), [Math.floor(i/7), i % 7]]); +} + +function rotate_down(key, col, n) { + let lines = []; + for (let i = 0; i < 7; i++) + lines.push(key.slice(i*7, (i + 1) * 7)); + let lefts = []; + let mids = []; + let rights = []; + lines.forEach((element) => { + lefts.push(element.slice(0, col)); + mids.push(element.charAt(col)); + rights.push(element.slice(col+1)); + }); + n = (7 - n % 7) % 7; + mids = mids.slice(n).concat(mids.slice(0, n)); + let result = ""; + for (let i = 0; i < 7; i++) + result += lefts[i] + mids[i] + rights[i]; + return result; +} + +function rotate_right(key, row, n) { + let mid = key.slice(row * 7, (row + 1) * 7); + n = (7 - n % 7) % 7; + return key.slice(0, 7 * row) + mid.slice(n) + mid.slice(0, n) + key.slice(7 * (row + 1)); +} + +function find_ix(letter) { + for (let i = 0; i < tiles.length; i++) + if (tiles[i][0] === letter) + return tiles[i][1]; + throw new OperationError("Letter " + letter + " is not included in LS47"); +} + +export function derive_key(password) { + let i = 0; + let k = letters; + for (const c of password) { + let [row, col] = find_ix(c); + k = rotate_down(rotate_right(k, i, col), i, row); + i = (i + 1) % 7; + } + return k; +} + +function check_key(key) { + if (key.length !== letters.length) + throw new OperationError("Wrong key size"); + let counts = new Array(); + for (let i = 0; i < letters.length; i++) + counts[letters.charAt(i)] = 0; + for (const elem of letters){ + if (letters.indexOf(elem) === -1) + throw new OperationError("Letter " + elem + " not in LS47!"); + counts[elem]++; + if (counts[elem] > 1) + throw new OperationError("Letter duplicated in the key!"); + } +} + +function find_pos (key, letter) { + let index = key.indexOf(letter); + if (index >= 0 && index < 49) + return [Math.floor(index/7), index%7]; + throw new OperationError("Letter " + letter + " is not in the key!"); +} + +function find_at_pos(key, coord) { + return key.charAt(coord[1] + (coord[0] * 7)); +} + +function add_pos(a, b) { + return [(a[0] + b[0]) % 7, (a[1] + b[1]) % 7]; +} + +function sub_pos(a, b) { + let asub = a[0] - b[0]; + let bsub = a[1] - b[1]; + return [asub - (Math.floor(asub/7) * 7), bsub - (Math.floor(bsub/7) * 7)]; +} + +function encrypt(key, plaintext) { + check_key(key); + let mp = [0, 0]; + let ciphertext = ''; + for (const p of plaintext) { + let pp = find_pos(key, p); + let mix = find_ix(find_at_pos(key, mp)); + let cp = add_pos(pp, mix); + let c = find_at_pos(key, cp); + ciphertext += c; + key = rotate_right(key, pp[0], 1); + cp = find_pos(key, c); + key = rotate_down(key, cp[1], 1); + mp = add_pos(mp, find_ix(c)); + } + return ciphertext; +} + +function decrypt(key, ciphertext) { + check_key(key); + let mp = [0,0]; + let plaintext = ''; + for (const c of ciphertext) { + let cp = find_pos(key, c); + let mix = find_ix(find_at_pos(key, mp)); + let pp = sub_pos(cp, mix); + let p = find_at_pos(key, pp); + + plaintext += p; + key = rotate_right(key, pp[0], 1); + cp = find_pos(key, c); + key = rotate_down(key, cp[1], 1); + mp = add_pos(mp, find_ix(c)); + } + return plaintext; +} + +export function encrypt_pad(key, plaintext, signature, padding_size) { + init_tiles(); + check_key(key); + let padding = ""; + for (let i = 0; i < padding_size; i++) { + padding += letters.charAt(Math.floor(Math.random() * letters.length)); + } + return encrypt(key, padding+plaintext+'---'+signature); +} + +export function decrypt_pad(key, ciphertext, padding_size) { + init_tiles(); + check_key(key); + return decrypt(key, ciphertext).slice(padding_size); +} \ No newline at end of file diff --git a/src/core/operations/LS47Decrypt.mjs b/src/core/operations/LS47Decrypt.mjs new file mode 100644 index 00000000..ffda8f93 --- /dev/null +++ b/src/core/operations/LS47Decrypt.mjs @@ -0,0 +1,58 @@ +/** + * @author n1073645 [n1073645@gmail.com] + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import * as LS47 from "../lib/LS47.mjs" + +/** + * LS47 Decrypt operation + */ +class LS47Decrypt extends Operation { + + /** + * LS47Decrypt constructor + */ + constructor() { + super(); + + this.name = "LS47 Decrypt"; + this.module = "Crypto"; + this.description = ""; + this.infoURL = ""; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + name: "Password", + type: "string", + value: "" + }, + { + name: "Padding", + type: "number", + value: 10 + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + + this.padding_size = parseInt(args[1], 10); + + LS47.init_tiles(); + + let key = LS47.derive_key(args[0]); + return LS47.decrypt_pad(key, input, this.padding_size); + } + +} + +export default LS47Decrypt; diff --git a/src/core/operations/LS47Encrypt.mjs b/src/core/operations/LS47Encrypt.mjs new file mode 100644 index 00000000..bf3b0306 --- /dev/null +++ b/src/core/operations/LS47Encrypt.mjs @@ -0,0 +1,63 @@ +/** + * @author n1073645 [n1073645@gmail.com] + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import * as LS47 from "../lib/LS47.mjs" + +/** + * LS47 Encrypt operation + */ +class LS47Encrypt extends Operation { + + /** + * LS47Encrypt constructor + */ + constructor() { + super(); + + this.name = "LS47 Encrypt"; + this.module = "Crypto"; + this.description = ""; + this.infoURL = ""; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + name: "Password", + type: "string", + value: "" + }, + { + name: "Padding", + type: "number", + value: 10 + }, + { + name: "Signature", + type: "string", + value: "" + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + + this.padding_size = parseInt(args[1], 10); + + LS47.init_tiles(); + + let key = LS47.derive_key(args[0]); + return LS47.encrypt_pad(key, input, args[2], this.padding_size); + } + +} + +export default LS47Encrypt; From 5cdd062ed9c639bf387c783667d8bd86302e8acb Mon Sep 17 00:00:00 2001 From: n1073645 Date: Tue, 28 Jan 2020 09:33:32 +0000 Subject: [PATCH 029/754] Linting done --- src/core/config/Categories.json | 2 + src/core/lib/LS47.mjs | 153 ++++++++++++++++++---------- src/core/operations/LS47Decrypt.mjs | 12 +-- src/core/operations/LS47Encrypt.mjs | 14 +-- 4 files changed, 112 insertions(+), 69 deletions(-) diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 53ca796d..1b810d37 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -75,6 +75,8 @@ "DES Decrypt", "Triple DES Encrypt", "Triple DES Decrypt", + "LS47 Encrypt", + "LS47 Decrypt", "RC2 Encrypt", "RC2 Decrypt", "RC4", diff --git a/src/core/lib/LS47.mjs b/src/core/lib/LS47.mjs index a4ef10a5..b028fc4f 100644 --- a/src/core/lib/LS47.mjs +++ b/src/core/lib/LS47.mjs @@ -6,21 +6,27 @@ import OperationError from "../errors/OperationError.mjs"; -let letters = "_abcdefghijklmnopqrstuvwxyz.0123456789,-+*/:?!'()"; -let tiles = []; +const letters = "_abcdefghijklmnopqrstuvwxyz.0123456789,-+*/:?!'()"; +const tiles = []; -export function init_tiles() { +/** + * + */ +export function initTiles() { for (let i = 0; i < 49; i++) tiles.push([letters.charAt(i), [Math.floor(i/7), i % 7]]); } -function rotate_down(key, col, n) { - let lines = []; - for (let i = 0; i < 7; i++) +/** + * + */ +function rotateDown(key, col, n) { + const lines = []; + for (let i = 0; i < 7; i++) lines.push(key.slice(i*7, (i + 1) * 7)); - let lefts = []; + const lefts = []; let mids = []; - let rights = []; + const rights = []; lines.forEach((element) => { lefts.push(element.slice(0, col)); mids.push(element.charAt(col)); @@ -34,37 +40,49 @@ function rotate_down(key, col, n) { return result; } -function rotate_right(key, row, n) { - let mid = key.slice(row * 7, (row + 1) * 7); +/** + * + */ +function rotateRight(key, row, n) { + const mid = key.slice(row * 7, (row + 1) * 7); n = (7 - n % 7) % 7; return key.slice(0, 7 * row) + mid.slice(n) + mid.slice(0, n) + key.slice(7 * (row + 1)); } -function find_ix(letter) { +/** + * + */ +function findIx(letter) { for (let i = 0; i < tiles.length; i++) if (tiles[i][0] === letter) return tiles[i][1]; throw new OperationError("Letter " + letter + " is not included in LS47"); } -export function derive_key(password) { +/** + * + */ +export function deriveKey(password) { let i = 0; let k = letters; for (const c of password) { - let [row, col] = find_ix(c); - k = rotate_down(rotate_right(k, i, col), i, row); + const [row, col] = findIx(c); + k = rotateDown(rotateRight(k, i, col), i, row); i = (i + 1) % 7; } return k; } -function check_key(key) { +/** + * + */ +function checkKey(key) { if (key.length !== letters.length) throw new OperationError("Wrong key size"); - let counts = new Array(); + const counts = new Array(); for (let i = 0; i < letters.length; i++) counts[letters.charAt(i)] = 0; - for (const elem of letters){ + for (const elem of letters) { if (letters.indexOf(elem) === -1) throw new OperationError("Letter " + elem + " not in LS47!"); counts[elem]++; @@ -73,76 +91,99 @@ function check_key(key) { } } -function find_pos (key, letter) { - let index = key.indexOf(letter); +/** + * + */ +function findPos (key, letter) { + const index = key.indexOf(letter); if (index >= 0 && index < 49) return [Math.floor(index/7), index%7]; throw new OperationError("Letter " + letter + " is not in the key!"); } -function find_at_pos(key, coord) { +/** + * + */ +function findAtPos(key, coord) { return key.charAt(coord[1] + (coord[0] * 7)); } -function add_pos(a, b) { +/** + * + */ +function addPos(a, b) { return [(a[0] + b[0]) % 7, (a[1] + b[1]) % 7]; } -function sub_pos(a, b) { - let asub = a[0] - b[0]; - let bsub = a[1] - b[1]; +/** + * + */ +function subPos(a, b) { + const asub = a[0] - b[0]; + const bsub = a[1] - b[1]; return [asub - (Math.floor(asub/7) * 7), bsub - (Math.floor(bsub/7) * 7)]; } +/** + * + */ function encrypt(key, plaintext) { - check_key(key); + checkKey(key); let mp = [0, 0]; - let ciphertext = ''; + let ciphertext = ""; for (const p of plaintext) { - let pp = find_pos(key, p); - let mix = find_ix(find_at_pos(key, mp)); - let cp = add_pos(pp, mix); - let c = find_at_pos(key, cp); + const pp = findPos(key, p); + const mix = findIx(findAtPos(key, mp)); + let cp = addPos(pp, mix); + const c = findAtPos(key, cp); ciphertext += c; - key = rotate_right(key, pp[0], 1); - cp = find_pos(key, c); - key = rotate_down(key, cp[1], 1); - mp = add_pos(mp, find_ix(c)); + key = rotateRight(key, pp[0], 1); + cp = findPos(key, c); + key = rotateDown(key, cp[1], 1); + mp = addPos(mp, findIx(c)); } return ciphertext; } +/** + * + */ function decrypt(key, ciphertext) { - check_key(key); - let mp = [0,0]; - let plaintext = ''; + checkKey(key); + let mp = [0, 0]; + let plaintext = ""; for (const c of ciphertext) { - let cp = find_pos(key, c); - let mix = find_ix(find_at_pos(key, mp)); - let pp = sub_pos(cp, mix); - let p = find_at_pos(key, pp); - + let cp = findPos(key, c); + const mix = findIx(findAtPos(key, mp)); + const pp = subPos(cp, mix); + const p = findAtPos(key, pp); plaintext += p; - key = rotate_right(key, pp[0], 1); - cp = find_pos(key, c); - key = rotate_down(key, cp[1], 1); - mp = add_pos(mp, find_ix(c)); + key = rotateRight(key, pp[0], 1); + cp = findPos(key, c); + key = rotateDown(key, cp[1], 1); + mp = addPos(mp, findIx(c)); } return plaintext; } -export function encrypt_pad(key, plaintext, signature, padding_size) { - init_tiles(); - check_key(key); +/** + * + */ +export function encryptPad(key, plaintext, signature, paddingSize) { + initTiles(); + checkKey(key); let padding = ""; - for (let i = 0; i < padding_size; i++) { + for (let i = 0; i < paddingSize; i++) { padding += letters.charAt(Math.floor(Math.random() * letters.length)); } - return encrypt(key, padding+plaintext+'---'+signature); + return encrypt(key, padding+plaintext+"---"+signature); } -export function decrypt_pad(key, ciphertext, padding_size) { - init_tiles(); - check_key(key); - return decrypt(key, ciphertext).slice(padding_size); -} \ No newline at end of file +/** + * + */ +export function decryptPad(key, ciphertext, paddingSize) { + initTiles(); + checkKey(key); + return decrypt(key, ciphertext).slice(paddingSize); +} diff --git a/src/core/operations/LS47Decrypt.mjs b/src/core/operations/LS47Decrypt.mjs index ffda8f93..a5a92ebf 100644 --- a/src/core/operations/LS47Decrypt.mjs +++ b/src/core/operations/LS47Decrypt.mjs @@ -5,7 +5,7 @@ */ import Operation from "../Operation.mjs"; -import * as LS47 from "../lib/LS47.mjs" +import * as LS47 from "../lib/LS47.mjs"; /** * LS47 Decrypt operation @@ -45,12 +45,12 @@ class LS47Decrypt extends Operation { */ run(input, args) { - this.padding_size = parseInt(args[1], 10); + this.paddingSize = parseInt(args[1], 10); - LS47.init_tiles(); - - let key = LS47.derive_key(args[0]); - return LS47.decrypt_pad(key, input, this.padding_size); + LS47.initTiles(); + + const key = LS47.deriveKey(args[0]); + return LS47.decryptPad(key, input, this.paddingSize); } } diff --git a/src/core/operations/LS47Encrypt.mjs b/src/core/operations/LS47Encrypt.mjs index bf3b0306..f82baaab 100644 --- a/src/core/operations/LS47Encrypt.mjs +++ b/src/core/operations/LS47Encrypt.mjs @@ -5,7 +5,7 @@ */ import Operation from "../Operation.mjs"; -import * as LS47 from "../lib/LS47.mjs" +import * as LS47 from "../lib/LS47.mjs"; /** * LS47 Encrypt operation @@ -49,13 +49,13 @@ class LS47Encrypt extends Operation { * @returns {string} */ run(input, args) { - - this.padding_size = parseInt(args[1], 10); - LS47.init_tiles(); - - let key = LS47.derive_key(args[0]); - return LS47.encrypt_pad(key, input, args[2], this.padding_size); + this.paddingSize = parseInt(args[1], 10); + + LS47.initTiles(); + + const key = LS47.deriveKey(args[0]); + return LS47.encryptPad(key, input, args[2], this.paddingSize); } } From 6fd929160d9eb5ee332af80c90e823513b0a86f1 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Tue, 28 Jan 2020 10:35:01 +0000 Subject: [PATCH 030/754] Comments and linting. --- src/core/lib/LS47.mjs | 57 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/src/core/lib/LS47.mjs b/src/core/lib/LS47.mjs index b028fc4f..6696aafc 100644 --- a/src/core/lib/LS47.mjs +++ b/src/core/lib/LS47.mjs @@ -10,7 +10,7 @@ const letters = "_abcdefghijklmnopqrstuvwxyz.0123456789,-+*/:?!'()"; const tiles = []; /** - * + * Initialises the tiles with values and positions. */ export function initTiles() { for (let i = 0; i < 49; i++) @@ -18,7 +18,12 @@ export function initTiles() { } /** + * Rotates the key "down". * + * @param {string} key + * @param {number} col + * @param {number} n + * @returns {string} */ function rotateDown(key, col, n) { const lines = []; @@ -41,7 +46,12 @@ function rotateDown(key, col, n) { } /** + * Rotates the key "right". * + * @param {string} key + * @param {number} row + * @param {number} n + * @returns {string} */ function rotateRight(key, row, n) { const mid = key.slice(row * 7, (row + 1) * 7); @@ -50,7 +60,10 @@ function rotateRight(key, row, n) { } /** + * Finds the position of a letter in the tiles. * + * @param {string} letter + * @returns {string} */ function findIx(letter) { for (let i = 0; i < tiles.length; i++) @@ -60,7 +73,10 @@ function findIx(letter) { } /** + * Derives key from the input password. * + * @param {string} password + * @returns {string} */ export function deriveKey(password) { let i = 0; @@ -74,7 +90,9 @@ export function deriveKey(password) { } /** + * Checks the key is a valid key. * + * @param {string} key */ function checkKey(key) { if (key.length !== letters.length) @@ -92,7 +110,11 @@ function checkKey(key) { } /** + * Finds the position of a letter in they key. * + * @param {letter} key + * @param {string} letter + * @returns {object} */ function findPos (key, letter) { const index = key.indexOf(letter); @@ -102,21 +124,35 @@ function findPos (key, letter) { } /** + * Returns the character at the position on the tiles. * + * @param {string} key + * @param {object} coord + * @returns {string} */ function findAtPos(key, coord) { return key.charAt(coord[1] + (coord[0] * 7)); } /** + * Returns new position by adding two positions. * + * @param {object} a + * @param {object} b + * @returns {object} */ function addPos(a, b) { return [(a[0] + b[0]) % 7, (a[1] + b[1]) % 7]; } /** + * Returns new position by subtracting two positions. + * Note: We have to manually do the remainder division, since JS does not + * operate correctly on negative numbers (e.g. -3 % 4 = -3 when it should be 1). * + * @param {object} a + * @param {object} b + * @returns {object} */ function subPos(a, b) { const asub = a[0] - b[0]; @@ -125,7 +161,11 @@ function subPos(a, b) { } /** + * Encrypts the plaintext string. * + * @param {string} key + * @param {string} plaintext + * @returns {string} */ function encrypt(key, plaintext) { checkKey(key); @@ -146,7 +186,11 @@ function encrypt(key, plaintext) { } /** + * Decrypts the ciphertext string. * + * @param {string} key + * @param {string} ciphertext + * @returns {string} */ function decrypt(key, ciphertext) { checkKey(key); @@ -167,7 +211,13 @@ function decrypt(key, ciphertext) { } /** + * Adds padding to the input. * + * @param {string} key + * @param {string} plaintext + * @param {string} signature + * @param {number} paddingSize + * @returns {string} */ export function encryptPad(key, plaintext, signature, paddingSize) { initTiles(); @@ -180,7 +230,12 @@ export function encryptPad(key, plaintext, signature, paddingSize) { } /** + * Removes padding from the ouput. * + * @param {string} key + * @param {string} ciphertext + * @param {number} paddingSize + * @returns {string} */ export function decryptPad(key, ciphertext, paddingSize) { initTiles(); From e71794d362cf8112fc940a2ae6177c84ffce3bb5 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Fri, 14 Feb 2020 12:28:12 +0000 Subject: [PATCH 031/754] Tests added for LS47 --- src/core/operations/LS47Decrypt.mjs | 4 +-- src/core/operations/LS47Encrypt.mjs | 4 +-- tests/operations/index.mjs | 1 + tests/operations/tests/LS47.mjs | 45 +++++++++++++++++++++++++++++ 4 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 tests/operations/tests/LS47.mjs diff --git a/src/core/operations/LS47Decrypt.mjs b/src/core/operations/LS47Decrypt.mjs index a5a92ebf..cb92cd27 100644 --- a/src/core/operations/LS47Decrypt.mjs +++ b/src/core/operations/LS47Decrypt.mjs @@ -20,8 +20,8 @@ class LS47Decrypt extends Operation { this.name = "LS47 Decrypt"; this.module = "Crypto"; - this.description = ""; - this.infoURL = ""; + this.description = "This is a slight improvement of the ElsieFour cipher as described by Alan Kaminsky. We use 7x7 characters instead of original (barely fitting) 6x6, to be able to encrypt some structured information. We also describe a simple key-expansion algorithm, because remembering passwords is popular. Similar security considerations as with ElsieFour hold.\nThe LS47 alphabet consists of following characters: _abcdefghijklmnopqrstuvwxyz.0123456789,-+*/:?!'()\nA LS47 key is a permutation of the alphabet that is then represented in a 7x7 grid used for the encryption or decryption."; + this.infoURL = "https://gitea.blesmrt.net/exa/ls47/src/branch/master"; this.inputType = "string"; this.outputType = "string"; this.args = [ diff --git a/src/core/operations/LS47Encrypt.mjs b/src/core/operations/LS47Encrypt.mjs index f82baaab..51283844 100644 --- a/src/core/operations/LS47Encrypt.mjs +++ b/src/core/operations/LS47Encrypt.mjs @@ -20,8 +20,8 @@ class LS47Encrypt extends Operation { this.name = "LS47 Encrypt"; this.module = "Crypto"; - this.description = ""; - this.infoURL = ""; + this.description = "This is a slight improvement of the ElsieFour cipher as described by Alan Kaminsky. We use 7x7 characters instead of original (barely fitting) 6x6, to be able to encrypt some structured information. We also describe a simple key-expansion algorithm, because remembering passwords is popular. Similar security considerations as with ElsieFour hold.\nThe LS47 alphabet consists of following characters: _abcdefghijklmnopqrstuvwxyz.0123456789,-+*/:?!'()\nA LS47 key is a permutation of the alphabet that is then represented in a 7x7 grid used for the encryption or decryption."; + this.infoURL = "https://gitea.blesmrt.net/exa/ls47/src/branch/master"; this.inputType = "string"; this.outputType = "string"; this.args = [ diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index bf440414..b3731727 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -96,6 +96,7 @@ import "./tests/DefangIP.mjs"; import "./tests/ParseUDP.mjs"; import "./tests/AvroToJSON.mjs"; import "./tests/Lorenz.mjs"; +import "./tests/LS47.mjs"; // Cannot test operations that use the File type yet diff --git a/tests/operations/tests/LS47.mjs b/tests/operations/tests/LS47.mjs new file mode 100644 index 00000000..40d876ee --- /dev/null +++ b/tests/operations/tests/LS47.mjs @@ -0,0 +1,45 @@ +/** + * Cartesian Product tests. + * + * @author n1073645 [n1073645@gmail.com] + * + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "LS47 Encrypt", + input: "thequickbrownfoxjumped", + expectedOutput: "(,t74ci78cp/8trx*yesu:alp1wqy", + recipeConfig: [ + { + op: "LS47 Encrypt", + args: ["helloworld", 0, "test"], + }, + ], + }, + { + name: "LS47 Decrypt", + input: "(,t74ci78cp/8trx*yesu:alp1wqy", + expectedOutput: "thequickbrownfoxjumped---test", + recipeConfig: [ + { + op: "LS47 Decrypt", + args: ["helloworld", 0], + }, + ], + }, + { + name: "LS47 Encrypt", + input: "thequickbrownfoxjumped", + expectedOutput: "Letter H is not included in LS47", + recipeConfig: [ + { + op: "LS47 Encrypt", + args: ["Helloworld", 0, "test"], + }, + ], + } +]); From e91e993fb5e7ec99db8fcb179fbd18a3f53b97bc Mon Sep 17 00:00:00 2001 From: n1073645 <57447333+n1073645@users.noreply.github.com> Date: Fri, 14 Feb 2020 13:43:30 +0000 Subject: [PATCH 032/754] Update LS47.mjs --- tests/operations/tests/LS47.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/operations/tests/LS47.mjs b/tests/operations/tests/LS47.mjs index 40d876ee..ce613923 100644 --- a/tests/operations/tests/LS47.mjs +++ b/tests/operations/tests/LS47.mjs @@ -1,5 +1,5 @@ /** - * Cartesian Product tests. + * LS47 tests. * * @author n1073645 [n1073645@gmail.com] * From 53a579028cce7648b8c2c7d8e390960246858d6b Mon Sep 17 00:00:00 2001 From: n1073645 Date: Thu, 12 Mar 2020 09:30:48 +0000 Subject: [PATCH 033/754] Added only ASCII flag to ToHexdump --- src/core/Utils.mjs | 6 +++++- src/core/operations/ToHexdump.mjs | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/core/Utils.mjs b/src/core/Utils.mjs index c99eccc9..bd831cfe 100755 --- a/src/core/Utils.mjs +++ b/src/core/Utils.mjs @@ -170,13 +170,17 @@ class Utils { * * @param {string} str - The input string to display. * @param {boolean} [preserveWs=false] - Whether or not to print whitespace. + * @param {boolean} [onlyAscii=false] - Whether or not to replace non Ascii characters. * @returns {string} */ - static printable(str, preserveWs=false) { + static printable(str, preserveWs=false, onlyAscii=false) { if (isWebEnvironment() && window.app && !window.app.options.treatAsUtf8) { str = Utils.byteArrayToChars(Utils.strToByteArray(str)); } + if (onlyAscii) + return str.replace(/[^\x20-\x7f]/g, "."); + // eslint-disable-next-line no-misleading-character-class const re = /[\0-\x08\x0B-\x0C\x0E-\x1F\x7F-\x9F\xAD\u0378\u0379\u037F-\u0383\u038B\u038D\u03A2\u0528-\u0530\u0557\u0558\u0560\u0588\u058B-\u058E\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08A1\u08AD-\u08E3\u08FF\u0978\u0980\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0C00\u0C04\u0C0D\u0C11\u0C29\u0C34\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5A-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C80\u0C81\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D01\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D4F-\u0D56\u0D58-\u0D5F\u0D64\u0D65\u0D76-\u0D78\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F5-\u13FF\u169D-\u169F\u16F1-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191D-\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C80-\u1CBF\u1CC8-\u1CCF\u1CF7-\u1CFF\u1DE7-\u1DFB\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BB-\u20CF\u20F1-\u20FF\u218A-\u218F\u23F4-\u23FF\u2427-\u243F\u244B-\u245F\u2700\u2B4D-\u2B4F\u2B5A-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E3C-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FCD-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA698-\uA69E\uA6F8-\uA6FF\uA78F\uA794-\uA79F\uA7AB-\uA7F7\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C5-\uA8CD\uA8DA-\uA8DF\uA8FC-\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9E0-\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAA7C-\uAA7F\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F-\uABBF\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE27-\uFE2F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF]/g; const wsRe = /[\x09-\x10\x0D\u2028\u2029]/g; diff --git a/src/core/operations/ToHexdump.mjs b/src/core/operations/ToHexdump.mjs index ffe7131c..a602ae2c 100644 --- a/src/core/operations/ToHexdump.mjs +++ b/src/core/operations/ToHexdump.mjs @@ -70,7 +70,7 @@ class ToHexdump extends Operation { output += lineNo + " " + hexa.padEnd(length*(padding+1), " ") + - " |" + Utils.printable(Utils.byteArrayToChars(buff)).padEnd(buff.length, " ") + "|\n"; + " |" + Utils.printable(Utils.byteArrayToChars(buff), false, true).padEnd(buff.length, " ") + "|\n"; if (includeFinalLength && i+buff.length === data.length) { output += Utils.hex(i+buff.length, 8) + "\n"; From 30bc8dfbe974928c05d1872fdf335fa009e17cfa Mon Sep 17 00:00:00 2001 From: n1073645 Date: Fri, 13 Mar 2020 10:37:13 +0000 Subject: [PATCH 034/754] UNIX Format Added for ToHexdump --- src/core/operations/ToHexdump.mjs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/core/operations/ToHexdump.mjs b/src/core/operations/ToHexdump.mjs index a602ae2c..d5ca663c 100644 --- a/src/core/operations/ToHexdump.mjs +++ b/src/core/operations/ToHexdump.mjs @@ -39,6 +39,11 @@ class ToHexdump extends Operation { "name": "Include final length", "type": "boolean", "value": false + }, + { + "name": "UNIX Format", + "type": "boolean", + "value": false } ]; } @@ -70,7 +75,7 @@ class ToHexdump extends Operation { output += lineNo + " " + hexa.padEnd(length*(padding+1), " ") + - " |" + Utils.printable(Utils.byteArrayToChars(buff), false, true).padEnd(buff.length, " ") + "|\n"; + " |" + Utils.printable(Utils.byteArrayToChars(buff), false, args[3]).padEnd(buff.length, " ") + "|\n"; if (includeFinalLength && i+buff.length === data.length) { output += Utils.hex(i+buff.length, 8) + "\n"; From 2e0af64ac3e11791e3f706439b4fbf063e0d0708 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Tue, 17 Mar 2020 14:53:05 +0000 Subject: [PATCH 035/754] PGP secring signatures and Mac OS X keyring extractor added --- src/core/lib/FileSignatures.mjs | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/src/core/lib/FileSignatures.mjs b/src/core/lib/FileSignatures.mjs index 7ec0af21..84a5858c 100644 --- a/src/core/lib/FileSignatures.mjs +++ b/src/core/lib/FileSignatures.mjs @@ -2169,14 +2169,14 @@ export const FILE_SIGNATURES = { mime: "application/octet-stream", description: "", signature: { - 0: 0x6b, // keych + 0: 0x6b, // kych 1: 0x79, 2: 0x63, 3: 0x68, 4: 0x00, 5: 0x01 }, - extractor: null + extractor: extractMacOSXKeychain }, { name: "TCP Packet", @@ -2327,6 +2327,12 @@ export const FILE_SIGNATURES = { 1: 0x03, 2: 0xc6, 3: 0x04 + }, + { + 0: 0x95, + 1: 0x05, + 2: 0x86, + 3: 0x04 } ], extractor: null @@ -3221,6 +3227,27 @@ export function extractPListXML(bytes, offset) { } +/** + * MacOS X Keychain Extactor. + * + * @param {Uint8Array} bytes + * @param {number} offset + * @returns {Uint8Array} + */ +export function extractMacOSXKeychain(bytes, offset) { + + const stream = new Stream(bytes.slice(offset)); + + // Move to size field. + stream.moveTo(0x14); + + // Move forwards by size. + stream.moveForwardsBy(stream.readInt(4)); + + return stream.carve(); +} + + /** * OLE2 extractor. * From bda36e508a7c95eb37bf242ce81056ab90a1a58d Mon Sep 17 00:00:00 2001 From: n1073645 Date: Fri, 27 Mar 2020 13:27:56 +0000 Subject: [PATCH 036/754] Regexes for magic for the new alphabets --- src/core/operations/FromBase64.mjs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/core/operations/FromBase64.mjs b/src/core/operations/FromBase64.mjs index 4de2930f..ccdd52b5 100644 --- a/src/core/operations/FromBase64.mjs +++ b/src/core/operations/FromBase64.mjs @@ -102,6 +102,26 @@ class FromBase64 extends Operation { flags: "i", args: ["./0-9A-Za-z", true] }, + { + pattern: "^\\s*(?:[A-Z=\\d\\+/]{4}){5,}(?:[A-Z=\\d\\+/]{2}CC|[A-Z=\\d\\+/]{3}C)?\\s*$", + flags: "i", + args: ["/128GhIoPQROSTeUbADfgHijKLM+n0pFWXY456xyzB7=39VaqrstJklmNuZvwcdEC", true] + }, + { + pattern: "^\\s*(?:[A-Z=\\d\\+/]{4}){5,}(?:[A-Z=\\d\\+/]{2}55|[A-Z=\\d\\+/]{3}5)?\\s*$", + flags: "i", + args: ["3GHIJKLMNOPQRSTUb=cdefghijklmnopWXYZ/12+406789VaqrstuvwxyzABCDEF5", true] + }, + { + pattern: "^\\s*(?:[A-Z=\\d\\+/]{4}){5,}(?:[A-Z=\\d\\+/]{2}22|[A-Z=\\d\\+/]{3}2)?\\s*$", + flags: "i", + args: ["ZKj9n+yf0wDVX1s/5YbdxSo=ILaUpPBCHg8uvNO4klm6iJGhQ7eFrWczAMEq3RTt2", true] + }, + { + pattern: "^\\s*(?:[A-Z=\\d\\+/]{4}){5,}(?:[A-Z=\\d\\+/]{2}55|[A-Z=\\d\\+/]{3}5)?\\s*$", + flags: "i", + args: ["HNO4klm6ij9n+J2hyf0gzA8uvwDEq3X1Q7ZKeFrWcVTts/MRGYbdxSo=ILaUpPBC5", true] + } ]; } From 94e00115fe3b98f1257ca3f5fdafa37146e4fba7 Mon Sep 17 00:00:00 2001 From: 71819 Date: Sat, 28 Mar 2020 20:27:59 +0000 Subject: [PATCH 037/754] Issue 998: DishJSON should only replace undefined with new ArrayBuffer not null or false --- src/core/dishTypes/DishJSON.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/dishTypes/DishJSON.mjs b/src/core/dishTypes/DishJSON.mjs index 210f32d8..703b0980 100644 --- a/src/core/dishTypes/DishJSON.mjs +++ b/src/core/dishTypes/DishJSON.mjs @@ -17,7 +17,7 @@ class DishJSON extends DishType { */ static toArrayBuffer() { DishJSON.checkForValue(this.value); - this.value = this.value ? Utils.strToArrayBuffer(JSON.stringify(this.value, null, 4)) : new ArrayBuffer; + this.value = this.value !== undefined ? Utils.strToArrayBuffer(JSON.stringify(this.value, null, 4)) : new ArrayBuffer; } /** From 4c3324aea14f662996f3d14150852c1d23e544a8 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 30 Mar 2020 11:17:46 +0100 Subject: [PATCH 038/754] 9.20.3 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index e11036d7..caaa90b2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.20.2", + "version": "9.20.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index ea0a5d98..a8f4198e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.20.2", + "version": "9.20.3", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From ae70cb89ed9c04a0a5dd4f3e24e02ff900189c59 Mon Sep 17 00:00:00 2001 From: 71819 Date: Thu, 26 Mar 2020 11:44:57 +0000 Subject: [PATCH 039/754] Issue 991: Add CBOR Encode operation --- package-lock.json | 14 +++ package.json | 1 + src/core/config/Categories.json | 3 +- src/core/operations/CBOREncode.mjs | 41 +++++++++ tests/operations/index.mjs | 1 + tests/operations/tests/CBOREncode.mjs | 118 ++++++++++++++++++++++++++ 6 files changed, 177 insertions(+), 1 deletion(-) create mode 100644 src/core/operations/CBOREncode.mjs create mode 100644 tests/operations/tests/CBOREncode.mjs diff --git a/package-lock.json b/package-lock.json index caaa90b2..76ee7763 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2965,6 +2965,15 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, + "cbor": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.0.1.tgz", + "integrity": "sha512-l4ghwqioCyuAaD3LvY4ONwv8NMuERz62xjbMHGdWBqERJPygVmoFER1b4+VS6iW0rXwoVGuKZPPPTofwWOg3YQ==", + "requires": { + "bignumber.js": "^9.0.0", + "nofilter": "^1.0.3" + } + }, "chai-nightwatch": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.4.0.tgz", @@ -9828,6 +9837,11 @@ "resolved": "https://registry.npmjs.org/nodom/-/nodom-2.4.0.tgz", "integrity": "sha512-qhfYgpoCSi37HLiViMlf94YqMQdvk3n3arI1uGbAWZK9NKCYRSI42W8lATeGloYGLYxb8us1C5rTvtsXjwdWQg==" }, + "nofilter": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.3.tgz", + "integrity": "sha512-FlUlqwRK6reQCaFLAhMcF+6VkVG2caYjKQY3YsRDTl4/SEch595Qb3oLjJRDr8dkHAAOVj2pOx3VknfnSgkE5g==" + }, "nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", diff --git a/package.json b/package.json index a8f4198e..45c757fa 100644 --- a/package.json +++ b/package.json @@ -96,6 +96,7 @@ "bootstrap-colorpicker": "^3.2.0", "bootstrap-material-design": "^4.1.2", "bson": "^4.0.3", + "cbor": "^5.0.1", "chi-squared": "^1.1.0", "codepage": "^1.14.0", "core-js": "^3.6.4", diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 77e3d319..ffffb52c 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -61,7 +61,8 @@ "Parse TLV", "CSV to JSON", "JSON to CSV", - "Avro to JSON" + "Avro to JSON", + "CBOR Encode" ] }, { diff --git a/src/core/operations/CBOREncode.mjs b/src/core/operations/CBOREncode.mjs new file mode 100644 index 00000000..9e92239e --- /dev/null +++ b/src/core/operations/CBOREncode.mjs @@ -0,0 +1,41 @@ +/** + * @author Danh4 [dan.h4@ncsc.gov.uk] + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import Cbor from "cbor"; + +/** + * CBOR Encode operation + */ +class CBOREncode extends Operation { + + /** + * CBOREncode constructor + */ + constructor() { + super(); + + this.name = "CBOR Encode"; + this.module = "Default"; + this.description = "2"; + this.infoURL = "https://cbor.io"; + this.inputType = "JSON"; + this.outputType = "ArrayBuffer"; + this.args = []; + } + + /** + * @param {JSON} input + * @param {Object[]} args + * @returns {ArrayBuffer} + */ + run(input, args) { + return new Uint8Array(Cbor.encodeCanonical(input)).buffer; + } + +} + +export default CBOREncode; diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index 8d3cd623..7697fbdf 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -101,6 +101,7 @@ import "./tests/LuhnChecksum.mjs"; import "./tests/CipherSaber2.mjs"; import "./tests/Colossus.mjs"; import "./tests/ParseObjectIDTimestamp.mjs"; +import "./tests/CBOREncode.mjs"; // Cannot test operations that use the File type yet diff --git a/tests/operations/tests/CBOREncode.mjs b/tests/operations/tests/CBOREncode.mjs new file mode 100644 index 00000000..0613bfe6 --- /dev/null +++ b/tests/operations/tests/CBOREncode.mjs @@ -0,0 +1,118 @@ +/** + * CBOR Encode Tests. + * + * @author Danh4 [dan.h4@ncsc.gov.uk] + * + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "CBOR Encode: Can encode integer", + input: "15", + expectedOutput: "0f", + recipeConfig: [ + { + op: "CBOR Encode", + args: [] + }, + { + op: "To Hex", + args: [] + } + ] + }, + { + name: "CBOR Decode: Can encode decimal", + input: "1.5", + expectedOutput: "f9 3e 00", + recipeConfig: [ + { + op: "CBOR Encode", + args: [] + }, + { + op: "To Hex", + args: [] + } + ] + }, + { + name: "CBOR Encode: Can encode text", + input: "\"Text\"", + expectedOutput: "64 54 65 78 74", + recipeConfig: [ + { + op: "CBOR Encode", + args: [] + }, + { + op: "To Hex", + args: [] + } + ] + }, + { + name: "CBOR Encode: Can encode boolean true", + input: "true", + expectedOutput: "f5", + recipeConfig: [ + { + op: "CBOR Encode", + args: [] + }, + { + op: "To Hex", + args: [] + } + ] + }, + { + name: "CBOR Encode: Can encode boolean false", + input: "false", + expectedOutput: "f4", + recipeConfig: [ + { + op: "CBOR Encode", + args: [] + }, + { + op: "To Hex", + args: [] + } + ] + }, + { + name: "CBOR Encode: Can encode map", + input: JSON.stringify({a: 1, b: 2, c: 3}), + expectedOutput: "a3 61 61 01 61 62 02 61 63 03", + recipeConfig: [ + { + op: "CBOR Encode", + args: [] + }, + { + op: "To Hex", + args: [] + } + ] + }, + { + name: "CBOR Encode: Can encode list", + input: "[0,1,2]", + expectedOutput: "83 00 01 02", + recipeConfig: [ + { + op: "CBOR Encode", + args: [] + }, + { + op: "To Hex", + args: [] + } + ] + } +]); From 209fc07eacc7764f15bba76b76415bca0f5915a9 Mon Sep 17 00:00:00 2001 From: 71819 Date: Sat, 28 Mar 2020 20:13:49 +0000 Subject: [PATCH 040/754] Issue 991: Add CBOR Decode operation --- src/core/config/Categories.json | 3 +- src/core/operations/CBORDecode.mjs | 42 ++++++++ tests/operations/index.mjs | 1 + tests/operations/tests/CBORDecode.mjs | 145 ++++++++++++++++++++++++++ 4 files changed, 190 insertions(+), 1 deletion(-) create mode 100644 src/core/operations/CBORDecode.mjs create mode 100644 tests/operations/tests/CBORDecode.mjs diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index ffffb52c..c9b058e2 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -62,7 +62,8 @@ "CSV to JSON", "JSON to CSV", "Avro to JSON", - "CBOR Encode" + "CBOR Encode", + "CBOR Decode" ] }, { diff --git a/src/core/operations/CBORDecode.mjs b/src/core/operations/CBORDecode.mjs new file mode 100644 index 00000000..34f1abd1 --- /dev/null +++ b/src/core/operations/CBORDecode.mjs @@ -0,0 +1,42 @@ +/** + * @author Danh4 [dan.h4@ncsc.gov.uk] + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import Cbor from "cbor"; + +/** + * CBOR Decode operation + */ +class CBORDecode extends Operation { + + /** + * CBORDecode constructor + */ + constructor() { + super(); + + this.name = "CBOR Decode"; + this.module = "Default"; + this.description = "Decode Concise Binary Object Representation (CBOR) data format (RFC7049) to JSON."; + this.infoURL = "https://cbor.io"; + this.inputType = "ArrayBuffer"; + this.outputType = "JSON"; + this.args = [ + ]; + } + + /** + * @param {ArrayBuffer} input + * @param {Object[]} args + * @returns {JSON} + */ + run(input, args) { + return Cbor.decodeFirstSync(Buffer.from(input).toString("hex")); + } + +} + +export default CBORDecode; diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index 7697fbdf..da6a659d 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -102,6 +102,7 @@ import "./tests/CipherSaber2.mjs"; import "./tests/Colossus.mjs"; import "./tests/ParseObjectIDTimestamp.mjs"; import "./tests/CBOREncode.mjs"; +import "./tests/CBORDecode.mjs"; // Cannot test operations that use the File type yet diff --git a/tests/operations/tests/CBORDecode.mjs b/tests/operations/tests/CBORDecode.mjs new file mode 100644 index 00000000..4505b59c --- /dev/null +++ b/tests/operations/tests/CBORDecode.mjs @@ -0,0 +1,145 @@ +/** + * From Hex Tests. + * + * @author Danh4 [dan.h4@ncsc.gov.uk] + * + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "CBOR Decode: Can decode integer", + input: "0f", + expectedOutput: "15", + recipeConfig: [ + { + op: "From Hex", + args: [] + }, + { + op: "CBOR Decode", + args: [] + } + ] + }, + { + name: "CBOR Decode: Can decode decimal", + input: "f9 3e 00", + expectedOutput: "1.5", + recipeConfig: [ + { + op: "From Hex", + args: [] + }, + { + op: "CBOR Decode", + args: [] + } + ] + }, + { + name: "From Hex: Can decode text", + input: "64 54 65 78 74", + expectedOutput: "\"Text\"", + recipeConfig: [ + { + op: "From Hex", + args: [] + }, + { + op: "CBOR Decode", + args: [] + } + ] + }, + { + name: "From Hex: Can decode boolean true", + input: "f5", + expectedOutput: "true", + recipeConfig: [ + { + op: "From Hex", + args: [] + }, + { + op: "CBOR Decode", + args: [] + } + ] + }, + { + name: "From Hex: Can decode boolean false", + input: "f4", + expectedOutput: "false", + recipeConfig: [ + { + op: "From Hex", + args: [] + }, + { + op: "CBOR Decode", + args: [] + } + ] + }, + { + name: "From Hex: Can decode map", + input: "a3 61 61 01 61 62 02 61 63 03", + expectedOutput: JSON.stringify({a: 1, b: 2, c: 3}), + recipeConfig: [ + { + op: "From Hex", + args: [] + }, + { + op: "CBOR Decode", + args: [] + }, + { + op: "JSON Minify", + args: [] + } + ] + }, + { + name: "From Hex: Can decode list", + input: "83 00 01 02", + expectedOutput: "[0,1,2]", + recipeConfig: [ + { + op: "From Hex", + args: [] + }, + { + op: "CBOR Decode", + args: [] + }, + { + op: "JSON Minify", + args: [] + } + ] + }, + { + name: "From Hex: Can round trip with encode", + input: JSON.stringify({a: 1, b: false, c: [1, 2, 3]}), + expectedOutput: JSON.stringify({a: 1, b: false, c: [1, 2, 3]}), + recipeConfig: [ + { + op: "CBOR Encode", + args: [] + }, + { + op: "CBOR Decode", + args: [] + }, + { + op: "JSON Minify", + args: [] + } + ] + } +]); From 09d9deae43024027879dd9d2eef2e418eac2318c Mon Sep 17 00:00:00 2001 From: n1073645 Date: Thu, 2 Apr 2020 15:43:55 +0100 Subject: [PATCH 041/754] ID3 Extractor Added. --- src/core/operations/ExtractID3.mjs | 301 +++++++++++++++++++++++++++++ 1 file changed, 301 insertions(+) create mode 100644 src/core/operations/ExtractID3.mjs diff --git a/src/core/operations/ExtractID3.mjs b/src/core/operations/ExtractID3.mjs new file mode 100644 index 00000000..8b948931 --- /dev/null +++ b/src/core/operations/ExtractID3.mjs @@ -0,0 +1,301 @@ +/** + * @author n1073645 [n1073645@gmail.com] + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; + +/** + * Extract ID3 operation + */ +class ExtractID3 extends Operation { + + /** + * ExtractID3 constructor + */ + constructor() { + super(); + + this.name = "Extract ID3"; + this.module = "Default"; + this.description = ""; + this.infoURL = ""; + this.inputType = "ArrayBuffer"; + this.outputType = "string"; + this.args = []; + } + + /** + * @param {ArrayBuffer} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + + // Borrowed from https://github.com/aadsm/jsmediatags + const FRAME_DESCRIPTIONS = { + // v2.2 + "BUF": "Recommended buffer size", + "CNT": "Play counter", + "COM": "Comments", + "CRA": "Audio encryption", + "CRM": "Encrypted meta frame", + "ETC": "Event timing codes", + "EQU": "Equalization", + "GEO": "General encapsulated object", + "IPL": "Involved people list", + "LNK": "Linked information", + "MCI": "Music CD Identifier", + "MLL": "MPEG location lookup table", + "PIC": "Attached picture", + "POP": "Popularimeter", + "REV": "Reverb", + "RVA": "Relative volume adjustment", + "SLT": "Synchronized lyric/text", + "STC": "Synced tempo codes", + "TAL": "Album/Movie/Show title", + "TBP": "BPM (Beats Per Minute)", + "TCM": "Composer", + "TCO": "Content type", + "TCR": "Copyright message", + "TDA": "Date", + "TDY": "Playlist delay", + "TEN": "Encoded by", + "TFT": "File type", + "TIM": "Time", + "TKE": "Initial key", + "TLA": "Language(s)", + "TLE": "Length", + "TMT": "Media type", + "TOA": "Original artist(s)/performer(s)", + "TOF": "Original filename", + "TOL": "Original Lyricist(s)/text writer(s)", + "TOR": "Original release year", + "TOT": "Original album/Movie/Show title", + "TP1": "Lead artist(s)/Lead performer(s)/Soloist(s)/Performing group", + "TP2": "Band/Orchestra/Accompaniment", + "TP3": "Conductor/Performer refinement", + "TP4": "Interpreted, remixed, or otherwise modified by", + "TPA": "Part of a set", + "TPB": "Publisher", + "TRC": "ISRC (International Standard Recording Code)", + "TRD": "Recording dates", + "TRK": "Track number/Position in set", + "TSI": "Size", + "TSS": "Software/hardware and settings used for encoding", + "TT1": "Content group description", + "TT2": "Title/Songname/Content description", + "TT3": "Subtitle/Description refinement", + "TXT": "Lyricist/text writer", + "TXX": "User defined text information frame", + "TYE": "Year", + "UFI": "Unique file identifier", + "ULT": "Unsychronized lyric/text transcription", + "WAF": "Official audio file webpage", + "WAR": "Official artist/performer webpage", + "WAS": "Official audio source webpage", + "WCM": "Commercial information", + "WCP": "Copyright/Legal information", + "WPB": "Publishers official webpage", + "WXX": "User defined URL link frame", + // v2.3 + "AENC": "Audio encryption", + "APIC": "Attached picture", + "ASPI": "Audio seek point index", + "CHAP": "Chapter", + "CTOC": "Table of contents", + "COMM": "Comments", + "COMR": "Commercial frame", + "ENCR": "Encryption method registration", + "EQU2": "Equalisation (2)", + "EQUA": "Equalization", + "ETCO": "Event timing codes", + "GEOB": "General encapsulated object", + "GRID": "Group identification registration", + "IPLS": "Involved people list", + "LINK": "Linked information", + "MCDI": "Music CD identifier", + "MLLT": "MPEG location lookup table", + "OWNE": "Ownership frame", + "PRIV": "Private frame", + "PCNT": "Play counter", + "POPM": "Popularimeter", + "POSS": "Position synchronisation frame", + "RBUF": "Recommended buffer size", + "RVA2": "Relative volume adjustment (2)", + "RVAD": "Relative volume adjustment", + "RVRB": "Reverb", + "SEEK": "Seek frame", + "SYLT": "Synchronized lyric/text", + "SYTC": "Synchronized tempo codes", + "TALB": "Album/Movie/Show title", + "TBPM": "BPM (beats per minute)", + "TCOM": "Composer", + "TCON": "Content type", + "TCOP": "Copyright message", + "TDAT": "Date", + "TDLY": "Playlist delay", + "TDRC": "Recording time", + "TDRL": "Release time", + "TDTG": "Tagging time", + "TENC": "Encoded by", + "TEXT": "Lyricist/Text writer", + "TFLT": "File type", + "TIME": "Time", + "TIPL": "Involved people list", + "TIT1": "Content group description", + "TIT2": "Title/songname/content description", + "TIT3": "Subtitle/Description refinement", + "TKEY": "Initial key", + "TLAN": "Language(s)", + "TLEN": "Length", + "TMCL": "Musician credits list", + "TMED": "Media type", + "TMOO": "Mood", + "TOAL": "Original album/movie/show title", + "TOFN": "Original filename", + "TOLY": "Original lyricist(s)/text writer(s)", + "TOPE": "Original artist(s)/performer(s)", + "TORY": "Original release year", + "TOWN": "File owner/licensee", + "TPE1": "Lead performer(s)/Soloist(s)", + "TPE2": "Band/orchestra/accompaniment", + "TPE3": "Conductor/performer refinement", + "TPE4": "Interpreted, remixed, or otherwise modified by", + "TPOS": "Part of a set", + "TPRO": "Produced notice", + "TPUB": "Publisher", + "TRCK": "Track number/Position in set", + "TRDA": "Recording dates", + "TRSN": "Internet radio station name", + "TRSO": "Internet radio station owner", + "TSOA": "Album sort order", + "TSOP": "Performer sort order", + "TSOT": "Title sort order", + "TSIZ": "Size", + "TSRC": "ISRC (international standard recording code)", + "TSSE": "Software/Hardware and settings used for encoding", + "TSST": "Set subtitle", + "TYER": "Year", + "TXXX": "User defined text information frame", + "UFID": "Unique file identifier", + "USER": "Terms of use", + "USLT": "Unsychronized lyric/text transcription", + "WCOM": "Commercial information", + "WCOP": "Copyright/Legal information", + "WOAF": "Official audio file webpage", + "WOAR": "Official artist/performer webpage", + "WOAS": "Official audio source webpage", + "WORS": "Official internet radio station homepage", + "WPAY": "Payment", + "WPUB": "Publishers official webpage", + "WXXX": "User defined URL link frame" + }; + + input = new Uint8Array(input); + let result = ""; + + /** + * Extracts the ID3 header fields. + */ + function extractHeader() { + if (input.slice(0, 3).toString() !== [0x49, 0x44, 0x33].toString()) + throw new OperationError("No valid ID3 header."); + result = "{\n"; + result += " Type: \"ID3\",\n"; + + // Tag version. + result += " Version: \"" + input[3].toString() + "." + input[4].toString() + "\",\n"; + + // Header flags. + result += " Flags: " + input[5].toString() + ",\n"; + input = input.slice(6); + } + + /** + * Converts the size fields to a single integer. + * + * @param {number} num + * @returns {string} + */ + function readSize(num) { + let result = 0; + + // The sizes are 7 bit numbers stored in 8 bit locations. + for (let i = (num) * 7; i; i -= 7) { + result = (result << i) | input[0]; + input = input.slice(1); + } + return result; + } + + /** + * Reads frame header based on ID. + * + * @param {string} id + * @returns {number} + */ + function readFrame(id) { + result += " " + id + ": {\n"; + result += " ID: \"" + id + "\",\n"; + + // Size of frame. + const size = readSize(4); + result += " Size: " + size.toString() + ",\n"; + result += " Description: \"" + FRAME_DESCRIPTIONS[id] + "\",\n"; + input = input.slice(2); + let data = ""; + + // Read data from frame. + for (let i = 1; i < size; i++) + data += String.fromCharCode(input[i]); + + // Move to next Frame + input = input.slice(size); + result += " Data: \"" + data + "\",\n"; + result += " },\n"; + return size; + } + + extractHeader(); + + const headerTagSize = readSize(4); + result += " Tags: {\n"; + + let pos = 10; + + // While the current element is in the header. + while (pos < headerTagSize) { + + // Frame Identifier of frame. + let id = String.fromCharCode(input[0]) + String.fromCharCode(input[1]) + String.fromCharCode(input[2]); + input = input.slice(3); + + // If the next character is non-zero it is an identifier. + if (input[0] !== 0) { + id += String.fromCharCode(input[0]); + } + input = input.slice(1); + if (id in FRAME_DESCRIPTIONS) { + pos += 10 + readFrame(id); + // If end of header. + } else if (id === "\x00\x00\x00") { + break; + } else { + throw new OperationError("Unknown Frame Identifier: " + id); + } + } + + // Tidy up the output. + result += " },\n"; + result += " Size: "+headerTagSize.toString() + ",\n"; + result += "}"; + return result; + + } + +} + +export default ExtractID3; From 2f94ec20b0af59c861a3f464e119801bcb3fd701 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Thu, 2 Apr 2020 15:58:03 +0100 Subject: [PATCH 042/754] Added to categories --- src/core/config/Categories.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 5957c8b7..99dc4d45 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -279,7 +279,8 @@ "JPath expression", "CSS selector", "Extract EXIF", - "Extract Files" + "Extract Files", + "Extract ID3" ] }, { From cd8a85975c3d668241bee1561bb80494ca641a76 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Thu, 2 Apr 2020 15:59:58 +0100 Subject: [PATCH 043/754] Info and description --- src/core/operations/ExtractID3.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/operations/ExtractID3.mjs b/src/core/operations/ExtractID3.mjs index 8b948931..c71a387e 100644 --- a/src/core/operations/ExtractID3.mjs +++ b/src/core/operations/ExtractID3.mjs @@ -20,8 +20,8 @@ class ExtractID3 extends Operation { this.name = "Extract ID3"; this.module = "Default"; - this.description = ""; - this.infoURL = ""; + this.description = "ID3 is a metadata container most often used in conjunction with the MP3 audio file format. It allows information such as the title, artist, album, track number, and other information about the file to be stored in the file itself."; + this.infoURL = "https://wikipedia.org/wiki/ID3"; this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = []; From e0f000b913d2c092d7744e2f4f52476ce11056b6 Mon Sep 17 00:00:00 2001 From: Matt Date: Mon, 6 Apr 2020 13:35:14 +0100 Subject: [PATCH 044/754] Fixed RSA generation and added digest option to verify --- src/core/lib/RSA.mjs | 9 +++++++++ src/core/operations/GenerateRSAKeyPair.mjs | 3 ++- src/core/operations/RSASign.mjs | 16 +++++++++++----- webpack.config.js | 5 +++++ 4 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 src/core/lib/RSA.mjs diff --git a/src/core/lib/RSA.mjs b/src/core/lib/RSA.mjs new file mode 100644 index 00000000..0dab67a3 --- /dev/null +++ b/src/core/lib/RSA.mjs @@ -0,0 +1,9 @@ +import forge from "node-forge/dist/forge.min.js"; + +export const MD_ALGORITHMS = { + "SHA-1": forge.md.sha1, + "MD5": forge.md.md5, + "SHA-256": forge.md.sha256, + "SHA-384": forge.md.sha384, + "SHA-512": forge.md.sha512, +}; diff --git a/src/core/operations/GenerateRSAKeyPair.mjs b/src/core/operations/GenerateRSAKeyPair.mjs index 951c2667..a96948f2 100644 --- a/src/core/operations/GenerateRSAKeyPair.mjs +++ b/src/core/operations/GenerateRSAKeyPair.mjs @@ -1,4 +1,5 @@ /** + * @author Matt C [me@mitt.dev] * @author gchq77703 [] * @copyright Crown Copyright 2018 * @license Apache-2.0 @@ -55,7 +56,7 @@ class GenerateRSAKeyPair extends Operation { const [keyLength, outputFormat] = args; return new Promise((resolve, reject) => { - forge.pki.rsa.generateKeyPair({ bits: Number(keyLength), workers: -1}, (err, keypair) => { + forge.pki.rsa.generateKeyPair({ bits: Number(keyLength), workers: -1, workerScript: "./assets/forge/prime.worker.min.js"}, (err, keypair) => { if (err) return reject(err); let result; diff --git a/src/core/operations/RSASign.mjs b/src/core/operations/RSASign.mjs index c0b4ccdf..980d59b3 100644 --- a/src/core/operations/RSASign.mjs +++ b/src/core/operations/RSASign.mjs @@ -1,11 +1,13 @@ /** + * @author Matt C [me@mitt.dev] * @author gchq77703 [] - * @copyright Crown Copyright 2018 + * @copyright Crown Copyright 2020 * @license Apache-2.0 */ import Operation from "../Operation"; import forge from "node-forge/dist/forge.min.js"; +import { MD_ALGORITHMS } from "../lib/RSA.mjs"; /** * RSA Sign operation @@ -31,9 +33,14 @@ class RSASign extends Operation { value: "-----BEGIN RSA PRIVATE KEY-----" }, { - name: "Password", + name: "Key Password", type: "text", value: "" + }, + { + name: "Message Digest Algorithm", + type: "option", + value: Object.keys(MD_ALGORITHMS) } ]; } @@ -44,11 +51,10 @@ class RSASign extends Operation { * @returns {string} */ run(input, args) { - const [key, password] = args; + const [key, password, mdAlgo] = args; const privateKey = forge.pki.decryptRsaPrivateKey(key, password); - - const md = forge.md.sha1.create(); + const md = MD_ALGORITHMS[mdAlgo].create(); md.update(input, "utf8"); const signature = privateKey.sign(md); diff --git a/webpack.config.js b/webpack.config.js index a14d8e7e..c4ba416c 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -56,6 +56,11 @@ module.exports = { context: "src/core/vendor/", from: "tesseract/**/*", to: "assets/" + }, + { + context: "node_modules/node-forge/dist", + from: "prime.worker.min.js", + to: "assets/forge/" } ]) ], From 2233b9a0949f50bdd974a2dcb4d76a54f9605d75 Mon Sep 17 00:00:00 2001 From: Matt Date: Mon, 6 Apr 2020 15:24:06 +0100 Subject: [PATCH 045/754] Comment and add error handling to generate and sign --- src/core/operations/GenerateRSAKeyPair.mjs | 2 +- src/core/operations/RSASign.mjs | 23 +++++++++++++++------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/core/operations/GenerateRSAKeyPair.mjs b/src/core/operations/GenerateRSAKeyPair.mjs index a96948f2..57cfcdd0 100644 --- a/src/core/operations/GenerateRSAKeyPair.mjs +++ b/src/core/operations/GenerateRSAKeyPair.mjs @@ -56,7 +56,7 @@ class GenerateRSAKeyPair extends Operation { const [keyLength, outputFormat] = args; return new Promise((resolve, reject) => { - forge.pki.rsa.generateKeyPair({ bits: Number(keyLength), workers: -1, workerScript: "./assets/forge/prime.worker.min.js"}, (err, keypair) => { + forge.pki.rsa.generateKeyPair({ bits: Number(keyLength), workers: -1, workerScript: "assets/forge/prime.worker.min.js"}, (err, keypair) => { if (err) return reject(err); let result; diff --git a/src/core/operations/RSASign.mjs b/src/core/operations/RSASign.mjs index 980d59b3..812de813 100644 --- a/src/core/operations/RSASign.mjs +++ b/src/core/operations/RSASign.mjs @@ -6,6 +6,7 @@ */ import Operation from "../Operation"; +import OperationError from "../errors/OperationError"; import forge from "node-forge/dist/forge.min.js"; import { MD_ALGORITHMS } from "../lib/RSA.mjs"; @@ -52,13 +53,21 @@ class RSASign extends Operation { */ run(input, args) { const [key, password, mdAlgo] = args; - - const privateKey = forge.pki.decryptRsaPrivateKey(key, password); - const md = MD_ALGORITHMS[mdAlgo].create(); - md.update(input, "utf8"); - const signature = privateKey.sign(md); - - return signature.split("").map(char => char.charCodeAt()); + if (key.replace("-----BEGIN RSA PRIVATE KEY-----", "").length === 0) { + throw new OperationError("Please enter a private key."); + } + try { + const privateKey = forge.pki.decryptRsaPrivateKey(key, password); + // Generate message hash + const md = MD_ALGORITHMS[mdAlgo].create(); + md.update(input, "utf8"); + // Convert signature UTF-16 string to byteArray + const encoder = new TextEncoder(); + const signature = encoder.encode(privateKey.sign(md)); + return signature; + } catch (err) { + throw new OperationError(err); + } } } From 18c6b9bc09e07ea2dba33b98d556a7902b6bd4dd Mon Sep 17 00:00:00 2001 From: Matt Date: Mon, 6 Apr 2020 15:24:22 +0100 Subject: [PATCH 046/754] Add RSA Verify operation --- src/core/operations/RSAVerify.mjs | 77 +++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 src/core/operations/RSAVerify.mjs diff --git a/src/core/operations/RSAVerify.mjs b/src/core/operations/RSAVerify.mjs new file mode 100644 index 00000000..2041e341 --- /dev/null +++ b/src/core/operations/RSAVerify.mjs @@ -0,0 +1,77 @@ +/** + * @author Matt C [me@mitt.dev] + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import forge from "node-forge/dist/forge.min.js"; +import { MD_ALGORITHMS } from "../lib/RSA.mjs"; + +/** + * RSA Verify operation + */ +class RSAVerify extends Operation { + + /** + * RSAVerify constructor + */ + constructor() { + super(); + + this.name = "RSA Verify"; + this.module = "Ciphers"; + this.description = "Verify a message against a signature and a public PEM encoded RSA key."; + this.infoURL = "https://wikipedia.org/wiki/RSA_(cryptosystem)"; + this.inputType = "byteArray"; + this.outputType = "string"; + this.args = [ + { + name: "RSA Public Key (PEM)", + type: "text", + value: "-----BEGIN RSA PUBLIC KEY-----" + }, + { + name: "Message", + type: "text", + value: "" + }, + { + name: "Message Digest Algorithm", + type: "option", + value: Object.keys(MD_ALGORITHMS) + } + ]; + } + + /** + * @param {byteArray} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const [pemKey, message, mdAlgo] = args; + if (pemKey.replace("-----BEGIN RSA PUBLIC KEY-----", "").length === 0) { + throw new OperationError("Please enter a public key."); + } + try { + // Load public key + const pubKey = forge.pki.publicKeyFromPem(pemKey); + // Generate message digest + const md = MD_ALGORITHMS[mdAlgo].create(); + md.update(message, "utf8"); + // Compare signed message digest and generated message digest + const result = pubKey.verify(md.digest().bytes(), input); + return result ? "Verified OK" : "Verification Failure"; + } catch (err) { + if (err.message === "Encrypted message length is invalid.") { + throw new OperationError(`Signature length (${err.length}) does not match expected length based on key (${err.expected}).`); + } + throw new OperationError(err); + } + } + +} + +export default RSAVerify; From 1f0fddd0e9ed58a2db5d80ebbb6db562940c7e09 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Tue, 7 Apr 2020 10:33:15 +0100 Subject: [PATCH 047/754] Added magic signature to Microsoft Script Decoder --- src/core/operations/MicrosoftScriptDecoder.mjs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/core/operations/MicrosoftScriptDecoder.mjs b/src/core/operations/MicrosoftScriptDecoder.mjs index 952a8788..3e59e95e 100644 --- a/src/core/operations/MicrosoftScriptDecoder.mjs +++ b/src/core/operations/MicrosoftScriptDecoder.mjs @@ -24,6 +24,13 @@ class MicrosoftScriptDecoder extends Operation { this.inputType = "string"; this.outputType = "string"; this.args = []; + this.checks = [ + { + pattern: "#@~\\^.{6}==(.+).{6}==\\^#~@", + flags: "i", + args: [] + } + ]; } /** From 1c0ecd29c24b85bf2f37cfb097ddb46f5a95fc69 Mon Sep 17 00:00:00 2001 From: Matt Date: Tue, 7 Apr 2020 11:45:54 +0100 Subject: [PATCH 048/754] Fix RSA operations --- src/core/operations/RSASign.mjs | 10 +++++----- src/core/operations/RSAVerify.mjs | 3 ++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/core/operations/RSASign.mjs b/src/core/operations/RSASign.mjs index 812de813..1c2696e3 100644 --- a/src/core/operations/RSASign.mjs +++ b/src/core/operations/RSASign.mjs @@ -8,6 +8,7 @@ import Operation from "../Operation"; import OperationError from "../errors/OperationError"; import forge from "node-forge/dist/forge.min.js"; +import Utils from "../Utils.mjs"; import { MD_ALGORITHMS } from "../lib/RSA.mjs"; /** @@ -26,7 +27,7 @@ class RSASign extends Operation { this.description = "Sign a plaintext message with a PEM encoded RSA key."; this.infoURL = "https://wikipedia.org/wiki/RSA_(cryptosystem)"; this.inputType = "string"; - this.outputType = "byteArray"; + this.outputType = "string"; this.args = [ { name: "RSA Private Key (PEM)", @@ -61,10 +62,9 @@ class RSASign extends Operation { // Generate message hash const md = MD_ALGORITHMS[mdAlgo].create(); md.update(input, "utf8"); - // Convert signature UTF-16 string to byteArray - const encoder = new TextEncoder(); - const signature = encoder.encode(privateKey.sign(md)); - return signature; + // Sign message hash + const sig = privateKey.sign(md); + return sig; } catch (err) { throw new OperationError(err); } diff --git a/src/core/operations/RSAVerify.mjs b/src/core/operations/RSAVerify.mjs index 2041e341..94ca4220 100644 --- a/src/core/operations/RSAVerify.mjs +++ b/src/core/operations/RSAVerify.mjs @@ -6,6 +6,7 @@ import Operation from "../Operation.mjs"; import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; import forge from "node-forge/dist/forge.min.js"; import { MD_ALGORITHMS } from "../lib/RSA.mjs"; @@ -24,7 +25,7 @@ class RSAVerify extends Operation { this.module = "Ciphers"; this.description = "Verify a message against a signature and a public PEM encoded RSA key."; this.infoURL = "https://wikipedia.org/wiki/RSA_(cryptosystem)"; - this.inputType = "byteArray"; + this.inputType = "string"; this.outputType = "string"; this.args = [ { From cc3512745905434c3e597563456fe12fcb79d077 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Tue, 7 Apr 2020 12:57:32 +0100 Subject: [PATCH 049/754] AAD for AES Added --- src/core/operations/AESEncrypt.mjs | 41 +++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/src/core/operations/AESEncrypt.mjs b/src/core/operations/AESEncrypt.mjs index 7375e308..f1ad14cd 100644 --- a/src/core/operations/AESEncrypt.mjs +++ b/src/core/operations/AESEncrypt.mjs @@ -41,8 +41,33 @@ class AESEncrypt extends Operation { }, { "name": "Mode", - "type": "option", - "value": ["CBC", "CFB", "OFB", "CTR", "GCM", "ECB"] + "type": "argSelector", + "value": [ + { + name: "CBC", + off: [5] + }, + { + name: "CFB", + off: [5] + }, + { + name: "OFB", + off: [5] + }, + { + name:"CTR", + off: [5] + }, + { + name: "GCM", + on: [5] + }, + { + name: "ECB", + off: [5] + } + ] }, { "name": "Input", @@ -53,6 +78,11 @@ class AESEncrypt extends Operation { "name": "Output", "type": "option", "value": ["Hex", "Raw"] + }, + { + "name": "Additional Authenticated Data", + "type": "string", + "value": "" } ]; } @@ -83,7 +113,12 @@ The following algorithms will be used based on the size of the key: input = Utils.convertToByteString(input, inputType); const cipher = forge.cipher.createCipher("AES-" + mode, key); - cipher.start({iv: iv}); + + if (args[5]) + cipher.start({iv: iv, additionalData: args[5]}); + else + cipher.start({iv: iv}); + cipher.update(forge.util.createBuffer(input)); cipher.finish(); From e7b5c0e37c96f449efd7d1021bc8bd8e967c83ec Mon Sep 17 00:00:00 2001 From: Matt Date: Tue, 7 Apr 2020 13:31:17 +0100 Subject: [PATCH 050/754] Add RSA Encrypt Operation --- src/core/operations/RSAEncrypt.mjs | 84 ++++++++++++++++++++++++++++++ src/core/operations/RSASign.mjs | 1 - src/core/operations/RSAVerify.mjs | 3 +- 3 files changed, 85 insertions(+), 3 deletions(-) create mode 100644 src/core/operations/RSAEncrypt.mjs diff --git a/src/core/operations/RSAEncrypt.mjs b/src/core/operations/RSAEncrypt.mjs new file mode 100644 index 00000000..b7d5026b --- /dev/null +++ b/src/core/operations/RSAEncrypt.mjs @@ -0,0 +1,84 @@ +/** + * @author Matt C [me@mitt.dev] + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import forge from "node-forge/dist/forge.min.js"; +import { MD_ALGORITHMS } from "../lib/RSA.mjs"; + +/** + * RSA Encrypt operation + */ +class RSAEncrypt extends Operation { + + /** + * RSAEncrypt constructor + */ + constructor() { + super(); + + this.name = "RSA Encrypt"; + this.module = "Ciphers"; + this.description = "Encrypt a message with a PEM encoded RSA public key."; + this.infoURL = "https://wikipedia.org/wiki/RSA_(cryptosystem)"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + name: "RSA Public Key (PEM)", + type: "text", + value: "-----BEGIN RSA PUBLIC KEY-----" + }, + { + name: "Encryption Scheme", + type: "argSelector", + value: [ + { + name: "RSA-OAEP", + on: [2] + }, + { + name: "RSAES-PKCS1-V1_5", + off: [2] + }, + { + name: "RAW", + off: [2] + }] + }, + { + name: "Message Digest Algorithm", + type: "option", + value: Object.keys(MD_ALGORITHMS) + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const [pemKey, scheme, md] = args; + + if (pemKey.replace("-----BEGIN RSA PUBLIC KEY-----", "").length === 0) { + throw new OperationError("Please enter a public key."); + } + try { + // Load public key + const pubKey = forge.pki.publicKeyFromPem(pemKey); + // Encrypt message + const eMsg = pubKey.encrypt(input, scheme, {md: MD_ALGORITHMS[md].create()}); + return eMsg; + } catch (err) { + throw new OperationError(err); + } + } + +} + +export default RSAEncrypt; diff --git a/src/core/operations/RSASign.mjs b/src/core/operations/RSASign.mjs index 1c2696e3..6161c5fe 100644 --- a/src/core/operations/RSASign.mjs +++ b/src/core/operations/RSASign.mjs @@ -8,7 +8,6 @@ import Operation from "../Operation"; import OperationError from "../errors/OperationError"; import forge from "node-forge/dist/forge.min.js"; -import Utils from "../Utils.mjs"; import { MD_ALGORITHMS } from "../lib/RSA.mjs"; /** diff --git a/src/core/operations/RSAVerify.mjs b/src/core/operations/RSAVerify.mjs index 94ca4220..e1a8b0cb 100644 --- a/src/core/operations/RSAVerify.mjs +++ b/src/core/operations/RSAVerify.mjs @@ -6,7 +6,6 @@ import Operation from "../Operation.mjs"; import OperationError from "../errors/OperationError.mjs"; -import Utils from "../Utils.mjs"; import forge from "node-forge/dist/forge.min.js"; import { MD_ALGORITHMS } from "../lib/RSA.mjs"; @@ -47,7 +46,7 @@ class RSAVerify extends Operation { } /** - * @param {byteArray} input + * @param {string} input * @param {Object[]} args * @returns {string} */ From 7ad3992bd14e3f063a0b19fc7bba8ad2baf59c56 Mon Sep 17 00:00:00 2001 From: Matt Date: Tue, 7 Apr 2020 13:31:33 +0100 Subject: [PATCH 051/754] Add RSA Decrypt Operation --- src/core/operations/RSADecrypt.mjs | 86 ++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 src/core/operations/RSADecrypt.mjs diff --git a/src/core/operations/RSADecrypt.mjs b/src/core/operations/RSADecrypt.mjs new file mode 100644 index 00000000..0b0670e6 --- /dev/null +++ b/src/core/operations/RSADecrypt.mjs @@ -0,0 +1,86 @@ +/** + * @author Matt C [me@mitt.dev] + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import forge from "node-forge/dist/forge.min.js"; +import { MD_ALGORITHMS } from "../lib/RSA.mjs"; + +/** + * RSA Decrypt operation + */ +class RSADecrypt extends Operation { + + /** + * RSADecrypt constructor + */ + constructor() { + super(); + + this.name = "RSA Decrypt"; + this.module = "Ciphers"; + this.description = "Decrypt an RSA encrypted message with a PEM encoded private key."; + this.infoURL = "https://wikipedia.org/wiki/RSA_(cryptosystem)"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + name: "RSA Private Key (PEM)", + type: "text", + value: "-----BEGIN RSA PRIVATE KEY-----" + }, + { + name: "Key Password", + type: "text", + value: "" + }, + { + name: "Encryption Scheme", + type: "argSelector", + value: [ + { + name: "RSA-OAEP", + on: [3] + }, + { + name: "RSAES-PKCS1-V1_5", + off: [3] + }, + { + name: "RAW", + off: [3] + }] + }, + { + name: "Message Digest Algorithm", + type: "option", + value: Object.keys(MD_ALGORITHMS) + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const [pemKey, password, scheme, md] = args; + if (pemKey.replace("-----BEGIN RSA PRIVATE KEY-----", "").length === 0) { + throw new OperationError("Please enter a private key."); + } + try { + const privKey = forge.pki.decryptRsaPrivateKey(pemKey, password); + const dMsg = privKey.decrypt(input, scheme, {md: MD_ALGORITHMS[md].create()}); + return dMsg; + } catch (err) { + throw new OperationError(err); + } + } + +} + +export default RSADecrypt; From fad163e0eb009ce5159b1ea68ca649679ace29a4 Mon Sep 17 00:00:00 2001 From: Matt Date: Tue, 7 Apr 2020 21:16:29 +0100 Subject: [PATCH 052/754] Added tests (that can't be run) --- src/core/config/Categories.json | 3 + src/core/operations/RSADecrypt.mjs | 5 +- src/core/operations/RSAEncrypt.mjs | 8 +- tests/operations/index.mjs | 3 +- tests/operations/samples/Ciphers.mjs | 22 ++ tests/operations/tests/PGP.mjs | 25 +- tests/operations/tests/RSA.mjs | 350 +++++++++++++++++++++++++++ 7 files changed, 387 insertions(+), 29 deletions(-) create mode 100644 tests/operations/samples/Ciphers.mjs create mode 100644 tests/operations/tests/RSA.mjs diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 3b4d2c80..393a88a3 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -107,6 +107,9 @@ "Scrypt", "Generate RSA Key Pair", "RSA Sign", + "RSA Verify", + "RSA Encrypt", + "RSA Decrypt", "JWT Sign", "JWT Verify", "JWT Decode", diff --git a/src/core/operations/RSADecrypt.mjs b/src/core/operations/RSADecrypt.mjs index 0b0670e6..eb24aeab 100644 --- a/src/core/operations/RSADecrypt.mjs +++ b/src/core/operations/RSADecrypt.mjs @@ -6,6 +6,7 @@ import Operation from "../Operation.mjs"; import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; import forge from "node-forge/dist/forge.min.js"; import { MD_ALGORITHMS } from "../lib/RSA.mjs"; @@ -24,7 +25,7 @@ class RSADecrypt extends Operation { this.module = "Ciphers"; this.description = "Decrypt an RSA encrypted message with a PEM encoded private key."; this.infoURL = "https://wikipedia.org/wiki/RSA_(cryptosystem)"; - this.inputType = "string"; + this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = [ { @@ -74,7 +75,7 @@ class RSADecrypt extends Operation { } try { const privKey = forge.pki.decryptRsaPrivateKey(pemKey, password); - const dMsg = privKey.decrypt(input, scheme, {md: MD_ALGORITHMS[md].create()}); + const dMsg = privKey.decrypt(Utils.arrayBufferToStr(input), scheme, {md: MD_ALGORITHMS[md].create()}); return dMsg; } catch (err) { throw new OperationError(err); diff --git a/src/core/operations/RSAEncrypt.mjs b/src/core/operations/RSAEncrypt.mjs index b7d5026b..e788a668 100644 --- a/src/core/operations/RSAEncrypt.mjs +++ b/src/core/operations/RSAEncrypt.mjs @@ -6,6 +6,7 @@ import Operation from "../Operation.mjs"; import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; import forge from "node-forge/dist/forge.min.js"; import { MD_ALGORITHMS } from "../lib/RSA.mjs"; @@ -25,7 +26,7 @@ class RSAEncrypt extends Operation { this.description = "Encrypt a message with a PEM encoded RSA public key."; this.infoURL = "https://wikipedia.org/wiki/RSA_(cryptosystem)"; this.inputType = "string"; - this.outputType = "string"; + this.outputType = "ArrayBuffer"; this.args = [ { name: "RSA Public Key (PEM)", @@ -73,8 +74,11 @@ class RSAEncrypt extends Operation { const pubKey = forge.pki.publicKeyFromPem(pemKey); // Encrypt message const eMsg = pubKey.encrypt(input, scheme, {md: MD_ALGORITHMS[md].create()}); - return eMsg; + return Utils.strToArrayBuffer(eMsg); } catch (err) { + if (err.message === "RSAES-OAEP input message length is too long.") { + throw new OperationError(`RSAES-OAEP input message length (${err.length}) is longer than the maximum allowed length (${err.maxLength}).`); + } throw new OperationError(err); } } diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index 8d3cd623..18d12032 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -105,7 +105,8 @@ import "./tests/ParseObjectIDTimestamp.mjs"; // Cannot test operations that use the File type yet // import "./tests/SplitColourChannels.mjs"; - +// Cannot test as minified forge does not support node +// import "./tests/RSA.mjs"; const testStatus = { allTestsPassing: true, counts: { diff --git a/tests/operations/samples/Ciphers.mjs b/tests/operations/samples/Ciphers.mjs new file mode 100644 index 00000000..a1363d83 --- /dev/null +++ b/tests/operations/samples/Ciphers.mjs @@ -0,0 +1,22 @@ +export const ASCII_TEXT = "A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."; + +export const UTF8_TEXT = "Шанцы на высвятленне таго, што адбываецца на самай справе ў сусвеце настолькі выдаленыя, адзінае, што трэба зрабіць, гэта павесіць пачуццё яго і трымаць сябе занятымі."; + +export const ALL_BYTES = [ + "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", + "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", + "\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f", + "\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f", + "\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f", + "\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f", + "\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f", + "\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f", + "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f", + "\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f", + "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf", + "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf", + "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf", + "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf", + "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef", + "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", +].join(""); diff --git a/tests/operations/tests/PGP.mjs b/tests/operations/tests/PGP.mjs index 18e2e7ed..9748f937 100644 --- a/tests/operations/tests/PGP.mjs +++ b/tests/operations/tests/PGP.mjs @@ -6,30 +6,7 @@ * @license Apache-2.0 */ import TestRegister from "../../lib/TestRegister.mjs"; - -const ASCII_TEXT = "A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."; - -const UTF8_TEXT = "Шанцы на высвятленне таго, што адбываецца на самай справе ў сусвеце настолькі выдаленыя, адзінае, што трэба зрабіць, гэта павесіць пачуццё яго і трымаць сябе занятымі."; - -const ALL_BYTES = [ - "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", - "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", - "\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f", - "\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f", - "\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f", - "\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f", - "\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f", - "\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f", - "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f", - "\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f", - "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf", - "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf", - "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf", - "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf", - "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef", - "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", -].join(""); - +import {ASCII_TEXT, UTF8_TEXT, ALL_BYTES} from "../samples/Ciphers.mjs"; // RSA-1024 const ALICE_PRIVATE = `-----BEGIN PGP PRIVATE KEY BLOCK----- diff --git a/tests/operations/tests/RSA.mjs b/tests/operations/tests/RSA.mjs new file mode 100644 index 00000000..2ade5647 --- /dev/null +++ b/tests/operations/tests/RSA.mjs @@ -0,0 +1,350 @@ +/** + * RSA tests. + * + * @author Matt C [me@mitt.dev] + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; +import {ASCII_TEXT, UTF8_TEXT, ALL_BYTES} from "../samples/Ciphers.mjs"; + +const PEM_PRIV_2048 = `-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAwfaUOpUEutKyU3wkCv6kYunz4MqxzSuTSckRz1IxwZtwIiqq ++ejkM6ioXPyGadfFNvG0JVOgr1q4KQglq0vXaYG57HZ8iinXnHgy1vr8i+fWYITB +RMrEDySaQh3sxVj8NudPDoTIxZwUcIUu/N53pUmI08ADxXPA+ZymPyZhZyxrj5Jq +2O2QuRu+R7K44NDweP/rETbGo5+QAPydm6UqBzTky/ohv6EGhjyqnaskTWwLWK6P +dKva8rEMb8nNJvhoTJDLYUfNjB7DFnWxgWuR/KVkXGAHX99J/wh6QTS+bsyJ2/Mw +Df6NWdh3iP7msLNl/GqL+HunhHjrthvvWlODDwIDAQABAoIBAApKwLvJC3q0UmUO +qcTxlRxwiJHNf5jA7qxUIH9NP7mju1P8ypy/KFi7Ys+oUKOOIPdU5Pe0E8sqN6pp +tcH8oL4G9awf72TPapLxZ9UzdTIhR6VQdgbl8XhSO2M1vkoMejmZlX7SOesOaKE9 +1+vwDA43tCx0PF7+UOeN0d549WMphvw3VkSInO/MYpobCGra4YdrhYOhFMyLEGgA +zCyVUOxi538tyyFtK2EEQdcMtvVA6SECjF4xD/qrme0LelIj/L1Uhiu+SOzYt4y+ +QLHL6zhJVfOejWxjeI7BhodkTV2D53n4svfizRgyYEb6iLPW3nlMYIlAksYaxxB9 +nR3sMHECgYEA9RU+8J5A8RnBcwnlc2X1xEW2PN7+A1MeWPQwFqRwIokgvGbCtwjG +PwwNUYJCTBhfGhsISeCBOSYrDGTHsNH+tqFW2zlq61BolYl56jb1KgWzMOX8dak4 +sgXIuBbvyuFNk08VMIzwcA76ka/Iuu/nN9ZOM2UYpdpGG+CTOoIFULECgYEAyppm +I+yAtrUn/BFmwmC8va4vqXlBFjvdkfX/71ywCpHIouLucMV7bILJu0nSCpmL1A7R +DT6qo0p5g+Dxl/+O2VyC5D89PBvcuT1+HtEZGLOoKZnojbSrwDApGbzQi57GoQR6 +/SRjsdAmoelY8PFz2s2ZLJ4NkrZXYvkT1Tu8/78CgYEA4MAvC/HUlEWORbTZmk3y +Z5+WU5QbVWkv91tXjiwWOVWPk7aY8ck2JDMlM45ExgvDiuknXLhpSMNbzu3MwraQ +42JpiHjLOChxAFEmYEct5O99OGZwcmZQ+9CaFVfTZzXeMizfvbpB9EGIP3n4lpXS +cD4zUKZxSAc3K/FyksERpsECgYEAhQPXeVBltQ68oKaAE6/VWqcIjbiY/dLyBkk+ +7dSpk1bhJefdadaN0NERRtARgXoLrn7Hy21QNILJwsaldwiGrbgqC1Zlipg0Ur3H +ls3rLyeMiTuNzbNHa5dy9H3dYT0t5Tr+0EHa3jvtkTGVfiLX0FhZb0yZVrA2MTmc +RsvAqxsCgYAgXy4qytgfzo5/bBt306NbtMEW3dWBWF77HAz4N1LynKZRUrAAK4rz +BVmXFUaNQOg0q8WJG+iFF79u2UnL8iZ5GoPMcpvifsZgef1OHnQnFrfyXSr0fXIm +xq8eZS0DpLvKGffCW03B9VDRHanE37Tng8lbgOtaufuVzFa1bCuLUA== +-----END RSA PRIVATE KEY-----`; + +const PEM_PUB_2048 = `-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwfaUOpUEutKyU3wkCv6k +Yunz4MqxzSuTSckRz1IxwZtwIiqq+ejkM6ioXPyGadfFNvG0JVOgr1q4KQglq0vX +aYG57HZ8iinXnHgy1vr8i+fWYITBRMrEDySaQh3sxVj8NudPDoTIxZwUcIUu/N53 +pUmI08ADxXPA+ZymPyZhZyxrj5Jq2O2QuRu+R7K44NDweP/rETbGo5+QAPydm6Uq +BzTky/ohv6EGhjyqnaskTWwLWK6PdKva8rEMb8nNJvhoTJDLYUfNjB7DFnWxgWuR +/KVkXGAHX99J/wh6QTS+bsyJ2/MwDf6NWdh3iP7msLNl/GqL+HunhHjrthvvWlOD +DwIDAQAB +-----END PUBLIC KEY-----`; + +TestRegister.addTests([ + { + name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-1, nothing", + input: "", + expectedOutput: "", + recipeConfig: [ + { + "op": "RSA Encrypt", + "args": [PEM_PUB_2048, "RSA-OAEP", "SHA-1"] + }, + { + "op": "RSA Decrypt", + "args": [PEM_PRIV_2048, "", "RSA-OAEP", "SHA-1"] + } + ] + }, + { + name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-1, ASCII", + input: ASCII_TEXT, + expectedOutput: ASCII_TEXT, + recipeConfig: [ + { + "op": "RSA Encrypt", + "args": [PEM_PUB_2048, "RSA-OAEP", "SHA-1"] + }, + { + "op": "RSA Decrypt", + "args": [PEM_PRIV_2048, "", "RSA-OAEP", "SHA-1"] + } + ] + }, + { + name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-1, UTF-8", + input: UTF8_TEXT, + expectedOutput: UTF8_TEXT, + recipeConfig: [ + { + "op": "RSA Encrypt", + "args": [PEM_PUB_2048, "RSA-OAEP", "SHA-1"] + }, + { + "op": "RSA Decrypt", + "args": [PEM_PRIV_2048, "", "RSA-OAEP", "SHA-1"] + } + ] + }, + { + name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-1, All bytes", + input: ALL_BYTES, + expectedOutput: ALL_BYTES, + recipeConfig: [ + { + "op": "RSA Encrypt", + "args": [PEM_PUB_2048, "RSA-OAEP", "SHA-1"] + }, + { + "op": "RSA Decrypt", + "args": [PEM_PRIV_2048, "", "RSA-OAEP", "SHA-1"] + } + ] + }, + { + name: "RSA Encrypt/Decrypt: RSA-OAEP/MD5, nothing", + input: "", + expectedOutput: "", + recipeConfig: [ + { + "op": "RSA Encrypt", + "args": [PEM_PUB_2048, "RSA-OAEP", "MD5"] + }, + { + "op": "RSA Decrypt", + "args": [PEM_PRIV_2048, "", "RSA-OAEP", "MD5"] + } + ] + }, + { + name: "RSA Encrypt/Decrypt: RSA-OAEP/MD5, ASCII", + input: ASCII_TEXT, + expectedOutput: ASCII_TEXT, + recipeConfig: [ + { + "op": "RSA Encrypt", + "args": [PEM_PUB_2048, "RSA-OAEP", "MD5"] + }, + { + "op": "RSA Decrypt", + "args": [PEM_PRIV_2048, "", "RSA-OAEP", "MD5"] + } + ] + }, + { + name: "RSA Encrypt/Decrypt: RSA-OAEP/MD5, UTF-8", + input: UTF8_TEXT, + expectedOutput: UTF8_TEXT, + recipeConfig: [ + { + "op": "RSA Encrypt", + "args": [PEM_PUB_2048, "RSA-OAEP", "MD5"] + }, + { + "op": "RSA Decrypt", + "args": [PEM_PRIV_2048, "", "RSA-OAEP", "MD5"] + } + ] + }, + { + name: "RSA Encrypt/Decrypt: RSA-OAEP/MD5, All bytes", + input: ALL_BYTES, + expectedOutput: ALL_BYTES, + recipeConfig: [ + { + "op": "RSA Encrypt", + "args": [PEM_PUB_2048, "RSA-OAEP", "MD5"] + }, + { + "op": "RSA Decrypt", + "args": [PEM_PRIV_2048, "", "RSA-OAEP", "MD5"] + } + ] + }, + { + name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-256, nothing", + input: "", + expectedOutput: "", + recipeConfig: [ + { + "op": "RSA Encrypt", + "args": [PEM_PUB_2048, "RSA-OAEP", "SHA-256"] + }, + { + "op": "RSA Decrypt", + "args": [PEM_PRIV_2048, "", "RSA-OAEP", "SHA-256"] + } + ] + }, + { + name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-256, ASCII", + input: ASCII_TEXT, + expectedOutput: ASCII_TEXT, + recipeConfig: [ + { + "op": "RSA Encrypt", + "args": [PEM_PUB_2048, "RSA-OAEP", "SHA-256"] + }, + { + "op": "RSA Decrypt", + "args": [PEM_PRIV_2048, "", "RSA-OAEP", "SHA-256"] + } + ] + }, + { + name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-256, UTF-8", + input: UTF8_TEXT, + expectedOutput: UTF8_TEXT, + recipeConfig: [ + { + "op": "RSA Encrypt", + "args": [PEM_PUB_2048, "RSA-OAEP", "SHA-256"] + }, + { + "op": "RSA Decrypt", + "args": [PEM_PRIV_2048, "", "RSA-OAEP", "SHA-256"] + } + ] + }, + { + name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-256, All bytes", + input: ALL_BYTES, + expectedOutput: ALL_BYTES, + recipeConfig: [ + { + "op": "RSA Encrypt", + "args": [PEM_PUB_2048, "RSA-OAEP", "SHA-256"] + }, + { + "op": "RSA Decrypt", + "args": [PEM_PRIV_2048, "", "RSA-OAEP", "SHA-256"] + } + ] + }, + { + name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-384, nothing", + input: "", + expectedOutput: "", + recipeConfig: [ + { + "op": "RSA Encrypt", + "args": [PEM_PUB_2048, "RSA-OAEP", "SHA-384"] + }, + { + "op": "RSA Decrypt", + "args": [PEM_PRIV_2048, "", "RSA-OAEP", "SHA-384"] + } + ] + }, + { + name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-384, ASCII", + input: ASCII_TEXT, + expectedOutput: ASCII_TEXT, + recipeConfig: [ + { + "op": "RSA Encrypt", + "args": [PEM_PUB_2048, "RSA-OAEP", "SHA-384"] + }, + { + "op": "RSA Decrypt", + "args": [PEM_PRIV_2048, "", "RSA-OAEP", "SHA-384"] + } + ] + }, + { + name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-384, UTF-8", + input: UTF8_TEXT, + expectedOutput: UTF8_TEXT, + recipeConfig: [ + { + "op": "RSA Encrypt", + "args": [PEM_PUB_2048, "RSA-OAEP", "SHA-384"] + }, + { + "op": "RSA Decrypt", + "args": [PEM_PRIV_2048, "", "RSA-OAEP", "SHA-384"] + } + ] + }, + { + name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-384, All bytes", + input: ALL_BYTES, + expectedOutput: ALL_BYTES, + recipeConfig: [ + { + "op": "RSA Encrypt", + "args": [PEM_PUB_2048, "RSA-OAEP", "SHA-384"] + }, + { + "op": "RSA Decrypt", + "args": [PEM_PRIV_2048, "", "RSA-OAEP", "SHA-384"] + } + ] + }, + { + name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-512, nothing", + input: "", + expectedOutput: "", + recipeConfig: [ + { + "op": "RSA Encrypt", + "args": [PEM_PUB_2048, "RSA-OAEP", "SHA-512"] + }, + { + "op": "RSA Decrypt", + "args": [PEM_PRIV_2048, "", "RSA-OAEP", "SHA-512"] + } + ] + }, + { + name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-512, ASCII", + input: ASCII_TEXT, + expectedOutput: ASCII_TEXT, + recipeConfig: [ + { + "op": "RSA Encrypt", + "args": [PEM_PUB_2048, "RSA-OAEP", "SHA-512"] + }, + { + "op": "RSA Decrypt", + "args": [PEM_PRIV_2048, "", "RSA-OAEP", "SHA-512"] + } + ] + }, + { + name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-512, UTF-8", + input: UTF8_TEXT, + expectedOutput: UTF8_TEXT, + recipeConfig: [ + { + "op": "RSA Encrypt", + "args": [PEM_PUB_2048, "RSA-OAEP", "SHA-512"] + }, + { + "op": "RSA Decrypt", + "args": [PEM_PRIV_2048, "", "RSA-OAEP", "SHA-512"] + } + ] + }, + { + name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-512, All bytes", + input: ALL_BYTES, + expectedOutput: ALL_BYTES, + recipeConfig: [ + { + "op": "RSA Encrypt", + "args": [PEM_PUB_2048, "RSA-OAEP", "SHA-512"] + }, + { + "op": "RSA Decrypt", + "args": [PEM_PRIV_2048, "", "RSA-OAEP", "SHA-512"] + } + ] + }, +]); From 7f4b2574b0bb13f85aedd69697d8d0bddba6c3d8 Mon Sep 17 00:00:00 2001 From: Alexander Prinzhorn Date: Thu, 16 Apr 2020 09:59:43 +0200 Subject: [PATCH 053/754] Use proper booleans instead of relying on truthy/falsy values --- src/core/operations/Colossus.mjs | 33 ++++++++++++------- src/core/operations/ExtractDomains.mjs | 2 +- src/core/operations/ExtractFiles.mjs | 2 +- src/core/operations/FrequencyDistribution.mjs | 2 +- src/core/operations/Lorenz.mjs | 3 +- 5 files changed, 27 insertions(+), 15 deletions(-) diff --git a/src/core/operations/Colossus.mjs b/src/core/operations/Colossus.mjs index a80cbb23..8aa9cf07 100644 --- a/src/core/operations/Colossus.mjs +++ b/src/core/operations/Colossus.mjs @@ -125,7 +125,8 @@ class Colossus extends Operation { }, { name: "R1-Negate", - type: "boolean" + type: "boolean", + value: false }, { name: "R1-Counter", @@ -164,7 +165,8 @@ class Colossus extends Operation { }, { name: "R2-Negate", - type: "boolean" + type: "boolean", + value: false }, { name: "R2-Counter", @@ -203,7 +205,8 @@ class Colossus extends Operation { }, { name: "R3-Negate", - type: "boolean" + type: "boolean", + value: false }, { name: "R3-Counter", @@ -212,7 +215,8 @@ class Colossus extends Operation { }, { name: "Negate All", - type: "boolean" + type: "boolean", + value: false }, { name: "K Rack: Addition", @@ -220,23 +224,28 @@ class Colossus extends Operation { }, { name: "Add-Q1", - type: "boolean" + type: "boolean", + value: false }, { name: "Add-Q2", - type: "boolean" + type: "boolean", + value: false }, { name: "Add-Q3", - type: "boolean" + type: "boolean", + value: false }, { name: "Add-Q4", - type: "boolean" + type: "boolean", + value: false }, { name: "Add-Q5", - type: "boolean" + type: "boolean", + value: false }, { name: "Add-Equals", @@ -246,11 +255,13 @@ class Colossus extends Operation { }, { name: "Add-Counter1", - type: "boolean" + type: "boolean", + value: false }, { name: "Add Negate All", - type: "boolean" + type: "boolean", + value: false }, { name: "Total Motor", diff --git a/src/core/operations/ExtractDomains.mjs b/src/core/operations/ExtractDomains.mjs index cc65ff4b..ea9aa3af 100644 --- a/src/core/operations/ExtractDomains.mjs +++ b/src/core/operations/ExtractDomains.mjs @@ -27,7 +27,7 @@ class ExtractDomains extends Operation { { "name": "Display total", "type": "boolean", - "value": "Extract.DISPLAY_TOTAL" + "value": true } ]; } diff --git a/src/core/operations/ExtractFiles.mjs b/src/core/operations/ExtractFiles.mjs index dd146838..7512a4e7 100644 --- a/src/core/operations/ExtractFiles.mjs +++ b/src/core/operations/ExtractFiles.mjs @@ -38,7 +38,7 @@ class ExtractFiles extends Operation { { name: "Ignore failed extractions", type: "boolean", - value: "true" + value: true } ]); } diff --git a/src/core/operations/FrequencyDistribution.mjs b/src/core/operations/FrequencyDistribution.mjs index f0e1f592..685694cc 100644 --- a/src/core/operations/FrequencyDistribution.mjs +++ b/src/core/operations/FrequencyDistribution.mjs @@ -30,7 +30,7 @@ class FrequencyDistribution extends Operation { { "name": "Show 0%s", "type": "boolean", - "value": "Entropy.FREQ_ZEROS" + "value": true } ]; } diff --git a/src/core/operations/Lorenz.mjs b/src/core/operations/Lorenz.mjs index c15f993d..e723bbb5 100644 --- a/src/core/operations/Lorenz.mjs +++ b/src/core/operations/Lorenz.mjs @@ -60,7 +60,8 @@ class Lorenz extends Operation { }, { name: "KT-Schalter", - type: "boolean" + type: "boolean", + value: false }, { name: "Mode", From cb8fe42c665678488ebe9ccb29d44c278c6571ee Mon Sep 17 00:00:00 2001 From: Alexander Prinzhorn Date: Thu, 16 Apr 2020 10:20:38 +0200 Subject: [PATCH 054/754] Put Base64 after Base62 --- src/core/config/Categories.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 77e3d319..101178e8 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -18,15 +18,15 @@ "From Binary", "To Octal", "From Octal", - "To Base64", - "From Base64", - "Show Base64 offsets", "To Base32", "From Base32", "To Base58", "From Base58", "To Base62", "From Base62", + "To Base64", + "From Base64", + "Show Base64 offsets", "To Base85", "From Base85", "To Base", From 57c1a03c4f224eb3a6b3a05baeeedb7c1252b5ef Mon Sep 17 00:00:00 2001 From: n1073645 Date: Fri, 24 Apr 2020 14:04:13 +0100 Subject: [PATCH 055/754] Option structures added for hashing algorithms --- src/core/config/Categories.json | 1 + src/core/operations/HAS160.mjs | 12 +++++-- src/core/operations/MD2.mjs | 12 +++++-- src/core/operations/SHA0.mjs | 12 +++++-- src/core/operations/SHA1.mjs | 12 +++++-- src/core/operations/SHA2.mjs | 9 ++++-- src/core/operations/SM3.mjs | 56 +++++++++++++++++++++++++++++++++ 7 files changed, 100 insertions(+), 14 deletions(-) create mode 100644 src/core/operations/SM3.mjs diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 77e3d319..d8373c2f 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -313,6 +313,7 @@ "SHA1", "SHA2", "SHA3", + "SM3", "Keccak", "Shake", "RIPEMD", diff --git a/src/core/operations/HAS160.mjs b/src/core/operations/HAS160.mjs index aa1439ae..0ca62019 100644 --- a/src/core/operations/HAS160.mjs +++ b/src/core/operations/HAS160.mjs @@ -20,11 +20,17 @@ class HAS160 extends Operation { this.name = "HAS-160"; this.module = "Crypto"; - this.description = "HAS-160 is a cryptographic hash function designed for use with the Korean KCDSA digital signature algorithm. It is derived from SHA-1, with assorted changes intended to increase its security. It produces a 160-bit output.

HAS-160 is used in the same way as SHA-1. First it divides input in blocks of 512 bits each and pads the final block. A digest function updates the intermediate hash value by processing the input blocks in turn.

The message digest algorithm consists of 80 rounds."; + this.description = "HAS-160 is a cryptographic hash function designed for use with the Korean KCDSA digital signature algorithm. It is derived from SHA-1, with assorted changes intended to increase its security. It produces a 160-bit output.

HAS-160 is used in the same way as SHA-1. First it divides input in blocks of 512 bits each and pads the final block. A digest function updates the intermediate hash value by processing the input blocks in turn.

The message digest algorithm consists, by default, of 80 rounds."; this.infoURL = "https://wikipedia.org/wiki/HAS-160"; this.inputType = "ArrayBuffer"; this.outputType = "string"; - this.args = []; + this.args = [ + { + name: "Rounds", + type: "number", + value: 80 + } + ]; } /** @@ -33,7 +39,7 @@ class HAS160 extends Operation { * @returns {string} */ run(input, args) { - return runHash("has160", input); + return runHash("has160", input, {rounds: args[0]}); } } diff --git a/src/core/operations/MD2.mjs b/src/core/operations/MD2.mjs index ecfa699c..9fca4939 100644 --- a/src/core/operations/MD2.mjs +++ b/src/core/operations/MD2.mjs @@ -20,11 +20,17 @@ class MD2 extends Operation { this.name = "MD2"; this.module = "Crypto"; - this.description = "The MD2 (Message-Digest 2) algorithm is a cryptographic hash function developed by Ronald Rivest in 1989. The algorithm is optimized for 8-bit computers.

Although MD2 is no longer considered secure, even as of 2014, it remains in use in public key infrastructures as part of certificates generated with MD2 and RSA."; + this.description = "The MD2 (Message-Digest 2) algorithm is a cryptographic hash function developed by Ronald Rivest in 1989. The algorithm is optimized for 8-bit computers.

Although MD2 is no longer considered secure, even as of 2014, it remains in use in public key infrastructures as part of certificates generated with MD2 and RSA. The message digest algorithm consists, by default, of 18 rounds."; this.infoURL = "https://wikipedia.org/wiki/MD2_(cryptography)"; this.inputType = "ArrayBuffer"; this.outputType = "string"; - this.args = []; + this.args = [ + { + name: "Rounds", + type: "number", + value: 18 + } + ]; } /** @@ -33,7 +39,7 @@ class MD2 extends Operation { * @returns {string} */ run(input, args) { - return runHash("md2", input); + return runHash("md2", input, {rounds: args[0]}); } } diff --git a/src/core/operations/SHA0.mjs b/src/core/operations/SHA0.mjs index 93345eb2..34c4d1df 100644 --- a/src/core/operations/SHA0.mjs +++ b/src/core/operations/SHA0.mjs @@ -20,11 +20,17 @@ class SHA0 extends Operation { this.name = "SHA0"; this.module = "Crypto"; - this.description = "SHA-0 is a retronym applied to the original version of the 160-bit hash function published in 1993 under the name 'SHA'. It was withdrawn shortly after publication due to an undisclosed 'significant flaw' and replaced by the slightly revised version SHA-1."; + this.description = "SHA-0 is a retronym applied to the original version of the 160-bit hash function published in 1993 under the name 'SHA'. It was withdrawn shortly after publication due to an undisclosed 'significant flaw' and replaced by the slightly revised version SHA-1. The message digest algorithm consists, by default, of 80 rounds."; this.infoURL = "https://wikipedia.org/wiki/SHA-1#SHA-0"; this.inputType = "ArrayBuffer"; this.outputType = "string"; - this.args = []; + this.args = [ + { + name: "Rounds", + type: "number", + value: 80 + } + ]; } /** @@ -33,7 +39,7 @@ class SHA0 extends Operation { * @returns {string} */ run(input, args) { - return runHash("sha0", input); + return runHash("sha0", input, {rounds: args[0]}); } } diff --git a/src/core/operations/SHA1.mjs b/src/core/operations/SHA1.mjs index 41a0105a..ee744d56 100644 --- a/src/core/operations/SHA1.mjs +++ b/src/core/operations/SHA1.mjs @@ -20,11 +20,17 @@ class SHA1 extends Operation { this.name = "SHA1"; this.module = "Crypto"; - this.description = "The SHA (Secure Hash Algorithm) hash functions were designed by the NSA. SHA-1 is the most established of the existing SHA hash functions and it is used in a variety of security applications and protocols.

However, SHA-1's collision resistance has been weakening as new attacks are discovered or improved."; + this.description = "The SHA (Secure Hash Algorithm) hash functions were designed by the NSA. SHA-1 is the most established of the existing SHA hash functions and it is used in a variety of security applications and protocols.

However, SHA-1's collision resistance has been weakening as new attacks are discovered or improved. The message digest algorithm consists, by default, of 80 rounds."; this.infoURL = "https://wikipedia.org/wiki/SHA-1"; this.inputType = "ArrayBuffer"; this.outputType = "string"; - this.args = []; + this.args = [ + { + name: "Rounds", + type: "number", + value: 80 + } + ]; } /** @@ -33,7 +39,7 @@ class SHA1 extends Operation { * @returns {string} */ run(input, args) { - return runHash("sha1", input); + return runHash("sha1", input, {rounds: args[0]}); } } diff --git a/src/core/operations/SHA2.mjs b/src/core/operations/SHA2.mjs index c9599d24..3d015d26 100644 --- a/src/core/operations/SHA2.mjs +++ b/src/core/operations/SHA2.mjs @@ -20,7 +20,7 @@ class SHA2 extends Operation { this.name = "SHA2"; this.module = "Crypto"; - this.description = "The SHA-2 (Secure Hash Algorithm 2) hash functions were designed by the NSA. SHA-2 includes significant changes from its predecessor, SHA-1. The SHA-2 family consists of hash functions with digests (hash values) that are 224, 256, 384 or 512 bits: SHA224, SHA256, SHA384, SHA512.

  • SHA-512 operates on 64-bit words.
  • SHA-256 operates on 32-bit words.
  • SHA-384 is largely identical to SHA-512 but is truncated to 384 bytes.
  • SHA-224 is largely identical to SHA-256 but is truncated to 224 bytes.
  • SHA-512/224 and SHA-512/256 are truncated versions of SHA-512, but the initial values are generated using the method described in Federal Information Processing Standards (FIPS) PUB 180-4.
"; + this.description = "The SHA-2 (Secure Hash Algorithm 2) hash functions were designed by the NSA. SHA-2 includes significant changes from its predecessor, SHA-1. The SHA-2 family consists of hash functions with digests (hash values) that are 224, 256, 384 or 512 bits: SHA224, SHA256, SHA384, SHA512.

  • SHA-512 operates on 64-bit words.
  • SHA-256 operates on 32-bit words.
  • SHA-384 is largely identical to SHA-512 but is truncated to 384 bytes.
  • SHA-224 is largely identical to SHA-256 but is truncated to 224 bytes.
  • SHA-512/224 and SHA-512/256 are truncated versions of SHA-512, but the initial values are generated using the method described in Federal Information Processing Standards (FIPS) PUB 180-4.
The message digest algorithm consists, by default, of 64 rounds."; this.infoURL = "https://wikipedia.org/wiki/SHA-2"; this.inputType = "ArrayBuffer"; this.outputType = "string"; @@ -29,6 +29,11 @@ class SHA2 extends Operation { "name": "Size", "type": "option", "value": ["512", "256", "384", "224", "512/256", "512/224"] + }, + { + name: "Rounds", + type: "number", + value: 64 } ]; } @@ -40,7 +45,7 @@ class SHA2 extends Operation { */ run(input, args) { const size = args[0]; - return runHash("sha" + size, input); + return runHash("sha" + size, input, {rounds: args[1]}); } } diff --git a/src/core/operations/SM3.mjs b/src/core/operations/SM3.mjs new file mode 100644 index 00000000..c2c1fa5d --- /dev/null +++ b/src/core/operations/SM3.mjs @@ -0,0 +1,56 @@ +/** + * @author n1073645 [n1073645@gmail.com] + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import Sm3 from "crypto-api/src/hasher/sm3"; +import {toHex} from "crypto-api/src/encoder/hex"; + +/** + * SM3 operation + */ +class SM3 extends Operation { + + /** + * SM3 constructor + */ + constructor() { + super(); + + this.name = "SM3"; + this.module = "Crypto"; + this.description = "SM3 is a cryptographic hash function used in the Chinese National Standard. SM3 is mainly used in digital signatures, message authentication codes, and pseudorandom number generators. The message digest algorithm consists, by default, of 64 rounds and length of 256."; + this.infoURL = ""; + this.inputType = "ArrayBuffer"; + this.outputType = "string"; + this.args = [ + { + name: "Length", + type: "number", + value: 256 + }, + { + name: "Rounds", + type: "number", + value: 64 + } + ]; + } + + /** + * @param {ArrayBuffer} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const msg = Utils.arrayBufferToStr(input, false); + const hasher = new Sm3({length: args[0], rounds: args[1]}); + hasher.update(msg); + return toHex(hasher.finalize()); + } +} + +export default SM3; From fae96af17d04d7da519449597b03e1467c478db4 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Fri, 24 Apr 2020 14:13:55 +0100 Subject: [PATCH 056/754] Info for sm3 added --- src/core/operations/SM3.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/operations/SM3.mjs b/src/core/operations/SM3.mjs index c2c1fa5d..a489c9be 100644 --- a/src/core/operations/SM3.mjs +++ b/src/core/operations/SM3.mjs @@ -23,7 +23,7 @@ class SM3 extends Operation { this.name = "SM3"; this.module = "Crypto"; this.description = "SM3 is a cryptographic hash function used in the Chinese National Standard. SM3 is mainly used in digital signatures, message authentication codes, and pseudorandom number generators. The message digest algorithm consists, by default, of 64 rounds and length of 256."; - this.infoURL = ""; + this.infoURL = "https://wikipedia.org/wiki/SM3_(hash_function)"; this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = [ From 0182cdda69f7c877746084a75600d87b2cb34e19 Mon Sep 17 00:00:00 2001 From: Benedikt Werner <1benediktwerner@gmail.com> Date: Sat, 16 May 2020 00:42:02 +0200 Subject: [PATCH 057/754] Base85: Fix alphabetName --- src/core/lib/Base85.mjs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/core/lib/Base85.mjs b/src/core/lib/Base85.mjs index 8da729e2..e5778132 100644 --- a/src/core/lib/Base85.mjs +++ b/src/core/lib/Base85.mjs @@ -1,3 +1,5 @@ +import Utils from "../Utils.mjs"; + /** * Base85 resources. * @@ -32,13 +34,12 @@ export const ALPHABET_OPTIONS = [ * @returns {string} */ export function alphabetName(alphabet) { - alphabet = alphabet.replace("'", "'"); - alphabet = alphabet.replace("\"", """); - alphabet = alphabet.replace("\\", "\"); + alphabet = escape(alphabet); let name; ALPHABET_OPTIONS.forEach(function(a) { - if (escape(alphabet) === escape(a.value)) name = a.name; + const expanded = Utils.expandAlphRange(a.value).join(""); + if (alphabet === escape(expanded)) name = a.name; }); return name; From 103ecff6a7465b7a46a8f452885ec99d0e45ea26 Mon Sep 17 00:00:00 2001 From: Benedikt Werner <1benediktwerner@gmail.com> Date: Sat, 16 May 2020 00:42:31 +0200 Subject: [PATCH 058/754] Base85: Ignore whitespace --- src/core/operations/FromBase85.mjs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/core/operations/FromBase85.mjs b/src/core/operations/FromBase85.mjs index c874d5dc..c0d0328e 100644 --- a/src/core/operations/FromBase85.mjs +++ b/src/core/operations/FromBase85.mjs @@ -52,6 +52,8 @@ class FromBase85 extends Operation { if (input.length === 0) return []; + input = input.replace(/\s+/g, ""); + const matches = input.match(/<~(.+?)~>/); if (matches !== null) input = matches[1]; From 15dd9d4c93fa5bcfb1341ad8dccdb5671ae08d22 Mon Sep 17 00:00:00 2001 From: Benedikt Werner <1benediktwerner@gmail.com> Date: Sat, 16 May 2020 00:42:50 +0200 Subject: [PATCH 059/754] Add magic checks for base85 --- src/core/operations/FromBase85.mjs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/core/operations/FromBase85.mjs b/src/core/operations/FromBase85.mjs index c0d0328e..42f37a1c 100644 --- a/src/core/operations/FromBase85.mjs +++ b/src/core/operations/FromBase85.mjs @@ -33,6 +33,23 @@ class FromBase85 extends Operation { value: ALPHABET_OPTIONS }, ]; + this.checks = [ + { + pattern: "^\\s*(?:<~)?(?:(?:\\s*[!-u]){5}|\\s*z)+[!-u\\s]*(?:~>)?\\s*$", + flags: "i", + args: ["!-u"] + }, + { + pattern: "^(?:\\s*[0-9a-zA-Z.\\-:+=^!/*?&<>()[\\]{}@%$#])+\\s*$", + flags: "i", + args: ["0-9a-zA-Z.\\-:+=^!/*?&<>()[]{}@%$#"] + }, + { + pattern: "^(?:\\s*[0-9A-Za-z!#$%&()*+\\-;<=>?@^_`{|}~])+\\s*$", + flags: "i", + args: ["0-9A-Za-z!#$%&()*+\\-;<=>?@^_`{|}~"] + }, + ]; } /** From eab1be0e2c58c3d69f8b2c477e4102f601b611c7 Mon Sep 17 00:00:00 2001 From: Benedikt Werner <1benediktwerner@gmail.com> Date: Wed, 20 May 2020 00:23:50 +0200 Subject: [PATCH 060/754] Magic base85: Remove 'i' flag --- src/core/operations/FromBase85.mjs | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/core/operations/FromBase85.mjs b/src/core/operations/FromBase85.mjs index 42f37a1c..22033f99 100644 --- a/src/core/operations/FromBase85.mjs +++ b/src/core/operations/FromBase85.mjs @@ -36,17 +36,14 @@ class FromBase85 extends Operation { this.checks = [ { pattern: "^\\s*(?:<~)?(?:(?:\\s*[!-u]){5}|\\s*z)+[!-u\\s]*(?:~>)?\\s*$", - flags: "i", args: ["!-u"] }, { pattern: "^(?:\\s*[0-9a-zA-Z.\\-:+=^!/*?&<>()[\\]{}@%$#])+\\s*$", - flags: "i", args: ["0-9a-zA-Z.\\-:+=^!/*?&<>()[]{}@%$#"] }, { pattern: "^(?:\\s*[0-9A-Za-z!#$%&()*+\\-;<=>?@^_`{|}~])+\\s*$", - flags: "i", args: ["0-9A-Za-z!#$%&()*+\\-;<=>?@^_`{|}~"] }, ]; From 1294d764e258bb6caa739b6111bb6d79a61d394f Mon Sep 17 00:00:00 2001 From: Benedikt Werner <1benediktwerner@gmail.com> Date: Fri, 22 May 2020 03:30:15 +0200 Subject: [PATCH 061/754] Base85: Only remove start and end markers with standard/ascii85 encoding --- src/core/operations/FromBase85.mjs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/core/operations/FromBase85.mjs b/src/core/operations/FromBase85.mjs index 22033f99..09ded171 100644 --- a/src/core/operations/FromBase85.mjs +++ b/src/core/operations/FromBase85.mjs @@ -68,8 +68,10 @@ class FromBase85 extends Operation { input = input.replace(/\s+/g, ""); - const matches = input.match(/<~(.+?)~>/); - if (matches !== null) input = matches[1]; + if (encoding === "Standard") { + const matches = input.match(/<~(.+?)~>/); + if (matches !== null) input = matches[1]; + } let i = 0; let block, blockBytes; From ee408f7add6d633b9c42a6677f5bfa75055e9ca6 Mon Sep 17 00:00:00 2001 From: Benedikt Werner <1benediktwerner@gmail.com> Date: Fri, 22 May 2020 03:30:57 +0200 Subject: [PATCH 062/754] Base85: Update magic regexes to require 20 non-whitespace base85 chars --- src/core/operations/FromBase85.mjs | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/src/core/operations/FromBase85.mjs b/src/core/operations/FromBase85.mjs index 09ded171..9d73baa1 100644 --- a/src/core/operations/FromBase85.mjs +++ b/src/core/operations/FromBase85.mjs @@ -35,16 +35,31 @@ class FromBase85 extends Operation { ]; this.checks = [ { - pattern: "^\\s*(?:<~)?(?:(?:\\s*[!-u]){5}|\\s*z)+[!-u\\s]*(?:~>)?\\s*$", - args: ["!-u"] + pattern: + "^\\s*(?:<~)?" + // Optional whitespace and starting marker + "[\\s!-uz]*" + // Any amount of base85 characters and whitespace + "[!-uz]{20}" + // At least 20 continoues base85 characters without whitespace + "[\\s!-uz]*" + // Any amount of base85 characters and whitespace + "(?:~>)?\\s*$", // Optional ending marker and whitespace + args: ["!-u"], }, { - pattern: "^(?:\\s*[0-9a-zA-Z.\\-:+=^!/*?&<>()[\\]{}@%$#])+\\s*$", - args: ["0-9a-zA-Z.\\-:+=^!/*?&<>()[]{}@%$#"] + pattern: + "^" + + "[\\s0-9a-zA-Z.\\-:+=^!/*?&<>()[\\]{}@%$#]*" + + "[0-9a-zA-Z.\\-:+=^!/*?&<>()[\\]{}@%$#]{20}" + // At least 20 continoues base85 characters without whitespace + "[\\s0-9a-zA-Z.\\-:+=^!/*?&<>()[\\]{}@%$#]*" + + "$", + args: ["0-9a-zA-Z.\\-:+=^!/*?&<>()[]{}@%$#"], }, { - pattern: "^(?:\\s*[0-9A-Za-z!#$%&()*+\\-;<=>?@^_`{|}~])+\\s*$", - args: ["0-9A-Za-z!#$%&()*+\\-;<=>?@^_`{|}~"] + pattern: + "^" + + "[\\s0-9A-Za-z!#$%&()*+\\-;<=>?@^_`{|}~]*" + + "[0-9A-Za-z!#$%&()*+\\-;<=>?@^_`{|}~]{20}" + // At least 20 continoues base85 characters without whitespace + "[\\s0-9A-Za-z!#$%&()*+\\-;<=>?@^_`{|}~]*" + + "$", + args: ["0-9A-Za-z!#$%&()*+\\-;<=>?@^_`{|}~"], }, ]; } From 10751934e437f19efdbfa4b3f867eb219c4a74f3 Mon Sep 17 00:00:00 2001 From: d98762625 Date: Wed, 27 May 2020 12:28:59 +0100 Subject: [PATCH 063/754] add uname dependency and bump chromedriver --- package-lock.json | 4227 ++++++++++++++++++++++----------------------- package.json | 3 +- 2 files changed, 2022 insertions(+), 2208 deletions(-) diff --git a/package-lock.json b/package-lock.json index 83cb2b92..b4c6bbc1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,33 +14,34 @@ } }, "@babel/compat-data": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.8.6.tgz", - "integrity": "sha512-CurCIKPTkS25Mb8mz267vU95vy+TyUpnctEX2lV33xWNmHAfjruztgiPBbXZRh3xZZy1CYvGx6XfxyTVS+sk7Q==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.0.tgz", + "integrity": "sha512-H59nKm/7ATMfocMobbSk4PkeAerKqoxk+EYBT0kV5sol0e8GBpGNHseZNNYX0VOItKngIf6GgUpEOAlOLIUvDA==", "dev": true, "requires": { - "browserslist": "^4.8.5", + "browserslist": "^4.12.0", "invariant": "^2.2.4", "semver": "^5.5.0" } }, "@babel/core": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.7.tgz", - "integrity": "sha512-rBlqF3Yko9cynC5CCFy6+K/w2N+Sq/ff2BPy+Krp7rHlABIr5epbA7OxVeKoMHB39LZOp1UY5SuLjy6uWi35yA==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.0.tgz", + "integrity": "sha512-FGgV2XyPoVtYDvbFXlukEWt13Afka4mBRQ2CoTsHxpgVGO6XfgtT6eI+WyjQRGGTL90IDkIVmme8riFCLZ8lUw==", "dev": true, "requires": { "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.7", - "@babel/helpers": "^7.8.4", - "@babel/parser": "^7.8.7", - "@babel/template": "^7.8.6", - "@babel/traverse": "^7.8.6", - "@babel/types": "^7.8.7", + "@babel/generator": "^7.10.0", + "@babel/helper-module-transforms": "^7.9.0", + "@babel/helpers": "^7.10.0", + "@babel/parser": "^7.10.0", + "@babel/template": "^7.10.0", + "@babel/traverse": "^7.10.0", + "@babel/types": "^7.10.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.1", - "json5": "^2.1.0", + "json5": "^2.1.2", "lodash": "^4.17.13", "resolve": "^1.3.2", "semver": "^5.4.1", @@ -71,12 +72,12 @@ } }, "@babel/generator": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz", - "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.0.tgz", + "integrity": "sha512-ThoWCJHlgukbtCP79nAK4oLqZt5fVo70AHUni/y8Jotyg5rtJiG2FVl+iJjRNKIyl4hppqztLyAoEWcCvqyOFQ==", "dev": true, "requires": { - "@babel/types": "^7.8.7", + "@babel/types": "^7.10.0", "jsesc": "^2.5.1", "lodash": "^4.17.13", "source-map": "^0.5.0" @@ -109,30 +110,33 @@ "@babel/types": "^7.8.3" } }, - "@babel/helper-call-delegate": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.8.7.tgz", - "integrity": "sha512-doAA5LAKhsFCR0LAFIf+r2RSMmC+m8f/oQ+URnUET/rWeEzC0yTRmAGyWkD4sSu3xwbS7MYQ2u+xlt1V5R56KQ==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.8.3", - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.7" - } - }, "@babel/helper-compilation-targets": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.7.tgz", - "integrity": "sha512-4mWm8DCK2LugIS+p1yArqvG1Pf162upsIsjE7cNBjez+NjliQpVhj20obE520nao0o14DaTnFJv+Fw5a0JpoUw==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.0.tgz", + "integrity": "sha512-PW5Hlc1cQ8bLzY7YsLJP6PQ7GR6ZD8Av4JlP3DZk6QaZJvptsXNDn4Su64EjKAetLTJhVPDp8AEC+j2O6b/Gpg==", "dev": true, "requires": { - "@babel/compat-data": "^7.8.6", - "browserslist": "^4.9.1", + "@babel/compat-data": "^7.10.0", + "browserslist": "^4.12.0", "invariant": "^2.2.4", "levenary": "^1.1.1", "semver": "^5.5.0" } }, + "@babel/helper-create-class-features-plugin": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.0.tgz", + "integrity": "sha512-n4tPJaI0iuLRayriXTQ8brP3fMA/fNmxpxswfNuhe4qXQbcCWzeAqm6SeR/KExIOcdCvOh/KkPQVgBsjcb0oqA==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.9.5", + "@babel/helper-member-expression-to-functions": "^7.10.0", + "@babel/helper-optimise-call-expression": "^7.10.0", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-replace-supers": "^7.10.0", + "@babel/helper-split-export-declaration": "^7.8.3" + } + }, "@babel/helper-create-regexp-features-plugin": { "version": "7.8.8", "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz", @@ -166,14 +170,14 @@ } }, "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz", + "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==", "dev": true, "requires": { "@babel/helper-get-function-arity": "^7.8.3", "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/types": "^7.9.5" } }, "@babel/helper-get-function-arity": { @@ -195,12 +199,12 @@ } }, "@babel/helper-member-expression-to-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", - "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.0.tgz", + "integrity": "sha512-xKLTpbMkJcvwEsDaTfs9h0IlfUiBLPFfybxaPpPPsQDsZTRg+UKh+86oK7sctHF3OUiRQkb10oS9MXSqgyV6/g==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.10.0" } }, "@babel/helper-module-imports": { @@ -213,9 +217,9 @@ } }, "@babel/helper-module-transforms": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.6.tgz", - "integrity": "sha512-RDnGJSR5EFBJjG3deY0NiL0K9TO8SXxS9n/MPsbPK/s9LbQymuLNtlzvDiNS7IpecuL45cMeLVkA+HfmlrnkRg==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz", + "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.8.3", @@ -223,17 +227,17 @@ "@babel/helper-simple-access": "^7.8.3", "@babel/helper-split-export-declaration": "^7.8.3", "@babel/template": "^7.8.6", - "@babel/types": "^7.8.6", + "@babel/types": "^7.9.0", "lodash": "^4.17.13" } }, "@babel/helper-optimise-call-expression": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", - "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.0.tgz", + "integrity": "sha512-HgMd8QKA8wMJs5uK/DYKdyzJAEuGt1zyDp9wLMlMR6LitTQTHPUE+msC82ZsEDwq+U3/yHcIXIngRm9MS4IcIg==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.10.0" } }, "@babel/helper-plugin-utils": { @@ -265,15 +269,15 @@ } }, "@babel/helper-replace-supers": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", - "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.0.tgz", + "integrity": "sha512-erl4iVeiANf14JszXP7b69bSrz3e3+qW09pVvEmTWwzRQEOoyb1WFlYCA8d/VjVZGYW8+nGpLh7swf9CifH5wg==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.8.3", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/traverse": "^7.8.6", - "@babel/types": "^7.8.6" + "@babel/helper-member-expression-to-functions": "^7.10.0", + "@babel/helper-optimise-call-expression": "^7.10.0", + "@babel/traverse": "^7.10.0", + "@babel/types": "^7.10.0" } }, "@babel/helper-simple-access": { @@ -295,6 +299,12 @@ "@babel/types": "^7.8.3" } }, + "@babel/helper-validator-identifier": { + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", + "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", + "dev": true + }, "@babel/helper-wrap-function": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz", @@ -308,24 +318,24 @@ } }, "@babel/helpers": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz", - "integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.0.tgz", + "integrity": "sha512-lQtFJoDZAGf/t2PgR6Z59Q2MwjvOGGsxZ0BAlsrgyDhKuMbe63EfbQmVmcLfyTBj8J4UtiadQimcotvYVg/kVQ==", "dev": true, "requires": { - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.4", - "@babel/types": "^7.8.3" + "@babel/template": "^7.10.0", + "@babel/traverse": "^7.10.0", + "@babel/types": "^7.10.0" } }, "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", + "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", "dev": true, "requires": { + "@babel/helper-validator-identifier": "^7.9.0", "chalk": "^2.0.0", - "esutils": "^2.0.2", "js-tokens": "^4.0.0" }, "dependencies": { @@ -367,9 +377,9 @@ } }, "@babel/parser": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", - "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.0.tgz", + "integrity": "sha512-fnDUl1Uy2gThM4IFVW4ISNHqr3cJrCsRkSCasFgx0XDO9JcttDS5ytyBc4Cu4X1+fjoo3IVvFbRD6TeFlHJlEQ==", "dev": true }, "@babel/plugin-proposal-async-generator-functions": { @@ -383,6 +393,16 @@ "@babel/plugin-syntax-async-generators": "^7.8.0" } }, + "@babel/plugin-proposal-class-properties": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz", + "integrity": "sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, "@babel/plugin-proposal-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz", @@ -394,9 +414,9 @@ } }, "@babel/plugin-proposal-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz", - "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.0.tgz", + "integrity": "sha512-n4oQLAAXTFj0OusjIbr6bcvVQf8oH6QziwAK8QNtKhjJAg71+hnU2rZDZYkYMmfOZ46dCWf+ybbHJ7hxfrzFlw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3", @@ -413,14 +433,25 @@ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" } }, - "@babel/plugin-proposal-object-rest-spread": { + "@babel/plugin-proposal-numeric-separator": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-8qvuPwU/xxUCt78HocNlv0mXXo0wdh9VT1R04WU8HGOfaOob26pF+9P5/lYjN/q7DHOX1bvX60hnhOvuQUJdbA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz", + "integrity": "sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0" + "@babel/plugin-syntax-numeric-separator": "^7.8.3" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.0.tgz", + "integrity": "sha512-DOD+4TqMcRKJdAfN08+v9cciK5d0HW5hwTndOoKZEfEzU/mRrKboheD5mnWU4Q96VOnDdAj86kKjZhoQyG6s+A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.9.5" } }, "@babel/plugin-proposal-optional-catch-binding": { @@ -434,15 +465,25 @@ } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.8.3.tgz", - "integrity": "sha512-QIoIR9abkVn+seDE3OjA08jWcs3eZ9+wJCKSRgo3WdEU2csFYgdScb+8qHB3+WXsGJD55u+5hWCISI7ejXS+kg==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.0.tgz", + "integrity": "sha512-bn+9XT8Y6FJCO37ewj4E1gIirR35nDm+mGcqQV4dM3LKSVp3QTAU3f65Z0ld4y6jdfAlv2VKzCh4mezhRnl+6Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.0" } }, + "@babel/plugin-proposal-private-methods": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.8.3.tgz", + "integrity": "sha512-ysLAper960yy1TVXa2lMYdCQIGqtUXo8sVb+zYE7UTiZSLs6/wbZ0PrrXEKESJcK3SgFWrF8WpsaDzdslhuoZA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, "@babel/plugin-proposal-unicode-property-regex": { "version": "7.8.8", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz", @@ -462,6 +503,15 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-class-properties": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.8.3.tgz", + "integrity": "sha512-UcAyQWg2bAN647Q+O811tG9MrJ38Z10jjhQdKNAL8fsyPzE3cCN/uT+f55cFVY4aGO4jqJAvmqsuY3GQDwAoXg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, "@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", @@ -489,6 +539,15 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz", + "integrity": "sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, "@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", @@ -555,9 +614,9 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz", - "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.0.tgz", + "integrity": "sha512-AoMn0D3nLG9i71useuBrZZTnHbjnhcaTXCckUtOx3JPuhGGJdOUYMwOV9niPJ+nZCk52dfLLqbmV3pBMCRQLNw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3", @@ -565,14 +624,14 @@ } }, "@babel/plugin-transform-classes": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.6.tgz", - "integrity": "sha512-k9r8qRay/R6v5aWZkrEclEhKO6mc1CCQr2dLsVHBmOQiMpN6I2bpjX3vgnldUWeEI1GHVNByULVxZ4BdP4Hmdg==", + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz", + "integrity": "sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.8.3", "@babel/helper-define-map": "^7.8.3", - "@babel/helper-function-name": "^7.8.3", + "@babel/helper-function-name": "^7.9.5", "@babel/helper-optimise-call-expression": "^7.8.3", "@babel/helper-plugin-utils": "^7.8.3", "@babel/helper-replace-supers": "^7.8.6", @@ -598,9 +657,9 @@ } }, "@babel/plugin-transform-destructuring": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.8.tgz", - "integrity": "sha512-eRJu4Vs2rmttFCdhPUM3bV0Yo/xPSdPw6ML9KHs/bjB4bLA5HXlbvYXPOD5yASodGod+krjYx21xm1QmL8dCJQ==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.0.tgz", + "integrity": "sha512-yKoghHpYbC0eM+6o6arPUJT9BQBvOOn8iOCEHwFvkJ5gjAxYmoUaAuLwaoA9h2YvC6dzcRI0KPQOpRXr8qQTxQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3" @@ -636,9 +695,9 @@ } }, "@babel/plugin-transform-for-of": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.6.tgz", - "integrity": "sha512-M0pw4/1/KI5WAxPsdcUL/w2LJ7o89YHN3yLkzNjg7Yl15GlVGgzHyCU+FMeAxevHGsLVmUqbirlUIKTafPmzdw==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.0.tgz", + "integrity": "sha512-0ldl5xEe9kbuhB1cDqs17JiBPEm1+6/LH7loo29+MAJOyB/xbpLI/u6mRzDPjr0nYL7z0S14FPT4hs2gH8Im9Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3" @@ -673,47 +732,47 @@ } }, "@babel/plugin-transform-modules-amd": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.3.tgz", - "integrity": "sha512-MadJiU3rLKclzT5kBH4yxdry96odTUwuqrZM+GllFI/VhxfPz+k9MshJM+MwhfkCdxxclSbSBbUGciBngR+kEQ==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.6.tgz", + "integrity": "sha512-zoT0kgC3EixAyIAU+9vfaUVKTv9IxBDSabgHoUCBP6FqEJ+iNiN7ip7NBKcYqbfUDfuC2mFCbM7vbu4qJgOnDw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-module-transforms": "^7.9.0", "@babel/helper-plugin-utils": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.0" + "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz", - "integrity": "sha512-JpdMEfA15HZ/1gNuB9XEDlZM1h/gF/YOH7zaZzQu2xCFRfwc01NXBMHHSTT6hRjlXJJs5x/bfODM3LiCk94Sxg==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz", + "integrity": "sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-module-transforms": "^7.9.0", "@babel/helper-plugin-utils": "^7.8.3", "@babel/helper-simple-access": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.0" + "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz", - "integrity": "sha512-8cESMCJjmArMYqa9AO5YuMEkE4ds28tMpZcGZB/jl3n0ZzlsxOAi3mC+SKypTfT8gjMupCnd3YiXCkMjj2jfOg==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.0.tgz", + "integrity": "sha512-L/1xADoyJeb01fqKiHhl4ghAJOnFcHvx2JQA7bc8zdaDFDU4k62CJmXqDtNtJUNiOwlHZLWg1l7/Twf1aWARQw==", "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.8.3", - "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-module-transforms": "^7.9.0", "@babel/helper-plugin-utils": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.0" + "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz", - "integrity": "sha512-evhTyWhbwbI3/U6dZAnx/ePoV7H6OUG+OjiJFHmhr9FPn0VShjwC2kdxqIuQ/+1P50TMrneGzMeyMTFOjKSnAw==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz", + "integrity": "sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-module-transforms": "^7.9.0", "@babel/helper-plugin-utils": "^7.8.3" } }, @@ -746,12 +805,11 @@ } }, "@babel/plugin-transform-parameters": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.8.tgz", - "integrity": "sha512-hC4Ld/Ulpf1psQciWWwdnUspQoQco2bMzSrwU6TmzRlvoYQe4rQFy9vnCZDTlVeCQj0JPfL+1RX0V8hCJvkgBA==", + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz", + "integrity": "sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA==", "dev": true, "requires": { - "@babel/helper-call-delegate": "^7.8.7", "@babel/helper-get-function-arity": "^7.8.3", "@babel/helper-plugin-utils": "^7.8.3" } @@ -784,9 +842,9 @@ } }, "@babel/plugin-transform-runtime": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.8.3.tgz", - "integrity": "sha512-/vqUt5Yh+cgPZXXjmaG9NT8aVfThKk7G4OqkVhrXqwsC5soMn/qTCxs36rZ2QFhpfTJcjw4SNDIZ4RUb8OL4jQ==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.10.0.tgz", + "integrity": "sha512-SWIc5IJnoLHk9qVRvvpebUW5lafStcKlLcqELMiNOApVIxPbCtkQfLRMCdaEKw4X92JItFKdoBxv2udiyGwFtg==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.8.3", @@ -805,9 +863,9 @@ } }, "@babel/plugin-transform-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz", - "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.0.tgz", + "integrity": "sha512-P3Zj04ylqumJBjmjylNl05ZHRo4j4gFNG7P70loys0//q5BTe30E8xIj6PnqEWAfsPYu2sdIPcJeeQdclqlM6A==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3" @@ -842,6 +900,15 @@ "@babel/helper-plugin-utils": "^7.8.3" } }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.0.tgz", + "integrity": "sha512-6DwSPQzJ9kSRI1kNFfVAeYdeH7sUH0c1NOYSBGnpJ1ZUZ7mxPY1hxeAqzcrO5NKlOx7ghcy4nAbfFWTPx5IVEg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, "@babel/plugin-transform-unicode-regex": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz", @@ -869,27 +936,32 @@ } }, "@babel/preset-env": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.8.7.tgz", - "integrity": "sha512-BYftCVOdAYJk5ASsznKAUl53EMhfBbr8CJ1X+AJLfGPscQkwJFiaV/Wn9DPH/7fzm2v6iRYJKYHSqyynTGw0nw==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.10.0.tgz", + "integrity": "sha512-UOZNyiZRvIGvIudjCB8Y8OVkpAvlslec4qgwC73yEvx3Puz0c/xc28Yru36y5K+StOkPPM+VldTsmXPht5LpSg==", "dev": true, "requires": { - "@babel/compat-data": "^7.8.6", - "@babel/helper-compilation-targets": "^7.8.7", + "@babel/compat-data": "^7.10.0", + "@babel/helper-compilation-targets": "^7.10.0", "@babel/helper-module-imports": "^7.8.3", "@babel/helper-plugin-utils": "^7.8.3", "@babel/plugin-proposal-async-generator-functions": "^7.8.3", + "@babel/plugin-proposal-class-properties": "^7.8.3", "@babel/plugin-proposal-dynamic-import": "^7.8.3", - "@babel/plugin-proposal-json-strings": "^7.8.3", + "@babel/plugin-proposal-json-strings": "^7.10.0", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-proposal-object-rest-spread": "^7.8.3", + "@babel/plugin-proposal-numeric-separator": "^7.8.3", + "@babel/plugin-proposal-object-rest-spread": "^7.10.0", "@babel/plugin-proposal-optional-catch-binding": "^7.8.3", - "@babel/plugin-proposal-optional-chaining": "^7.8.3", + "@babel/plugin-proposal-optional-chaining": "^7.10.0", + "@babel/plugin-proposal-private-methods": "^7.8.3", "@babel/plugin-proposal-unicode-property-regex": "^7.8.3", "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.8.3", "@babel/plugin-syntax-dynamic-import": "^7.8.0", "@babel/plugin-syntax-json-strings": "^7.8.0", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.8.0", "@babel/plugin-syntax-object-rest-spread": "^7.8.0", "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", "@babel/plugin-syntax-optional-chaining": "^7.8.0", @@ -897,82 +969,97 @@ "@babel/plugin-transform-arrow-functions": "^7.8.3", "@babel/plugin-transform-async-to-generator": "^7.8.3", "@babel/plugin-transform-block-scoped-functions": "^7.8.3", - "@babel/plugin-transform-block-scoping": "^7.8.3", - "@babel/plugin-transform-classes": "^7.8.6", + "@babel/plugin-transform-block-scoping": "^7.10.0", + "@babel/plugin-transform-classes": "^7.9.5", "@babel/plugin-transform-computed-properties": "^7.8.3", - "@babel/plugin-transform-destructuring": "^7.8.3", + "@babel/plugin-transform-destructuring": "^7.10.0", "@babel/plugin-transform-dotall-regex": "^7.8.3", "@babel/plugin-transform-duplicate-keys": "^7.8.3", "@babel/plugin-transform-exponentiation-operator": "^7.8.3", - "@babel/plugin-transform-for-of": "^7.8.6", + "@babel/plugin-transform-for-of": "^7.10.0", "@babel/plugin-transform-function-name": "^7.8.3", "@babel/plugin-transform-literals": "^7.8.3", "@babel/plugin-transform-member-expression-literals": "^7.8.3", - "@babel/plugin-transform-modules-amd": "^7.8.3", - "@babel/plugin-transform-modules-commonjs": "^7.8.3", - "@babel/plugin-transform-modules-systemjs": "^7.8.3", - "@babel/plugin-transform-modules-umd": "^7.8.3", + "@babel/plugin-transform-modules-amd": "^7.9.6", + "@babel/plugin-transform-modules-commonjs": "^7.9.6", + "@babel/plugin-transform-modules-systemjs": "^7.10.0", + "@babel/plugin-transform-modules-umd": "^7.9.0", "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", "@babel/plugin-transform-new-target": "^7.8.3", "@babel/plugin-transform-object-super": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.8.7", + "@babel/plugin-transform-parameters": "^7.9.5", "@babel/plugin-transform-property-literals": "^7.8.3", "@babel/plugin-transform-regenerator": "^7.8.7", "@babel/plugin-transform-reserved-words": "^7.8.3", "@babel/plugin-transform-shorthand-properties": "^7.8.3", - "@babel/plugin-transform-spread": "^7.8.3", + "@babel/plugin-transform-spread": "^7.10.0", "@babel/plugin-transform-sticky-regex": "^7.8.3", "@babel/plugin-transform-template-literals": "^7.8.3", "@babel/plugin-transform-typeof-symbol": "^7.8.4", + "@babel/plugin-transform-unicode-escapes": "^7.10.0", "@babel/plugin-transform-unicode-regex": "^7.8.3", - "@babel/types": "^7.8.7", - "browserslist": "^4.8.5", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.10.0", + "browserslist": "^4.12.0", "core-js-compat": "^3.6.2", "invariant": "^2.2.2", "levenary": "^1.1.1", "semver": "^5.5.0" } }, + "@babel/preset-modules": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", + "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, "@babel/runtime": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.7.tgz", - "integrity": "sha512-+AATMUFppJDw6aiR5NVPHqIQBlV/Pj8wY/EZH+lmvRdUo9xBaz/rF3alAwFJQavvKfeOlPE7oaaDHVbcySbCsg==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.0.tgz", + "integrity": "sha512-tgYb3zVApHbLHYOPWtVwg25sBqHhfBXRKeKoTIyoheIxln1nA7oBl7SfHfiTG2GhDPI8EUBkOD/0wJCP/3HN4Q==", "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/runtime-corejs3": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.8.7.tgz", - "integrity": "sha512-sc7A+H4I8kTd7S61dgB9RomXu/C+F4IrRr4Ytze4dnfx7AXEpCrejSNpjx7vq6y/Bak9S6Kbk65a/WgMLtg43Q==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.10.0.tgz", + "integrity": "sha512-PB3yRdxniprLsntC6Rm7qIGDb368LWCTNicBXMcTHvrx8MjroYIWkWHng4b7Scbfmn0fDTxiRjiepzw5rDKTFQ==", "requires": { "core-js-pure": "^3.0.0", "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.0.tgz", + "integrity": "sha512-aMLEQn5tcG49LEWrsEwxiRTdaJmvLem3+JMCMSeCy2TILau0IDVyWdm/18ACx7XOCady64FLt6KkHy28tkDQHQ==", "dev": true, "requires": { "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" + "@babel/parser": "^7.10.0", + "@babel/types": "^7.10.0" } }, "@babel/traverse": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", - "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.0.tgz", + "integrity": "sha512-NZsFleMaLF1zX3NxbtXI/JCs2RPOdpGru6UBdGsfhdsDsP+kFF+h2QQJnMJglxk0kc69YmMFs4A44OJY0tKo5g==", "dev": true, "requires": { "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.6", - "@babel/helper-function-name": "^7.8.3", + "@babel/generator": "^7.10.0", + "@babel/helper-function-name": "^7.9.5", "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6", + "@babel/parser": "^7.10.0", + "@babel/types": "^7.10.0", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.13" @@ -1002,12 +1089,12 @@ } }, "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.0.tgz", + "integrity": "sha512-t41W8yWFyQFPOAAvPvjyRhejcLGnJTA3iRpFcDbEKwVJ3UnHQePFzLk8GagTsucJlImyNwrGikGsYURrWbQG8w==", "dev": true, "requires": { - "esutils": "^2.0.2", + "@babel/helper-validator-identifier": "^7.9.5", "lodash": "^4.17.13", "to-fast-properties": "^2.0.0" }, @@ -1021,281 +1108,325 @@ } }, "@jimp/bmp": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.9.5.tgz", - "integrity": "sha512-2cYdgXaNykuPe9sjm11Jihp5VomyWTWziIuDDB7xnxQtEz2HUR0bjXm2MJJOfU0TL52H+LS2JIKtAxcLPzp28w==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.9.8.tgz", + "integrity": "sha512-CZYQPEC3iUBMuaGWrtIG+GKNl93q/PkdudrCKJR/B96dfNngsmoosEm3LuFgJHEcJIfvnJkNqKw74l+zEiqCbg==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", "bmp-js": "^0.1.0", "core-js": "^3.4.1" } }, "@jimp/core": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.9.5.tgz", - "integrity": "sha512-P1mlB9UOeI3IAQ4lGTmRBGw+F/mHWXd3tSyBskjL4E3YJ1eNK7WRrErUj/vUOvSBIryotu7nGo8vv8Q8JZ7/8w==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.9.8.tgz", + "integrity": "sha512-N4GCjcXb0QwR5GBABDK2xQ3cKyaF7LlCYeJEG9mV7G/ynBoRqJe4JA6YKU9Ww9imGkci/4A594nQo8tUIqdcBw==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", "any-base": "^1.1.0", "buffer": "^5.2.0", "core-js": "^3.4.1", "exif-parser": "^0.1.12", "file-type": "^9.0.0", "load-bmfont": "^1.3.1", - "mkdirp": "0.5.1", + "mkdirp": "^0.5.1", "phin": "^2.9.1", "pixelmatch": "^4.0.2", "tinycolor2": "^1.4.1" } }, "@jimp/custom": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.9.5.tgz", - "integrity": "sha512-FaR7M0oxqbd7ujBL5ryyllS+mEuMKbKaDsdb8Cpu9SAo80DBiasUrYFFD/45/aRa95aM5o8t4C4Pna2bx8t3Tg==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.9.8.tgz", + "integrity": "sha512-1UpJjI7fhX02BWLJ/KEqPwkHH60eNkCNeD6hEd+IZdTwLXfZCfFiM5BVlpgiZYZJSsVoRiAL4ne2Q5mCiKPKyw==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/core": "^0.9.5", + "@jimp/core": "^0.9.8", "core-js": "^3.4.1" } }, "@jimp/gif": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.9.5.tgz", - "integrity": "sha512-QxjLl15nIz/QTeNgLFUJIOMLIceMO2B/xLUWF1/WqaP7Su6SGasRS6JY8OZ9QnqJLMWkodoEJmL6DxwtoOtqdg==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.9.8.tgz", + "integrity": "sha512-LEbfpcO1sBJIQCJHchZjNlyNxzPjZQQ4X32klpQHZJG58n9FvL7Uuh1rpkrJRbqv3cU3P0ENNtTrsBDxsYwcfA==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", "core-js": "^3.4.1", "omggif": "^1.0.9" } }, "@jimp/jpeg": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.9.5.tgz", - "integrity": "sha512-cBpXqmeegsLzf/mYk1WpYov2RH1W944re5P61/ag6AMWEMQ51BoBdgBy5JABZIELg2GQxpoG+g/KxUshRzeIAg==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.9.8.tgz", + "integrity": "sha512-5u29SUzbZ32ZMmOaz3gO0hXatwSCnsvEAXRCKZoPPgbsPoyFAiZKVxjfLzjkeQF6awkvJ8hZni5chM15SNMg+g==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", "core-js": "^3.4.1", "jpeg-js": "^0.3.4" } }, "@jimp/plugin-blit": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.9.5.tgz", - "integrity": "sha512-VmV99HeCPOyliY/uEGOaKO9EcqDxSBzKDGC7emNCLFzlbK4uty4/cYMKGKTBiZR9AS1rEd63LxrDtbHKR8CsqQ==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.9.8.tgz", + "integrity": "sha512-6xTDomxJybhBcby1IUVaPydZFhxf+V0DRgfDlVK81kR9kSCoshJpzWqDuWrMqjNEPspPE7jRQwHMs0FdU7mVwQ==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", "core-js": "^3.4.1" } }, "@jimp/plugin-blur": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.9.5.tgz", - "integrity": "sha512-FnAEhMW9ZK8D6qCLDeMAloi4h7TCch9ZWFdonj49gwllpvLksBpnL9PTft4dFXCwZgOAq2apYwW7cwTAIfAw4A==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.9.8.tgz", + "integrity": "sha512-dqbxuNFBRbmt35iIRacdgma7nlXklmPThsKcGWNTDmqb/hniK5IC+0xSPzBV4qMI2fLGP39LWHqqDZ0xDz14dA==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-circle": { + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.9.8.tgz", + "integrity": "sha512-+UStXUPCzPqzTixLC8eVqcFcEa6TS+BEM/6/hyM11TDb9sbiMGeUtgpwZP/euR5H5gfpAQDA1Ppzqhh5fuMDlw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.9.8", "core-js": "^3.4.1" } }, "@jimp/plugin-color": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.9.5.tgz", - "integrity": "sha512-2aFE0tRdhAKCCgh+tFLsLPOSgrk3ttl2TtTP5FAXeKmzlLj7FZ/JKj0waaGWZKdJ+uDxsVpX3EhuK3CfukIyrg==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.9.8.tgz", + "integrity": "sha512-SDHxOQsJHpt75hk6+sSlCPc2B3UJlXosFW+iLZ11xX1Qr0IdDtbfYlIoPmjKQFIDUNzqLSue/z7sKQ1OMZr/QA==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", "core-js": "^3.4.1", "tinycolor2": "^1.4.1" } }, "@jimp/plugin-contain": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.9.5.tgz", - "integrity": "sha512-zhaCJnUqd8hhD8IXxbRALU6ZzCWWbQDulc8Tn8Hxnub0si7dlq/DxBQT7og6kCxswBj2zPBtRAHONEwLdt7Nfw==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.9.8.tgz", + "integrity": "sha512-oK52CPt7efozuLYCML7qOmpFeDt3zpU8qq8UZlnjsDs15reU6L8EiUbwYpJvzoEnEOh1ZqamB8F/gymViEO5og==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", "core-js": "^3.4.1" } }, "@jimp/plugin-cover": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.9.5.tgz", - "integrity": "sha512-rG7vtx7vV9mHCFR4YP9GzGEsaop0IkMidP3UFPULbDcBdEEkehEG7a0h2X4w/Nt07J3k8wVoXYTjrb/CXpWkaw==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.9.8.tgz", + "integrity": "sha512-nnamtHzMrNd5j5HRSPd1VzpZ8v9YYtUJPtvCdHOOiIjqG72jxJ2kTBlsS3oG5XS64h/2MJwpl/fmmMs1Tj1CmQ==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", "core-js": "^3.4.1" } }, "@jimp/plugin-crop": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.9.5.tgz", - "integrity": "sha512-yoScC43YhYlswTKyL4fmawGwF73HyuIRpp1R3mXa6qbMA9mjX9QiqNdAIMB3UMHeBcIgkOD/Zy1f90/skBMpxg==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.9.8.tgz", + "integrity": "sha512-Nv/6AIp4aJmbSIH2uiIqm+kSoShKM8eaX2fyrUTj811kio0hwD3f/vIxrWebvAqwDZjAFIAmMufFoFCVg6caoQ==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", "core-js": "^3.4.1" } }, "@jimp/plugin-displace": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.9.5.tgz", - "integrity": "sha512-nwfB72qNP8kNyBnlaY0vgJys7RUjvI61Qp3AMMbKKaRSsthCx7aeKU9Cyv+AHMfcVkkt3NdTmh7ScE+hkNFUhA==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.9.8.tgz", + "integrity": "sha512-0OgPjkOVa2xdbqI8P6gBKX/UK36RbaYVrFyXL8Jy9oNF69+LYWyTskuCu9YbGxzlCVjY/JFqQOvrKDbxgMYAKA==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", "core-js": "^3.4.1" } }, "@jimp/plugin-dither": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.9.5.tgz", - "integrity": "sha512-Pp1ehm5Hon6LcttRG+d+x1UN1ww00P4cyBnMVRR3NMhIfgc0IjQgojik9ZXax3nVj7XkqXJJh8f5uxC1cvYUnA==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.9.8.tgz", + "integrity": "sha512-jGM/4ByniZJnmV2fv8hKwyyydXZe/YzvgBcnB8XxzCq8kVR3Imcn+qnd2PEPZzIPKOTH4Cig/zo9Vk9Bs+m5FQ==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-fisheye": { + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.9.8.tgz", + "integrity": "sha512-VnsalrD05f4pxG1msjnkwIFi5QveOqRm4y7VkoZKNX+iqs4TvRnH5+HpBnfdMzX/RXBi+Lf/kpTtuZgbOu/QWw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.9.8", "core-js": "^3.4.1" } }, "@jimp/plugin-flip": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.9.5.tgz", - "integrity": "sha512-rKbg8c9ePst3w2t1kxQt2H05/rUR5/pjjafhZ97s01pxH/SOJudy5d76nJGzRBYoaRnxpvDzpN+2+iA08wDY5Q==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.9.8.tgz", + "integrity": "sha512-XbiZ4OfHD6woc0f6Sk7XxB6a7IyMjTRQ4pNU7APjaNxsl3L6qZC8qfCQphWVe3DHx7f3y7jEiPMvNnqRDP1xgA==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", "core-js": "^3.4.1" } }, "@jimp/plugin-gaussian": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.9.5.tgz", - "integrity": "sha512-8HloHpVPgSsoWekslJ5uUPK2ddoLrGXQAVOyo3BT2pVgwbL317+r96NxPGKTxrY20fqex9SQrjx3kHeSWbysEA==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.9.8.tgz", + "integrity": "sha512-ZBl5RA6+4XAD+mtqLfiG7u+qd8W5yqq3RBNca8eFqUSVo1v+eB2tzeLel0CWfVC/z6cw93Awm/nVnm6/CL2Oew==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", "core-js": "^3.4.1" } }, "@jimp/plugin-invert": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.9.5.tgz", - "integrity": "sha512-tqfMqQqsU4ulaif0Kk/BydqmG5UbjT67dmMjwnDL7rke+ypJ8tzq7j9QeZ9SDFB+PxUQcy/kPEw/R2Ys7HHi8A==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.9.8.tgz", + "integrity": "sha512-ESploqCoF6qUv5IWhVLaO5fEcrYZEsAWPFflh6ROiD2mmFKQxfeK+vHnk3IDLHtUwWTkAZQNbk89BVq7xvaNpQ==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", "core-js": "^3.4.1" } }, "@jimp/plugin-mask": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.9.5.tgz", - "integrity": "sha512-lIOrKb/VT1laDIA1H1nPOdtOB4TVhMRlxanXoEP8uKdE6a2goqZHXbKLn9itkm0MxtsTlT9KIXwzGxjCV38B3w==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.9.8.tgz", + "integrity": "sha512-zSvEisTV4iGsBReitEdnQuGJq9/1xB5mPATadYZmIlp8r5HpD72HQb0WdEtb51/pu9Odt8KAxUf0ASg/PRVUiQ==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", "core-js": "^3.4.1" } }, "@jimp/plugin-normalize": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.9.5.tgz", - "integrity": "sha512-gayxgPLDp2gynu2IacvdCtqw0bdcC2feUqYOBjTtCpAwIz1KP2Qd6qKjV1dAVGiLO9ESW5maMa0vIBiBkYOovg==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.9.8.tgz", + "integrity": "sha512-dPFBfwTa67K1tRw1leCidQT25R3ozrTUUOpO4jcGFHqXvBTWaR8sML1qxdfOBWs164mE5YpfdTvu6MM/junvCg==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", "core-js": "^3.4.1" } }, "@jimp/plugin-print": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.9.5.tgz", - "integrity": "sha512-/BUSyCfvVhuFdf+rBdH1wbuY8r9J0qhn4Icy7HqO58By7I+V7q7jayoeiLk+zEBsAXpCUbWiZG3KWNtZhLWeQg==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.9.8.tgz", + "integrity": "sha512-nLLPv1/faehRsOjecXXUb6kzhRcZzImO55XuFZ0c90ZyoiHm4UFREwO5sKxHGvpLXS6RnkhvSav4+IWD2qGbEQ==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", "core-js": "^3.4.1", "load-bmfont": "^1.4.0" } }, "@jimp/plugin-resize": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.9.5.tgz", - "integrity": "sha512-vIMleLPbEv0qTE1Mnc7mg5HSFc4l4FxlbDniVUvpi8ZMFa8IkigcTeAgXUKacevNL7uZ66MrnpQ49J3tNE28dQ==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.9.8.tgz", + "integrity": "sha512-L80NZ+HKsiKFyeDc6AfneC4+5XACrdL2vnyAVfAAsb3pmamgT/jDInWvvGhyI0Y76vx2w6XikplzEznW/QQvWg==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", "core-js": "^3.4.1" } }, "@jimp/plugin-rotate": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.9.5.tgz", - "integrity": "sha512-BHlhwUruHNQkOpsfzTE2uuSfmkj5eiIDRSAC8whupUGGXNgS67tZJB6u0qDRIeSP/gWV5tGGwXQNMn3AahwR1Q==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.9.8.tgz", + "integrity": "sha512-bpqzQheISYnBXKyU1lIj46uR7mRs0UhgEREWK70HnvFJSlRshdcoNMIrKamyrJeFdJrkYPSfR/a6D0d5zsWf1Q==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", "core-js": "^3.4.1" } }, "@jimp/plugin-scale": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.9.5.tgz", - "integrity": "sha512-PDU8F77EPFTcLBVDcJtGUvPXA2acG4KqJMZauHwZLZxuiDEvt9qsDQm4aTKcN/ku8oWZjfGBSOamhx/QNUqV5Q==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.9.8.tgz", + "integrity": "sha512-QU3ZS4Lre8nN66U9dKCOC4FNfaOh/QJFYUmQPKpPS924oYbtnm4OlmsdfpK2hVMSVVyVOis8M+xpA1rDBnIp7w==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-shadow": { + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.9.8.tgz", + "integrity": "sha512-t/pE+QS3r1ZUxGIQNmwWDI3c5+/hLU+gxXD+C3EEC47/qk3gTBHpj/xDdGQBoObdT/HRjR048vC2BgBfzjj2hg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.9.8", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-threshold": { + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.9.8.tgz", + "integrity": "sha512-WWmC3lnIwOTPvkKu55w4DUY8Ehlzf3nU98bY0QtIzkqxkAOZU5m+lvgC/JxO5FyGiA57j9FLMIf0LsWkjARj7g==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.9.8", "core-js": "^3.4.1" } }, "@jimp/plugins": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.9.5.tgz", - "integrity": "sha512-3hvuXeRLj36ifpwE7I7g5Da9bKl/0y62t90ZN0hdQwhLBjRRF4u1e1JZpyu6EK98Bp+W/c8fJ2iuOsHadJOusg==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.9.8.tgz", + "integrity": "sha512-tD+cxS9SuEZaQ1hhAkNKw9TkUAqfoBAhdWPBrEZDr/GvGPrvJR4pYmmpSYhc5IZmMbXfQayHTTGqjj8D18bToA==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/plugin-blit": "^0.9.5", - "@jimp/plugin-blur": "^0.9.5", - "@jimp/plugin-color": "^0.9.5", - "@jimp/plugin-contain": "^0.9.5", - "@jimp/plugin-cover": "^0.9.5", - "@jimp/plugin-crop": "^0.9.5", - "@jimp/plugin-displace": "^0.9.5", - "@jimp/plugin-dither": "^0.9.5", - "@jimp/plugin-flip": "^0.9.5", - "@jimp/plugin-gaussian": "^0.9.5", - "@jimp/plugin-invert": "^0.9.5", - "@jimp/plugin-mask": "^0.9.5", - "@jimp/plugin-normalize": "^0.9.5", - "@jimp/plugin-print": "^0.9.5", - "@jimp/plugin-resize": "^0.9.5", - "@jimp/plugin-rotate": "^0.9.5", - "@jimp/plugin-scale": "^0.9.5", + "@jimp/plugin-blit": "^0.9.8", + "@jimp/plugin-blur": "^0.9.8", + "@jimp/plugin-circle": "^0.9.8", + "@jimp/plugin-color": "^0.9.8", + "@jimp/plugin-contain": "^0.9.8", + "@jimp/plugin-cover": "^0.9.8", + "@jimp/plugin-crop": "^0.9.8", + "@jimp/plugin-displace": "^0.9.8", + "@jimp/plugin-dither": "^0.9.8", + "@jimp/plugin-fisheye": "^0.9.8", + "@jimp/plugin-flip": "^0.9.8", + "@jimp/plugin-gaussian": "^0.9.8", + "@jimp/plugin-invert": "^0.9.8", + "@jimp/plugin-mask": "^0.9.8", + "@jimp/plugin-normalize": "^0.9.8", + "@jimp/plugin-print": "^0.9.8", + "@jimp/plugin-resize": "^0.9.8", + "@jimp/plugin-rotate": "^0.9.8", + "@jimp/plugin-scale": "^0.9.8", + "@jimp/plugin-shadow": "^0.9.8", + "@jimp/plugin-threshold": "^0.9.8", "core-js": "^3.4.1", "timm": "^1.6.1" } }, "@jimp/png": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.9.5.tgz", - "integrity": "sha512-0GPq/XixXcuWIA3gpMCUUj6rhxT78Hu9oDC9reaHUCcC/5cRTd5Eh7wLafZL8EfOZWV3mh2FZtWiY1xaNHHlBQ==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.9.8.tgz", + "integrity": "sha512-9CqR8d40zQCDhbnXHqcwkAMnvlV0vk9xSyE6LHjkYHS7x18Unsz5txQdsaEkEcXxCrOQSoWyITfLezlrWXRJAA==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.5", + "@jimp/utils": "^0.9.8", "core-js": "^3.4.1", "pngjs": "^3.3.3" } }, "@jimp/tiff": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.9.5.tgz", - "integrity": "sha512-EcRtiHsAQ9aygRRMWhGTVfitfHwllgt93GE1L8d/iwSlu3e3IIV38MDINdluQUQMU5jcFBcX6eyVVvsgCleGiQ==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.9.8.tgz", + "integrity": "sha512-eMxcpJivJqMByn2dZxUHLeh6qvVs5J/52kBF3TFa3C922OJ97D9l1C1h0WKUCBqFMWzMYapQQ4vwnLgpJ5tkow==", "requires": { "@babel/runtime": "^7.7.2", "core-js": "^3.4.1", @@ -1303,24 +1434,24 @@ } }, "@jimp/types": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.9.5.tgz", - "integrity": "sha512-62inaxx8zy24WMP+bsg6ZmgsL49oyoGUIGcjDKzvyAY/O6opD+UMNlArhl0xvCCdzriQxbljtSv/8uyHxz4Xbw==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.9.8.tgz", + "integrity": "sha512-H5y/uqt0lqJ/ZN8pWqFG+pv8jPAppMKkTMByuC8YBIjWSsornwv44hjiWl93sbYhduLZY8ubz/CbX9jH2X6EwA==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/bmp": "^0.9.5", - "@jimp/gif": "^0.9.5", - "@jimp/jpeg": "^0.9.5", - "@jimp/png": "^0.9.5", - "@jimp/tiff": "^0.9.5", + "@jimp/bmp": "^0.9.8", + "@jimp/gif": "^0.9.8", + "@jimp/jpeg": "^0.9.8", + "@jimp/png": "^0.9.8", + "@jimp/tiff": "^0.9.8", "core-js": "^3.4.1", "timm": "^1.6.1" } }, "@jimp/utils": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.9.5.tgz", - "integrity": "sha512-W9vse4/1AYmOjtIVACoBMdc/2te1zcPURhMYNEyiezCU7hWMdj/Z1mwiWFq3AYCgOG8GPVx0ZQzrgqUfUxfTHQ==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.9.8.tgz", + "integrity": "sha512-UK0Fu0eevQlpRXq5ff4o/71HJlpX9wJMddJjMYg9vUqCCl8ZnumRAljfShHFhGyO+Vc9IzN6dd8Y5JZZTp1KOw==", "requires": { "@babel/runtime": "^7.7.2", "core-js": "^3.4.1" @@ -1388,9 +1519,9 @@ "dev": true }, "@types/node": { - "version": "13.9.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.1.tgz", - "integrity": "sha512-E6M6N0blf/jiZx8Q3nb0vNaswQeEyn0XlupO+xN6DtJ6r6IT4nXrTry7zhIfYvFCl3/8Cu6WIysmUBKiqV0bqQ==", + "version": "14.0.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.5.tgz", + "integrity": "sha512-90hiq6/VqtQgX8Sp0EzeIsv3r+ellbGj4URKj5j30tLlZvRUpnAe9YbYnjl3pJM93GyXU0tghHhvXHq+5rnCKA==", "dev": true }, "@types/sax": { @@ -1402,179 +1533,188 @@ "@types/node": "*" } }, + "@types/yauzl": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz", + "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, "@webassemblyjs/ast": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", - "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "requires": { - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, "@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==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", "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==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", "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==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", "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==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", "dev": true, "requires": { - "@webassemblyjs/wast-printer": "1.8.5" + "@webassemblyjs/wast-printer": "1.9.0" } }, "@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==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", "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==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "mamacro": "^0.0.3" + "@webassemblyjs/ast": "1.9.0" } }, "@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==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "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==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "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/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" } }, "@webassemblyjs/ieee754": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", - "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "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==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "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==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", "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==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "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/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" } }, "@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==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "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/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, "@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==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "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/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" } }, "@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==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "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/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, "@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==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", "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", + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", "@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==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5", + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", "@xtuc/long": "4.2.2" } }, @@ -1673,17 +1813,17 @@ } }, "underscore": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.2.tgz", - "integrity": "sha512-D39qtimx0c1fI3ya1Lnhk3E9nONswSKhnffBI0gME9C99fYOkNi04xs8K6pePLhvl1frbDemkaBQ5ikWllR2HQ==", + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.10.2.tgz", + "integrity": "sha512-N4P+Q/BuyuEKFJ43B9gYuOj4TQUHXX+j2FqguVOpjkssLUUrnJofCcBccJSCoeturDoZU6GorDTHSvUDlSQbTg==", "dev": true } } }, "acorn": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz", - "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz", + "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==", "dev": true }, "acorn-globals": { @@ -1747,9 +1887,9 @@ } }, "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -1821,133 +1961,14 @@ "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" }, "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", "dev": true, + "optional": true, "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "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" - } - } - } - }, - "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" - } - } - } - }, - "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-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" - } - } - } - }, - "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" - } - }, - "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" - } - }, - "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" - } - } + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, "aproba": { @@ -2063,6 +2084,14 @@ "bn.js": "^4.0.0", "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "assert": { @@ -2093,9 +2122,9 @@ "dev": true }, "ast-types": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.2.tgz", - "integrity": "sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.3.tgz", + "integrity": "sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA==", "dev": true }, "astral-regex": { @@ -2141,18 +2170,18 @@ "dev": true }, "autoprefixer": { - "version": "9.7.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.4.tgz", - "integrity": "sha512-g0Ya30YrMBAEZk60lp+qfX5YQllG+S5W3GYCFvyHTvhOki0AEQJLPEcIuGRsqVwLi8FvXPVtwTGhfr38hVpm0g==", + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.0.tgz", + "integrity": "sha512-D96ZiIHXbDmU02dBaemyAg53ez+6F5yZmapmgKcjm35yEe1uVDYI8hGW3VYoGRaG290ZFf91YxHrR518vC0u/A==", "dev": true, "requires": { - "browserslist": "^4.8.3", - "caniuse-lite": "^1.0.30001020", + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001061", "chalk": "^2.4.2", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", - "postcss": "^7.0.26", - "postcss-value-parser": "^4.0.2" + "postcss": "^7.0.30", + "postcss-value-parser": "^4.1.0" }, "dependencies": { "ansi-styles": { @@ -2187,9 +2216,9 @@ } }, "avsc": { - "version": "5.4.19", - "resolved": "https://registry.npmjs.org/avsc/-/avsc-5.4.19.tgz", - "integrity": "sha512-6trk8URrKU0nT2+uhHqO+8k47DYE9oehGmONJsS2RYR8aW1ldVGr4iZfVherkxC/jq0rJp1oJx+DDlQoCpfEHw==" + "version": "5.4.21", + "resolved": "https://registry.npmjs.org/avsc/-/avsc-5.4.21.tgz", + "integrity": "sha512-Vr733yyksCfwwXVZ6WjgttDF1TLlUeYWBJDHpO61qeOo6GnaIaVRiJ64ZgpwXfFtbPv1fCuLFV0qz++QUFCZPw==" }, "aws-sign2": { "version": "0.7.0", @@ -2198,9 +2227,9 @@ "dev": true }, "aws4": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", - "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", + "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==", "dev": true }, "axios": { @@ -2237,15 +2266,16 @@ } }, "babel-loader": { - "version": "8.0.6", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", - "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", + "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", "dev": true, "requires": { - "find-cache-dir": "^2.0.0", - "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1", - "pify": "^4.0.1" + "find-cache-dir": "^2.1.0", + "loader-utils": "^1.4.0", + "mkdirp": "^0.5.3", + "pify": "^4.0.1", + "schema-utils": "^2.6.5" } }, "babel-messages": { @@ -2257,9 +2287,9 @@ } }, "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==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", "dev": true, "requires": { "object.assign": "^4.1.0" @@ -2474,10 +2504,11 @@ "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" }, "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", + "dev": true, + "optional": true }, "bindings": { "version": "1.5.0", @@ -2520,9 +2551,9 @@ "integrity": "sha512-7TvGbqbZb6lDzsBtNz1VkdXXV0BVmZKPPViPmo2IpvwaryF7P+QKYKACyVkwo2mZPr2CpFiz7EtgPEcc3o/JFQ==" }, "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", + "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==", "dev": true }, "body": { @@ -2561,6 +2592,12 @@ "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", "dev": true }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, "http-errors": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", @@ -2650,9 +2687,9 @@ } }, "bootstrap-material-design": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/bootstrap-material-design/-/bootstrap-material-design-4.1.2.tgz", - "integrity": "sha512-hKeUkOM6g2DqpktvEMHrIDpQ5qupV4DSeKlJSJ60tLFQ+8tPlszVCa3JVLTV+ZFbJRMb0UA6UWTsnjW57kYNeg==" + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/bootstrap-material-design/-/bootstrap-material-design-4.1.3.tgz", + "integrity": "sha512-jOB9io76BKLxwF+IAgObFH9f88ityqOiYsQe9Aa8m88h7sSP3eFL1K8ygb0FsYyIiVm194iodg9i4GMOSlLeRA==" }, "brace-expansion": { "version": "1.1.11", @@ -2737,21 +2774,44 @@ "requires": { "bn.js": "^4.1.0", "randombytes": "^2.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", + "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", "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" + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.2", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, "browserify-zlib": { @@ -2764,34 +2824,41 @@ } }, "browserslist": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.9.1.tgz", - "integrity": "sha512-Q0DnKq20End3raFulq6Vfp1ecB9fh8yUNV55s8sekaDDeqBaCtWlRHCUdaWyUeSSBJM7IbM6HcsyaeYqgeDhnw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", + "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001030", - "electron-to-chromium": "^1.3.363", - "node-releases": "^1.1.50" + "caniuse-lite": "^1.0.30001043", + "electron-to-chromium": "^1.3.413", + "node-releases": "^1.1.53", + "pkg-up": "^2.0.0" } }, "bson": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/bson/-/bson-4.0.3.tgz", - "integrity": "sha512-7uBjjxwOSuGLmoqGI1UXWpDGc0K2WjR7dC6iaOg4iriNZo6M2EEBb8co4dEPJ5ArYCebPMie0ecgX0TWF+ZUrQ==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/bson/-/bson-4.0.4.tgz", + "integrity": "sha512-Ioi3TD0/1V3aI8+hPfC56TetYmzfq2H07jJa9A1lKTxWsFtHtYdLMGMXjtGEg9v0f72NSM07diRQEUNYhLupIA==", "requires": { "buffer": "^5.1.0", "long": "^4.0.0" } }, "buffer": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", - "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", + "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", "requires": { "base64-js": "^1.0.2", "ieee754": "^1.1.4" } }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, "buffer-equal": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", @@ -2837,9 +2904,9 @@ "integrity": "sha1-sC2wB+83vrzCk4Skssb08PTHlsk=" }, "cacache": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", - "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "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", @@ -2954,9 +3021,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001035", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz", - "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==", + "version": "1.0.30001066", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001066.tgz", + "integrity": "sha512-Gfj/WAastBtfxLws0RCh2sDbTK/8rJuSeZMecrSkNGYxPcv7EzblmDGfWQCFEQcSqYE2BRgQiJh8HOD07N5hIw==", "dev": true }, "caseless": { @@ -3016,119 +3083,20 @@ } }, "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", + "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", "dev": true, + "optional": true, "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "dependencies": { - "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" - } - }, - "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" - } - }, - "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" - } - }, - "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" - } - } - } - }, - "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-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" - } - }, - "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-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" - } - } + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" } }, "chownr": { @@ -3147,23 +3115,23 @@ } }, "chromedriver": { - "version": "80.0.1", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-80.0.1.tgz", - "integrity": "sha512-VfRtZUpBUIjeypS+xM40+VD9g4Drv7L2VibG/4+0zX3mMx4KayN6gfKETycPfO6JwQXTLSxEr58fRcrsa8r5xQ==", + "version": "83.0.0", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-83.0.0.tgz", + "integrity": "sha512-AePp9ykma+z4aKPRqlbzvVlc22VsQ6+rgF+0aL3B5onHOncK18dWSkLrSSJMczP/mXILN9ohGsvpuTwoRSj6OQ==", "dev": true, "requires": { "@testim/chrome-version": "^1.0.7", "axios": "^0.19.2", "del": "^5.1.0", - "extract-zip": "^1.6.7", - "mkdirp": "^1.0.3", + "extract-zip": "^2.0.0", + "mkdirp": "^1.0.4", "tcp-port-used": "^1.0.1" }, "dependencies": { "mkdirp": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.3.tgz", - "integrity": "sha512-6uCP4Qc0sWsgMLy1EOqqS/3rjDHOEnsStVr/4vtAIK2Y5i2kA7lFFejYrpIyiN9w0pYf4ckeCYT9f1r1P9KX5g==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true } } @@ -3232,25 +3200,25 @@ } }, "cli-progress": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.6.0.tgz", - "integrity": "sha512-elg6jkiDedYrvwqWSae2FGvtbMo37Lo04oI9jJ5cI43Ge3jrDPWzeL3axv7MgBLYHDY/kGio/CXa49m4MWMrNw==", + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.8.2.tgz", + "integrity": "sha512-qRwBxLldMSfxB+YGFgNRaj5vyyHe1yMpVeDL79c+7puGujdKJHQHydgqXDcrkvQgJ5U/d3lpf6vffSoVVUftVQ==", "dev": true, "requires": { "colors": "^1.1.2", - "string-width": "^2.1.1" + "string-width": "^4.2.0" } }, "cli-spinners": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz", - "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.3.0.tgz", + "integrity": "sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==", "dev": true }, "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "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": { @@ -3258,7 +3226,6 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "dev": true, - "optional": true, "requires": { "string-width": "^3.1.0", "strip-ansi": "^5.2.0", @@ -3269,22 +3236,25 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "optional": true + "dev": true }, "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, - "optional": true + "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": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, - "optional": true, "requires": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", @@ -3296,7 +3266,6 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, - "optional": true, "requires": { "ansi-regex": "^4.1.0" } @@ -3670,6 +3639,21 @@ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", "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-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 + }, "path-type": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", @@ -3685,6 +3669,17 @@ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "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" + } + }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", @@ -3694,17 +3689,17 @@ } }, "core-js": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.4.tgz", - "integrity": "sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw==" + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" }, "core-js-compat": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.4.tgz", - "integrity": "sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA==", + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", + "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", "dev": true, "requires": { - "browserslist": "^4.8.3", + "browserslist": "^4.8.5", "semver": "7.0.0" }, "dependencies": { @@ -3717,9 +3712,9 @@ } }, "core-js-pure": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.4.tgz", - "integrity": "sha512-epIhRLkXdgv32xIUFaaAry2wdxZYBi6bgM7cB136dzzXXa+dFyRLTZeLUJxnd8ShrmyVXBub63n2NHo2JAt8Cw==" + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.5.tgz", + "integrity": "sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==" }, "core-util-is": { "version": "1.0.2", @@ -3775,6 +3770,14 @@ "requires": { "bn.js": "^4.1.0", "elliptic": "^6.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "create-hash": { @@ -3847,9 +3850,9 @@ "integrity": "sha512-bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg==" }, "css-loader": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.4.2.tgz", - "integrity": "sha512-jYq4zdZT0oS0Iykt+fqnzVLRIeiPWhka+7BqPn+oSIpWJAHak5tmB/WZrJ2a21JhCeFyNnnlroSl8c+MtVndzA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.5.3.tgz", + "integrity": "sha512-UEr9NH5Lmi7+dguAm+/JSPovNjYbm2k3TK58EiwQHzOHH5Jfq1Y+XoP2bQO6TMn7PptMd0opxxedAWcaSTRKHw==", "dev": true, "requires": { "camelcase": "^5.3.1", @@ -3857,24 +3860,21 @@ "icss-utils": "^4.1.1", "loader-utils": "^1.2.3", "normalize-path": "^3.0.0", - "postcss": "^7.0.23", + "postcss": "^7.0.27", "postcss-modules-extract-imports": "^2.0.0", "postcss-modules-local-by-default": "^3.0.2", - "postcss-modules-scope": "^2.1.1", + "postcss-modules-scope": "^2.2.0", "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.0.2", - "schema-utils": "^2.6.0" + "postcss-value-parser": "^4.0.3", + "schema-utils": "^2.6.6", + "semver": "^6.3.0" }, "dependencies": { - "schema-utils": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", - "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", - "dev": true, - "requires": { - "ajv": "^6.12.0", - "ajv-keywords": "^3.4.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 } } }, @@ -3944,9 +3944,9 @@ "dev": true }, "d3": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/d3/-/d3-5.15.0.tgz", - "integrity": "sha512-C+E80SL2nLLtmykZ6klwYj5rPqB5nlfN5LdWEAVdWPppqTD8taoJi2PxLZjPeYT8FFRR2yucXq+kBlOnnvZeLg==", + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-5.16.0.tgz", + "integrity": "sha512-4PL5hHaHwX4m7Zr1UapXW23apo6pexCgdetdJ5kTmADpG/7T9Gkxw0M0tf/pjoB63ezCCm0u5UaFYy2aMt0Mcw==", "requires": { "d3-array": "1", "d3-axis": "1", @@ -4018,9 +4018,9 @@ "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==" }, "d3-color": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.0.tgz", - "integrity": "sha512-TzNPeJy2+iEepfiL92LAAB7fvnp/dV2YwANPVHdDWmYMm23qIJBYww3qT8I8C1wXrmrg4UWs7BKc2tKIgyjzHg==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz", + "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==" }, "d3-contour": { "version": "1.3.2", @@ -4079,14 +4079,14 @@ } }, "d3-format": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.3.tgz", - "integrity": "sha512-mm/nE2Y9HgGyjP+rKIekeITVgBtX97o1nrvHCWX8F/yBYyevUTvu9vb5pUnKwrcSw7o7GuwMOWjS9gFDs4O+uQ==" + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.4.tgz", + "integrity": "sha512-TWks25e7t8/cqctxCmxpUuzZN11QxIA7YrMbram94zMQ0PXjE4LVIMe/f6a4+xxL8HQ3OsAFULOINQi1pE62Aw==" }, "d3-geo": { - "version": "1.11.9", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.11.9.tgz", - "integrity": "sha512-9edcH6J3s/Aa3KJITWqFJbyB/8q3mMlA9Fi7z6yy+FAYMnRaxmC7jBhUnsINxVWD14GmqX3DK8uk7nV6/Ekt4A==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.1.tgz", + "integrity": "sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==", "requires": { "d3-array": "1" } @@ -4439,9 +4439,9 @@ "dev": true }, "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true }, "des.js": { @@ -4480,6 +4480,14 @@ "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "dir-glob": { @@ -4553,9 +4561,9 @@ } }, "dom-walk": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", - "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" }, "domain-browser": { "version": "1.2.0", @@ -4652,9 +4660,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.378", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.378.tgz", - "integrity": "sha512-nBp/AfhaVIOnfwgL1CZxt80IcqWcyYXiX6v5gflAksxy+SzBVz7A7UWR1Nos92c9ofXW74V9PoapzRb0jJfYXw==", + "version": "1.3.453", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.453.tgz", + "integrity": "sha512-IQbCfjJR0NDDn/+vojTlq7fPSREcALtF8M1n01gw7nQghCtfFYrJ2dfhsp8APr8bANoFC8vRTFVXMOGpT0eetw==", "dev": true }, "elliptic": { @@ -4670,6 +4678,14 @@ "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0", "minimalistic-crypto-utils": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "emoji-regex": { @@ -4723,9 +4739,15 @@ } }, "entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", - "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.2.tgz", + "integrity": "sha512-dmD3AvJQBUjKpcNkoqr+x+IF0SdRtPz9Vk0uTy4yWqga9ibB6s4v++QFWNohjiUGoMlF552ZvNyXDxz5iW0qmw==" + }, + "envinfo": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.5.1.tgz", + "integrity": "sha512-hQBkDf2iO4Nv0CNHpCuSBeaSrveU6nThVxFGTrq/eDlV716UQk09zChaJae4mZRsos1x4YLY2TaH3LHUae3ZmQ==", + "dev": true }, "errno": { "version": "0.1.7", @@ -4755,9 +4777,9 @@ } }, "es-abstract": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", - "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", "requires": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", @@ -4808,9 +4830,9 @@ "integrity": "sha1-84kl8jyz4+jObNqP93T867sJDN4=" }, "es6-promisify": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.1.0.tgz", - "integrity": "sha512-jCsk2fpfEFusVv1MDkF4Uf0hAzIKNDMgR6LyOIw6a3jwkN1sCgWzuwgnsHY9YSQ8n8P31HoncvE0LC44cpWTrw==" + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.1.1.tgz", + "integrity": "sha512-HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg==" }, "escape-html": { "version": "1.0.3", @@ -5015,12 +5037,20 @@ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "esquery": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.1.0.tgz", - "integrity": "sha512-MxYW9xKmROWF672KqjO75sszsA8Mxhw06YFeS5VHlB98KDHbOSurm3ArsjO60Eaf3QmGMCP1yn+0JQkNLo/97Q==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz", + "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==", + "dev": true + } } }, "esrecurse": { @@ -5055,9 +5085,9 @@ "dev": true }, "eventemitter3": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", - "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", "dev": true }, "events": { @@ -5098,6 +5128,17 @@ "p-finally": "^1.0.0", "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" + }, + "dependencies": { + "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" + } + } } }, "exif-parser": { @@ -5207,6 +5248,12 @@ "vary": "~1.1.2" }, "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, "qs": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", @@ -5331,15 +5378,32 @@ } }, "extract-zip": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", - "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.0.tgz", + "integrity": "sha512-i42GQ498yibjdvIhivUsRslx608whtGoFIhF26Z7O4MYncBxp8CwalOs1lnHy21A9sIohWO2+uiE4SRtC9JXDg==", "dev": true, "requires": { - "concat-stream": "1.6.2", - "debug": "2.6.9", - "mkdirp": "0.5.1", - "yauzl": "2.4.1" + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.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 + } } }, "extsprintf": { @@ -5386,9 +5450,9 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "fastq": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.1.tgz", - "integrity": "sha512-mpIH5sKYueh3YyeJwqtVo8sORi0CgtmkVbK6kZStpQlZBYQuTzG2CZ7idSiJuA7bY0SFCWUc5WIs+oYumGCQNw==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", + "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -5404,18 +5468,18 @@ } }, "fd-slicer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", "dev": true, "requires": { "pend": "~1.2.0" } }, "figgy-pudding": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "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": { @@ -5456,16 +5520,6 @@ "emojis-list": "^3.0.0", "json5": "^2.1.2" } - }, - "schema-utils": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", - "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", - "dev": true, - "requires": { - "ajv": "^6.12.0", - "ajv-keywords": "^3.4.1" - } } } }, @@ -5533,12 +5587,12 @@ } }, "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "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": "^3.0.0" + "locate-path": "^2.0.0" } }, "findup-sync": { @@ -5598,9 +5652,9 @@ } }, "flatted": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", - "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", "dev": true }, "flush-write-stream": { @@ -5717,562 +5771,11 @@ "dev": true }, "fsevents": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", - "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1", - "node-pre-gyp": "*" - }, - "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.3", - "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": "3.2.6", - "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.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "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.6", - "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.3", - "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.4", - "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.9.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.14.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.4.2" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.7", - "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.1", - "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.7.1", - "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.1", - "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.13", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "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" - } - }, - "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.1.1", - "bundled": true, - "dev": true, - "optional": true - } - } + "optional": true }, "fstream": { "version": "1.0.12", @@ -6417,8 +5920,7 @@ "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, - "optional": true + "dev": true }, "get-stdin": { "version": "4.0.1", @@ -6427,9 +5929,9 @@ "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==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", "dev": true, "requires": { "pump": "^3.0.0" @@ -6485,9 +5987,9 @@ } }, "glob-parent": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", - "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -6535,9 +6037,9 @@ } }, "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==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", "dev": true }, "growl": { @@ -6598,10 +6100,20 @@ "resolve": "~1.1.0" } }, + "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" + } + }, "mkdirp": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.3.tgz", - "integrity": "sha512-6uCP4Qc0sWsgMLy1EOqqS/3rjDHOEnsStVr/4vtAIK2Y5i2kA7lFFejYrpIyiN9w0pYf4ckeCYT9f1r1P9KX5g==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true }, "resolve": { @@ -6932,9 +6444,9 @@ } }, "handle-thing": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", - "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", "dev": true }, "har-schema": { @@ -7045,13 +6557,27 @@ } }, "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, "hash.js": { @@ -7136,9 +6662,9 @@ } }, "html-entities": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", + "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==", "dev": true }, "html-minifier": { @@ -7230,9 +6756,9 @@ } }, "html_codesniffer": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/html_codesniffer/-/html_codesniffer-2.4.1.tgz", - "integrity": "sha512-7g4Z8+7agJFi7XJGu2r0onIqA7ig9b26vFEvUE6DgtFJlJzy1ELYEKzzd5Xwam4xjHiHQ/w8yHO7KTGNcXnwzg==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/html_codesniffer/-/html_codesniffer-2.5.1.tgz", + "integrity": "sha512-vcz0yAaX/OaV6sdNHuT9alBOKkSxYb8h5Yq26dUqgi7XmCgGUSa7U9PiY1PBXQFMjKv1wVPs5/QzHlGuxPDUGg==", "dev": true }, "htmlparser2": { @@ -7286,6 +6812,12 @@ "statuses": ">= 1.4.0 < 2" }, "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -7295,15 +6827,15 @@ } }, "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=", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz", + "integrity": "sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==", "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==", + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, "requires": { "eventemitter3": "^4.0.0", @@ -7557,9 +7089,9 @@ "dev": true }, "ignore": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", - "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.6.tgz", + "integrity": "sha512-cgXgkypZBcCnOgSihyeqbo6gjIaIyDqPQB7Ra4vhE9m6kigdGoQDMHjviFhRZo3IMlRy6yElosoviMs5YxZXUA==", "dev": true }, "import-cwd": { @@ -7738,23 +7270,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, "strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -7793,12 +7308,6 @@ "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", @@ -7861,12 +7370,13 @@ "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=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, + "optional": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "^2.0.0" } }, "is-buffer": { @@ -7880,15 +7390,6 @@ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" }, - "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-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -7969,15 +7470,15 @@ "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=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "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=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" }, "is-glob": { "version": "4.0.1", @@ -8056,12 +7557,6 @@ "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-regex": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", @@ -8149,14 +7644,14 @@ "dev": true }, "jimp": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.9.5.tgz", - "integrity": "sha512-gjrzz+lT4In7shmP4LV1o/dfL0btnh4W9F5jPCXA6Qw4uEAF8+8GDwAR69hbUQCZH7R5KoCtq81tpfzydoJtSQ==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.9.8.tgz", + "integrity": "sha512-DHN4apKMwLIvD/TKO9tFfPuankNuVK98vCwHm/Jv9z5cJnrd38xhi+4I7IAGmDU3jIDlrEVhzTkFH1Ymv5yTQQ==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/custom": "^0.9.5", - "@jimp/plugins": "^0.9.5", - "@jimp/types": "^0.9.5", + "@jimp/custom": "^0.9.8", + "@jimp/plugins": "^0.9.8", + "@jimp/types": "^0.9.8", "core-js": "^3.4.1", "regenerator-runtime": "^0.13.3" } @@ -8193,9 +7688,9 @@ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -8292,20 +7787,12 @@ "dev": true }, "json5": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.2.tgz", - "integrity": "sha512-MoUOQ4WdiN3yxhm7NEVJSJrieAo5hNSLQ5sj05OTRHPL9HOBy8u4Bu88jsC1jvqAdN+E1bJmsUcZH+1HQxliqQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", "dev": true, "requires": { "minimist": "^1.2.5" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - } } }, "jsonfile": { @@ -8371,9 +7858,9 @@ } }, "jsqr": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/jsqr/-/jsqr-1.2.0.tgz", - "integrity": "sha512-wKcQS9QC2VHGk7aphWCp1RrFyC0CM6fMgC5prZZ2KV/Lk6OKNoCod9IR6bao+yx3KPY0gZFC5dc+h+KFzCI0Wg==" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsqr/-/jsqr-1.3.1.tgz", + "integrity": "sha512-zCTP6Qd/WwjrpuHFkJuXc5opRdKprUr7eI7+JCCtcetThJt45qptu82MWQ+eET+FtDrMo7+BYjo3iD0XIq1L9Q==" }, "jsrsasign": { "version": "8.0.12", @@ -8434,13 +7921,6 @@ "purepack": "^1.0.5", "triplesec": "^4.0.3", "tweetnacl": "^0.13.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - } } }, "kew": { @@ -8488,15 +7968,6 @@ "graceful-fs": "^4.1.9" } }, - "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" - } - }, "left-pad": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", @@ -8612,22 +8083,16 @@ "requires": { "minimist": "^1.2.0" } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "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==", + "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": "^3.0.0", + "p-locate": "^2.0.0", "path-exists": "^3.0.0" } }, @@ -8840,9 +8305,9 @@ } }, "loglevel": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.7.tgz", - "integrity": "sha512-cY2eLFrQSAfVPhCgH1s7JI73tMbg9YC3v3+ZHVW67sBS7UxWzNEk/ZBbSfLykBWHp33dqqtOv82gjhKEi81T/A==" + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz", + "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==" }, "loglevel-message-prefix": { "version": "3.0.0", @@ -8901,21 +8366,6 @@ "semver": "^5.6.0" } }, - "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", @@ -8971,17 +8421,6 @@ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, - "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", @@ -9008,14 +8447,6 @@ "read-pkg-up": "^1.0.1", "redent": "^1.0.0", "trim-newlines": "^1.0.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - } } }, "merge-descriptors": { @@ -9054,6 +8485,14 @@ "requires": { "bn.js": "^4.0.0", "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "mime": { @@ -9062,18 +8501,18 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", "dev": true }, "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==", + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", "dev": true, "requires": { - "mime-db": "1.43.0" + "mime-db": "1.44.0" } }, "mimic-fn": { @@ -9100,6 +8539,19 @@ "normalize-url": "1.9.1", "schema-utils": "^1.0.0", "webpack-sources": "^1.1.0" + }, + "dependencies": { + "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" + } + } } }, "minimalistic-assert": { @@ -9124,9 +8576,9 @@ } }, "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "mississippi": { "version": "3.0.0", @@ -9168,11 +8620,11 @@ } }, "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "requires": { - "minimist": "0.0.8" + "minimist": "^1.2.5" } }, "mkpath": { @@ -9182,9 +8634,9 @@ "dev": true }, "mocha": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.2.tgz", - "integrity": "sha512-FgDS9Re79yU1xz5d+C4rv1G7QagNGHZ+iXF81hO8zY35YZZcLEsJVfFolfsqKFWunATEvNzMK0r/CwWd/szO9A==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.3.tgz", + "integrity": "sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==", "dev": true, "optional": true, "requires": { @@ -9200,7 +8652,7 @@ "js-yaml": "3.13.1", "log-symbols": "2.2.0", "minimatch": "3.0.4", - "mkdirp": "0.5.1", + "mkdirp": "0.5.4", "ms": "2.1.1", "node-environment-flags": "1.0.5", "object.assign": "4.1.0", @@ -9208,8 +8660,8 @@ "supports-color": "6.0.0", "which": "1.3.1", "wide-align": "1.1.3", - "yargs": "13.3.0", - "yargs-parser": "13.1.1", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", "yargs-unparser": "1.6.0" }, "dependencies": { @@ -9237,6 +8689,16 @@ "dev": true, "optional": 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, + "optional": true, + "requires": { + "locate-path": "^3.0.0" + } + }, "glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", @@ -9252,6 +8714,38 @@ "path-is-absolute": "^1.0.0" } }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "optional": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.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, + "optional": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "mkdirp": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", + "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", + "dev": true, + "optional": true, + "requires": { + "minimist": "^1.2.5" + } + }, "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", @@ -9259,6 +8753,33 @@ "dev": true, "optional": 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, + "optional": 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, + "optional": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "optional": true + }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -9279,14 +8800,14 @@ } }, "moment": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", - "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.26.0.tgz", + "integrity": "sha512-oIixUO+OamkUkwjhAVE18rAMfRJNsNe/Stid/gwHSOfHrOtw9EhAY2AHvdKZ/k/MggcYELFCJz/Sn2pL8b8JMw==" }, "moment-timezone": { - "version": "0.5.28", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.28.tgz", - "integrity": "sha512-TDJkZvAyKIVWg5EtVqRzU97w0Rb0YVbfpqyjgu6GwXCAohVRqwZjf4fOzDE6p1Ch98Sro/8hQQi65WDXW5STPw==", + "version": "0.5.31", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.31.tgz", + "integrity": "sha512-+GgHNg8xRhMXfEbv81iDtrVeTcWt0kWmTEY1XQK14dICTXnWJnT0dxdlPspwqF3keKMVPXwayEsk1DI0AA/jdA==", "requires": { "moment": ">= 2.9.0" } @@ -9300,16 +8821,16 @@ } }, "morgan": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", - "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", "dev": true, "requires": { - "basic-auth": "~2.0.0", + "basic-auth": "~2.0.1", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "~2.0.0", "on-finished": "~2.3.0", - "on-headers": "~1.0.1" + "on-headers": "~1.0.2" } }, "move-concurrently": { @@ -9365,9 +8886,9 @@ "dev": true }, "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", "dev": true }, "nanomatch": { @@ -9431,27 +8952,28 @@ "dev": true }, "nightwatch": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-1.3.4.tgz", - "integrity": "sha512-27zWPjmBsHu3IDKc6QTQdRKbTWx4WuTUXbCOT1Wa8Ovxbv+3TZ7GCd9Dt9wm14ElO9Db9/PKVk8JIWThkqGRZA==", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-1.3.5.tgz", + "integrity": "sha512-Wb1oLwIhF/44B4NcpDzjNnXu4YIs51AgfMYHsjUssg+n5qZLqty4Wg3uF7G4jT9g4S5IAEYw1D7/Yt+XFxdQtg==", "dev": true, "requires": { "assertion-error": "^1.1.0", "chai-nightwatch": "^0.4.0", + "ci-info": "^2.0.0", "dotenv": "7.0.0", - "ejs": "^2.5.9", - "is-ci": "^2.0.0", + "ejs": "^2.7.4", + "envinfo": "^7.5.1", "lodash.clone": "3.0.3", "lodash.defaultsdeep": "^4.6.1", "lodash.merge": "^4.6.2", "minimatch": "3.0.4", + "minimist": "^1.2.5", "mkpath": "1.0.0", "mocha": "^6.2.2", - "optimist": "^0.6.1", - "ora": "^4.0.2", + "ora": "^4.0.3", "proxy-agent": "^3.1.1", - "request": "^2.88.0", - "request-promise": "^4.2.4", + "request": "^2.88.2", + "request-promise": "^4.2.5", "semver": "^6.3.0" }, "dependencies": { @@ -9644,26 +9166,15 @@ "integrity": "sha1-9WH0WyszY1K4KXbFHMoRR9U5N/U=" }, "node-releases": { - "version": "1.1.52", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.52.tgz", - "integrity": "sha512-snSiT1UypkgGt2wxPqS6ImEUICbNCMb31yaxWrOLXjhlt2z2/IBpaOxzONExqSm4y5oLnAqjjRWu+wsDzK5yNQ==", - "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 - } - } + "version": "1.1.57", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.57.tgz", + "integrity": "sha512-ZQmnWS7adi61A9JsllJ2gdj2PauElcjnOwTp2O011iGzoakTxUsDGSe+6vD7wXbKdqhSFymC0OSx35aAMhrSdw==", + "dev": true }, "node-sass": { - "version": "4.13.1", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.1.tgz", - "integrity": "sha512-TTWFx+ZhyDx1Biiez2nB0L3YrCZ/8oHagaDalbuBSlqXgUPsdkUSzJsVxeDO9LtPB49+Fh3WQl3slABo6AotNw==", + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz", + "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==", "dev": true, "requires": { "async-foreach": "^0.1.3", @@ -9680,7 +9191,7 @@ "node-gyp": "^3.8.0", "npmlog": "^4.0.0", "request": "^2.88.0", - "sass-graph": "^2.2.4", + "sass-graph": "2.2.5", "stdout-stream": "^1.4.0", "true-case-path": "^1.0.2" }, @@ -9876,9 +9387,13 @@ "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" }, "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==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz", + "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } }, "object-keys": { "version": "1.1.1", @@ -9988,16 +9503,6 @@ "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" - } - }, "optionator": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", @@ -10012,9 +9517,9 @@ } }, "ora": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.3.tgz", - "integrity": "sha512-fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.4.tgz", + "integrity": "sha512-77iGeVU1cIdRhgFzCK8aw1fbtT1B/iZAvWjS+l/o1x0RShMgxHUZaD2yDpWsNCPwXg9z1ZA78Kbdvr8kBmG/Ww==", "dev": true, "requires": { "chalk": "^3.0.0", @@ -10176,15 +9681,6 @@ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "^1.0.0" - } - }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -10209,40 +9705,28 @@ "thirty-two": "^0.0.2" } }, - "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.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", + "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": "^2.0.0" + "p-try": "^1.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==", + "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": "^2.0.0" + "p-limit": "^1.1.0" } }, "p-map": { @@ -10264,9 +9748,9 @@ } }, "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==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, "pac-proxy-agent": { @@ -10300,6 +9784,12 @@ "ms": "^2.1.1" } }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, "http-errors": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", @@ -10565,6 +10055,20 @@ "request": "^2.81.0", "request-progress": "^2.0.1", "which": "^1.2.10" + }, + "dependencies": { + "extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "dev": true, + "requires": { + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" + } + } } }, "phin": { @@ -10573,9 +10077,9 @@ "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==" }, "picomatch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.1.tgz", - "integrity": "sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", "dev": true }, "pify": { @@ -10614,6 +10118,60 @@ "dev": true, "requires": { "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + } + } + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "dev": true, + "requires": { + "find-up": "^2.1.0" } }, "pkginfo": { @@ -10639,9 +10197,9 @@ "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==" }, "portfinder": { - "version": "1.0.25", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz", - "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==", + "version": "1.0.26", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.26.tgz", + "integrity": "sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ==", "dev": true, "requires": { "async": "^2.6.2", @@ -10703,9 +10261,9 @@ "dev": true }, "postcss": { - "version": "7.0.27", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.27.tgz", - "integrity": "sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==", + "version": "7.0.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.31.tgz", + "integrity": "sha512-a937VDHE1ftkjk+8/7nj/mrjtmkn69xxzJgRETXdAUU+IgOYPQNJF17haGWbeDxSyk++HA14UA98FurvPyBJOA==", "dev": true, "requires": { "chalk": "^2.4.2", @@ -10849,6 +10407,19 @@ "postcss": "^7.0.0", "postcss-load-config": "^2.0.0", "schema-utils": "^1.0.0" + }, + "dependencies": { + "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" + } + } } }, "postcss-modules-extract-imports": { @@ -10873,9 +10444,9 @@ } }, "postcss-modules-scope": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.1.tgz", - "integrity": "sha512-OXRUPecnHCg8b9xWvldG/jUpRIGPNRka0r4D4j0ESUU2/5IOnpsjfPPmDprM3Ih8CgZ8FXjWqaniK5v4rWt3oQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", + "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", "dev": true, "requires": { "postcss": "^7.0.6", @@ -10904,9 +10475,9 @@ } }, "postcss-value-parser": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.3.tgz", - "integrity": "sha512-N7h4pG+Nnu5BEIzyeaaIYWs0LI5XC40OrRh5L60z0QjFsqGWcHcbkBvpe1WYpcIS9yQ8sOi/vIPt1ejQCrMVrg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", "dev": true }, "prelude-ls": { @@ -11034,9 +10605,9 @@ "dev": true }, "psl": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz", - "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", "dev": true }, "public-encrypt": { @@ -11051,6 +10622,14 @@ "parse-asn1": "^5.0.0", "randombytes": "^2.0.1", "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "pump": { @@ -11191,12 +10770,6 @@ "strip-json-comments": "~2.0.1" }, "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -11316,125 +10889,13 @@ } }, "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", "dev": true, + "optional": true, "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "dependencies": { - "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" - } - } - } - }, - "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" - } - } - } - }, - "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-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" - } - } - } - }, - "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" - } - }, - "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" - } - } + "picomatch": "^2.2.1" } }, "redent": { @@ -11479,9 +10940,9 @@ "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" }, "regenerator-transform": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.3.tgz", - "integrity": "sha512-zXHNKJspmONxBViAb3ZUmFoFPnTBs3zFhCEZJiwp/gkNzxVbTqNJVjYKx6Qk1tQ1P4XLf4TbH9+KBB7wGoAaUw==", + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz", + "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==", "dev": true, "requires": { "@babel/runtime": "^7.8.4", @@ -11528,9 +10989,9 @@ } }, "regjsgen": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", - "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", "dev": true }, "regjsparser": { @@ -11675,8 +11136,7 @@ "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, - "optional": true + "dev": true }, "requires-port": { "version": "1.0.0", @@ -11685,9 +11145,9 @@ "dev": true }, "resolve": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", - "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -11775,13 +11235,10 @@ } }, "run-async": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz", - "integrity": "sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==", - "dev": true, - "requires": { - "is-promise": "^2.1.0" - } + "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-parallel": { "version": "1.1.9", @@ -11804,18 +11261,18 @@ "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" }, "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", + "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", "dev": true, "requires": { "tslib": "^1.9.0" } }, "safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "safe-json-parse": { "version": "1.0.1", @@ -11838,118 +11295,15 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass-graph": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", - "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", + "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", "dev": true, "requires": { "glob": "^7.0.0", "lodash": "^4.0.0", "scss-tokenizer": "^0.2.3", - "yargs": "^7.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "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 - }, - "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" - } - }, - "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 - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "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" - } - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, - "yargs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" - } - }, - "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", - "dev": true, - "requires": { - "camelcase": "^3.0.0" - } - } + "yargs": "^13.3.2" } }, "sass-loader": { @@ -11965,16 +11319,6 @@ "semver": "^6.3.0" }, "dependencies": { - "schema-utils": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", - "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", - "dev": true, - "requires": { - "ajv": "^6.12.0", - "ajv-keywords": "^3.4.1" - } - }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -11989,14 +11333,13 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "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==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.6.tgz", + "integrity": "sha512-wHutF/WPSbIi9x6ctjGGk2Hvl0VOz5l3EKEuKbjPlB30mKZUzb9A5k9yEXRX3pwyqVLPvpfZZEllaFq/M718hA==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "ajv": "^6.12.0", + "ajv-keywords": "^3.4.1" } }, "scryptsy": { @@ -12074,6 +11417,12 @@ "statuses": "~1.5.0" }, "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, "http-errors": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", @@ -12216,18 +11565,18 @@ "dev": true }, "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, "sitemap": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-6.1.0.tgz", - "integrity": "sha512-Q2D4qwPGvpdGhiJoxcmB631VkLtrwNWSKvA4gVedIZO5bXQgITU4Pir5Zij5qx4eeC6D8wnXQf9Jv09g0+NKoQ==", + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-6.1.5.tgz", + "integrity": "sha512-yml68gIx0iWmRqxTQhhV7/JcmsnxenH+Q1BDeZtVhvK1QeuZY5piU+c6dMS8vbcVme9k1D3CEIWzSjDKo0hZmQ==", "dev": true, "requires": { - "@types/node": "^13.9.1", + "@types/node": "^14.0.5", "@types/sax": "^1.2.1", "arg": "^4.1.3", "sax": "^1.2.4" @@ -12258,6 +11607,12 @@ "requires": { "color-convert": "^1.9.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 } } }, @@ -12392,13 +11747,25 @@ } }, "sockjs": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", - "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", + "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==", "dev": true, "requires": { "faye-websocket": "^0.10.0", - "uuid": "^3.0.1" + "uuid": "^3.4.0", + "websocket-driver": "0.6.5" + }, + "dependencies": { + "websocket-driver": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", + "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", + "dev": true, + "requires": { + "websocket-extensions": ">=0.1.1" + } + } } }, "sockjs-client": { @@ -12520,9 +11887,9 @@ } }, "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==", + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -12535,9 +11902,9 @@ "dev": true }, "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "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", @@ -12545,15 +11912,15 @@ } }, "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "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.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "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", @@ -12567,9 +11934,9 @@ "dev": true }, "spdy": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz", - "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", "dev": true, "requires": { "debug": "^4.1.0", @@ -12813,48 +12180,69 @@ "dev": true }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.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=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^5.0.0" } } } }, - "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==", + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", "requires": { "define-properties": "^1.1.3", - "function-bind": "^1.1.1" + "es-abstract": "^1.17.5" + } + }, + "string.prototype.trimleft": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", + "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimstart": "^1.0.0" } }, "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==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", + "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", "requires": { "define-properties": "^1.1.3", - "function-bind": "^1.1.1" + "es-abstract": "^1.17.5", + "string.prototype.trimend": "^1.0.0" + } + }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" } }, "string_decoder": { @@ -12907,29 +12295,30 @@ } }, "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==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz", + "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==", "dev": true }, "style-loader": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.1.3.tgz", - "integrity": "sha512-rlkH7X/22yuwFYK357fMN/BxYOorfnfq0eD7+vqlemSK4wEcejFF1dg4zxP0euBW8NrYx2WZzZ8PPFevr7D+Kw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.2.1.tgz", + "integrity": "sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg==", "dev": true, "requires": { - "loader-utils": "^1.2.3", - "schema-utils": "^2.6.4" + "loader-utils": "^2.0.0", + "schema-utils": "^2.6.6" }, "dependencies": { - "schema-utils": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", - "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", "dev": true, "requires": { - "ajv": "^6.12.0", - "ajv-keywords": "^3.4.1" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" } } } @@ -12940,9 +12329,9 @@ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, "svg-url-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/svg-url-loader/-/svg-url-loader-5.0.0.tgz", - "integrity": "sha512-KI7KRxYd1PuStyvSX4H/pB2i3PC1mMqP6reizU3TsieZJRW5TvWm4obmAzlWsI0SgvECK5oGYywDLxSMbat06w==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/svg-url-loader/-/svg-url-loader-5.0.1.tgz", + "integrity": "sha512-U6t6p6iwtG1P7RWcA8Bevud5fMCpmxAQfjHn7vqHFl00d+Geoj1N0kP1HhTJfVUoDtyLJysEMzrSJERnn0m81w==", "dev": true, "requires": { "file-loader": "~6.0.0", @@ -12992,6 +12381,12 @@ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "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": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -13059,9 +12454,9 @@ } }, "terser": { - "version": "4.3.9", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.9.tgz", - "integrity": "sha512-NFGMpHjlzmyOtPL+fDw3G7+6Ueh/sz4mkaUYa4lJCxOPTNzd0Uj0aZJOmsDYoSQyfuVoWDMSWTPU3huyOm2zdA==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.7.0.tgz", + "integrity": "sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw==", "requires": { "commander": "^2.20.0", "source-map": "~0.6.1", @@ -13090,12 +12485,25 @@ "terser": "^4.1.2", "webpack-sources": "^1.4.0", "worker-farm": "^1.7.0" + }, + "dependencies": { + "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" + } + } } }, "tesseract.js": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/tesseract.js/-/tesseract.js-2.0.2.tgz", - "integrity": "sha512-LeZmvmYDDErqBbVSzvGHAujZUQSmjYB0iZkmwvbc+QbA840rf+0CYkCMURIuE54zDrv0Qms+QINZokQr78FkBA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tesseract.js/-/tesseract.js-2.1.1.tgz", + "integrity": "sha512-utg0A8UzT1KwBvZf+UMGmM8LU6izeol6yIem0Z44+7Qqd/YWgRVQ99XOG18ApTOXX48lGE++PDwlcZYkv0ygRQ==", "requires": { "bmp-js": "^0.1.0", "file-type": "^12.4.1", @@ -13106,7 +12514,7 @@ "opencollective-postinstall": "^2.0.2", "regenerator-runtime": "^0.13.3", "resolve-url": "^0.2.1", - "tesseract.js-core": "^2.0.0", + "tesseract.js-core": "^2.2.0", "zlibjs": "^0.3.1" }, "dependencies": { @@ -13118,9 +12526,9 @@ } }, "tesseract.js-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tesseract.js-core/-/tesseract.js-core-2.0.0.tgz", - "integrity": "sha512-Oi+V/0iuDQarM9OaLRso6y8U0lPZy9dDaLBoSWNd9c5FSsvgL6OoIDRS+Pum/noAQw7Q3V8vetlf+SgQNRdorA==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tesseract.js-core/-/tesseract.js-core-2.2.0.tgz", + "integrity": "sha512-a8L+OJTbUipBsEDsJhDPlnLB0TY1MkTZqw5dqUwmiDSjUzwvU7HWLg/2+WDRulKUi4LE+7PnHlaBlW0k+V0U0w==" }, "text-table": { "version": "0.2.0", @@ -13350,9 +12758,9 @@ "dev": true }, "tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", "dev": true }, "tty-browserify": { @@ -13422,12 +12830,11 @@ "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" }, "uglify-js": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.8.0.tgz", - "integrity": "sha512-ugNSTT8ierCsDHso2jkBHXYrU8Y5/fY2ZUprfrJUiD7YpuFvV4jODLFmb3h4btQjqr5Nh4TX4XtgDfCU1WdioQ==", + "version": "3.9.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.9.4.tgz", + "integrity": "sha512-8RZBJq5smLOa7KslsNsVcSH+KOXf1uDU8yqLeNuVKwmT0T3FA0ZoXlinQfRad7SDcbZZRZE4ov+2v71EnxNyCA==", "requires": { - "commander": "~2.20.3", - "source-map": "~0.6.1" + "commander": "~2.20.3" }, "dependencies": { "commander": { @@ -13547,6 +12954,11 @@ } } }, + "unorm": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz", + "integrity": "sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==" + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -13639,9 +13051,9 @@ } }, "url-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.0.0.tgz", - "integrity": "sha512-sPsoBs8NkSJt9k/2zLUMDAf0rYaG00EtrFQpHRIphKrR6stGsO92LUJf/uUeQNKEoxqoJ4R4qDLqHl+AOEqolA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.0.tgz", + "integrity": "sha512-IzgAAIC8wRrg6NYkFIJY09vtktQcsvU8V6HhtQj9PTefbYImzLB1hufqo4m+RyM5N3mLx5BqJKccgxJS+W3kqw==", "dev": true, "requires": { "loader-utils": "^2.0.0", @@ -13659,16 +13071,6 @@ "emojis-list": "^3.0.0", "json5": "^2.1.2" } - }, - "schema-utils": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", - "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", - "dev": true, - "requires": { - "ajv": "^6.12.0", - "ajv-keywords": "^3.4.1" - } } } }, @@ -13849,14 +13251,252 @@ } }, "watchpack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", - "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz", + "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==", "dev": true, "requires": { - "chokidar": "^2.0.2", + "chokidar": "^3.4.0", "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.0" + } + }, + "watchpack-chokidar2": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", + "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", + "dev": true, + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "optional": 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, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "optional": 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, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true, + "optional": 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, + "optional": 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, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "optional": 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" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "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, + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } } }, "wbuf": { @@ -13884,16 +13524,16 @@ "dev": true }, "webpack": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.42.0.tgz", - "integrity": "sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w==", + "version": "4.43.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", + "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", "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", + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", "ajv": "^6.10.2", "ajv-keywords": "^3.4.1", "chrome-trace-event": "^1.0.2", @@ -13904,13 +13544,13 @@ "loader-utils": "^1.2.3", "memory-fs": "^0.4.1", "micromatch": "^3.1.10", - "mkdirp": "^0.5.1", + "mkdirp": "^0.5.3", "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", + "watchpack": "^1.6.1", "webpack-sources": "^1.4.1" }, "dependencies": { @@ -14029,6 +13669,17 @@ "to-regex": "^3.0.2" } }, + "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" + } + }, "to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", @@ -14042,9 +13693,9 @@ } }, "webpack-bundle-analyzer": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.6.1.tgz", - "integrity": "sha512-Nfd8HDwfSx1xBwC+P8QMGvHAOITxNBSvu/J/mCJvOwv+G4VWkU7zir9SSenTtyCi0LnVtmsc7G5SZo1uV+bxRw==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.8.0.tgz", + "integrity": "sha512-PODQhAYVEourCcOuU+NiYI7WdR8QyELZGgPvB1y2tjbUpbmcQOt5Q7jEK+ttd5se0KSBKD9SXHCEozS++Wllmw==", "dev": true, "requires": { "acorn": "^7.1.1", @@ -14128,17 +13779,17 @@ }, "dependencies": { "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.5.tgz", + "integrity": "sha512-3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w==", "dev": true } } }, "webpack-dev-server": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.10.3.tgz", - "integrity": "sha512-e4nWev8YzEVNdOMcNzNeCN947sWJNd43E5XvsJzbAL08kGc2frm1tQ32hTJslRS+H65LCb/AaUCYU7fjHCpDeQ==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", + "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==", "dev": true, "requires": { "ansi-html": "0.0.7", @@ -14149,38 +13800,53 @@ "debug": "^4.1.1", "del": "^4.1.1", "express": "^4.17.1", - "html-entities": "^1.2.1", + "html-entities": "^1.3.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", + "loglevel": "^1.6.8", "opn": "^5.5.0", "p-retry": "^3.0.1", - "portfinder": "^1.0.25", + "portfinder": "^1.0.26", "schema-utils": "^1.0.0", "selfsigned": "^1.10.7", "semver": "^6.3.0", "serve-index": "^1.9.1", - "sockjs": "0.3.19", + "sockjs": "0.3.20", "sockjs-client": "1.4.0", - "spdy": "^4.0.1", + "spdy": "^4.0.2", "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" + "yargs": "^13.3.2" }, "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 + "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" + } + } + } }, "array-union": { "version": "1.0.2", @@ -14191,28 +13857,61 @@ "array-uniq": "^1.0.1" } }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "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": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "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": { - "ansi-regex": "^3.0.0" + "is-extendable": "^0.1.0" } } } }, + "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" + } + }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -14237,11 +13936,60 @@ "rimraf": "^2.6.3" } }, - "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 + "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" + } + } + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "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" + } + } + } }, "globby": { "version": "6.1.0", @@ -14264,28 +14012,60 @@ } } }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "is-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=", + "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": { - "number-is-nan": "^1.0.0" + "binary-extensions": "^1.0.0" } }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "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-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "invert-kv": "^2.0.0" + "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" + } + } + } + }, + "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" } }, "ms": { @@ -14294,28 +14074,22 @@ "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" - } - }, "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 }, - "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 + "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" + } }, "rimraf": { "version": "2.7.1", @@ -14326,6 +14100,17 @@ "glob": "^7.1.3" } }, + "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" + } + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -14341,27 +14126,14 @@ "has-flag": "^3.0.0" } }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "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": { - "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" - } - } + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, "ws": { @@ -14372,36 +14144,6 @@ "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" - } } } }, @@ -14432,12 +14174,12 @@ } }, "websocket-driver": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", - "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dev": true, "requires": { - "http-parser-js": ">=0.4.0 <0.4.11", + "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } @@ -14531,6 +14273,39 @@ "dev": true, "requires": { "string-width": "^1.0.2 || 2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } } }, "winston": { @@ -14573,12 +14348,6 @@ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - }, "worker-farm": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", @@ -14615,7 +14384,6 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dev": true, - "optional": true, "requires": { "ansi-styles": "^3.2.0", "string-width": "^3.0.0", @@ -14626,15 +14394,13 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "optional": true + "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, - "optional": true, "requires": { "color-convert": "^1.9.0" } @@ -14643,15 +14409,19 @@ "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true, - "optional": true + "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": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, - "optional": true, "requires": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", @@ -14663,7 +14433,6 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, - "optional": true, "requires": { "ansi-regex": "^4.1.0" } @@ -14766,11 +14535,10 @@ "dev": true }, "yargs": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", - "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", "dev": true, - "optional": true, "requires": { "cliui": "^5.0.0", "find-up": "^3.0.0", @@ -14781,29 +14549,75 @@ "string-width": "^3.0.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^13.1.1" + "yargs-parser": "^13.1.2" }, "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, - "optional": true + "dev": true }, "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 + }, + "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, - "optional": true + "requires": { + "locate-path": "^3.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 + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true }, "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, - "optional": true, "requires": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", @@ -14815,7 +14629,6 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, - "optional": true, "requires": { "ansi-regex": "^4.1.0" } @@ -14823,11 +14636,10 @@ } }, "yargs-parser": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", - "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", "dev": true, - "optional": true, "requires": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" @@ -14846,12 +14658,13 @@ } }, "yauzl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", - "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", "dev": true, "requires": { - "fd-slicer": "~1.0.1" + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" } }, "zlibjs": { diff --git a/package.json b/package.json index 44a96f5f..d75b2122 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "babel-eslint": "^10.1.0", "babel-loader": "^8.0.6", "babel-plugin-dynamic-import-node": "^2.3.0", - "chromedriver": "^80.0.1", + "chromedriver": "^83.0.0", "cli-progress": "^3.6.0", "colors": "^1.4.0", "copy-webpack-plugin": "^5.1.1", @@ -148,6 +148,7 @@ "terser": "^4.3.9", "tesseract.js": "^2.0.2", "ua-parser-js": "^0.7.21", + "unorm": "^1.6.0", "utf8": "^3.0.0", "vkbeautify": "^0.99.3", "xmldom": "^0.3.0", From 5c352053151a02f23e0a5d0d6fe4f788a3f78fcc Mon Sep 17 00:00:00 2001 From: d98762625 Date: Wed, 27 May 2020 13:35:20 +0100 Subject: [PATCH 064/754] 9.20.4 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index b4c6bbc1..0368b5f2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.20.3", + "version": "9.20.4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index d75b2122..9d82c4f1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.20.3", + "version": "9.20.4", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 5ce3cc17bbe33cbc42542898bb3629fb419bea82 Mon Sep 17 00:00:00 2001 From: Matt Date: Fri, 27 Mar 2020 13:12:08 +0000 Subject: [PATCH 065/754] Fixed tesseract issue --- .../OpticalCharacterRecognition.mjs | 26 ++++++++++++------- .../vendor/tesseract/tesseract-core.wasm.js | 24 ----------------- src/core/vendor/tesseract/worker.min.js | 17 ------------ webpack.config.js | 8 ++++++ 4 files changed, 25 insertions(+), 50 deletions(-) delete mode 100644 src/core/vendor/tesseract/tesseract-core.wasm.js delete mode 100644 src/core/vendor/tesseract/worker.min.js diff --git a/src/core/operations/OpticalCharacterRecognition.mjs b/src/core/operations/OpticalCharacterRecognition.mjs index 1c26e55f..6a3c3f10 100644 --- a/src/core/operations/OpticalCharacterRecognition.mjs +++ b/src/core/operations/OpticalCharacterRecognition.mjs @@ -1,6 +1,7 @@ /** * @author n1474335 [n1474335@gmail.com] * @author mshwed [m@ttshwed.com] + * @author Matt C [me@mitt.dev] * @copyright Crown Copyright 2019 * @license Apache-2.0 */ @@ -12,7 +13,7 @@ import { toBase64 } from "../lib/Base64.mjs"; import { isWorkerEnvironment } from "../Utils.mjs"; import Tesseract from "tesseract.js"; -const { TesseractWorker } = Tesseract; +const { createWorker } = Tesseract; import process from "process"; @@ -60,23 +61,30 @@ class OpticalCharacterRecognition extends Operation { const assetDir = isWorkerEnvironment() ? `${self.docURL}/assets/` : `${process.cwd()}/src/core/vendor/`; try { + self.sendStatusMessage("Spinning up Tesseract worker..."); const image = `data:${type};base64,${toBase64(input)}`; - const worker = new TesseractWorker({ + const worker = createWorker({ workerPath: `${assetDir}tesseract/worker.min.js`, langPath: `${assetDir}tesseract/lang-data`, corePath: `${assetDir}tesseract/tesseract-core.wasm.js`, - }); - const result = await worker.recognize(image) - .progress(progress => { + logger: progress => { if (isWorkerEnvironment()) { - self.sendStatusMessage(`Status: ${progress.status} - ${(parseFloat(progress.progress)*100).toFixed(2)}%`); + self.sendStatusMessage(`Status: ${progress.status}${progress.status === "recognizing text" ? ` - ${(parseFloat(progress.progress)*100).toFixed(2)}%`: "" }`); } - }); + } + }); + await worker.load(); + self.sendStatusMessage("Loading English language..."); + await worker.loadLanguage("eng"); + self.sendStatusMessage("Intialising Tesseract API..."); + await worker.initialize("eng"); + self.sendStatusMessage("Finding text..."); + const result = await worker.recognize(image); if (showConfidence) { - return `Confidence: ${result.confidence}%\n\n${result.text}`; + return `Confidence: ${result.data.confidence}%\n\n${result.data.text}`; } else { - return result.text; + return result.data.text; } } catch (err) { throw new OperationError(`Error performing OCR on image. (${err})`); diff --git a/src/core/vendor/tesseract/tesseract-core.wasm.js b/src/core/vendor/tesseract/tesseract-core.wasm.js deleted file mode 100644 index bc1b7978..00000000 --- a/src/core/vendor/tesseract/tesseract-core.wasm.js +++ /dev/null @@ -1,24 +0,0 @@ - -var TesseractCoreWASM = (function() { - var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; - return ( -function(TesseractCoreWASM) { - TesseractCoreWASM = TesseractCoreWASM || {}; - -var Module=typeof TesseractCoreWASM!=="undefined"?TesseractCoreWASM:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",abort);Module["quit"]=(function(status){process["exit"](status)});Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=(function(title){document.title=title})}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}var asm2wasmImports={"f64-rem":(function(x,y){return x%y}),"debugger":(function(){debugger})};var functionPointers=new Array(0);var GLOBAL_BASE=1024;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for getValue: "+type)}return null}var ALLOC_NORMAL=0;var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function demangle(func){var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];assert(__cxa_demangle_func);try{var s=func;if(s.startsWith("__Z"))s=s.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(HEAP32[status>>2]===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var PAGE_SIZE=16384;var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||268435456;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}function integrateWasmJS(){var wasmTextFile="";var wasmBinaryFile="data:application/octet-stream;base64,AGFzbQEAAAABnRDlAWABfwBgAn9/AX9gA39/fwF/YAJ/fwBgAn99AGABfwF/YAZ/f39/f38Bf2ACf3wAYAJ/fgF/YAJ/fgF+YAN/fn8AYAJ/fgBgBn9/f39/fwBgA39/fwBgA399fwF/YAV/fX19fwBgBH9/f38AYAV/f39/fwF/YAd/f39/f39/AGAFf39/f38AYAR/fn9/AX5gB39/f39/f38Bf2AFf3x/f38Bf2AMf39/f39/f39/f39/AGAGf39/f39/AXxgAnx8AXxgAn9/AX5gCH9/f39/f39/AX9gBH9/f38Bf2AJf39/f39/f39/AGAAAGAAAX9gBX9/f398AX9gBn9/f39/fAF/YAV/f39/fgF/YAV/f35/fwBgBH9+f38AYAF8AXxgCn9/f39/f39/f38AYAJ/fwF8YAl/f39/f39/f38Bf2AFf3x/f38AYAF9AX9gAXwBf2ABfwF8YAJ/fAF8YAN8fHwBfGALf39/f39/f39/f38Bf2ACf38BfWACfX8Bf2AEf399fwF/YAt/f39/fX19fX1/fwBgCX9/fX1/fX19fwBgA399fQBgBH99fX8AYAJ9fQF9YAJ/fQF/YAN/f30AYAh/f39/f39/fwBgDH9/f39/f31/f39/fwBgC39/f3x8f39/f39/AXxgBH1/f38BfWADf39/AX1gC39/f39/f39/f39/AGAEf3x8fABgB39/f319fX0AYAV/fX1/fwBgBH99fX8Bf2AFf319fX0AYAJ9fQF/YAR/fX19AGADf319AX9gBH19fX0BfWADf3x8AGAKf39/f319fX19fQBgBH99f38Bf2ADfn9+AX9gA39/fgF/YAJ+fgF/YAN/fn4BfmADf39+AGAFf35/f34Bf2AGfn9/fn9/AX9gCH9+fn9/f39/AX9gBH9/f3wAYAN/f38BfGAFf3x8fH8AYAJ8fwBgBn9/f399fwF/YAR/fHx/AGAGf39+f35/AGAFf39/fX0AYAZ/f399fX8AYAV8fH9/fwF/YAd/f319f39/AX9gCn9/f39/f39/f38Bf2AEf31/fwBgCX9/f39/fX1/fwBgAn99AX1gA319fQF9YAJ/fAF/YAR8fX19AX1gC39/fX9/fX9/f39/AX9gBn9/f31/fwF/YAZ/f31/f38AYAd/fX9/f39/AGAIf31/f39/f38AYAN/f3wAYAZ/f39/fH8AYAh/f39/fX99fwF/YAl/f39/f31/f38AYAN/fX8AYAR9fX99AX1gDH9/fX9/f39/f39/fwF/YAZ/f319fX8Bf2AHf39/fX9/fwBgCn9/f31/f39/f38AYAV/f39/fQBgDn9/f399fX9/f39/f39/AGAIf399fX9/f38Bf2ADf399AX1gBH1/f38AYAh/f319f39/fwF9YAZ/f39/fX0AYAR/f39/AXxgA39/fQF/YAd/f398f3x8AX1gBX9/f39/AX1gAX8BfWABfwF+YAZ/fn5/f38AYAd/fn5/f39/AGAIf39/fn9/f38AYAV/fn5/fwBgBn99fX19fwBgCH9/f399f39/AGAGf39/f31/AGAFf399fX8AYAN9f38Bf2AFfX19f38AYAN9fX8Bf2AEf399fQBgB39/fHx8f38AYAd/f31/f39/AGAIf39/f31/f30Bf2AGf39/fHx8AGAJf39/f398fHx/AGADf3x/AGACfHwBf2ABfQF9YAx/f39/f319fX9/f38AYAp/f399fX1/f39/AGAMf39/f39/f399f39/AGAKf39/f39/fX9/fwBgBH9/f38BfmANf39/f39/f399fX9/fgBgCH9/fX9/f39/AX9gBn9/f39/fwF9YAd/f39/f39/AX1gBX9/f31/AGAGf39/fX19AGAFf399f38AYAV/f31/fwF/YAR/f31/AGAOf39/f39/f39/f39/f38Bf2AKf39/f31/f39/fwF9YAx/f39/fX1/f39/f38BfWALf39/f39/fX9/f38BfGAKf39/f399f39/fwF8YAt/f39/f39/f31/fwBgCn9/f39/f39/fX8AYAt/f39/fX9/f39/fwF9YAV/f39/fwF8YAZ/f399fX8Bf2AFf319fX8Bf2ACf3wBfWAHf399fX9/fwBgBn99f39/fwBgA319fQF/YAd/f39/f399AGAIf39/f39/fX8Bf2AFf31/f38Bf2AEf3x/fwBgBn9/f39/fQBgA398fAF8YAd9f399f39/AX9gA398fwF8YAZ/f3x8f38BfGAEf398fABgBH9/f30AYAJ8fwF8YAV/f398fAF8YAV/f398fABgBn9/fH9/fwF8YAR8fHx8AXxgA31/fwF9YAV/f319fQBgBn9/fX9/fwF/YAJ9fwBgBX9/f3x/AGAJf39/f398f39/AGAGfX19f3x8AX9gB399fX19f38AYAR/f398AX9gAn5+AX5gB39+f39/f34AYAN8f38Bf2ALf39/f39/fH9/f38AYAR/f3x8AX9gDn9/f39/f39/f39/f39/AGACfH8Bf2ADfHx/AX9gBH19fX8AYBB/f39/f39/f39/f39/f39/AGAJf39/f31/f39/AGALf39/f39/fX19fX8Bf2AJf3x8fHx8fHx8AGAHf319fX9/fwBgCn9/fHx8fHx8fHwAYAN/f38BfmAEf39/fgF+YAN+f38Bf2ACfn8Bf2AGf3x/f39/AX9gAXwBfWADfHx/AXxgAn1/AX1gDH9/f39/f39/f39/fwF/YA9/f39/f39/f39/f39/f38AAqEMUQNlbnYIX2xvbmdqbXAAAwNlbnYOX19fYXNzZXJ0X2ZhaWwAEANlbnYJaW52b2tlX2lpAAEDZW52C2ludm9rZV9paWlpABwDZW52Bl9hYm9ydAAeA2VudglpbnZva2VfdmkAAwNlbnYKaW52b2tlX3ZpaQANA2VudgtpbnZva2VfdmlpaQAQA2VudgppbnZva2VfaWlpAAIDZW52BWFib3J0AAALZ2xvYmFsLk1hdGgDcG93ABkDZW52DGludm9rZV92aWlpaQATC2dsb2JhbC5NYXRoA2xvZwAlA2VudgxfX19jeGFfdGhyb3cADQNlbnYZX19fY3hhX2FsbG9jYXRlX2V4Y2VwdGlvbgAFA2Vudg1pbnZva2VfdmlpaWlpAAwDZW52DGludm9rZV9paWlpaQARA2Vudg9fbGx2bV9zdGFja3NhdmUAHwNlbnYSX2xsdm1fc3RhY2tyZXN0b3JlAAADZW52Cl9sbHZtX3RyYXAAHgNlbnYHX2dldGVudgAFCGFzbTJ3YXNtB2Y2NC1yZW0AGQNlbnYFX2V4aXQAAANlbnYNX19fc3lzY2FsbDIyMQABA2VudghpbnZva2VfaQAFA2VudglfX191bmxvY2sAAANlbnYLX19fc3lzY2FsbDYAAQNlbnYHX19fbG9jawAAA2VudhhfZW1zY3JpcHRlbl9hc21fY29uc3RfaWkAAQNlbnYLX19fc3lzY2FsbDUAAQtnbG9iYWwuTWF0aANleHAAJQNlbnYOX2xsdm1fbG9nMl9mMzIAJQNlbnYNX2dldHRpbWVvZmRheQABA2VudgZfY2xvY2sAHwNlbnYMX19fc3lzY2FsbDU0AAEDZW52DV9fX3N5c2NhbGwxNDYAAQNlbnYNX19fc3lzY2FsbDE0MAABA2VudgxfX19zeXNjYWxsMTAAAQNlbnYLX19fc2V0RXJyTm8AAANlbnYRaW52b2tlX3ZpaWlpaWlpaWkAJgNlbnYIaW52b2tlX3YAAANlbnYNaW52b2tlX2lpaWlpaQAGA2VudgVfdGltZQAFA2Vudgtfc3RyZnRpbWVfbAARA2Vudglfc3RyZnRpbWUAHANlbnYUX3B0aHJlYWRfc2V0c3BlY2lmaWMAAQNlbnYNX3B0aHJlYWRfb25jZQABA2VudhNfcHRocmVhZF9tdXRleF9pbml0AAEDZW52E19wdGhyZWFkX2tleV9jcmVhdGUAAQNlbnYUX3B0aHJlYWRfZ2V0c3BlY2lmaWMABQNlbnYSX3B0aHJlYWRfY29uZF93YWl0AAEDZW52B19ta3RpbWUABQNlbnYKX2xvY2FsdGltZQAFA2VudhdhYm9ydE9uQ2Fubm90R3Jvd01lbW9yeQAfA2Vudg5fbGx2bV9sb2cyX2Y2NAAlA2VudgdfZ210aW1lAAUDZW52Fl9lbXNjcmlwdGVuX21lbWNweV9iaWcAAgNlbnYTX2Vtc2NyaXB0ZW5fbG9uZ2ptcAADA2Vudg5nZXRUb3RhbE1lbW9yeQAfA2VudglfZGlmZnRpbWUAJwNlbnYMX19fc3lzY2FsbDkxAAEDZW52DF9fX3N5c2NhbGw0MAABA2Vudg1lbmxhcmdlTWVtb3J5AB8DZW52C19fX3N5c2NhbGw0AAEDZW52C19fX3N5c2NhbGwzAAEDZW52DV9fX3N5c2NhbGwxOTcAAQNlbnYNX19fc3lzY2FsbDE5NQABA2Vudg1fX19zeXNjYWxsMTkyAAEDZW52DV9fX3N5c2NhbGwxODMAAQNlbnYNX19fc3lzY2FsbDE0NQABA2VudgtfX19tYXBfZmlsZQABA2VudhNfX19jeGFfcHVyZV92aXJ0dWFsAB4DZW52EF9fX2Nsb2NrX2dldHRpbWUAAQNlbnYTX19fYnVpbGRFbnZpcm9ubWVudAAAA2Vudgl0YWJsZUJhc2UDfwADZW52DkRZTkFNSUNUT1BfUFRSA38AA2VudghTVEFDS1RPUAN/AAZnbG9i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b2NjX2NwcAD5Mh1fX0dMT0JBTF9fc3ViX0lfYmxvYmNsYXNzX2NwcACaMxpfX0dMT0JBTF9fc3ViX0lfY2N1dGlsX2NwcACfMxxfX0dMT0JBTF9fc3ViX0lfY2prcGl0Y2hfY3BwAPQyG19fR0xPQkFMX19zdWJfSV9jb2xmaW5kX2NwcADvMiRfX0dMT0JBTF9fc3ViX0lfY29scGFydGl0aW9uZ3JpZF9jcHAA7jIpX19HTE9CQUxfX3N1Yl9JX2RldmFuYWdhcmlfcHJvY2Vzc2luZ19jcHAA7DIcX19HTE9CQUxfX3N1Yl9JX2RyYXd0b3JkX2NwcADoMhtfX0dMT0JBTF9fc3ViX0lfZWRnYmxvYl9jcHAA4jIiX19HTE9CQUxfX3N1Yl9JX2VxdWF0aW9uZGV0ZWN0X2NwcACmMxpfX0dMT0JBTF9fc3ViX0lfZnBjaG9wX2NwcADcMhtfX0dMT0JBTF9fc3ViX0lfZ2FwX21hcF9jcHAA1DIdX19HTE9CQUxfX3N1Yl9JX2ltYWdlZmluZF9jcHAAzDIZX19HTE9CQUxfX3N1Yl9JX2ludGZ4X2NwcACWMxxfX0dMT0JBTF9fc3ViX0lfaW50cHJvdG9fY3BwAJMzHF9fR0xPQkFMX19zdWJfSV9pb3N0cmVhbV9jcHAA3B8bX19HTE9CQUxfX3N1Yl9JX21ha2Vyb3dfY3BwAMYyF19fR0xPQkFMX19zdWJfSV9tZnhfY3BwAJAzHV9fR0xPQkFMX19zdWJfSV9ub3JtbWF0Y2hfY3BwAIszHF9fR0xPQkFMX19zdWJfSV9vbGRiYXNlbF9jcHAAwTIcX19HTE9CQUxfX3N1Yl9JX3BpY29mZWF0X2NwcACIMxxfX0dMT0JBTF9fc3ViX0lfcGl0c3luYzFfY3BwALkyHF9fR0xPQkFMX19zdWJfSV9wb2x5YXByeF9jcHAAozMaX19HTE9CQUxfX3N1Yl9JX3Byb3Rvc19jcHAAgzMaX19HTE9CQUxfX3N1Yl9JX3JlbmRlcl9jcHAAgjIeX19HTE9CQUxfX3N1Yl9JX3Njcm9sbHZpZXdfY3BwAIYyGV9fR0xPQkFMX19zdWJfSV9zcGxpdF9jcHAAoTMfX19HTE9CQUxfX3N1Yl9JX3N0cm9rZXdpZHRoX2NwcAC3MhtfX0dMT0JBTF9fc3ViX0lfdGFiZmluZF9jcHAArTIdX19HTE9CQUxfX3N1Yl9JX3RhYmxlZmluZF9jcHAApTIdX19HTE9CQUxfX3N1Yl9JX3RhYnZlY3Rvcl9jcHAAnjIcX19HTE9CQUxfX3N1Yl9JX3Rlc3N2YXJzX2NwcACkMxtfX0dMT0JBTF9fc3ViX0lfdG9waXRjaF9jcHAAmTIaX19HTE9CQUxfX3N1Yl9JX3RvdmFyc19jcHAAljIbX19HTE9CQUxfX3N1Yl9JX3RwcmludGZfY3BwAJ4zHF9fR0xPQkFMX19zdWJfSV91bmRlcmxpbl9jcHAAkTIbX19HTE9CQUxfX3N1Yl9JX3dvcmRzZWdfY3BwAIwyD19fX2N4YV9kZW1hbmdsZQDlHSFfX19lbXNjcmlwdGVuX2Vudmlyb25fY29uc3RydWN0b3IA7h8RX19fZXJybm9fbG9jYXRpb24AsSAOX19nZXRfZGF5bGlnaHQA7B8OX19nZXRfdGltZXpvbmUA6x8MX19nZXRfdHpuYW1lAO0fDF9ib3hhRGVzdHJveQCqAyZfZW1zY3JpcHRlbl9iaW5kX0Jvb2xQdHJfX19kZXN0cm95X19fMADQASVfZW1zY3JpcHRlbl9iaW5kX0JveFB0cl9fX2Rlc3Ryb3lfX18wAIQBIl9lbXNjcmlwdGVuX2JpbmRfQm94X19fZGVzdHJveV9fXzAAhAEcX2Vtc2NyaXB0ZW5fYmluZF9Cb3hfZ2V0X2hfMACsBSNfZW1zY3JpcHRlbl9iaW5kX0JveF9nZXRfcmVmY291bnRfMADyChxfZW1zY3JpcHRlbl9iaW5kX0JveF9nZXRfd18wAOAGHF9lbXNjcmlwdGVuX2JpbmRfQm94X2dldF94XzAA4QYcX2Vtc2NyaXB0ZW5fYmluZF9Cb3hfZ2V0X3lfMACzBSNfZW1zY3JpcHRlbl9iaW5kX0JveGFfX19kZXN0cm95X19fMACEAR9fZW1zY3JpcHRlbl9iaW5kX0JveGFfZ2V0X2JveF8wAKwFHV9lbXNjcmlwdGVuX2JpbmRfQm94YV9nZXRfbl8wAOEGIl9lbXNjcmlwdGVuX2JpbmRfQm94YV9nZXRfbmFsbG9jXzAAswUkX2Vtc2NyaXB0ZW5fYmluZF9Cb3hhX2dldF9yZWZjb3VudF8wAOAGMF9lbXNjcmlwdGVuX2JpbmRfQ2hvaWNlSXRlcmF0b3JfQ2hvaWNlSXRlcmF0b3JfMQCUHSxfZW1zY3JpcHRlbl9iaW5kX0Nob2ljZUl0ZXJhdG9yX0NvbmZpZGVuY2VfMACZHS1fZW1zY3JpcHRlbl9iaW5kX0Nob2ljZUl0ZXJhdG9yX0dldFVURjhUZXh0XzAAjx0mX2Vtc2NyaXB0ZW5fYmluZF9DaG9pY2VJdGVyYXRvcl9OZXh0XzAAjRMtX2Vtc2NyaXB0ZW5fYmluZF9DaG9pY2VJdGVyYXRvcl9fX2Rlc3Ryb3lfX18wAOYSI19lbXNjcmlwdGVuX2JpbmRfRGF3Z19fX2Rlc3Ryb3lfX18wAKgHKF9lbXNjcmlwdGVuX2JpbmRfRG91YmxlUHRyX19fZGVzdHJveV9fXzAAhAEpX2Vtc2NyaXB0ZW5fYmluZF9FVEVYVF9ERVNDX19fZGVzdHJveV9fXzAAhAEnX2Vtc2NyaXB0ZW5fYmluZF9GbG9hdFB0cl9fX2Rlc3Ryb3lfX18wAIQBJV9lbXNjcmlwdGVuX2JpbmRfSW50UHRyX19fZGVzdHJveV9fXzAAhAEqX2Vtc2NyaXB0ZW5fYmluZF9Mb25nU3RhclB0cl9fX2Rlc3Ryb3lfX18wAIQBK19lbXNjcmlwdGVuX2JpbmRfT1NCZXN0UmVzdWx0X19fZGVzdHJveV9fXzAAhAEvX2Vtc2NyaXB0ZW5fYmluZF9PU0Jlc3RSZXN1bHRfZ2V0X29jb25maWRlbmNlXzAAmB0yX2Vtc2NyaXB0ZW5fYmluZF9PU0Jlc3RSZXN1bHRfZ2V0X29yaWVudGF0aW9uX2lkXzAA4QYvX2Vtc2NyaXB0ZW5fYmluZF9PU0Jlc3RSZXN1bHRfZ2V0X3Njb25maWRlbmNlXzAAlx0tX2Vtc2NyaXB0ZW5fYmluZF9PU0Jlc3RSZXN1bHRfZ2V0X3NjcmlwdF9pZF8wALMFJl9lbXNjcmlwdGVuX2JpbmRfT1NSZXN1bHRzX09TUmVzdWx0c18wAOwzKF9lbXNjcmlwdGVuX2JpbmRfT1NSZXN1bHRzX19fZGVzdHJveV9fXzAAhAEsX2Vtc2NyaXB0ZW5fYmluZF9PU1Jlc3VsdHNfZ2V0X2Jlc3RfcmVzdWx0XzAA5jMrX2Vtc2NyaXB0ZW5fYmluZF9PU1Jlc3VsdHNfZ2V0X3VuaWNoYXJzZXRfMADgMylfZW1zY3JpcHRlbl9iaW5kX09TUmVzdWx0c19wcmludF9zY29yZXNfMADnMypfZW1zY3JpcHRlbl9iaW5kX09yaWVudGF0aW9uX19fZGVzdHJveV9fXzAAhAEoX2Vtc2NyaXB0ZW5fYmluZF9QYWdlSXRlcmF0b3JfQmFzZWxpbmVfNQCiFiVfZW1zY3JpcHRlbl9iaW5kX1BhZ2VJdGVyYXRvcl9CZWdpbl8wAOsZLF9lbXNjcmlwdGVuX2JpbmRfUGFnZUl0ZXJhdG9yX0Jsb2NrUG9seWdvbl8wAP0WKV9lbXNjcmlwdGVuX2JpbmRfUGFnZUl0ZXJhdG9yX0Jsb2NrVHlwZV8wAJUXM19lbXNjcmlwdGVuX2JpbmRfUGFnZUl0ZXJhdG9yX0JvdW5kaW5nQm94SW50ZXJuYWxfNQDIFytfZW1zY3JpcHRlbl9iaW5kX1BhZ2VJdGVyYXRvcl9Cb3VuZGluZ0JveF81APcXK19lbXNjcmlwdGVuX2JpbmRfUGFnZUl0ZXJhdG9yX0JvdW5kaW5nQm94XzYA2hcjX2Vtc2NyaXB0ZW5fYmluZF9QYWdlSXRlcmF0b3JfQ21wXzEAthglX2Vtc2NyaXB0ZW5fYmluZF9QYWdlSXRlcmF0b3JfRW1wdHlfMQCtFy5fZW1zY3JpcHRlbl9iaW5kX1BhZ2VJdGVyYXRvcl9HZXRCaW5hcnlJbWFnZV8xAN0WKF9lbXNjcmlwdGVuX2JpbmRfUGFnZUl0ZXJhdG9yX0dldEltYWdlXzUAvhYvX2Vtc2NyaXB0ZW5fYmluZF9QYWdlSXRlcmF0b3JfSXNBdEJlZ2lubmluZ09mXzEA5RgwX2Vtc2NyaXB0ZW5fYmluZF9QYWdlSXRlcmF0b3JfSXNBdEZpbmFsRWxlbWVudF8yAMsYQF9lbXNjcmlwdGVuX2JpbmRfUGFnZUl0ZXJhdG9yX0lzV2l0aGluRmlyc3RUZXh0bGluZU9mUGFyYWdyYXBoXzAAuRkkX2Vtc2NyaXB0ZW5fYmluZF9QYWdlSXRlcmF0b3JfTmV4dF8xAPkYK19lbXNjcmlwdGVuX2JpbmRfUGFnZUl0ZXJhdG9yX09yaWVudGF0aW9uXzQAiRYtX2Vtc2NyaXB0ZW5fYmluZF9QYWdlSXRlcmF0b3JfUGFyYWdyYXBoSW5mb180APUVMF9lbXNjcmlwdGVuX2JpbmRfUGFnZUl0ZXJhdG9yX1Jlc3RhcnRQYXJhZ3JhcGhfMADQGSpfZW1zY3JpcHRlbl9iaW5kX1BhZ2VJdGVyYXRvcl9SZXN0YXJ0Um93XzAAnxk4X2Vtc2NyaXB0ZW5fYmluZF9QYWdlSXRlcmF0b3JfU2V0Qm91bmRpbmdCb3hDb21wb25lbnRzXzIApBgrX2Vtc2NyaXB0ZW5fYmluZF9QYWdlSXRlcmF0b3JfX19kZXN0cm95X19fMACoBzVfZW1zY3JpcHRlbl9iaW5kX1BhcmFncmFwaEp1c3RpZmljYXRpb25fX19kZXN0cm95X19fMACEASpfZW1zY3JpcHRlbl9iaW5kX1BpeENvbG9ybWFwX19fZGVzdHJveV9fXzAAhAEoX2Vtc2NyaXB0ZW5fYmluZF9QaXhDb2xvcm1hcF9nZXRfYXJyYXlfMADhBihfZW1zY3JpcHRlbl9iaW5kX1BpeENvbG9ybWFwX2dldF9kZXB0aF8wALMFJF9lbXNjcmlwdGVuX2JpbmRfUGl4Q29sb3JtYXBfZ2V0X25fMACsBSlfZW1zY3JpcHRlbl9iaW5kX1BpeENvbG9ybWFwX2dldF9uYWxsb2NfMADgBiVfZW1zY3JpcHRlbl9iaW5kX1BpeFB0cl9fX2Rlc3Ryb3lfX18wAIQBIl9lbXNjcmlwdGVuX2JpbmRfUGl4X19fZGVzdHJveV9fXzAAhAEjX2Vtc2NyaXB0ZW5fYmluZF9QaXhfZ2V0X2NvbG9ybWFwXzAA5BwcX2Vtc2NyaXB0ZW5fYmluZF9QaXhfZ2V0X2RfMADgBh9fZW1zY3JpcHRlbl9iaW5kX1BpeF9nZXRfZGF0YV8wAN4cHF9lbXNjcmlwdGVuX2JpbmRfUGl4X2dldF9oXzAAswUjX2Vtc2NyaXB0ZW5fYmluZF9QaXhfZ2V0X2luZm9ybWF0XzAA8BwjX2Vtc2NyaXB0ZW5fYmluZF9QaXhfZ2V0X3JlZmNvdW50XzAAhhIiX2Vtc2NyaXB0ZW5fYmluZF9QaXhfZ2V0X3NwZWNpYWxfMADsHB5fZW1zY3JpcHRlbl9iaW5kX1BpeF9nZXRfc3BwXzAArAUfX2Vtc2NyaXB0ZW5fYmluZF9QaXhfZ2V0X3RleHRfMADpHBxfZW1zY3JpcHRlbl9iaW5kX1BpeF9nZXRfd18wAOEGHl9lbXNjcmlwdGVuX2JpbmRfUGl4X2dldF93cGxfMADyCh9fZW1zY3JpcHRlbl9iaW5kX1BpeF9nZXRfeHJlc18wAPQcH19lbXNjcmlwdGVuX2JpbmRfUGl4X2dldF95cmVzXzAA8xwmX2Vtc2NyaXB0ZW5fYmluZF9QaXhhUHRyX19fZGVzdHJveV9fXzAAhAEjX2Vtc2NyaXB0ZW5fYmluZF9QaXhhX19fZGVzdHJveV9fXzAAhAEgX2Vtc2NyaXB0ZW5fYmluZF9QaXhhX2dldF9ib3hhXzAA8godX2Vtc2NyaXB0ZW5fYmluZF9QaXhhX2dldF9uXzAA4QYiX2Vtc2NyaXB0ZW5fYmluZF9QaXhhX2dldF9uYWxsb2NfMACzBR9fZW1zY3JpcHRlbl9iaW5kX1BpeGFfZ2V0X3BpeF8wAKwFJF9lbXNjcmlwdGVuX2JpbmRfUGl4YV9nZXRfcmVmY291bnRfMADgBiJfZW1zY3JpcHRlbl9iaW5kX1B0YV9fX2Rlc3Ryb3lfX18wAIQBHF9lbXNjcmlwdGVuX2JpbmRfUHRhX2dldF9uXzAA4QYhX2Vtc2NyaXB0ZW5fYmluZF9QdGFfZ2V0X25hbGxvY18wALMFI19lbXNjcmlwdGVuX2JpbmRfUHRhX2dldF9yZWZjb3VudF8wAOAGHF9lbXNjcmlwdGVuX2JpbmRfUHRhX2dldF94XzAArAUcX2Vtc2NyaXB0ZW5fYmluZF9QdGFfZ2V0X3lfMADyCipfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX0Jhc2VsaW5lXzUAohYnX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9CZWdpbl8wAOsZLl9lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfQmxvY2tQb2x5Z29uXzAA/RYrX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9CbG9ja1R5cGVfMACVFzVfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX0JvdW5kaW5nQm94SW50ZXJuYWxfNQDIFy1fZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX0JvdW5kaW5nQm94XzUA9xctX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9Cb3VuZGluZ0JveF82ANoXJV9lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfQ21wXzEAthgsX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9Db25maWRlbmNlXzEAlh0nX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9FbXB0eV8xAK0XM19lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfRXF1aXZhbGVudFRvVHJ1dGhfMQDOIzBfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX0dldEJpbmFyeUltYWdlXzEA3RYqX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9HZXRJbWFnZV81AL4WLV9lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfR2V0VVRGOFRleHRfMQDRKC9fZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX0hhc0JsYW1lckluZm9fMACuJDBfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX0hhc1RydXRoU3RyaW5nXzAAhyQxX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9Jc0F0QmVnaW5uaW5nT2ZfMQDlGDJfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX0lzQXRGaW5hbEVsZW1lbnRfMgDLGEJfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX0lzV2l0aGluRmlyc3RUZXh0bGluZU9mUGFyYWdyYXBoXzAAuRkmX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9OZXh0XzEA+RgtX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9PcmllbnRhdGlvbl80AIkWL19lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfUGFyYWdyYXBoSW5mb180APUVMF9lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfUGFyYWdyYXBoSXNMdHJfMACbKTJfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX1Jlc3RhcnRQYXJhZ3JhcGhfMADQGSxfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX1Jlc3RhcnRSb3dfMACfGTBfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX1Jlc3VsdEl0ZXJhdG9yXzEAujI6X2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9TZXRCb3VuZGluZ0JveENvbXBvbmVudHNfMgCkGDJfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX1NldExpbmVTZXBhcmF0b3JfMQD0DjdfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX1NldFBhcmFncmFwaFNlcGFyYXRvcl8xALgnMV9lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfU3ltYm9sSXNEcm9wY2FwXzAAziAzX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9TeW1ib2xJc1N1YnNjcmlwdF8wAJohNV9lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfU3ltYm9sSXNTdXBlcnNjcmlwdF8wANMhL19lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfV29yZERpcmVjdGlvbl8wAMwlNF9lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfV29yZEZvbnRBdHRyaWJ1dGVzXzgA2iY2X2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9Xb3JkSXNGcm9tRGljdGlvbmFyeV8wAPQkL19lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfV29yZElzTnVtZXJpY18wANQkLV9lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfV29yZExhdHRpY2VfMQCmIjRfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX1dvcmROb3JtZWRVVEY4VGV4dF8wAOEiOV9lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfV29yZFJlY29nbml0aW9uTGFuZ3VhZ2VfMACRJjNfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX1dvcmRUcnV0aFVURjhUZXh0XzAAlSMtX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9fX2Rlc3Ryb3lfX18wAKgHLV9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfQWRhcHRUb1dvcmRTdHJfMgCdNDFfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0FsbFdvcmRDb25maWRlbmNlc18wAKM0LF9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfQW5hbHlzZUxheW91dF8wAI81LF9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfQW5hbHlzZUxheW91dF8xAIk1K19lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfQ2F0Y2hTaWduYWxzXzAAyxw2X2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9DbGVhckFkYXB0aXZlQ2xhc3NpZmllcl8wANM1M19lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfQ2xlYXJQZXJzaXN0ZW50Q2FjaGVfMACJNCRfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0NsZWFyXzAAlTQnX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9EZXRlY3RPU18xAP0zIl9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfRW5kXzAAjDQuX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9HZXRCb29sVmFyaWFibGVfMgCiHClfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldEJveFRleHRfMQDENDFfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldENvbXBvbmVudEltYWdlc180AKQ1MV9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfR2V0Q29tcG9uZW50SW1hZ2VzXzcAmzU1X2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9HZXRDb25uZWN0ZWRDb21wb25lbnRzXzEAqjUqX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9HZXREYXRhcGF0aF8wALEcJl9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfR2V0RGF3Z18xAPgzMF9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfR2V0RG91YmxlVmFyaWFibGVfMgCeHCpfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldEhPQ1JUZXh0XzEA2DQ3X2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9HZXRJbml0TGFuZ3VhZ2VzQXNTdHJpbmdfMADyNSxfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldElucHV0SW1hZ2VfMAC5HCtfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldElucHV0TmFtZV8wAMMcLV9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfR2V0SW50VmFyaWFibGVfMgCmHCpfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldEl0ZXJhdG9yXzAA5DQpX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9HZXRPc2RUZXh0XzEAsTQtX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9HZXRQYWdlU2VnTW9kZV8wANY1KV9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfR2V0UmVnaW9uc18xALs1M19lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfR2V0U291cmNlWVJlc29sdXRpb25fMAC0HDBfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldFN0cmluZ1ZhcmlhYmxlXzEAlhwoX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9HZXRTdHJpcHNfMgCxNSlfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldFRTVlRleHRfMQDPNCtfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldFRleHRsaW5lc18yALY1K19lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfR2V0VGV4dGxpbmVzXzUAtDU9X2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9HZXRUaHJlc2hvbGRlZEltYWdlU2NhbGVGYWN0b3JfMACTNTJfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldFRocmVzaG9sZGVkSW1hZ2VfMADANSpfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldFVOTFZUZXh0XzAAuzQqX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9HZXRVVEY4VGV4dF8wANs0KV9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfR2V0VW5pY2hhcl8xAPszJ19lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfR2V0V29yZHNfMQCrNTFfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0luaXRGb3JBbmFseXNlUGFnZV8wAOc1Kl9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfSW5pdExhbmdNb2RfMgDwNSNfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0luaXRfMgCBNiNfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0luaXRfMwD6NS9fZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0lzVmFsaWRDaGFyYWN0ZXJfMQCCNCpfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0lzVmFsaWRXb3JkXzEAhjQrX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9NZWFuVGV4dENvbmZfMACqNCdfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX051bURhd2dzXzAA9DMtX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9QcmludFZhcmlhYmxlc18wAI0cKl9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfUHJvY2Vzc1BhZ2VfNgDqNCtfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX1Byb2Nlc3NQYWdlc180AO80LV9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfUmVhZENvbmZpZ0ZpbGVfMQDlNTJfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX1JlYWREZWJ1Z0NvbmZpZ0ZpbGVfMQDfNTNfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX1JlY29nbml6ZUZvckNob3BUZXN0XzEA+jQoX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9SZWNvZ25pemVfMQCDNS9fZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX1NldERlYnVnVmFyaWFibGVfMgCpHCdfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX1NldEltYWdlXzEA0TUnX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9TZXRJbWFnZV81ANA1LF9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfU2V0SW5wdXRJbWFnZV8xAL4cK19lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfU2V0SW5wdXROYW1lXzEAxxwsX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9TZXRPdXRwdXROYW1lXzEArxwtX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9TZXRQYWdlU2VnTW9kZV8xANg1K19lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfU2V0UmVjdGFuZ2xlXzQAyzUyX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9TZXRTb3VyY2VSZXNvbHV0aW9uXzEAzzUqX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9TZXRWYXJpYWJsZV8yAK0cKl9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfVGVzc0Jhc2VBUElfMADWHCxfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX1Rlc3NlcmFjdFJlY3RfNwDUNSZfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX1ZlcnNpb25fMADRHCpfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX19fZGVzdHJveV9fXzAAqAciX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9vZW1fMADuMytfZW1zY3JpcHRlbl9iaW5kX1Rlc3NQREZSZW5kZXJlcl9BZGRJbWFnZV8xAPUbMF9lbXNjcmlwdGVuX2JpbmRfVGVzc1BERlJlbmRlcmVyX0JlZ2luRG9jdW1lbnRfMQCHHC5fZW1zY3JpcHRlbl9iaW5kX1Rlc3NQREZSZW5kZXJlcl9FbmREb2N1bWVudF8wAOUbMl9lbXNjcmlwdGVuX2JpbmRfVGVzc1BERlJlbmRlcmVyX1Rlc3NQREZSZW5kZXJlcl8zAKwdLl9lbXNjcmlwdGVuX2JpbmRfVGVzc1BERlJlbmRlcmVyX19fZGVzdHJveV9fXzAAqAcxX2Vtc2NyaXB0ZW5fYmluZF9UZXNzUERGUmVuZGVyZXJfZmlsZV9leHRlbnNpb25fMACzBShfZW1zY3JpcHRlbl9iaW5kX1Rlc3NQREZSZW5kZXJlcl9oYXBweV8wAMcbK19lbXNjcmlwdGVuX2JpbmRfVGVzc1BERlJlbmRlcmVyX2ltYWdlbnVtXzAArAUoX2Vtc2NyaXB0ZW5fYmluZF9UZXNzUERGUmVuZGVyZXJfdGl0bGVfMACJGy5fZW1zY3JpcHRlbl9iaW5kX1Rlc3NSZXN1bHRSZW5kZXJlcl9BZGRJbWFnZV8xAPUbM19lbXNjcmlwdGVuX2JpbmRfVGVzc1Jlc3VsdFJlbmRlcmVyX0JlZ2luRG9jdW1lbnRfMQCHHDFfZW1zY3JpcHRlbl9iaW5kX1Rlc3NSZXN1bHRSZW5kZXJlcl9FbmREb2N1bWVudF8wAOUbMV9lbXNjcmlwdGVuX2JpbmRfVGVzc1Jlc3VsdFJlbmRlcmVyX19fZGVzdHJveV9fXzAAqAc0X2Vtc2NyaXB0ZW5fYmluZF9UZXNzUmVzdWx0UmVuZGVyZXJfZmlsZV9leHRlbnNpb25fMACzBStfZW1zY3JpcHRlbl9iaW5kX1Rlc3NSZXN1bHRSZW5kZXJlcl9oYXBweV8wAMcbLl9lbXNjcmlwdGVuX2JpbmRfVGVzc1Jlc3VsdFJlbmRlcmVyX2ltYWdlbnVtXzAArAUrX2Vtc2NyaXB0ZW5fYmluZF9UZXNzUmVzdWx0UmVuZGVyZXJfdGl0bGVfMACJGyxfZW1zY3JpcHRlbl9iaW5kX1RleHRsaW5lT3JkZXJfX19kZXN0cm95X19fMACEASlfZW1zY3JpcHRlbl9iaW5kX1VOSUNIQVJTRVRfX19kZXN0cm95X19fMAD5HDdfZW1zY3JpcHRlbl9iaW5kX1VOSUNIQVJTRVRfZ2V0X3NjcmlwdF9mcm9tX3NjcmlwdF9pZF8xAIkdNV9lbXNjcmlwdGVuX2JpbmRfVU5JQ0hBUlNFVF9nZXRfc2NyaXB0X2lkX2Zyb21fbmFtZV8xAIUdM19lbXNjcmlwdGVuX2JpbmRfVU5JQ0hBUlNFVF9nZXRfc2NyaXB0X3RhYmxlX3NpemVfMACGEiZfZW1zY3JpcHRlbl9iaW5kX1ZvaWRQdHJfX19kZXN0cm95X19fMACEATBfZW1zY3JpcHRlbl9iaW5kX1dvcmRDaG9pY2VJdGVyYXRvcl9Db25maWRlbmNlXzAAlR0xX2Vtc2NyaXB0ZW5fYmluZF9Xb3JkQ2hvaWNlSXRlcmF0b3JfR2V0VVRGOFRleHRfMADMHypfZW1zY3JpcHRlbl9iaW5kX1dvcmRDaG9pY2VJdGVyYXRvcl9OZXh0XzAAjRM4X2Vtc2NyaXB0ZW5fYmluZF9Xb3JkQ2hvaWNlSXRlcmF0b3JfV29yZENob2ljZUl0ZXJhdG9yXzEAqCAxX2Vtc2NyaXB0ZW5fYmluZF9Xb3JkQ2hvaWNlSXRlcmF0b3JfX19kZXN0cm95X19fMADmEi9fZW1zY3JpcHRlbl9iaW5kX1dyaXRpbmdEaXJlY3Rpb25fX19kZXN0cm95X19fMACEAShfZW1zY3JpcHRlbl9lbnVtX09jckVuZ2luZU1vZGVfT0VNX0NPVU5UAJINKl9lbXNjcmlwdGVuX2VudW1fT2NyRW5naW5lTW9kZV9PRU1fREVGQVVMVAC1ByxfZW1zY3JpcHRlbl9lbnVtX09jckVuZ2luZU1vZGVfT0VNX0xTVE1fT05MWQD3BTpfZW1zY3JpcHRlbl9lbnVtX09jckVuZ2luZU1vZGVfT0VNX1RFU1NFUkFDVF9MU1RNX0NPTUJJTkVEAPYFMV9lbXNjcmlwdGVuX2VudW1fT2NyRW5naW5lTW9kZV9PRU1fVEVTU0VSQUNUX09OTFkA+AUzX2Vtc2NyaXB0ZW5fZW51bV9PcmllbnRhdGlvbl9fT1JJRU5UQVRJT05fUEFHRV9ET1dOAPYFM19lbXNjcmlwdGVuX2VudW1fT3JpZW50YXRpb25fX09SSUVOVEFUSU9OX1BBR0VfTEVGVAC1BzRfZW1zY3JpcHRlbl9lbnVtX09yaWVudGF0aW9uX19PUklFTlRBVElPTl9QQUdFX1JJR0hUAPcFMV9lbXNjcmlwdGVuX2VudW1fT3JpZW50YXRpb25fX09SSUVOVEFUSU9OX1BBR0VfVVAA+AUsX2Vtc2NyaXB0ZW5fZW51bV9QYWdlSXRlcmF0b3JMZXZlbF9SSUxfQkxPQ0sA+AUrX2Vtc2NyaXB0ZW5fZW51bV9QYWdlSXRlcmF0b3JMZXZlbF9SSUxfUEFSQQD3BS1fZW1zY3JpcHRlbl9lbnVtX1BhZ2VJdGVyYXRvckxldmVsX1JJTF9TWU1CT0wAkg0vX2Vtc2NyaXB0ZW5fZW51bV9QYWdlSXRlcmF0b3JMZXZlbF9SSUxfVEVYVExJTkUA9gUrX2Vtc2NyaXB0ZW5fZW51bV9QYWdlSXRlcmF0b3JMZXZlbF9SSUxfV09SRAC1ByVfZW1zY3JpcHRlbl9lbnVtX1BhZ2VTZWdNb2RlX1BTTV9BVVRPALUHKl9lbXNjcmlwdGVuX2VudW1fUGFnZVNlZ01vZGVfUFNNX0FVVE9fT05MWQD2BSlfZW1zY3JpcHRlbl9lbnVtX1BhZ2VTZWdNb2RlX1BTTV9BVVRPX09TRAD3BSxfZW1zY3JpcHRlbl9lbnVtX1BhZ2VTZWdNb2RlX1BTTV9DSVJDTEVfV09SRAD3GiZfZW1zY3JpcHRlbl9lbnVtX1BhZ2VTZWdNb2RlX1BTTV9DT1VOVADnGilfZW1zY3JpcHRlbl9lbnVtX1BhZ2VTZWdNb2RlX1BTTV9PU0RfT05MWQD4BSlfZW1zY3JpcHRlbl9lbnVtX1BhZ2VTZWdNb2RlX1BTTV9SQVdfTElORQDpGi1fZW1zY3JpcHRlbl9lbnVtX1BhZ2VTZWdNb2RlX1BTTV9TSU5HTEVfQkxPQ0sAghs3X2Vtc2NyaXB0ZW5fZW51bV9QYWdlU2VnTW9kZV9QU01fU0lOR0xFX0JMT0NLX1ZFUlRfVEVYVACEGyxfZW1zY3JpcHRlbl9lbnVtX1BhZ2VTZWdNb2RlX1BTTV9TSU5HTEVfQ0hBUgDzGi5fZW1zY3JpcHRlbl9lbnVtX1BhZ2VTZWdNb2RlX1BTTV9TSU5HTEVfQ09MVU1OAJINLF9lbXNjcmlwdGVuX2VudW1fUGFnZVNlZ01vZGVfUFNNX1NJTkdMRV9MSU5FAP4aLF9lbXNjcmlwdGVuX2VudW1fUGFnZVNlZ01vZGVfUFNNX1NJTkdMRV9XT1JEAP0aLF9lbXNjcmlwdGVuX2VudW1fUGFnZVNlZ01vZGVfUFNNX1NQQVJTRV9URVhUAO8aMF9lbXNjcmlwdGVuX2VudW1fUGFnZVNlZ01vZGVfUFNNX1NQQVJTRV9URVhUX09TRADtGj1fZW1zY3JpcHRlbl9lbnVtX1BhcmFncmFwaEp1c3RpZmljYXRpb25fX0pVU1RJRklDQVRJT05fQ0VOVEVSAPYFO19lbXNjcmlwdGVuX2VudW1fUGFyYWdyYXBoSnVzdGlmaWNhdGlvbl9fSlVTVElGSUNBVElPTl9MRUZUAPcFPF9lbXNjcmlwdGVuX2VudW1fUGFyYWdyYXBoSnVzdGlmaWNhdGlvbl9fSlVTVElGSUNBVElPTl9SSUdIVAC1Bz5fZW1zY3JpcHRlbl9lbnVtX1BhcmFncmFwaEp1c3RpZmljYXRpb25fX0pVU1RJRklDQVRJT05fVU5LTk9XTgD4BS5fZW1zY3JpcHRlbl9lbnVtX1BvbHlCbG9ja1R5cGVfUFRfQ0FQVElPTl9URVhUAP0aJ19lbXNjcmlwdGVuX2VudW1fUG9seUJsb2NrVHlwZV9QVF9DT1VOVAC0MypfZW1zY3JpcHRlbl9lbnVtX1BvbHlCbG9ja1R5cGVfUFRfRVFVQVRJT04Akg0vX2Vtc2NyaXB0ZW5fZW51bV9Qb2x5QmxvY2tUeXBlX1BUX0ZMT1dJTkdfSU1BR0UA9xouX2Vtc2NyaXB0ZW5fZW51bV9Qb2x5QmxvY2tUeXBlX1BUX0ZMT1dJTkdfVEVYVAD3BS9fZW1zY3JpcHRlbl9lbnVtX1BvbHlCbG9ja1R5cGVfUFRfSEVBRElOR19JTUFHRQDzGi5fZW1zY3JpcHRlbl9lbnVtX1BvbHlCbG9ja1R5cGVfUFRfSEVBRElOR19URVhUAPYFK19lbXNjcmlwdGVuX2VudW1fUG9seUJsb2NrVHlwZV9QVF9IT1JaX0xJTkUA7RoxX2Vtc2NyaXB0ZW5fZW51bV9Qb2x5QmxvY2tUeXBlX1BUX0lOTElORV9FUVVBVElPTgCEGydfZW1zY3JpcHRlbl9lbnVtX1BvbHlCbG9ja1R5cGVfUFRfTk9JU0UA5xovX2Vtc2NyaXB0ZW5fZW51bV9Qb2x5QmxvY2tUeXBlX1BUX1BVTExPVVRfSU1BR0UA7xouX2Vtc2NyaXB0ZW5fZW51bV9Qb2x5QmxvY2tUeXBlX1BUX1BVTExPVVRfVEVYVAC1BydfZW1zY3JpcHRlbl9lbnVtX1BvbHlCbG9ja1R5cGVfUFRfVEFCTEUAghspX2Vtc2NyaXB0ZW5fZW51bV9Qb2x5QmxvY2tUeXBlX1BUX1VOS05PV04A+AUvX2Vtc2NyaXB0ZW5fZW51bV9Qb2x5QmxvY2tUeXBlX1BUX1ZFUlRJQ0FMX1RFWFQA/horX2Vtc2NyaXB0ZW5fZW51bV9Qb2x5QmxvY2tUeXBlX1BUX1ZFUlRfTElORQDpGjhfZW1zY3JpcHRlbl9lbnVtX1N0cm9uZ1NjcmlwdERpcmVjdGlvbl9ESVJfTEVGVF9UT19SSUdIVAD3BS5fZW1zY3JpcHRlbl9lbnVtX1N0cm9uZ1NjcmlwdERpcmVjdGlvbl9ESVJfTUlYALUHMl9lbXNjcmlwdGVuX2VudW1fU3Ryb25nU2NyaXB0RGlyZWN0aW9uX0RJUl9ORVVUUkFMAPgFOF9lbXNjcmlwdGVuX2VudW1fU3Ryb25nU2NyaXB0RGlyZWN0aW9uX0RJUl9SSUdIVF9UT19MRUZUAPYFPF9lbXNjcmlwdGVuX2VudW1fVGV4dGxpbmVPcmRlcl9fVEVYVExJTkVfT1JERVJfTEVGVF9UT19SSUdIVAD4BTxfZW1zY3JpcHRlbl9lbnVtX1RleHRsaW5lT3JkZXJfX1RFWFRMSU5FX09SREVSX1JJR0hUX1RPX0xFRlQA9wU8X2Vtc2NyaXB0ZW5fZW51bV9UZXh0bGluZU9yZGVyX19URVhUTElORV9PUkRFUl9UT1BfVE9fQk9UVE9NAPYFQl9lbXNjcmlwdGVuX2VudW1fV3JpdGluZ0RpcmVjdGlvbl9fV1JJVElOR19ESVJFQ1RJT05fTEVGVF9UT19SSUdIVAD4BUJfZW1zY3JpcHRlbl9lbnVtX1dyaXRpbmdEaXJlY3Rpb25fX1dSSVRJTkdfRElSRUNUSU9OX1JJR0hUX1RPX0xFRlQA9wVCX2Vtc2NyaXB0ZW5fZW51bV9Xcml0aW5nRGlyZWN0aW9uX19XUklUSU5HX0RJUkVDVElPTl9UT1BfVE9fQk9UVE9NAPYFBV9mcmVlAEwHX21hbGxvYwByCV9tZW1hbGlnbgDwHwdfbWVtc2V0AIwBC19waXhEZXN0cm95AF4RX3BpeFJlYWRIZWFkZXJNZW0A0yALX3BpeFJlYWRNZW0AmQsMX3BpeGFEZXN0cm95AOcDC19wdGFEZXN0cm95AJkECWR5bkNhbGxfaQCwHQpkeW5DYWxsX2lpAK8dC2R5bkNhbGxfaWlpAK4dDGR5bkNhbGxfaWlpaQCtHQ1keW5DYWxsX2lpaWlpAKsdDmR5bkNhbGxfaWlpaWlpAKodCWR5bkNhbGxfdgCpHQpkeW5DYWxsX3ZpAKgdC2R5bkNhbGxfdmlpAKcdDGR5bkNhbGxfdmlpaQCmHQ1keW5DYWxsX3ZpaWlpAKUdDmR5bkNhbGxfdmlpaWlpAKQdEmR5bkNhbGxfdmlpaWlpaWlpaQCjHQhzZXRUaHJldwD1JApzdGFja0FsbG9jAII2DHN0YWNrUmVzdG9yZQC6LglzdGFja1NhdmUAuzIJjB4BACMAC4kPoh2sKpgS6CLgIZgSmwHdCrIc9RHdCt0KqxycHJsc3QqOHP81/jXcA8YHrzXGB8YHzDS6NKs0mRuZG9Eq3SnbKaEpnymNKdwDiynlH7Mg3AOAE9wD3AOAE+If+hL6EtMf0h/PH84f5RKEH4Mfgh+BH4Af/x7+HuUS5h7lHuQe4x7iHuEe4B6CC4IL3AOCC4IL3AOBC4EL3AOBC4EL3APcA9wD0BK0HtwDsh6eHp0e4AasBcYHxgfGB9wD3APQErMF6R3VKuQk4STfJOYkjyaMJoom8SftJ+sngSiFKI0oiiiIKLkotii0KOso6CjGB6koqCj8J/gn0CfKJ60n3AOrJqomrRWpJrEmiyWEJbsV+iSOFcgjvxSzI7Ij0wHdAXzZBbwJvwljdXeZI74BpQGBA9ICrxTfItQiigWeId8OhiGsBdwDmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAaEd0DLXDeE1xjX3NNI0vjTXDdcNowHBMKoEywfKB7sNrBzgNd013DXFB/EbwjXBNYQ1gjXzNPI0zTTJNMg0vDSpNLoblzT5M/4q3CmKKYkp+ij5KPgo9yj2KPUo9CjzKPIo8SjwKO8o7ijtKOwoxyDGIMUgiguKC4oLigvZH9Yf0R/NH6cepR6jHpEejx6NHssQ8C+KL/4u/g+yKaopjCnLJ8kk2hzZHNgcnTCBM6oyyxDOL8sQ9i6uGMMuli6NGI0Ypy2ULeEsrhi3D6orgCvqKtsquiqGKoUqhCr3Kdkk4yTgJOckjiaLJocm8CfsJ4woiSi4KLUo1hXdKNYo1Sj7J/knzifAJqwnqyepJ6YnpCejJ6InoSegJ50nnCebJ5onmSfkJeMlnBXfJd4l3SXcJdsl2iXTJdIl0SXQJc8l8STRAsoDgwGNBbMC3SHcIdsh2iH+E9kh2CHXIdQh0iGRDqMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGjAaMBowGSA6sFvjDcCqsFqwXcCtwKywrmEZ0ckhzcCvsbxTWuNfY00TS9NKMKzTKjCqsFqwWrBaMKowqrBaMKqwWrBasFkCnnH+QfuBOyILAgryCmIIMTgxPjH+Ef2h/XH8gfxR/REtESph6kHqEelR6QHo4eix65ErwzsDGzMbIxyyvKK/IElCaTJugn5yePKI4osCivKOMo4iisKKsogCj/J9on2SfHCe0OhCaBJtkj2CPLI8ojySPHI/sbtiO1I7QjSpcj7yKaFErHAYkhiCGHIYUhvCCUIIIgixOBIJIDkgOSA5IDkgOSA5IDkgOSA5IDkgOSA5IDkgOSA5IDkgOSA+YKoh6UHpMekh6MHtsk2iTiJN4k6CSJFeUk6iTrJI0miSbuJ+on8ieEKIMoiyiHKLcosyjqKOko5yjmKMQowCi8KNMozyjMKNwo2yjaKNko2CjXKJ4onSikKKMo+if3J/MnqxWqFfgkgCbcJJojqAHmA4cihiKUIpMi5grmCuYK5QqWH5Ufjh+NH+UK5QrlCrwCjxzZNcw1vDWANe00wzS1NKc0oDSUNMofxx+bH5ofmB+UH5Mfkh+QH4wf8A28HrUesx6gHooe8A24HvANrh6cGZopnCabJssLvAK8ArwCvAK8ArwCvAK8ArwCvAK8ArwCvAK8ArwCvAK8ArwCvAK8ArwCvAK8ArwCvAK8ArwClxLEHsIelxLxApEckByMHIA2/TXEH8MfwR/AH/US9RK/H74fvR+8H7sfrh+tH6sfqh/rEusSqR+oH6cfph+lH4ofiR+IH4cfhh/tHuwe6x7qHukewx7BHuoLnyaeJvEC8QLxAvEC8QLxAvEC8QLxAvEC8QLxAvEC8QLxAvEC8QLxAvEC8QLxAoUGzhzQHs8ezR7MHskeyB6LD4UGhQaFBoUGhQaFBoUG0QeFH+gevh69Hrceth7OEs4SsB6vHtEH0QfRB9EH0QfkCpkflx+RH48f5ArkCuQK4wr1NfQ16zXqNeMK4wrjCqAdpCuVEvY17DWVEuIK+zX4Ne415jXiCuIK4grhCkf2HQTtHeEK4QrhCpABxgHQAcwCqxnEMN4KiB3QDbMczg3PHM0N0hz6CMkNxgHQAcwCxgHQAcwCvw3CHNEKvBz2CLsc6RHOCs0KzArzCKIDzgrpEc4KrhzOCtoRoBzZEZocghLJDZMctQ20DbUNxgHMAtABghLJDdQRzAKFHPk1gBzvNccH0BHGAd410BHwG8o1xDXDNbA15xv4BOcb0BHIG/w09TT0NLcRthHQNMo0thG2EbURrjS4G6U0tBuZNLMbrxH7Ba8RxgHQAbIbizSzG68RrhGKNLEbiDStEYc03QivG68bxgHMAq4b/zOrG/ozmhvMAsYB0AHMAsYB0AHMArUNxgHQAcwCxgHQAcwCxgHQAcwCxgHQAcwCxgHQAcwCkBDVLpMM0SzGAdABzALGAdABzALGAdABzALGAdABzALGAdABzALGAdABzALGAdABzALGAdABzALGAdABzALGAdABzALGAdABzAL0Fd4pxgHQAcwC0AGJC/gN/hL9EuUL3BWGKYUp/Q6SKYkJ6B/7DfoN/xL5DYkL+A3+Ev0SiAv3DfwS+xKIC/cN/BL7EvkN+g35DfoNxgHQAagHxgHQAcYB0AHGAdABxgHQAcYB0AHGAdABxgHQAd4S3RLeEt0SxgHQAcYB0AHGAdABxgHQAcYB0AHGAdABxgHQAcYB0AHGAdABxgHQAcYB0AHQAcwSsR7LEqoeyRKoHscSnx7GEpke0AHQAdAB0AHQAcYB0AHGAcYB0AG4ErcStxLGAdAB0AGQJoQB+RHQAYQBhTSENIM0gTT3M/Uz8zOEAfIz8TPwM+8z7TPfMoUx+gPqLukuty6EAYQB5iyEAYQB9in4Kd0kiCbpJ4YosiixKOUo5CjGAfYn9SfTJ9InxgHGAZkmlyaVJscnxifGAcsm2CbgJsYB7yaYJ58npyevJ64n1ibGAZ0mmiauFbAmrxWvJs0JgiaWJZUllCXGAZwlxgHOJZcV8iXxJfAl7yXuJeEl4CWCJYwliiWFJYMlhiX9JPwk+yTJCfAk8yTGAcgFmRRe4yJMmBSvC+Ui4CLeIroVmBTVIsYBmRT9B9Ug1CC5H8YB7B2QAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABnx2dHeAK2zW/NfE0xzTgCuAK4ArCA+Q14jX8G9sMwQTDCs41yDXHNYc1hTWkDfk0+DTXNNU01DTTNM40yzTCNL80uTS3NKw0ojSYNKsz9Sn0KZEpwwrDCtsf2B/UH9AfsASwBLAE2hKKBooGsASwBLAE2hKKBooGsASwBLAE2RKKBooGsASwBLAE2RKKBooGwwrDCpwemx6aHpgelx6WHqczqjOsM88nmCaWJswm2SbzJrcnqRXyBv0lqCXVJeIl5SXnJewloRXyJOQimCM5liOUI/MUkiOQI48jrw5qigHWItMi2gXYBc8LuwmPBb4J/BO7IMIDwgPCA8IDwgPCA8IDwgPCA8IDwgPCA8IDwgPCA4gDixyKHOM1yTWGNfs01jS4NK00pDTeCN4IgDT+M94I3gj8KJImhibvJ+Yn0QnRCcMowijBKL8ovii9KLsouijSKNAozijNKMso1CiqKKEooCifKJwomiiZKKcopiilKKIo/ie1JpYV7SXNJcslyiXJJcglxyXGJcUlxCXDJcIlwSXAJb8lviW9JbwluyW6JbkluCW3JbYltSW0JbMlsiWxJbAlryWuJa0lrCWrJdcj1iPUI9Mj0QnGI9EJXOIikyORI44j6gfmIp0h3yHeIaAhnyGEIdEJ1iCIA4gDiAOIA4gDiAOIA4gDiAOIA4gDiAOIA4gDiAOIA4gDiAOIA68Esw2zDeg1sw2+NfA0xjSOKYETgRPJH8Yf8h3uHeYdhDOFM/0n3ibcJu0m7CbrJuom6Sa1J7MnsifXJtQm1SbIJscmxSbGJsMmoyWiJaEloCWfJZ4l5iWTAawU6yLqIuciggTWIdUh0SGvBK8ErwSvBK8ErwSvBK8ErwSvBK8E/QTzHe8d5x3oJucm5SbkJuMm4ibhJpcnlSeUJ5MnkieRJ5AnjyeOJ40njCeKJ4kniCeHJ4YnhSeEJ4MngieBJ4An/yb+Jv0m/Cb7Jvom+Sb4Jvcm9ib1JvQmnSWbJZolmSWYJZclpCWtFKsUkAX9BP0E/QT9BP0E/QT9BP0E/QScHdo1zTW9NYE17jTFNLY0qDShNJY0wB6/HvQd8B3oHf0InxzfJt0m7ibyJvEm8CanJaUlqiWpJf0I/Qj9CP0I0AeuFIUihCKDIoIigSKAIv8h/iH9Ifwh+yH6Ifkh+CH3IfYh9SH0IfMh8iHxIfAh7yHuIesh0AfQB9AH0AfQB4QGkzKSIpEikCKPIo4ijSKMIoQGhAaEBoQGhAaEBoQGmx2PKYITghOaHZMS8zXpNZMSkhL3Ne01khIKstJmuTUvAQF/IwYhAyMGQRBqJAYgAyABNgIAIAMgADYCBEHEtBZBu4MeIAMQXCADJAYgAgukAQEBfyMGIQIjBkEQaiQGIAIgATYCAEHQ5PAAQYCABCAAIAIQ4QcaQaDE+QAoAgAhAEHcwPkAEJEDLAAARSEBAkACQCAABEAgAQRAIAAQ/QEaQaDE+QBBADYCAAwCCwUgAQRADAIFQaDE+QBB3MD5ABCRA0H+hB0Q5QIiADYCACAARQ0CCwtB0OTwACAAEN4HDAELQdDk8ABBxLQWEN4HCyACJAYLhg4BCH8gAEUEQA8LQfzF+QAoAgAhBCAAQXhqIgIgAEF8aigCACIDQXhxIgBqIQUCfyADQQFxBH8gAgUgAigCACEBIANBA3FFBEAPCyACIAFrIgIgBEkEQA8LIAEgAGohAEGAxvkAKAIAIAJGBEAgAiAFQQRqIgEoAgAiA0EDcUEDRw0CGkH0xfkAIAA2AgAgASADQX5xNgIAIAIgAEEBcjYCBCACIABqIAA2AgAPCyABQQN2IQQgAUGAAkkEQCACKAIMIgEgAigCCCIDRgRAQezF+QBB7MX5ACgCAEEBIAR0QX9zcTYCAAUgAyABNgIMIAEgAzYCCAsgAgwCCyACKAIYIQcCQCACKAIMIgEgAkYEQCACQRBqIgNBBGoiBCgCACIBBEAgBCEDBSADKAIAIgFFBEBBACEBDAMLCwNAAkAgAUEUaiIEKAIAIgZFBEAgAUEQaiIEKAIAIgZFDQELIAQhAyAGIQEMAQsLIANBADYCAAUgAigCCCIDIAE2AgwgASADNgIICwsgBwR/IAIoAhwiA0ECdEGcyPkAaiIEKAIAIAJGBEAgBCABNgIAIAFFBEBB8MX5AEHwxfkAKAIAQQEgA3RBf3NxNgIAIAIMBAsFIAdBEGoiAyAHQRRqIAMoAgAgAkYbIAE2AgAgAiABRQ0DGgsgASAHNgIYIAJBEGoiBCgCACIDBEAgASADNgIQIAMgATYCGAsgBCgCBCIDBEAgASADNgIUIAMgATYCGAsgAgUgAgsLCyIHIAVPBEAPCyAFQQRqIgMoAgAiAUEBcUUEQA8LIAFBAnEEQCADIAFBfnE2AgAgAiAAQQFyNgIEIAcgAGogADYCACAAIQMFQYTG+QAoAgAgBUYEQEH4xfkAQfjF+QAoAgAgAGoiADYCAEGExvkAIAI2AgAgAiAAQQFyNgIEIAJBgMb5ACgCAEcEQA8LQYDG+QBBADYCAEH0xfkAQQA2AgAPC0GAxvkAKAIAIAVGBEBB9MX5AEH0xfkAKAIAIABqIgA2AgBBgMb5ACAHNgIAIAIgAEEBcjYCBCAHIABqIAA2AgAPCyABQXhxIABqIQMgAUEDdiEEAkAgAUGAAkkEQCAFKAIMIgAgBSgCCCIBRgRAQezF+QBB7MX5ACgCAEEBIAR0QX9zcTYCAAUgASAANgIMIAAgATYCCAsFIAUoAhghCAJAIAUoAgwiACAFRgRAIAVBEGoiAUEEaiIEKAIAIgAEQCAEIQEFIAEoAgAiAEUEQEEAIQAMAwsLA0ACQCAAQRRqIgQoAgAiBkUEQCAAQRBqIgQoAgAiBkUNAQsgBCEBIAYhAAwBCwsgAUEANgIABSAFKAIIIgEgADYCDCAAIAE2AggLCyAIBEAgBSgCHCIBQQJ0QZzI+QBqIgQoAgAgBUYEQCAEIAA2AgAgAEUEQEHwxfkAQfDF+QAoAgBBASABdEF/c3E2AgAMBAsFIAhBEGoiASAIQRRqIAEoAgAgBUYbIAA2AgAgAEUNAwsgACAINgIYIAVBEGoiBCgCACIBBEAgACABNgIQIAEgADYCGAsgBCgCBCIBBEAgACABNgIUIAEgADYCGAsLCwsgAiADQQFyNgIEIAcgA2ogAzYCACACQYDG+QAoAgBGBEBB9MX5ACADNgIADwsLIANBA3YhASADQYACSQRAIAFBA3RBlMb5AGohAEHsxfkAKAIAIgNBASABdCIBcQR/IABBCGoiAygCAAVB7MX5ACADIAFyNgIAIABBCGohAyAACyEBIAMgAjYCACABIAI2AgwgAiABNgIIIAIgADYCDA8LIANBCHYiAAR/IANB////B0sEf0EfBSADQQ4gACAAQYD+P2pBEHZBCHEiAHQiAUGA4B9qQRB2QQRxIgQgAHIgASAEdCIAQYCAD2pBEHZBAnEiAXJrIAAgAXRBD3ZqIgBBB2p2QQFxIABBAXRyCwVBAAsiAUECdEGcyPkAaiEAIAIgATYCHCACQQA2AhQgAkEANgIQAkBB8MX5ACgCACIEQQEgAXQiBnEEQAJAIAAoAgAiACgCBEF4cSADRgR/IAAFIANBAEEZIAFBAXZrIAFBH0YbdCEEA0AgAEEQaiAEQR92QQJ0aiIGKAIAIgEEQCAEQQF0IQQgASgCBEF4cSADRg0DIAEhAAwBCwsgBiACNgIAIAIgADYCGCACIAI2AgwgAiACNgIIDAMLIQELIAFBCGoiACgCACIDIAI2AgwgACACNgIAIAIgAzYCCCACIAE2AgwgAkEANgIYBUHwxfkAIAQgBnI2AgAgACACNgIAIAIgADYCGCACIAI2AgwgAiACNgIICwtBjMb5AEGMxvkAKAIAQX9qIgA2AgAgAARADwtBtMn5ACEAA0AgACgCACICQQhqIQAgAg0AC0GMxvkAQX82AgALNAAgAUF/SgRAIAAoAgAgAUoEQCAAKAIIIAFBAnRqDwsLQa+EHUHQhB1B1QVBtdkgEAFBAAskACABBH8gAEGAgICAeEYgAUF/RnEEf0EABSAAIAFtCwVBAAsLRgEBfyAAQQEgABshAQNAIAEQciIARQRAQbzV+QBBvNX5ACgCACIANgIAIAAEfyAAQQdxQZoHahEeAAwCBUEACyEACwsgAAsJACAAIAE2AgAL1wEBBH8jBiEFIwZBsAhqJAYgBUGQCGohBiAFIQcgAQR/IAYgATYCACAHIAdBxrIXIAYQrgJqBSAHCyEBIAVBgAhqIQYgBUGYCGoiCCAAKAIANgIAIAEgAUHKshcgCBCuAmohACADBEAgAEE6OwAAIAYgBDYCACAAQQFqIgAgACADIAYQig5qQQo7AAAFIABBCjsAAAsgBUGgCGohACAHQcS0FhDeBwJAAkACQAJAIAJBf2sOBAAAAQECCwwCCxATDAELQeCVFkHTshdBAkEAIAAQUQsgBSQGC0UBAn8DQAJAIAMgAk4NACABIANBA3RqKAIAIgRFDQAgBCAARgRAIAEgA0EDdEEEamooAgAPBSADQQFqIQMMAgsACwtBAAtcAQN/IwYhASMGQRBqJAYgACgCAEUEQEH0lRZBpLsXQQJBACABEFELIAFBCGohAiAAQQhqIgMoAgAiAEUEQEH4lRZBpLsXQQJBACACEFEgAygCACEACyABJAYgAAsUACAALAALQQBIBEAgACgCABBMCwsJACAAIAEQwAkLCAAgABChAhoLCQAgAEEANgIACxAAIAAoAgAQTCAAQQA2AgALXQEDfyMGIQEjBkEQaiQGIAAoAgAiAkUEQEH0lRZB3bwXQQJBACABEFEgACgCACECCyACKAIABH8gACgCCCAAKAIURgR/IAAsABhBAEcFQQALBUEBCyEDIAEkBiADC0AAIAAgAGIEf0GAgICAeAUgAEQAAAAAAADgQWYEf0GAgICAeAUgAEQAACAAAADgwWUEf0GAgICAeAUgAKoLCwsLTAECfyMGIQEjBkEQaiQGIAAoAgBFBEBB9JUWQfm8F0ECQQAgARBRCyAAKAIIIgIEQCAAIAI2AhQFIABBAToAEQsgAEEAOgAYIAEkBgskAQF/IwYhAyMGQRBqJAYgAyACNgIAIAAgASADEJEJGiADJAYLJQEBfyAAKAIAIgFBBGoiASgCAAR/IAFBfzYCACAAELIDBUEACwtEAQJ/IwYhASMGQRBqJAYgAARAIAAoAgAiAgRAIAIQ1SQgAEEANgIACwUgAUHviR42AgBBxLQWQcaYICABEFwLIAEkBgsjAQF/IwYhAyMGQRBqJAYgAyACNgIAIAAgASADEPsoIAMkBgszACAAIAIgAyAEEN8MIAAgAUEBcSIBOgAKIAAgAToACyAAIAVBFGoiATYCDCABIAAQuQELMAEBfyAAIAIgA0EAEN8MIAAgATkDECAAIAE5AxggACAEQTxqIgU2AiAgBSAAELkBCwcAIABBCGoLgwEBA38CQCAAIgJBA3EEQCACIgEhAANAIAEsAABFDQIgAUEBaiIBIgBBA3ENAAsgASEACwNAIABBBGohASAAKAIAIgNBgIGChHhxQYCBgoR4cyADQf/9+3dqcUUEQCABIQAMAQsLIANB/wFxBEADQCAAQQFqIgAsAAANAAsLCyAAIAJrCzQAIAFBf0oEQCAAKAIAIAFKBEAgACgCCCABQQN0ag8LC0GvhB1B0IQdQdUFQbXZIBABQQALOAAgACAAXAR/QYCAgIB4BSAAQwAAAE9gBH9BgICAgHgFIABDAAAAz18Ef0GAgICAeAUgAKgLCwsLDwAgAQR/IAAgAW4FQQALC4UBAEGwhPkALAAARQRAQbCE+QAQvQIEQEGoo/kAQgA3AgBBsKP5AEIANwIAQbij+QBCADcCAEHAo/kAQgA3AgBByKP5AEIANwIAQdCj+QBCADcCAEHYo/kAQgA3AgBB4KP5AEIANwIAQeij+QBCADcCAEHwo/kAQgA3AgBBqKP5ABDmGQsLC+kBAQV/AkAgAEEEaiICKAIAQQBKBEAgAEEMaiIDKAIABEAgAEEIaiEEA0AgASAAKAIATg0DIAMoAgAiBSAEKAIAIAFBAnRqKAIAIAUoAgAoAghB/wBxQawLahEDACABQQFqIQEMAAALAAsLCyAAQQhqIgEoAgAiAwRAIAMQTAsgAUEANgIAIABBADYCACACQQA2AgAgAEEMaiICKAIAIgEEQCABIAEoAgAoAgRB/wNxQaIHahEAAAsgAkEANgIAIABBEGoiASgCACIABEAgACAAKAIAKAIEQf8DcUGiB2oRAAALIAFBADYCAAsNACAAQQxqEFQgABBUC2QBAn8gAARAAkAgASwAAEEjRgRAQQEhAgNAIAJBD08NAiABIAJqLAAAQSBHBEAgAkEBaiECDAELCwsLIAAoAqQBIgMEQCAAIAEgAmogA0H/AHFBrAtqEQMADwsLIAEgAmoQgiMLHQAgABC6AwR/QQAFIAAvAQYgAC8BAmtB//8DcQsLegEFfyABBEAgASwAAARAIAAQngQgARBjIgZBAWohAiAAIAAoAgAiAygCBCIDIAJqELkIIQQgACgCACEFIANBAEoEQCAEIANqQX9qIAEgAhBtGiAFQQRqIgEgASgCACAGajYCAAUgBCABIAIQbRogBSACNgIECwsLIAALwwMBA38gAkGAwABOBEAgACABIAIQOA8LIAAhBCAAIAJqIQMgAEEDcSABQQNxRgRAA0AgAEEDcQRAIAJFBEAgBA8LIAAgASwAADoAACAAQQFqIQAgAUEBaiEBIAJBAWshAgwBCwsgA0F8cSICQUBqIQUDQCAAIAVMBEAgACABKAIANgIAIAAgASgCBDYCBCAAIAEoAgg2AgggACABKAIMNgIMIAAgASgCEDYCECAAIAEoAhQ2AhQgACABKAIYNgIYIAAgASgCHDYCHCAAIAEoAiA2AiAgACABKAIkNgIkIAAgASgCKDYCKCAAIAEoAiw2AiwgACABKAIwNgIwIAAgASgCNDYCNCAAIAEoAjg2AjggACABKAI8NgI8IABBQGshACABQUBrIQEMAQsLA0AgACACSARAIAAgASgCADYCACAAQQRqIQAgAUEEaiEBDAELCwUgA0EEayECA0AgACACSARAIAAgASwAADoAACAAIAEsAAE6AAEgACABLAACOgACIAAgASwAAzoAAyAAQQRqIQAgAUEEaiEBDAELCwsDQCAAIANIBEAgACABLAAAOgAAIABBAWohACABQQFqIQEMAQsLIAQLHQAgABC6AwR/QQAFIAAvAQQgAC8BAGtB//8DcQsLBwAgAEF/RgtaAQR/IwYhASMGQRBqJAYgAEEIaiICKAIARQRAQfiVFkHptRdBAkEAIAEQUQsgAUEIaiEDIAAoAgBFBEBB9JUWQem1F0ECQQAgAxBRCyACKAIAIQQgASQGIAQLBwAgAEEQagusOAEOfwJAAkAjBiENIwZBEGokBiANIQoCQCAAQfUBSQRAQezF+QAoAgAiBUEQIABBC2pBeHEgAEELSRsiAkEDdiIAdiIBQQNxBEAgAUEBcUEBcyAAaiIAQQN0QZTG+QBqIgFBCGoiBCgCACICQQhqIgYoAgAiAyABRgRAQezF+QAgBUEBIAB0QX9zcTYCAAUgAyABNgIMIAQgAzYCAAsgAiAAQQN0IgBBA3I2AgQgAiAAakEEaiIAIAAoAgBBAXI2AgAgCiQGIAYPCyACQfTF+QAoAgAiB0sEfyABBEAgASAAdEECIAB0IgBBACAAa3JxIgBBACAAa3FBf2oiAUEMdkEQcSEAIAEgAHYiAUEFdkEIcSIDIAByIAEgA3YiAEECdkEEcSIBciAAIAF2IgBBAXZBAnEiAXIgACABdiIAQQF2QQFxIgFyIAAgAXZqIgNBA3RBlMb5AGoiAEEIaiIGKAIAIgFBCGoiCCgCACIEIABGBEBB7MX5ACAFQQEgA3RBf3NxIgA2AgAFIAQgADYCDCAGIAQ2AgAgBSEACyABIAJBA3I2AgQgASACaiIEIANBA3QiAyACayIFQQFyNgIEIAEgA2ogBTYCACAHBEBBgMb5ACgCACEDIAdBA3YiAkEDdEGUxvkAaiEBIABBASACdCICcQR/IAFBCGoiAigCAAVB7MX5ACAAIAJyNgIAIAFBCGohAiABCyEAIAIgAzYCACAAIAM2AgwgAyAANgIIIAMgATYCDAtB9MX5ACAFNgIAQYDG+QAgBDYCACAKJAYgCA8LQfDF+QAoAgAiCwR/IAtBACALa3FBf2oiAUEMdkEQcSEAIAEgAHYiAUEFdkEIcSIDIAByIAEgA3YiAEECdkEEcSIBciAAIAF2IgBBAXZBAnEiAXIgACABdiIAQQF2QQFxIgFyIAAgAXZqQQJ0QZzI+QBqKAIAIgMhACADKAIEQXhxIAJrIQgDQAJAIAAoAhAiAQRAIAEhAAUgACgCFCIARQ0BCyAAIAMgACgCBEF4cSACayIBIAhJIgQbIQMgASAIIAQbIQgMAQsLIAMgAmoiDCADSwR/IAMoAhghCQJAIAMoAgwiACADRgRAIANBFGoiASgCACIARQRAIANBEGoiASgCACIARQRAQQAhAAwDCwsDQAJAIABBFGoiBCgCACIGRQRAIABBEGoiBCgCACIGRQ0BCyAEIQEgBiEADAELCyABQQA2AgAFIAMoAggiASAANgIMIAAgATYCCAsLAkAgCQRAIAMgAygCHCIBQQJ0QZzI+QBqIgQoAgBGBEAgBCAANgIAIABFBEBB8MX5ACALQQEgAXRBf3NxNgIADAMLBSAJQRBqIgEgCUEUaiABKAIAIANGGyAANgIAIABFDQILIAAgCTYCGCADKAIQIgEEQCAAIAE2AhAgASAANgIYCyADKAIUIgEEQCAAIAE2AhQgASAANgIYCwsLIAhBEEkEQCADIAggAmoiAEEDcjYCBCADIABqQQRqIgAgACgCAEEBcjYCAAUgAyACQQNyNgIEIAwgCEEBcjYCBCAMIAhqIAg2AgAgBwRAQYDG+QAoAgAhBCAHQQN2IgFBA3RBlMb5AGohAEEBIAF0IgEgBXEEfyAAQQhqIgIoAgAFQezF+QAgASAFcjYCACAAQQhqIQIgAAshASACIAQ2AgAgASAENgIMIAQgATYCCCAEIAA2AgwLQfTF+QAgCDYCAEGAxvkAIAw2AgALIAokBiADQQhqDwUgAgsFIAILBSACCyEABSAAQb9/SwRAQX8hAAUgAEELaiIBQXhxIQBB8MX5ACgCACIFBEAgAUEIdiIBBH8gAEH///8HSwR/QR8FIABBDiABIAFBgP4/akEQdkEIcSIBdCICQYDgH2pBEHZBBHEiAyABciACIAN0IgFBgIAPakEQdkECcSICcmsgASACdEEPdmoiAUEHanZBAXEgAUEBdHILBUEACyEHQQAgAGshAwJAAkAgB0ECdEGcyPkAaigCACIBBEBBACECIABBAEEZIAdBAXZrIAdBH0YbdCEGA0AgASgCBEF4cSAAayIIIANJBEAgCAR/IAghAyABBUEAIQMgASECDAQLIQILIAQgASgCFCIEIARFIAQgAUEQaiAGQR92QQJ0aigCACIBRnIbIQQgBkEBdCEGIAENAAsgAiEBBUEAIQELIAQgAXIEfyAEBUECIAd0IgFBACABa3IgBXEiAUUNBiABQQAgAWtxQX9qIgRBDHZBEHEhAkEAIQEgBCACdiIEQQV2QQhxIgYgAnIgBCAGdiICQQJ2QQRxIgRyIAIgBHYiAkEBdkECcSIEciACIAR2IgJBAXZBAXEiBHIgAiAEdmpBAnRBnMj5AGooAgALIgINACABIQQMAQsgASEEIAMhAQNAIAIoAgQhDiACKAIQIgNFBEAgAigCFCEDCyAOQXhxIABrIgggAUkhBiAIIAEgBhshASACIAQgBhshBCADBH8gAyECDAEFIAELIQMLCyAEBEAgA0H0xfkAKAIAIABrSQRAIAQgAGoiByAESwRAIAQoAhghCQJAIAQoAgwiASAERgRAIARBFGoiAigCACIBRQRAIARBEGoiAigCACIBRQRAQQAhAQwDCwsDQAJAIAFBFGoiBigCACIIRQRAIAFBEGoiBigCACIIRQ0BCyAGIQIgCCEBDAELCyACQQA2AgAFIAQoAggiAiABNgIMIAEgAjYCCAsLAkAgCQR/IAQgBCgCHCICQQJ0QZzI+QBqIgYoAgBGBEAgBiABNgIAIAFFBEBB8MX5ACAFQQEgAnRBf3NxIgE2AgAMAwsFIAlBEGoiAiAJQRRqIAIoAgAgBEYbIAE2AgAgAUUEQCAFIQEMAwsLIAEgCTYCGCAEKAIQIgIEQCABIAI2AhAgAiABNgIYCyAEKAIUIgIEQCABIAI2AhQgAiABNgIYCyAFBSAFCyEBCwJAIANBEEkEQCAEIAMgAGoiAEEDcjYCBCAEIABqQQRqIgAgACgCAEEBcjYCAAUgBCAAQQNyNgIEIAcgA0EBcjYCBCAHIANqIAM2AgAgA0EDdiECIANBgAJJBEAgAkEDdEGUxvkAaiEAQezF+QAoAgAiAUEBIAJ0IgJxBH8gAEEIaiICKAIABUHsxfkAIAEgAnI2AgAgAEEIaiECIAALIQEgAiAHNgIAIAEgBzYCDCAHIAE2AgggByAANgIMDAILIANBCHYiAAR/IANB////B0sEf0EfBSADQQ4gACAAQYD+P2pBEHZBCHEiAHQiAkGA4B9qQRB2QQRxIgUgAHIgAiAFdCIAQYCAD2pBEHZBAnEiAnJrIAAgAnRBD3ZqIgBBB2p2QQFxIABBAXRyCwVBAAsiAkECdEGcyPkAaiEAIAcgAjYCHCAHQRBqIgVBADYCBCAFQQA2AgAgAUEBIAJ0IgVxRQRAQfDF+QAgASAFcjYCACAAIAc2AgAgByAANgIYIAcgBzYCDCAHIAc2AggMAgsCQCAAKAIAIgAoAgRBeHEgA0YEfyAABSADQQBBGSACQQF2ayACQR9GG3QhAgNAIABBEGogAkEfdkECdGoiBSgCACIBBEAgAkEBdCECIAEoAgRBeHEgA0YNAyABIQAMAQsLIAUgBzYCACAHIAA2AhggByAHNgIMIAcgBzYCCAwDCyEBCyABQQhqIgAoAgAiAiAHNgIMIAAgBzYCACAHIAI2AgggByABNgIMIAdBADYCGAsLIAokBiAEQQhqDwsLCwsLCwtB9MX5ACgCACICIABPBEBBgMb5ACgCACEBIAIgAGsiA0EPSwRAQYDG+QAgASAAaiIFNgIAQfTF+QAgAzYCACAFIANBAXI2AgQgASACaiADNgIAIAEgAEEDcjYCBAVB9MX5AEEANgIAQYDG+QBBADYCACABIAJBA3I2AgQgASACakEEaiIAIAAoAgBBAXI2AgALDAILQfjF+QAoAgAiAiAASwRAQfjF+QAgAiAAayICNgIADAELQcTJ+QAoAgAEf0HMyfkAKAIABUHMyfkAQYAgNgIAQcjJ+QBBgCA2AgBB0Mn5AEF/NgIAQdTJ+QBBfzYCAEHYyfkAQQA2AgBBqMn5AEEANgIAQcTJ+QAgCkFwcUHYqtWqBXM2AgBBgCALIgEgAEEvaiIEaiIGQQAgAWsiCHEiBSAATQRAIAokBkEADwtBpMn5ACgCACIBBEBBnMn5ACgCACIDIAVqIgcgA00gByABS3IEQCAKJAZBAA8LCyAAQTBqIQcCQAJAQajJ+QAoAgBBBHEEQEEAIQIFAkACQAJAQYTG+QAoAgAiAUUNAEGsyfkAIQMDQAJAIAMoAgAiCSABTQRAIAkgA0EEaiIJKAIAaiABSw0BCyADKAIIIgMNAQwCCwsgBiACayAIcSICQf////8HSQRAIAIQ1wYiASADKAIAIAkoAgBqRgRAIAFBf0cNBgUMAwsFQQAhAgsMAgtBABDXBiIBQX9GBH9BAAVByMn5ACgCACICQX9qIgMgAWpBACACa3EgAWtBACADIAFxGyAFaiICQZzJ+QAoAgAiBmohAyACIABLIAJB/////wdJcQR/QaTJ+QAoAgAiCARAIAMgBk0gAyAIS3IEQEEAIQIMBQsLIAIQ1wYiAyABRg0FIAMhAQwCBUEACwshAgwBCyAHIAJLIAJB/////wdJIAFBf0dxcUUEQCABQX9GBEBBACECDAIFDAQLAAsgBCACa0HMyfkAKAIAIgNqQQAgA2txIgNB/////wdPDQJBACACayEEIAMQ1wZBf0YEfyAEENcGGkEABSADIAJqIQIMAwshAgtBqMn5AEGoyfkAKAIAQQRyNgIACyAFQf////8HSQRAIAUQ1wYhAUEAENcGIgMgAWsiBCAAQShqSyEFIAQgAiAFGyECIAFBf0YgBUEBc3IgASADSSABQX9HIANBf0dxcUEBc3JFDQELDAELQZzJ+QBBnMn5ACgCACACaiIDNgIAIANBoMn5ACgCAEsEQEGgyfkAIAM2AgALAkBBhMb5ACgCACIFBEBBrMn5ACEDAkACQANAIAEgAygCACIEIANBBGoiBigCACIIakYNASADKAIIIgMNAAsMAQsgAygCDEEIcUUEQCABIAVLIAQgBU1xBEAgBiAIIAJqNgIAIAVBACAFQQhqIgFrQQdxQQAgAUEHcRsiA2ohAUH4xfkAKAIAIAJqIgQgA2shAkGExvkAIAE2AgBB+MX5ACACNgIAIAEgAkEBcjYCBCAFIARqQSg2AgRBiMb5AEHUyfkAKAIANgIADAQLCwsgAUH8xfkAKAIASQRAQfzF+QAgATYCAAsgASACaiEEQazJ+QAhAwJAAkADQCADKAIAIARGDQEgAygCCCIDDQALDAELIAMoAgxBCHFFBEAgAyABNgIAIANBBGoiAyADKAIAIAJqNgIAIAFBACABQQhqIgFrQQdxQQAgAUEHcRtqIgcgAGohBiAEQQAgBEEIaiIBa0EHcUEAIAFBB3EbaiICIAdrIABrIQMgByAAQQNyNgIEAkAgBSACRgRAQfjF+QBB+MX5ACgCACADaiIANgIAQYTG+QAgBjYCACAGIABBAXI2AgQFQYDG+QAoAgAgAkYEQEH0xfkAQfTF+QAoAgAgA2oiADYCAEGAxvkAIAY2AgAgBiAAQQFyNgIEIAYgAGogADYCAAwCCyACKAIEIgBBA3FBAUYEQCAAQXhxIQkgAEEDdiEFAkAgAEGAAkkEQCACKAIMIgAgAigCCCIBRgRAQezF+QBB7MX5ACgCAEEBIAV0QX9zcTYCAAUgASAANgIMIAAgATYCCAsFIAIoAhghCAJAIAIoAgwiACACRgRAIAJBEGoiAUEEaiIFKAIAIgAEQCAFIQEFIAEoAgAiAEUEQEEAIQAMAwsLA0ACQCAAQRRqIgUoAgAiBEUEQCAAQRBqIgUoAgAiBEUNAQsgBSEBIAQhAAwBCwsgAUEANgIABSACKAIIIgEgADYCDCAAIAE2AggLCyAIRQ0BAkAgAigCHCIBQQJ0QZzI+QBqIgUoAgAgAkYEQCAFIAA2AgAgAA0BQfDF+QBB8MX5ACgCAEEBIAF0QX9zcTYCAAwDBSAIQRBqIgEgCEEUaiABKAIAIAJGGyAANgIAIABFDQMLCyAAIAg2AhggAkEQaiIFKAIAIgEEQCAAIAE2AhAgASAANgIYCyAFKAIEIgFFDQEgACABNgIUIAEgADYCGAsLIAIgCWohAiAJIANqIQMLIAJBBGoiACAAKAIAQX5xNgIAIAYgA0EBcjYCBCAGIANqIAM2AgAgA0EDdiEBIANBgAJJBEAgAUEDdEGUxvkAaiEAQezF+QAoAgAiAkEBIAF0IgFxBH8gAEEIaiICKAIABUHsxfkAIAIgAXI2AgAgAEEIaiECIAALIQEgAiAGNgIAIAEgBjYCDCAGIAE2AgggBiAANgIMDAILAn8gA0EIdiIABH9BHyADQf///wdLDQEaIANBDiAAIABBgP4/akEQdkEIcSIAdCIBQYDgH2pBEHZBBHEiAiAAciABIAJ0IgBBgIAPakEQdkECcSIBcmsgACABdEEPdmoiAEEHanZBAXEgAEEBdHIFQQALCyIBQQJ0QZzI+QBqIQAgBiABNgIcIAZBEGoiAkEANgIEIAJBADYCAEHwxfkAKAIAIgJBASABdCIFcUUEQEHwxfkAIAIgBXI2AgAgACAGNgIAIAYgADYCGCAGIAY2AgwgBiAGNgIIDAILAkAgACgCACIAKAIEQXhxIANGBH8gAAUgA0EAQRkgAUEBdmsgAUEfRht0IQIDQCAAQRBqIAJBH3ZBAnRqIgUoAgAiAQRAIAJBAXQhAiABKAIEQXhxIANGDQMgASEADAELCyAFIAY2AgAgBiAANgIYIAYgBjYCDCAGIAY2AggMAwshAQsgAUEIaiIAKAIAIgIgBjYCDCAAIAY2AgAgBiACNgIIIAYgATYCDCAGQQA2AhgLCyAKJAYgB0EIag8LC0GsyfkAIQMDQAJAIAMoAgAiBCAFTQRAIAQgAygCBGoiBiAFSw0BCyADKAIIIQMMAQsLIAZBUWoiBEEIaiEDIAUgBEEAIANrQQdxQQAgA0EHcRtqIgMgAyAFQRBqIgdJGyIDQQhqIQRBhMb5ACABQQAgAUEIaiIIa0EHcUEAIAhBB3EbIghqIgk2AgBB+MX5ACACQVhqIgsgCGsiCDYCACAJIAhBAXI2AgQgASALakEoNgIEQYjG+QBB1Mn5ACgCADYCACADQQRqIghBGzYCACAEQazJ+QApAgA3AgAgBEG0yfkAKQIANwIIQazJ+QAgATYCAEGwyfkAIAI2AgBBuMn5AEEANgIAQbTJ+QAgBDYCACADQRhqIQEDQCABQQRqIgJBBzYCACABQQhqIAZJBEAgAiEBDAELCyADIAVHBEAgCCAIKAIAQX5xNgIAIAUgAyAFayIEQQFyNgIEIAMgBDYCACAEQQN2IQIgBEGAAkkEQCACQQN0QZTG+QBqIQFB7MX5ACgCACIDQQEgAnQiAnEEfyABQQhqIgMoAgAFQezF+QAgAyACcjYCACABQQhqIQMgAQshAiADIAU2AgAgAiAFNgIMIAUgAjYCCCAFIAE2AgwMAwsgBEEIdiIBBH8gBEH///8HSwR/QR8FIARBDiABIAFBgP4/akEQdkEIcSIBdCICQYDgH2pBEHZBBHEiAyABciACIAN0IgFBgIAPakEQdkECcSICcmsgASACdEEPdmoiAUEHanZBAXEgAUEBdHILBUEACyICQQJ0QZzI+QBqIQEgBSACNgIcIAVBADYCFCAHQQA2AgBB8MX5ACgCACIDQQEgAnQiBnFFBEBB8MX5ACADIAZyNgIAIAEgBTYCACAFIAE2AhggBSAFNgIMIAUgBTYCCAwDCwJAIAEoAgAiASgCBEF4cSAERgR/IAEFIARBAEEZIAJBAXZrIAJBH0YbdCEDA0AgAUEQaiADQR92QQJ0aiIGKAIAIgIEQCADQQF0IQMgAigCBEF4cSAERg0DIAIhAQwBCwsgBiAFNgIAIAUgATYCGCAFIAU2AgwgBSAFNgIIDAQLIQILIAJBCGoiASgCACIDIAU2AgwgASAFNgIAIAUgAzYCCCAFIAI2AgwgBUEANgIYCwVB/MX5ACgCACIDRSABIANJcgRAQfzF+QAgATYCAAtBrMn5ACABNgIAQbDJ+QAgAjYCAEG4yfkAQQA2AgBBkMb5AEHEyfkAKAIANgIAQYzG+QBBfzYCAEGgxvkAQZTG+QA2AgBBnMb5AEGUxvkANgIAQajG+QBBnMb5ADYCAEGkxvkAQZzG+QA2AgBBsMb5AEGkxvkANgIAQazG+QBBpMb5ADYCAEG4xvkAQazG+QA2AgBBtMb5AEGsxvkANgIAQcDG+QBBtMb5ADYCAEG8xvkAQbTG+QA2AgBByMb5AEG8xvkANgIAQcTG+QBBvMb5ADYCAEHQxvkAQcTG+QA2AgBBzMb5AEHExvkANgIAQdjG+QBBzMb5ADYCAEHUxvkAQczG+QA2AgBB4Mb5AEHUxvkANgIAQdzG+QBB1Mb5ADYCAEHoxvkAQdzG+QA2AgBB5Mb5AEHcxvkANgIAQfDG+QBB5Mb5ADYCAEHsxvkAQeTG+QA2AgBB+Mb5AEHsxvkANgIAQfTG+QBB7Mb5ADYCAEGAx/kAQfTG+QA2AgBB/Mb5AEH0xvkANgIAQYjH+QBB/Mb5ADYCAEGEx/kAQfzG+QA2AgBBkMf5AEGEx/kANgIAQYzH+QBBhMf5ADYCAEGYx/kAQYzH+QA2AgBBlMf5AEGMx/kANgIAQaDH+QBBlMf5ADYCAEGcx/kAQZTH+QA2AgBBqMf5AEGcx/kANgIAQaTH+QBBnMf5ADYCAEGwx/kAQaTH+QA2AgBBrMf5AEGkx/kANgIAQbjH+QBBrMf5ADYCAEG0x/kAQazH+QA2AgBBwMf5AEG0x/kANgIAQbzH+QBBtMf5ADYCAEHIx/kAQbzH+QA2AgBBxMf5AEG8x/kANgIAQdDH+QBBxMf5ADYCAEHMx/kAQcTH+QA2AgBB2Mf5AEHMx/kANgIAQdTH+QBBzMf5ADYCAEHgx/kAQdTH+QA2AgBB3Mf5AEHUx/kANgIAQejH+QBB3Mf5ADYCAEHkx/kAQdzH+QA2AgBB8Mf5AEHkx/kANgIAQezH+QBB5Mf5ADYCAEH4x/kAQezH+QA2AgBB9Mf5AEHsx/kANgIAQYDI+QBB9Mf5ADYCAEH8x/kAQfTH+QA2AgBBiMj5AEH8x/kANgIAQYTI+QBB/Mf5ADYCAEGQyPkAQYTI+QA2AgBBjMj5AEGEyPkANgIAQZjI+QBBjMj5ADYCAEGUyPkAQYzI+QA2AgBBhMb5ACABQQAgAUEIaiIDa0EHcUEAIANBB3EbIgNqIgU2AgBB+MX5ACACQVhqIgIgA2siAzYCACAFIANBAXI2AgQgASACakEoNgIEQYjG+QBB1Mn5ACgCADYCAAsLQfjF+QAoAgAiASAASwRAQfjF+QAgASAAayICNgIADAILC0HIxfkAQQw2AgAgCiQGQQAPC0GExvkAQYTG+QAoAgAiASAAaiIDNgIAIAMgAkEBcjYCBCABIABBA3I2AgQLIAokBiABQQhqCwgAIABBzAFqCwwAIAAgACgCDBDkDAscACAABH8gACgCMAVBnMMfQcyDHkEAEEoaQQALCwwAIAAgACgCIBDkDAscACAABH8gACgCEAVBnMMfQdeDHkF/EEoaQX8LCwgAIAAQ+QsaCx8AIABB//8BQf//ARChASAAQQRqQYGAfkGBgH4QoQELNAAgAUF/SgRAIAAoAgAgAUoEQCAAKAIIIAFBKGxqDwsLQa+EHUHQhB1B1QVBtdkgEAFBAAsHACAAQRRqCxwAIAAEfyAAKAIIBUGcwx9Bl78fQX8QShpBfwsLCQAgACABEPcLCykAIAAgAiADIAQQ3wwgACABNgIMIAAgATYCECAAIAU2AhQgBSAAELkBCykBAX8gAEHUAGoiACgCCBD8CSAAKAIAIQEgAEEANgIAIAEEQCABEEwLC00BAX8gACABNgIAIABBHGoQeSAAQQA6ACwgAEEANgIwIABBADYCNCAAQThqEFcgAEHUAGoiAkIANwIAIAJCADcCCCAAQYCAgPwDNgJkC2UBBH8jBiEBIwZBEGokBiAAKAIARQRAQfTD+QBBk6wXQQJBACABEFELIAFBCGohAiAAQQhqIgMoAgAiAEUEQEHsw/kAQZOsF0ECQQAgAhBRIAMoAgAhAAsgACgCBCEEIAEkBiAECwgAIABB/wFxC1gBAX8gAARAIAEgAGwhAiABIAByQf//A0sEQCACQX8gAiAAEGYgAUYbIQILCyACEHIiAEUEQCAADwsgAEF8aigCAEEDcUUEQCAADwsgAEEAIAIQjAEaIAALCwAgAARAIAAQTAsLLwEBfyABBEAgACABEGNBAWoiAiACEKIHIAEgAhBtGgUgAEEBQRAQogdBADoAAAsLRwEBfyMGIQMjBkEgaiQGIAEEQCAAIAEQbBoLIANBGGoiASACNgIAIANBFUGqzh8gARCoARogA0EAOgAVIAAgAxBsGiADJAYLDwAgAQR/IAAgAXAFQQALC2ABAn8jBiEDIwZBEGokBiAAKAIMIgQEQCADIAAoAgRBf2o2AgAgBCABIAAoAgAiASADENUBIAFrQQJ0aiIBIAEoAgAgAmo2AgAgAEEIaiIAIAAoAgAgAmo2AgALIAMkBgsLACAAQf8BcUEARws7AQF/IABFIAFFcgRADwsgACgCjAUiAgRAIAAgASACQf8AcUGsC2oRAwAFIABFIAFFckUEQCABEEwLCwswACAAKAIcIAFKBEAgACgCCCABQQJ0aigCAA8FQZObGEGw1BhBvAJBt9YXEAELQQALmAIBBH8gACACaiEEIAFB/wFxIQEgAkHDAE4EQANAIABBA3EEQCAAIAE6AAAgAEEBaiEADAELCyAEQXxxIgVBQGohBiABIAFBCHRyIAFBEHRyIAFBGHRyIQMDQCAAIAZMBEAgACADNgIAIAAgAzYCBCAAIAM2AgggACADNgIMIAAgAzYCECAAIAM2AhQgACADNgIYIAAgAzYCHCAAIAM2AiAgACADNgIkIAAgAzYCKCAAIAM2AiwgACADNgIwIAAgAzYCNCAAIAM2AjggACADNgI8IABBQGshAAwBCwsDQCAAIAVIBEAgACADNgIAIABBBGohAAwBCwsLA0AgACAESARAIAAgAToAACAAQQFqIQAMAQsLIAQgAmsLXgEDfyMGIQEjBkEQaiQGIAAoAgAiAkUEQEH0w/kAQaisF0ECQQAgARBRIAAoAgAhAgsgAigCAAR/IAAoAgggACgCFEYEfyAALAAYQQBHBUEACwVBAQshAyABJAYgAwtdAQN/IwYhASMGQRBqJAYgACgCACICRQRAQfSVFkH/tRdBAkEAIAEQUSAAKAIAIQILIAIoAgAEfyAAKAIIIAAoAhRGBH8gACwAGEEARwVBAAsFQQELIQMgASQGIAMLfAEBfyAAIAEpAgA3AgAgACABKAIINgIIA0AgAkEDRwRAIAEgAkECdGpBADYCACACQQFqIQIMAQsLIABBDGoiACABQQxqIgEpAgA3AgAgACABKAIINgIIQQAhAANAIABBA0cEQCABIABBAnRqQQA2AgAgAEEBaiEADAELCwsGAEEUEAkLBwAgAEEEagsJACAAIAEQrAYLeAEDfyABRSIERQRAIAFBADYCAAsgAkUiBUUEQCACQQA2AgALIANFIgZFBEAgA0EANgIACyAARQRAQZzDH0HwthFBARBKGg8LIARFBEAgASAAKAIANgIACyAFRQRAIAIgACgCBDYCAAsgBgRADwsgAyAAKAIINgIAC0wBAn8jBiEBIwZBEGokBiAAKAIARQRAQfSVFkGcthdBAkEAIAEQUQsgACgCCCICBEAgACACNgIUBSAAQQE6ABELIABBADoAGCABJAYLlQEBBX8jBiECIwZBIGokBiAAKAIEIAAoAgAiA2tBGBBOIgZBAWoiBUGq1arVAEsEQBAEBSACIAUgACgCCCADa0EYEE4iBEEBdCIDIAMgBUkbQarVqtUAIARB1arVKkkbIAYgAEEMahDeDSACQQhqIgQoAgAiAyABEI8BIAQgA0EYajYCACAAIAIQ3Q0gAhDcDSACJAYLC3oBAX8jBiECIwZBEGokBiABRQRAQfyVFkG5uxdBAkHYthcgAhBRCyAAIAE2AgAgACABKAIAIgE2AgQgACABEMIEIgE2AgggACABBH8gASgCAAVBAAsiATYCDCAAQQA2AhQgAEEAOgAYIABBADoAECAAQQA6ABEgAiQGCxcBAX8gACAAQThqIgEgAEE8ahCBBiABCxAAIABBADsBAiAAQQA7AQALEAAgAEEBQRAQogdBADoAAAsMACAAIAAoAhQQ5AwLCABBAhAJQQALCQAgACABOgAAC1MBBH8jBiEBIwZBEGokBiAALgEAIQIgAC4BAiEDIAAuAQQhBCAALgEGIQAgASACNgIAIAEgAzYCBCABIAQ2AgggASAANgIMQcrUFyABEEsgASQGC00BAn8jBiEBIwZBEGokBiAAKAIARQRAQfTD+QBBxKwXQQJBACABEFELIAAoAggiAgRAIAAgAjYCFAUgAEEBOgARCyAAQQA6ABggASQGC9MBAQZ/IwYhAiMGQRBqJAYgACgCAEUEQEH0lRZBi/wXQQJBACACEFELIAJBCGohASAAQQhqIgMoAgBFBEBBgKkWQYv8F0ECQQAgARBRCyAAKAIAIgQoAgAiBRCoAgRAIARBADYCACAAQQA2AgwgAEEANgIEIAMoAgAhAQUgACgCBCIGIAAoAgw2AgAgAygCACIBIAVGBEAgBCAGNgIAIABBAToAECAFIQEFIABBADoAEAsLIAAgASAAKAIURjoAESABQQA2AgAgA0EANgIAIAIkBiABC4YCAQV/IwYhAyMGQSBqJAYgACgCAEUEQEGQqRZB5pwYQQJBACADEFELIANBCGohAiABRQRAQZSpFkHmnBhBAkGChBogAhBRCyADQRBqIQIgASgCAARAQZipFkHmnBhBAkEAIAIQUQsCQCAAKAIAIgQoAgAiBgRAIAEgACgCDDYCACAAQQhqIgIoAgAiBQRAIAUgATYCACAAIAU2AgQgBiAFRw0CIAQgATYCAAwCCyAAKAIEIAE2AgAgACwAEARAIAQgATYCAAsgACwAEQRAIAAgATYCFAsFIAEgATYCACAEIAE2AgAgACABNgIMIAAgATYCBCAAQQhqIQILCyACIAE2AgAgAyQGCxAAIAAgATsBACAAIAI7AQILJwECfyMGIQMjBkEQaiQGIAMgAjYCACAAIAEgAxDfKCEEIAMkBiAECwgAQQUQCUEACxAAIAAgATgCACAAIAI4AgQLHAAgAAR/IAAoAgQFQZzDH0GFix5BfxBKGkF/CwteAQJ/IAJBb0sEQBAECyACQQtJBEAgACACOgALBSAAIAJBEGpBcHEiAxByIgQ2AgAgACADQYCAgIB4cjYCCCAAIAI2AgQgBCEACyAAIAEgAhDkAhogACACakEAEJwBCw0AIAAgASABEGMQtgELKQECfyMGIQQjBkEQaiQGIAQgAzYCACAAIAEgAiAEEOEHIQUgBCQGIAULLAEBfyAABEAgACgCoAEiAgRAIAAgASACQf8AcUGsC2oRAwALCyAAIAEQgyMLCQAgAEEEEKEHC/MBAQZ/IwYhAiMGQSBqJAYgACgCACIBRQRAQbyVFkHirBdBAkEAIAIQUSAAKAIAIQELIAJBEGohAyACQQhqIQQgASgCAAR/IABBCGoiBSgCACIBBEAgACABNgIEIABBAToAGCABKAIAIQEFIAAoAgwhASAALAARBEAgACABNgIUCwsgBSABNgIAIAFFBEBBwJUWQeKsF0ECQQAgBBBRCyAAQQxqIgQoAgBFBEAgBSgCACEBIAMgADYCACADIAE2AgRBxJUWQeKsF0ECQe27FyADEFELIAQgBSgCACIAKAIANgIAIAAoAgQFQQALIQYgAiQGIAYLKAAgAygCTBogACACIAFsIgAgAxCuEyIDIABHBEAgAyABEGYhAgsgAgsOACAAIAFqQX9qIAEQTgtNAQJ/IAAoAgAiAiABSAR/IAAoAgwhAyAAKAIEIgBBf2ogAUoEfyADIAEgAmtBAnRqBSADIAAgAkF/c2pBAnRqCwUgACgCDAsiACgCAAtsAQN/IAFBDGoiAiwACyIEQQBIIQMgASACKAIAIAIgAxsgASgCECAEQf8BcSADGxC2ARogACABKQIANwIAIAAgASgCCDYCCEEAIQADQCAAQQNHBEAgASAAQQJ0akEANgIAIABBAWohAAwBCwsLOgEBfyAAKAIAIgIgACgCBEYEQCAAENkVIAAoAgAhAgsgACACQQFqNgIAIAAoAgggAkECdGogATYCAAtHAQF/IAAgAUEAIAIgAUoiARsiAzYCACAAIAJBASABGyIBNgIEIABBfyABIANrIgFBAnQgAUH/////A0sbEE82AgwgABDtBQsnACAAQQA2AgAgAEEQEE82AgggAEEENgIEIABBADYCDCAAQQA2AhALLQAgAkF/SiAAIAJKcQRAIAEgAkECdGoPBUGvhB1B0IQdQdUFQbXZIBABC0EAC9IBACAEIAAoAgAgAEEUaiIEKAIAIAFB/wEgAUH/AUkbIgFBAnRqKAIAIAAoAgQgA0H/ASADQf8BSBsiA0EAIANBAEobIgNBAnRqKAIAamotAAA2AgAgBSAAKAIAIAQoAgAgAUECdGooAgAgACgCECACQf8BIAJB/wFIGyICQQAgAkEAShsiAkECdGooAgAgACgCDCADQQJ0aigCAGpBEHVqai0AADYCACAGIAAoAgAgBCgCACABQQJ0aigCACAAKAIIIAJBAnRqKAIAamotAAA2AgALPQEDfyMGIQEjBkEQaiQGIAAoAgAiAgR/IAIFQaSZFkHp1BdBAkEAIAEQUSAAKAIACygCAEUhAyABJAYgAwuqAQEEfyAAQQtqIgUsAAAiBEEASCIGBH8gACgCBCEDIAAoAghB/////wdxQX9qBSAEQf8BcSEDQQoLIgQgA2sgAkkEQCAAIAQgAyACaiAEayADIANBACACIAEQ9goFIAIEQCAGBH8gACgCAAUgAAsiBCADaiABIAIQ5AIaIAMgAmohASAFLAAAQQBIBEAgACABNgIEBSAFIAE6AAALIAQgAWpBABCcAQsLIAALCgAgAEEQdEEQdQsYAQF/IAAgACgCACIBLgEUIAEuARoQ2AkLUQEBfyAAKAIAIgIgACgCBEYEQCAAKAIEIgIEQCAAIAJBAXQQ7QIFIABBBBDtAgsgACgCACECCyAAIAJBAWo2AgAgACgCCCACQQJ0aiABNgIACysAIAFBEEgEfyAALgEAIAFB/wFxEPoCBSAALgECIAFB8AFqQf8BcRD6AgsLtgEBAn8jBiEDIwZBIGokBiAAKAIARQRAQfSVFkHkvhdBAkEAIAMQUQsgA0EIaiECIAFFBEBB/JUWQeS+F0ECQYKEGiACEFELIANBEGohAiABKAIABEBBqJYWQeS+F0ECQQAgAhBRCyAAEJcDBEAgACABEO0HBSAAEP8BBEAgACABEIcFIAAoAgAgATYCAAUgASAAKAIAIgIoAgAiACgCADYCACAAIAE2AgAgAiABNgIACwsgAyQGC2cBAn8gAS4BACICIAAuAQBIBEAgACACEOIBCyABLgEEIgMgAEEEaiICLgEASgRAIAIgAxDiAQsgAS4BAiIDIAAuAQJIBEAgACADEPQBCyABLgEGIgEgAC4BBkoEQCACIAEQ9AELIAALJwECfyMGIQMjBkEQaiQGIAMgAjYCACAAIAEgAxDXFSEEIAMkBiAECxwAIAAEfyAAKAIABUGcwx9B1YkeQX8QShpBfwsLEAAgAC4BCiABQf8BcRD6AgtcAQJ/IwYhAiMGQRBqJAYgAC4BBCABQRB0QRB1TARAIAJB0v0XNgIAIAJB2wE2AgRBoJYWQcb9F0ECQcfrHCACEFELIAAoAgAgAUEQdEEQdUECdGohAyACJAYgAwsPACAAIAEgAiACEGMQ6QoLDQAgAEGIAWogARCRAgsHACAAQQxqC1ABAn8CfyACBH8DQCAALAAAIgMgASwAACIERgRAIABBAWohACABQQFqIQFBACACQX9qIgJFDQMaDAELCyADQf8BcSAEQf8BcWsFQQALCyIAC1wBAn8gACwAACICRSACIAEsAAAiA0dyBH8gAiEBIAMFA38gAEEBaiIALAAAIgJFIAIgAUEBaiIBLAAAIgNHcgR/IAIhASADBQwBCwsLIQAgAUH/AXEgAEH/AXFrCwMAAQs9AQF/IAAgASACEPwHIgMEfyADKAIwQQAgAygCEEECdCADKAIEbBCMARogAwVBg5cgQeqnHkEAEEoaQQALCw8AIAEEfyAAIAFvBUEACwsiACABEJ4EIAAgASgCACgCBCIAIAAQogcgARCyAyAAEG0aCxkBAX8gARCsAiECIAAoAgggAkECdGooAgALxwEBAX8gAEUEQEG0mR5BmY0eQQEQShoPCyAFQQpGBEAPCyAAEHwhCQJAAkAgBQ4QAAEBAQEAAQEBAQEBAQEBAAELIAAQdSAAEL4BIAAQpQEgCSAAEHcgASACIAMgBCAFENEkDwsgBkUEQEGEpSBBmY0eQQEQShoPCyAJIAYQfEYEQCAAEHUgABC+ASAAEKUBIAkgABB3IAEgAiADIAQgBSAGEHUgBhC+ASAGEKUBIAYQdyAHIAgQ0CQFQaWNHkGZjR5BARBKGgsLXQECfyMGIQIjBkEQaiQGIAFBf0YEf0GwCAUgACgCCCABTARAIAJBhbsXNgIAIAJBpgI2AgRBjJYWQfO6F0ECQcfrHCACEFELIAAoAgAgAUHwAGxqCyEDIAIkBiADC1wBAn8jBiECIwZBEGokBiACQQhqIQMgAQRAIAIgARDYCgNAIAEoAhQiAQRAIAMgARDYCiACIAMQvAEaDAELCyAAIAIpAwA3AQAFIABBAEEAQQBBABCVAgsgAiQGC4YCAgd/AnwjBiEEIwZBEGokBgJ8AkAgAEEMaiIHKAIAIgVFDQAgACgCCCICRQ0AIAK3IgkgAaJEAAAAAAAA8D8gCRClDCEBIAAoAgQgACgCACIGayEIQQAhAgNAIAEgArciCWQgAyAISHEEQCAFIANBAnRqKAIAIAJqIQIgA0EBaiEDDAELCyAGtyADRQ0BGiAFIANBf2oiBUECdGooAgAiAkEASgR/IAIFIARBua8XNgIAIARBwAE2AgRB1JUWQaGvF0ECQcfrHCAEEFEgACgCACEGIAcoAgAgBUECdGooAgALIQAgBiADarcgCSABoSAAt6OhDAELIAAoAgC3CyEKIAQkBiAKCwsAIABBAEEAENEGCwYAIAAQTAtjAQN/IABBC2oiAywAACICQQBIIgQEfyAAKAIEBSACQf8BcQsiAiABSQRAIAAgASACaxD5HRoFIAQEQCAAKAIAIAFqQQAQnAEgACABNgIEBSAAIAFqQQAQnAEgAyABOgAACwsLQgEBfyMGIQIjBkEgaiQGIAIgAUEEahBVIAAQeSACEFsDQCACEFlFBEAgACACEFMQkQEQvAEaIAIQVgwBCwsgAiQGCxwAIAAEfyAAKAIsBUGcwx9BkoseQQAQShpBAAsLCAAgAEH4AGoLHQAgACABTgRAIAIoAgAiASAAIAEgAEgbIQELIAELEgAgAEEKaiABQf8BcSACEIURCw0AIAAgAUEBQQEQmxELzwMBG38jBiEBIwZB8ABqJAYgABDrAiEDQSBBxQAgAEHMAGoiBCgCABshBSAAKAIIIQZB1ABBwgAgACwAPhshByAAIAMQwwQhCCAAQRBqIgIuAQAhCSAAKAIkIQogAi4BAiELIAAoAhghDCACLgEEIQ0gACADEMQEIQ5B1ABBwgAgACwAPxshDyAAKAIMIRAgACgCKCERIAIuAQYhEiAAKAIcIRMgAC0APCEUIAAtAD0hFSAAKAJIIRYgACgCMEGzsRdqLAAAIRcgACgCNCEYIAAoAmQhGSAAKAJoIRogBBC5AiEbIAAoAowBIQIgACgCkAEhAyAAKAKUASEEIAAoApgBIQAgASAFNgIAIAEgBjYCBCABIAc2AgggASAINgIMIAEgCTYCECABIAo2AhQgASALNgIYIAEgDDYCHCABIA02AiAgASAONgIkIAEgDzYCKCABIBA2AiwgASARNgIwIAEgEjYCNCABIBM2AjggASAUNgI8IAFBQGsgFTYCACABIBY2AkQgASAXNgJIIAEgGDYCTCABIBk2AlAgASAaNgJUIAEgGzYCWCABIAI2AlwgASADNgJgIAEgBDYCZCABIAA2AmhBvLEXIAEQSyABJAYLMQAgAUF/SgRAIAAoAgAgAUoEQCAAKAIIIAFqDwsLQa+EHUHQhB1B1QVBtdkgEAFBAAsYACAAIAEgAhDVDUECdEGACGooAgA2AQALOgECfyAAKAIAIgBBBGoiAigCACEBIAIgAUF/ajYCACABRQRAIAAgACgCACgCCEH/A3FBogdqEQAACwuVAQEDfyAAQZACaiIEKAIAIQIgAEGMAmohAwNAIAEgAksEQCAAIAMoAgAgBCgCABDLAiABIAJrIQEMAQsLIAEEQCAAIAMoAgAgARDLAgsgABC4IUUEQEEADwsgACgCzAEhAQJAIAAsAPwCQSBxBEAgAUGABHFFDQEFIAFBgAhxDQELIABB+IggEOYHQQAPCyAAELchQQELIAAgAAR/IABBARD7FCAABUGEpSBBm74fQQAQShpBAAsLFAAgACgCAEF/NgIEIAAQsgMgAWoLEgAgABCeBCAAKAIAKAIEQX9qC1gBBX8gAQRAIAAoAgAhBSABEGNBAWohAyAFQQA2AgQCfyAAIAMQuQghBiAAKAIAIQQgBgsgASADEG0aIAQgAzYCBAUgABBYIABBAUEQEKIHQQA6AAALIAALlgUBB38gAS0AACIFQf8AcUECdEHg7QpqKAIAIgdBCHUhCSAAKAKkAyIGQRBqIggoAgAgB0EQdSIDayEEIAggBDYCACAFQQd2IAJGBH8gBEH//wFKBEAPCyAEIANIBEAgBkEMaiICIAIoAgAgBGo2AgAgCCADNgIACyAFQYABcSAJcwUgBCADTgRAIAZBDGoiAiACKAIAIARqNgIAIAggAzYCAAsgBUGAAXEgB0H/AXFzCyECIAEgAjoAACAGQSBqIQUgBkEYaiEDIAZBFGohByAIKAIAIQQgBkEMaiIJKAIAIQIgBkEcaiIGKAIAIQEDQCAIIARBAXQiBDYCACAJIAJBAXQiAjYCACAGIAFBf2oiATYCACABRQRAIAJBE3UhBAJAIAJB////P0oEQCAFKAIAIgFBf0oEQCADKAIABEADQEEAIAAQ5wIgAyADKAIAQX9qIgE2AgAgAQ0ACyAFKAIAIQELIAFBAWogABDnAiAFKAIAQf4BRgRAQQAgABDnAgsLIAMgAygCACAHKAIAajYCACAHQQA2AgAFIARB/wFGBEAgByAHKAIAQQFqNgIADAILIAUoAgAiAQRAIAFBf0oEQCADKAIABEADQEEAIAAQ5wIgAyADKAIAQX9qIgE2AgAgAQ0ACyAFKAIAIQELIAEgABDnAgsFIAMgAygCAEEBajYCAAsgBygCAARAIAMoAgAEQANAQQAgABDnAiADIAMoAgBBf2oiATYCACABDQALCwNAQf8BIAAQ5wJBACAAEOcCIAcgBygCAEF/aiIBNgIAIAENAAsLCyAFIARB/wFxNgIACyAJIAkoAgBB//8fcSICNgIAIAYgBigCAEEIaiIBNgIAIAgoAgAhBAsgBEGAgAJIDQALCwkAIAAgATsBAAuQAQIDfwF8IAAoAgwEQCAARAAAAAAAAOA/EM4BIgScEFohASAAKAIIQQFKBEAgACABEK4BRQRAIAEhAgNAIAJBf2ohAyAAIAIQrgFFBEAgAyECDAELCwNAIAFBAWohAyAAIAEQrgFFBEAgAyEBDAELCyABIAJqt0QAAAAAAADgP6IhBAsLBSAAKAIAtyEECyAEC7oBAQF/IAFFBEBBhKUgQbWFHkEAEEoaQQAPCyABIABGBEAgAQ8LIAEQd0ECdCABEKUBbCECIAAEfyAAIAEQ4Q5BAUYEf0G9hR5BtYUeQQAQShpBAAUgACABENsFIAAgARDgDiAAIAEQjQIgACABEK8CIAAgARD+ByABEHUhASAAEHUgASACEG0aIAALBSABENwFIgAEfyABEHUhASAAEHUgASACEG0aIAAFQYOXIEG1hR5BABBKGkEACwsLcQECfyAAKAIYIgMoAgAhAiADIAJBAWo2AgAgAiABOgAAIANBBGoiAigCAEF/aiEBIAIgATYCACABBEAPCyAAIAMoAgxB/wFxQQZqEQUABEAPCyAAKAIAQRk2AhQgACAAKAIAKAIAQf8DcUGiB2oRAAALUQBBzLz5ACgCACAASAR/QQAFQZy8+QAoAgAgAUoEf0EABUHsu/kAKAIAIAFIBH9BAAVBhLz5ACgCACACSAR/QQAFQdS7+QAoAgAgAkwLCwsLCz8BAX8jBiEDIwZBEGokBiADIAI2AgBBqLMWKAIAIgJFBEAgAyQGDwsgACABIAMgAkH/AHFBrAxqEQ0AIAMkBgsvAQF/IAAgAC8BACABQf//A3FqOwEAIABBAmoiAyADLwEAIAJB//8DcWo7AQAgAAvsAQEJfyMGIQEjBkEQaiQGIAFBDGohBSABQQhqIQYgAEE4aiEIIABBJGohAiAAQShqIQMgAEEwaiEHAn8CQAJAA0AgCBCNAQRAIAIgAigCAEEBaiIENgIAIAQgACgCACgCCE4EQCADIAMoAgAiBEF/ajYCACAEQQFIDQMgAkEANgIACyAAEKAEBSAAEKgGIAEgBygCABBxKQEANwMAIAAoAgAgAS4BACABLgECIAUgBhC2AiAFKAIAIAIoAgBGBEAgBigCACADKAIARg0ECwsMAAALAAsgABC/BEEADAELIAcoAgALIQkgASQGIAkLJAAgACgCBCAAIAFBACAAKAIAKAIMQf8AcUGQBGoRAgBBAnRqCwwAIAAgASgCHBD9CgsIACAAQdwAagsJACAAIAE2AgwLJAEBfyAAQX9qIgFBCEkEf0H3ASABQf8BcXZBAXFBAEcFQQALC0UBBH8CQCAAKAIAIgIEQCACKAIAIQMgAkEANgIAIABBADYCACADIQADQCAARQ0CIAAoAgAhBCAAEEwgBCEADAAACwALCwtDACAAIAEgAiADEMYCIQMCQCAALAAKBEBBACEAA0AgACADTg0CIAEgAhDyGyAAQQFqIQAgASACaiEBDAAACwALCyADCxAAIABBADsBACAAQQA7AQILFAAgACgCACABSgRAIAAgATYCAAsLNwAgACABKQEANwEcIAAgAS4BACABLgEGENgJIAAoAgAgAS4BBCABLgECIABBDGogAEEIahC2AgsJACAAIAE7AQILCAAgABCrARoLKgEBfyAAELoDBH9BAAUgABBuQRB0QRB1IQEgABBrQRB0QRB1IAFsCyIAC3UBAn8jBiEBIwZBEGokBiAARQRAIAFB/YseNgIAQcS0FkHGmCAgARBcIAEkBg8LIAAoAgAiAkUEQCABJAYPCyACQX8Q+RQgAgR/IAIoAhAFQaenIEGIjB5BfxBKGkF/C0EBSARAIAIQTAsgAEEANgIAIAEkBguDAQEEfyMGIQIjBkEQaiQGIAAsAB8EQCACQgA3AgAgAkEANgIIIAIgASABEGMQygIFIAIgARDDCQsgAEEEaiIDIAIoAgAgAiACLAALIgRBAEgiABsiASACKAIEIARB/wFxIAAbIgAQwgkEfyADIAEgABDkDgVBfwshBSACEFQgAiQGIAULPQED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IAAgASACEG0aCy0AIAJBf0ogACACSnEEQCABIAJBDGxqDwVBr4QdQdCEHUHVBUG12SAQAQtBAAuMAQECfyMJQQFqJAkgACMJNgIAA0AgBCADSARAIAIgBEEDdGooAgBFBEAgAiAEQQN0aiMJNgIAIAIgBEEDdEEEamogATYCACACIARBA3RBCGpqQQA2AgAgAyQMIAIPCyAEQQFqIQQMAQsLIAAgASACIANBAXQiA0EBakEDdBCNBiADEIoCIQUgAyQMIAUL2jUBD38jBiEJIwZB0AFqJAYgCUGwAWohAyAJQfwAaiEGIAlB2ABqIQcgCUFAayEIIAlBoAFqIQ0gCUEwaiEKIAlBJGohCyAJQZQBaiEPIAlBiAFqIRAgCUHwAGohESAJQRhqIQwgCUEMaiEOAkAgASIFIABrIgFBAUoEQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAUEDSgR/IAAsAABB5wBGBH8gAEECaiAAIAAsAAFB8wBGIgQbBSAACwUgAAsiASwAAEExaw5EEhISEhISEhISExMTExMTExMTExMTExMTExMTABMTExMTExMBExMTExMTExMTExMTAxMEBQYCBxMIExMJCgsMDQ4PEBETCyAAIAUgAhCtEiEADBQLIAAgBSACEIEJIQAMEwsgACAFIAIQrBIhAAwSCwJAAkACQAJAAkACQAJAAkAgASwAAUHOAGsOLQMHBwcHBAcHBwcHBwcHBwcHBwcABwcBBwcHBwcHBwcHAgcHBwcHBQcHBwcHBgcLIANCADcCACADQQA2AgggA0HS1SBB0tUgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADBgLIANCADcCACADQQA2AgggA0Hk1SBB5NUgEGMQpgEgAEECaiIEIAUgAyACEIcGIQEgAxBUIAAgASABIARGGyEADBcLIANCADcCACADQQA2AgggA0Hk1SBB5NUgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADBYLIANCADcCACADQQA2AgggA0GP1iBBj9YgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADBULIANCADcCACADQQA2AgggA0GS1iBBktYgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADBQLIAAgBSACENodIQAMEwsgACAFIAIQ2R0hAAwSCwwRCwJAAkACQAJAAkACQCABLAABQeMAaw4UAAUFBQUFBQUFAQIFAwUFBQUFBQQFCyAAIAUgAhDYHSEADBULIAAgBSACENcdIQAMFAsgA0IANwIAIANBADYCCCADQZTWIEGU1iAQYxCmASAAQQJqIgQgBSADIAIQpQIhASADEFQgACABIAEgBEYbIQAMEwsgA0IANwIAIANBADYCCCADQZbWIEGW1iAQYxCmASAAQQJqIgQgBSADIAIQhwYhASADEFQgACABIAEgBEYbIQAMEgsgACAFIAIQ1h0hAAwRCwwQCwJAAkACQAJAAkACQAJAAkACQAJAIAEsAAFB1gBrDiEICQkJCQkJCQkJCQAJAQkCCQkJCQkJAwkECQkJCQUGCQcJCyABQQJqIgEgBSACEIsCIgUgAUYNGCACKAIAIAJBBGoiASgCAEYNGCAHQgA3AgAgB0EANgIIAkAgBARAIAdBmNYgQZjWIBBjEKYBBUEAIQADQCAAQQNGDQIgByAAQQJ0akEANgIAIABBAWohAAwAAAsACwsgB0Gb1iAQpwEaIAYgBykCADcCACAGIAcoAgg2AghBACEAA0AgAEEDRwRAIAcgAEECdGpBADYCACAAQQFqIQAMAQsLIAggASgCAEFoahCvASAGIAgoAgAgCCAILAALIgBBAEgiAhsgCCgCBCAAQf8BcSACGxC2ARogAyAGKQIANwIAIAMgBigCCDYCCEEAIQADQCAAQQNHBEAgBiAAQQJ0akEANgIAIABBAWohAAwBCwsgASgCACIBQWhqIgBBC2oiAiwAAEEASAR/IAAoAgBBABCcASABQWxqQQA2AgAgAAUgAEEAEJwBIAJBADoAACAACyEBIAAQ/QIgASADKQIANwIAIAEgAygCCDYCCEEAIQADQCAAQQNHBEAgAyAAQQJ0akEANgIAIABBAWohAAwBCwsgAxBUIAgQVCAGEFQgBxBUIAUhAAwYCyAAIAUgAhDVHSEADBcLIANCADcCACADQQA2AgggA0Hi1SBB4tUgEGMQpgEgAEECaiIEIAUgAyACEIcGIQEgAxBUIAAgASABIARGGyEADBYLIAFBAmoiASAFIAIQiwIiBSABRg0VIAIoAgAgAkEEaiIBKAIARg0VIAdCADcCACAHQQA2AggCQCAEBEAgB0GY1iBBmNYgEGMQpgEFQQAhAANAIABBA0YNAiAHIABBAnRqQQA2AgAgAEEBaiEADAAACwALCyAHQaXWIBCnARogBiAHKQIANwIAIAYgBygCCDYCCEEAIQADQCAAQQNHBEAgByAAQQJ0akEANgIAIABBAWohAAwBCwsgCCABKAIAQWhqEK8BIAYgCCgCACAIIAgsAAsiAEEASCICGyAIKAIEIABB/wFxIAIbELYBGiADIAYpAgA3AgAgAyAGKAIINgIIQQAhAANAIABBA0cEQCAGIABBAnRqQQA2AgAgAEEBaiEADAELCyABKAIAIgFBaGoiAEELaiICLAAAQQBIBH8gACgCAEEAEJwBIAFBbGpBADYCACAABSAAQQAQnAEgAkEAOgAAIAALIQEgABD9AiABIAMpAgA3AgAgASADKAIINgIIQQAhAANAIABBA0cEQCADIABBAnRqQQA2AgAgAEEBaiEADAELCyADEFQgCBBUIAYQVCAHEFQgBSEADBULIAAgBSACEIAJIQAMFAsgACAFIAIQ1B0hAAwTCyAAIAUgAhDTHSEADBILIANCADcCACADQQA2AgggA0Gt1iBBrdYgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADBELIANCADcCACADQQA2AgggA0Gv1iBBr9YgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADBALDA8LAkACQAJAAkAgASwAAUHPAGsOIwEDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAMCAwsgA0IANwIAIANBADYCCCADQbLWIEGy1iAQYxCmASAAQQJqIgQgBSADIAIQpQIhASADEFQgACABIAEgBEYbIQAMEQsgA0IANwIAIANBADYCCCADQbTWIEG01iAQYxCmASAAQQJqIgQgBSADIAIQpQIhASADEFQgACABIAEgBEYbIQAMEAsgA0IANwIAIANBADYCCCADQbfWIEG31iAQYxCmASAAQQJqIgQgBSADIAIQpQIhASADEFQgACABIAEgBEYbIQAMDwsMDgsCQAJAIAEsAAFB5QBrIgEEQCABQQ9GBEAMAgUMAwsACyADQgA3AgAgA0EANgIIIANButYgQbrWIBBjEKYBIABBAmoiBCAFIAMgAhClAiEBIAMQVCAAIAEgASAERhshAAwPCyADQgA3AgAgA0EANgIIIANB9NUgQfTVIBBjEKYBIABBAmoiBCAFIAMgAhClAiEBIAMQVCAAIAEgASAERhshAAwOCwwNCyABLAABQfgARw0MIABBAmoiASAFIAIQiwIiDCABRg0MIAJBBGohBCAMIAUgAhCLAiIBIAxGBEAgBCgCACECQQAhAQNAIAFBf0cEQCACIAFBf2oiAUEYbGoQaQwBCwsgBCACQWhqNgIADA0LIAQoAgAiBSACKAIAa0EYEE5BAkkNDCADIAVBaGoQrwEgBCgCACECQQAhAANAIABBf0cEQCACIABBf2oiAEEYbGoQaQwBCwsgBCACQWhqNgIAIAYgAkFQahCvASALQdDVICAGEJMEIAtBvdYgEKcBGiAKIAspAgA3AgAgCiALKAIINgIIQQAhAANAIABBA0cEQCALIABBAnRqQQA2AgAgAEEBaiEADAELCyAKIAMoAgAgAyADLAALIgBBAEgiAhsgAygCBCAAQf8BcSACGxC2ARogCCAKKQIANwIAIAggCigCCDYCCEEAIQADQCAAQQNHBEAgCiAAQQJ0akEANgIAIABBAWohAAwBCwsgCEH/1SAQpwEaIA0gCCkCADcCACANIAgoAgg2AghBACEAA0AgAEEDRwRAIAggAEECdGpBADYCACAAQQFqIQAMAQsLIAcgDRCUAiAEKAIAQWhqIAcQpgMgBxBpIA0QVCAIEFQgChBUIAsQVCAGEFQgAxBUIAEhAAwMCwJAAkACQAJAAkAgASwAAUHTAGsOIgIEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEAQMECyADQgA3AgAgA0EANgIIIANBwNYgQcDWIBBjEKYBIABBAmoiBCAFIAMgAhClAiEBIAMQVCAAIAEgASAERhshAAwPCyADQgA3AgAgA0EANgIIIANBw9YgQcPWIBBjEKYBIABBAmoiBCAFIAMgAhClAiEBIAMQVCAAIAEgASAERhshAAwOCyADQgA3AgAgA0EANgIIIANBxtYgQcbWIBBjEKYBIABBAmoiBCAFIAMgAhClAiEBIAMQVCAAIAEgASAERhshAAwNCyADQgA3AgAgA0EANgIIIANB8tUgQfLVIBBjEKYBIABBAmoiBCAFIAMgAhClAiEBIAMQVCAAIAEgASAERhshAAwMCwwLCwJAAkACQAJAAkACQCABLAABQckAaw4lAQUFAwUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUABQUCBAULIANCADcCACADQQA2AgggA0HK1iBBytYgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADA8LIANCADcCACADQQA2AgggA0HM1iBBzNYgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADA4LIANCADcCACADQQA2AgggA0Hi1SBB4tUgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADA0LIANCADcCACADQQA2AgggA0HP1iBBz9YgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADAwLIABBAmoiBCAFRwRAIAQsAABB3wBGBEAgA0IANwIAIANBADYCCCADQdLWIEHS1iAQYxCmASAAQQNqIgQgBSADIAIQhwYhASADEFQgACABIAEgBEYbIQAMDQsLIAQgBSACEIsCIgEgBEYNCyACKAIAIAJBBGoiAigCACIERg0LIAcgBEFoahCvASAHQQBB0NUgEMEBGiAGIAcpAgA3AgAgBiAHKAIINgIIQQAhAANAIABBA0cEQCAHIABBAnRqQQA2AgAgAEEBaiEADAELCyAGQdXWIBCnARogDyAGKQIANwIAIA8gBigCCDYCCEEAIQADQCAAQQNHBEAgBiAAQQJ0akEANgIAIABBAWohAAwBCwsgAyAPEJQCIAIoAgBBaGogAxCmAyADEGkgDxBUIAYQVCAHEFQgASEADAsLDAoLAkACQAJAAkACQAJAIAEsAAFB4QBrDhgABQUFAQUCBQUFBQUFBQUFBQUFAwUFAAQFCyAAIAUgAhDSHSEADA4LIANCADcCACADQQA2AgggA0HZ1iBB2dYgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADA0LIANCADcCACADQQA2AgggA0HK1iBBytYgEGMQpgEgAEECaiIEIAUgAyACEIcGIQEgAxBUIAAgASABIARGGyEADAwLIANCADcCACADQQA2AgggA0Hc1iBB3NYgEGMQpgEgAEECaiIEIAUgAyACEIcGIQEgAxBUIAAgASABIARGGyEADAsLIAAgAEECaiIAIAUgAhDRHSIBIAEgAEYbIQAMCgsMCQsCQAJAAkACQAJAIAEsAAFB0gBrDiEDBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAEEBAIECyAAIAUgAhCACSEADAwLIANCADcCACADQQA2AgggA0He1iBB3tYgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADAsLIANCADcCACADQQA2AgggA0Hh1iBB4dYgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADAoLIANCADcCACADQQA2AgggA0Hj1iBB49YgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADAkLDAgLAkACQAJAAkACQAJAAkAgASwAAUHMAGsOKQIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAQAGBgMGBgQFBgsgA0IANwIAIANBADYCCCADQebWIEHm1iAQYxCmASAAQQJqIgQgBSADIAIQpQIhASADEFQgACABIAEgBEYbIQAMDQsgA0IANwIAIANBADYCCCADQerWIEHq1iAQYxCmASAAQQJqIgQgBSADIAIQpQIhASADEFQgACABIAEgBEYbIQAMDAsgA0IANwIAIANBADYCCCADQezWIEHs1iAQYxCmASAAQQJqIgQgBSADIAIQpQIhASADEFQgACABIAEgBEYbIQAMCwsgAEECaiIEIAVHBEAgBCwAAEHfAEYEQCADQgA3AgAgA0EANgIIIANB79YgQe/WIBBjEKYBIABBA2oiBCAFIAMgAhCHBiEBIAMQVCAAIAEgASAERhshAAwMCwsgBCAFIAIQiwIiASAERg0KIAIoAgAgAkEEaiICKAIAIgRGDQogByAEQWhqEK8BIAdBAEHQ1SAQwQEaIAYgBykCADcCACAGIAcoAgg2AghBACEAA0AgAEEDRwRAIAcgAEECdGpBADYCACAAQQFqIQAMAQsLIAZB8tYgEKcBGiAQIAYpAgA3AgAgECAGKAIINgIIQQAhAANAIABBA0cEQCAGIABBAnRqQQA2AgAgAEEBaiEADAELCyADIBAQlAIgAigCAEFoaiADEKYDIAMQaSAQEFQgBhBUIAcQVCABIQAMCgsgA0IANwIAIANBADYCCCADQerWIEHq1iAQYxCmASAAQQJqIgQgBSADIAIQhwYhASADEFQgACABIAEgBEYbIQAMCQsgACAFIAIQ0B0hAAwICwwHCyABLAABQfUARw0GIABBAmoiBCAFIAIQiwIiASAERg0GIAEgBSACEIsCIg0gAUYEQCACQQRqIgQoAgAhAkEAIQEDQCABQX9HBEAgAiABQX9qIgFBGGxqEGkMAQsLIAQgAkFoajYCAAwHCyACQQRqIQQgDSAFIAIQiwIiASANRgRAIAQoAgAhAkEAIQEDQCABQX9HBEAgAiABQX9qIgFBGGxqEGkMAQsLIAQgAkFoaiIFNgIAQQAhAQNAIAFBf0cEQCAFIAFBf2oiAUEYbGoQaQwBCwsgBCACQVBqNgIADAcLIAQoAgAiBSACKAIAa0EYEE5BA0kNBiADIAVBaGoQrwEgBCgCACECQQAhAANAIABBf0cEQCACIABBf2oiAEEYbGoQaQwBCwsgBCACQWhqNgIAIAYgAkFQahCvASAEKAIAIQJBACEAA0AgAEF/RwRAIAIgAEF/aiIAQRhsahBpDAELCyAEIAJBaGo2AgAgByACQVBqEK8BIAlB0NUgIAcQkwQgCUH21iAQpwEaIA4gCSkCADcCACAOIAkoAgg2AghBACEAA0AgAEEDRwRAIAkgAEECdGpBADYCACAAQQFqIQAMAQsLIA4gBigCACAGIAYsAAsiAEEASCICGyAGKAIEIABB/wFxIAIbELYBGiAMIA4pAgA3AgAgDCAOKAIINgIIQQAhAANAIABBA0cEQCAOIABBAnRqQQA2AgAgAEEBaiEADAELCyAMQfzWIBCnARogCyAMKQIANwIAIAsgDCgCCDYCCEEAIQADQCAAQQNHBEAgDCAAQQJ0akEANgIAIABBAWohAAwBCwsgCyADKAIAIAMgAywACyIAQQBIIgIbIAMoAgQgAEH/AXEgAhsQtgEaIAogCykCADcCACAKIAsoAgg2AghBACEAA0AgAEEDRwRAIAsgAEECdGpBADYCACAAQQFqIQAMAQsLIApBztUgEKcBGiARIAopAgA3AgAgESAKKAIINgIIQQAhAANAIABBA0cEQCAKIABBAnRqQQA2AgAgAEEBaiEADAELCyAIIBEQlAIgBCgCAEFoaiAIEKYDIAgQaSAREFQgChBUIAsQVCAMEFQgDhBUIAkQVCAHEFQgBhBUIAMQVCABIQAMBgsCQAJAAkACQAJAAkAgASwAAUHNAGsOJwIFBQUFBQQFBQUFBQUFBQUFBQUFBQUABQUFBQUFBQUFAQUFBQUFAwULIAAgBSACEM8dIQAMCgsgA0IANwIAIANBADYCCCADQYLXIEGC1yAQYxCmASAAQQJqIgQgBSADIAIQpQIhASADEFQgACABIAEgBEYbIQAMCQsgA0IANwIAIANBADYCCCADQYTXIEGE1yAQYxCmASAAQQJqIgQgBSADIAIQpQIhASADEFQgACABIAEgBEYbIQAMCAsgA0IANwIAIANBADYCCCADQYfXIEGH1yAQYxCmASAAQQJqIgQgBSADIAIQpQIhASADEFQgACABIAEgBEYbIQAMBwsgA0IANwIAIANBADYCCCADQYrXIEGK1yAQYxCmASAAQQJqIgQgBSADIAIQpQIhASADEFQgACABIAEgBEYbIQAMBgsMBQsCQAJAAkACQAJAAkACQCABLAABQdoAaw4hBQYGBgYGBgYGAAYGBgYGBgYGBgYGBgEGAgYDBgYGBgYEBgsgACAFIAIQzh0hAAwKCyAAIAUgAhDNHSEADAkLIAAgBSACEIAJIQAMCAsgACAFIAIQzB0hAAwHCyAAIAUgAhDLHSEADAYLIAUgAWtBAkwNBQJAAkAgASwAAkHUAGsiAQRAIAFBEkYEQAwCBQwDCwALIAAgBSACEModIQAMBwsgACAFIAIQyR0hAAwGCwwFCwwECwJAAkACQAJAIAEsAAFB5QBrDhMAAwMDAAMDAwMDAwMDAQMDAwMCAwsgACAFIAIQyB0hAAwGCyADQY7XIBDxCiACQQRqIgEoAgAiBCACKAIISQRAIAQgAxCPASABIAEoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAmohAAwFCyAAIAUgAhDHHSEADAQLDAMLIAAgBSACEIAJIQALCwsgCSQGIAALJQAgAEMAAAAAYAR/IABDAAAAP5IQZQVBAEMAAAA/IACTEGVrCwtHACABRQRAQYSlIEGguBFBARBKGg8LIABFBEBBtJkeQaC4EUEBEEoaDwsgASAARgRADwsgACABENkFEM8LIAAgARC8CRC7CQsRACAAQQRqIAFB//8DcRDiAQsOACAAIAFB//8DcRDiAQveAQEHfyMGIQIjBkEQaiQGIAAoAgBFBEBB9MP5AEGfrRdBAkEAIAIQUQsgAkEIaiEBIABBCGoiAygCAEUEQEHow/kAQZ+tF0ECQQAgARBRCyAAKAIAIgQoAgAiBRCoAgRAIARBADYCACAAQQA2AgwgAEEANgIEIAMoAgAhAQUgACgCBCIGIAAoAgw2AgAgAygCACIBIAVGBEAgBCAGNgIAIABBAToAECAFIQEFIABBADoAEAsLIAAgASAAKAIURjoAESABKAIEIQcgAQRAIAEQTAsgA0EANgIAIAIkBiAHCzQAIAFBf0oEQCAAKAIAIAFKBEAgACgCCCABQTBsag8LC0GvhB1B0IQdQdUFQbXZIBABQQALJwECfyMGIQMjBkEQaiQGIAMgAjYCACAAIAEgAxCTEyEEIAMkBiAECyEAIAAoAgQgACABQQAgACgCACgCDEH/AHFBkARqEQIAagtxAQF/IAAgASkCADcCACAAIAEoAgg2AggDQCACQQNHBEAgASACQQJ0akEANgIAIAJBAWohAgwBCwsgAEEMaiIBQgA3AgAgAUEANgIIQQAhAANAIABBA0cEQCABIABBAnRqQQA2AgAgAEEBaiEADAELCwsXACAAIAEgAhChASAAQQRqIAMgBBChAQs9AQR/An8gAEEEaiICKAIAIgEgACgCCEkhBCAAKAJMGiAECwR/IAIgAUEBajYCACABLQAABSAAEI4OCyIACxcBAX9BACAAIAFrIgNrIAJMIAMgAkxxC0kBBH8gARCeBCABKAIAIgIoAgQhAiAAKAIAIgNBADYCBAJ/IAAgAhC5CCEFIAAoAgAhBCAFCyABELIDIAIQbRogBCACNgIEIAALhQEBAX8gAEUEQEG1oiBB8MkRQQEQShoPCyABRQRAQaOwHkHwyRFBARBKGg8LIAJBAk8EQEGvtR5B8MkRQQEQShoPCyAAEJoGIgMgACgCAE4EQCAAEIUkCyACBEAgARCBAiEBCyAAKAIMIANBAnRqIAE2AgAgAEEEaiIAIAAoAgBBAWo2AgALPgEBfyMGIQEjBkEgaiQGIAEgABDACSABEFtBACEAA0AgARBZRQRAIAEQoQIaIABBAWohAAwBCwsgASQGIAALkQEBBH8gAEHgBGoiAigCACIDQQBMBEBBAQ8LIABBDGoiBCgCACIBIAAuAV5BgAJyQf//A3FxRQRAIAAoAtQEIAMQ+Q4gBCgCACEBCyAAIABB+ANqIABB4ANqIAFBgAhxGygCACAAQdQEaiIBKAIAIAIoAgAQyihFBEBBAA8LIAJBADYCACAAIAEoAgA2AtwEQQELMQAgAEQAAAAAAAAAAGYEfyAARAAAAAAAAOA/oBBaBUEARAAAAAAAAOA/IAChEFprCwv9BQIOfwJ9IwYhDSMGQRBqJAYgDSEIIABBOGohAiAAQSRqIQEgAEEMaiEEIABBKGohAyAAQQRqIQYgAEEIaiEHIABBHGohCSAAQTBqIQogAEEsaiELIABB1ABqIQwCQAJAAkADQAJAIAIQjQEEQCABIAEoAgAiBUEBajYCACAFIAQoAgBOBEAgAyADKAIAIgVBf2o2AgAgASAGKAIANgIAIAUgBygCAEwNBAsgABCgBAUgABCoBiAJIAooAgAiBRBxEI4DBEAgCywAAEUNAiAMIAUQiAxFDQULCwwBCwsMAgsgABC/BEEAIQUMAQsgAEHUAGohByAFENoJIQICfyAAQdgAaiILKAIAIgRFIgwEf0EABSAEQX9qIgkgBHFFIg4EfyAJIAJxBSACIARJBH8gAgUgAiAEEIcBCwshASAHKAIAIAFBAnRqKAIAIgMEfwNAIAEgAygCACIDRQ0DGiADKAIEIgYgAkcEQCAOBEAgBiAJcSEGBSAGIARPBEAgBiAEEIcBIQYLCyABIAYgAUcNBBoLIAMoAgggBUcNAAwEAAsABSABCwsLIQMgCCAHIAIgChCZBQJAIAwgACoCZCIPIASzlCAAQeAAaiIFKAIAQQFqsyIQXXIEQCAHIBAgD5WNEKEEIgEgBEEBdCAEQQNJIARBf2ogBHFBAEdyciIDIAMgAUkbEJgFIAsoAgAiAUF/aiIDIAFxRQRAIAMgAnEhAwwCCyACIAFJBH8gAgUgAiABEIcBCyEDBSAEIQELCyAHKAIAIANBAnRqKAIAIgIEQCAIKAIAIgAgAigCADYCACACIAA2AgAFIAgoAgAiAiAAQdwAaiIAKAIANgIAIAAgAjYCACAHKAIAIANBAnRqIAA2AgAgAigCACIABEAgACgCBCEAIAFBf2oiAyABcQRAIAAgAU8EQCAAIAEQhwEhAAsFIAAgA3EhAAsgBygCACAAQQJ0aiACNgIACwsgBSAFKAIAQQFqNgIAIAhBADYCACAKKAIAIQULIA0kBiAFCwcAIABBGGoLJgEBfyAAQQhqIAJBAnRqIgMgAygCACABajYCACAAEM0RIAAQ1TULSgEBfyAAKAIIIgEEQCABEEwLIAAoAgwiAQRAIAEQTAsgACgCECIBBEAgARBMCyAAKAIUIgEEQCABEEwLIABBPGoQWCAAQThqEFgL6gEBBX8jBiECIwZBIGokBiAAKAIAIgFFBEBBkJYWQdW7F0ECQQAgAhBRIAAoAgAhAQsgAkEQaiEDIAJBCGohBCABKAIABEAgAEEIaiIFKAIAIgEEQCAAIAE2AgQgAEEBOgAYIAEoAgAhAQUgACgCDCEBIAAsABEEQCAAIAE2AhQLCyAFIAE2AgAgAUUEQEGUlhZB1bsXQQJBACAEEFEgBSgCACEBCyAAIAEoAgAiBDYCDCAERQRAIAMgADYCACADIAE2AgRBmJYWQdW7F0ECQe27FyADEFEgBSgCACEBCwVBACEBCyACJAYgAQs0ACABQX9KBEAgACgCACABSgRAIAAoAgggAUEMbGoPCwtBr4QdQdCEHUHVBUG12SAQAUEAC38BBX8gABCeBCABEJ4EIAEoAgAhBiABELIDIQMgBigCBCEBIAAgACgCACICKAIEIgIgAWoQuQghBCAAKAIAIQUgAkEBSgRAIAQgAmpBf2ogAyABEG0aIAVBBGoiAyABQX9qIAMoAgBqNgIABSAEIAMgARBtGiAFIAE2AgQLIAALdAEEfyMGIQIjBkEQaiQGIAAoAgAiAUUEQEH0lRZBtrUXQQJBACACEFEgACgCACEBCyABKAIAIgMEfyAAKAIIIgEgA0YEf0EBBSABBH9BAAUgACgCBCADRgR/IAAsABBBAEcFQQALCwsFQQELIQQgAiQGIAQLnQcBC38jBiEEIwZB4ABqJAYgBEHUAGohDCAEQcgAaiEOIARBPGohBiAEQTBqIQcgBEEkaiEIIARBGGohCSAEQQxqIQoCQCAAIAEgAxCLAiILIABHBEAgA0EEaiEFIAsgASADEIsCIgEgC0YEQCAFKAIAIQJBACEBA0AgAUF/RwRAIAIgAUF/aiIBQRhsahBpDAELCyAFIAJBaGo2AgAMAgsgBSgCACILIAMoAgBrQRgQTkECTwRAIAwgC0FoahCvASAFKAIAIQNBACEAA0AgAEF/RwRAIAMgAEF/aiIAQRhsahBpDAELCyAFIANBaGo2AgAgDiADQVBqEK8BIAUoAgAiA0FoaiINQQtqIgAsAABBAEgEQCANKAIAQQAQnAEgA0FsakEANgIABSANQQAQnAEgAEEAOgAAC0H01SAQYyIDIAJBBGoiBSgCACACQQtqIgssAAAiAEH/AXEgAEEASBtGBEAgAkH01SAgAxDEA0UEQCANQSgQhgYLCyAEQdDVICAOEJMEIARB7tcgEKcBGiAKIAQpAgA3AgAgCiAEKAIINgIIQQAhAANAIABBA0cEQCAEIABBAnRqQQA2AgAgAEEBaiEADAELCyAKIAIoAgAgAiALLAAAIgNBAEgiABsgBSgCACADQf8BcSAAGxC2ARogCSAKKQIANwIAIAkgCigCCDYCCEEAIQADQCAAQQNHBEAgCiAAQQJ0akEANgIAIABBAWohAAwBCwsgCUHL1SAQpwEaIAggCSkCADcCACAIIAkoAgg2AghBACEAA0AgAEEDRwRAIAkgAEECdGpBADYCACAAQQFqIQAMAQsLIAggDCgCACAMIAwsAAsiA0EASCIAGyAMKAIEIANB/wFxIAAbELYBGiAHIAgpAgA3AgAgByAIKAIINgIIQQAhAANAIABBA0cEQCAIIABBAnRqQQA2AgAgAEEBaiEADAELCyAHQc7VIBCnARogBiAHKQIANwIAIAYgBygCCDYCCEEAIQADQCAAQQNHBEAgByAAQQJ0akEANgIAIABBAWohAAwBCwsgDSAGKAIAIAYgBiwACyIDQQBIIgAbIAYoAgQgA0H/AXEgABsQtgEaIAYQVCAHEFQgCBBUIAkQVCAKEFQgBBBUQfTVIBBjIgMgBSgCACALLAAAIgBB/wFxIABBAEgbRgRAIAJB9NUgIAMQxANFBEAgDUEpEIYGCwsgDhBUIAwQVCABIQALCwsgBCQGIAALRQECfyABLgEAIgIgAC4BACIDIAMgAkgbQRB0QRB1IAEuAQQiASAALgEEIgAgAUEQdEEQdSAAQRB0QRB1SBtBEHRBEHVrCxEAIABBBGogAUH//wNxEPQBCxIAIAAEfyAAKAIAIABGBUEACwurAgEFfyMGIQQjBkEgaiQGIAAoAgBFBEBBxKwWQYTCGUECQQAgBBBRCyAEQQhqIQIgAUUEQEHIrBZBhMIZQQJBgoQaIAIQUQsgBEEQaiECIAFBBGoiAygCAARAQcysFkGEwhlBAkEAIAIQUQsCQCAAKAIAIgUoAgAiBgRAIAMgACgCDCICNgIAIAIgATYCACAAQQhqIgIoAgAiAwRAIAEgAzYCACADIAE2AgQgACADNgIEIAYgA0cNAiAFIAE2AgAMAgsgASAAKAIEIgY2AgAgBiABNgIEIAAsABAEQCAFIAE2AgALIAAsABEEQCAAIAE2AhQLBSADIAE2AgAgASABNgIAIAUgATYCACAAIAE2AgwgACABNgIEIABBCGohAgsLIAIgATYCACAEJAYLOgEBfyAAIAEQ+RAhAiAAKAIIIgAgAkEEdGorAwAgACACQQR0aioCCCAAIAJBBHRqKgIMIAG2EPgQuwtSAQF/IAAoAgAiAiAAKAIERgRAIAAoAgQiAgRAIAAgAkEBdBCcCgUgAEEEEJwKCyAAKAIAIQILIAAgAkEBajYCACAAKAIIIAJBAnRqIAEQmAIaC2MBBH8jBiEBIwZBIGokBiABQRBqIQIgAUEMaiEDIAEgADYCACABQZIDNgIEIAFBADYCCCAAKAIAQX9HBEAgAiABNgIAIAMgAjYCACAAIAMQ+x0LIAAoAgRBf2ohBCABJAYgBAszAQF/QfS5FigCACEBIAAEQEH0uRZBmMX5ACAAIABBf0YbNgIAC0F/IAEgAUGYxfkARhsLJwECfyMGIQMjBkEQaiQGIAMgAjYCACAAIAEgAxCKDiEEIAMkBiAECz0AIAFFBEBBhKUgQcC3EUEBEEoaDwsgAEUEQEG0mR5BwLcRQQEQShoPCyABIABGBEAPCyAAIAEQ0AsQ2gULUAEEfyMGIQYjBkEQaiQGIAYhBSABIAJsIQQgAgRAIAQgAhBmIAFHBEACfyAAKAIAIQcgBSADNgIAIAcLQeutHSAFEF9BACEECwsgBSQGIAQL2QEBCH8jBiECIwZBIGokBiACIAEQcSkBADcDACAAIAIuAQAgAi4BAiACQRRqIgUgAkEQaiIEELYCIAAgAi4BBCACLgEGIAJBDGoiAyACQQhqIgYQtgIgAEEcaiEHIAYoAgAhBiAFKAIAIQUgAygCACEIIAQoAgAiAyEEIABBCGoiCSgCACADbCEDA0AgBCAGTARAIAUhAANAIAAgCEwEQCAHKAIAIAAgA2pBAnRqQcIAIAEQzQMgAEEBaiEADAELCyAEQQFqIQQgCSgCACADaiEDDAELCyACJAYLCQAgAEEAEOgRCzkBA38gAEUEQEEADwsgAEHMAWoiAigCACEDIAIgA0GAgMAAcjYCACAAIAEQwAIhBCACIAM2AgAgBAvLAwEIfyAAKALQAyICQQxqIQMgAkEQaiEFIABBtANqIQYgAkEIaiEHIAMoAgAhAgNAIAJBgIACSARAIAUgBSgCACIEQX9qIgI2AgAgBEEBSARAIAYoAgAEQEEAIQQFAkAgABC3FSICQf8BRgRAA0ACQCAAELcVIgIiBARAIARB/wFGBEAMAwUMAgsAC0H/ASECDAMLCyAGIAI2AgBBACECCwsgAiEEIAUoAgAhAgsgByAHKAIAQQh0IARyNgIAIAUgAkEIajYCACACQXhIBEAgBSACQQlqIgI2AgAgAkUEQCADQYCAAjYCAAsLCyADIAMoAgBBAXQiAjYCAAwBCwsgAS0AACIAQf8AcUECdEHg7QpqKAIAIgRBCHUhCCADIAIgBEEQdSIGayICNgIAIAcoAgAiCSACIAUoAgB0IgVOBEAgByAJIAVrNgIAIAMgBjYCACAAQYABcSEDIAIgBkgEQCABIAMgCHM6AAAgAEEHdQ8FIAEgAyAEczoAACAAQYABc0EHdQ8LAAsgAkGAgAJOBEAgAEEHdQ8LIABBgAFxIQMgAiAGSAR/IAEgAyAEczoAACAAQYABc0EHdQUgASADIAhzOgAAIABBB3ULC0UBAn8gAS4BAiICIAAuAQIiAyADIAJIG0EQdEEQdSABLgEGIgEgAC4BBiIAIAFBEHRBEHUgAEEQdEEQdUgbQRB0QRB1aws6AQF/IAMgASAALgEUayAAQQRqIgUoAgAQTjYCACAEIAIgAC4BFmsgBSgCABBONgIAIAAgAyAEEM0PCw4AIAAgAUH//wNxEPQBC1YBAn8gABB5IAAgARBTEGIpAQA3AQADQAJAIAEQVgJAAkAgARBTIgJBBGoiAygCAA0AIAAgAhBiELwBGiADKAIADQAMAQsgAigCGBDIAkUNAQsMAQsLC0ABAX8jBiEBIwZBIGokBiABIAAQrAYgARCeAUEAIQADQCABEI0BRQRAIAEQqwEaIABBAWohAAwBCwsgASQGIAALGQEBfyAAKAIAIgEEQCAAIAE2AgQgARBMCwsRACAAIAEQyQEgACACEKMCGgsIAEEJEAlBAAsZACAALAAAQQFGBH9BAAUgAEEBOgAAQQELC1YBA38gACgCACIDBEAgAEEEaiICKAIAIQEDQCABIANHBEAgAUFoaiIBEGkMAQsLIAIgAzYCACAAKAIIIAAoAgAiAmtBGBBOIQEgACgCDCACIAEQsRILC5gBAQN/IABBBGoiAiACKAIAQQFqNgIAQfyh+QAoAgBB+KH5ACgCACICa0ECdSABTQRAIAFBAWoQhx5B+KH5ACgCACECCyACIAFBAnRqKAIAIgIEQCACQQRqIgQoAgAhAyAEIANBf2o2AgAgA0UEQCACIAIoAgAoAghB/wNxQaIHahEAAAsLQfih+QAoAgAgAUECdGogADYCAAtnAQF/IABFIAFFcgRAQQAPCyAAKAKIBSICBH8gACABIAJB/wFxQZACahEBAAUCf0EAIABFIAFFcg0AGiABEHILCyIBBEAgAQ8LIAAoAswBQYCAwABxBEBBAA8FIABBo5MfEKkBC0EAC6UBAQF/IAIgA3JBAEgEQEHKkR5B4JEeQQAQShpBAA8LIABBAEgEQCACIABqIgJBAUgEf0HqkR5B4JEeQQAQShpBAA8FQQALIQALIAFBAEgEQCADIAFqIgNBAUgEf0GCkh5B4JEeQQAQShpBAA8FQQALIQELQQFBFBCDASIEBH8gBCAAIAEgAiADEMgkIARBATYCECAEBUG+lh5B4JEeQQAQShpBAAsLYgECfyMGIQIjBkEQaiQGIAFBf0YEf0EABSAAIAEQ6wNFBEAgAkGL2hg2AgAgAkH9AzYCBEGIlhZB69kYQQJBx+scIAIQUQsgACgCACABQfAAbGosACNBAEcLIQMgAiQGIAMLEAAgACABQf8BcSACEIwBGgtEACAAIAIgAyAEEN8MIABBDGoiAhCZASAAQRBqIgMQmQEgAiABEOABGiADIAEQ4AEaIAAgBUEoaiIBNgIUIAEgABC5AQsRACAAQdwAaiABQQJ0aigCAAujAgEGfyMGIQgjBkEgaiQGIAghBiAALAAJBEAgBkGj4xc2AgAgBkGPAjYCBEHAnhZBluMXQQJBx+scIAYQUQsgBkEIaiEEIAJFBEAgBEGj4xc2AgAgBEGQAjYCBEHAnhZBwOMXQQJBx+scIAQQUQsgBkEQaiEEIANBf0wEQCAEQaPjFzYCACAEQZECNgIEQcCeFkHJ4xdBAkHH6xwgBBBRC0F/IAIQZiADSwRAIAAoAgQiBCgCACAAKAIAIgdrIgUgAyACbCIDIAUgA0kbIQUgByEDBSAAKAIEIgQoAgAgACgCACIDayEFCyABQQBHIAVBAEdxBEAgASAEIAMQ2QEgBRBtGiAAKAIAIQMLIAAgAyAFajYCACAFIAIQZiEJIAYkBiAJCwcAIABBNGoLDgAgAEGAgICABHFBAEcL4AMBCH8gACgCACEFIABBBGoiCigCACEIAkACQCAAKAIQIgZBtANqIgsoAgAEfyABIQcgAiEEIAUhAiAIBSAGQRhqIQkgBSEEIAEhByAIIQECQAJAA0AgAkEZTgRAIAIhAyAEIQIMBgsgAQRAIAQhBQUgBiAJKAIAKAIMQf8BcUEGahEFAEUNAyAJKAIAIgEoAgAhBSABKAIEIQELIAFBf2ohASAFQQFqIQQgBSwAACIFQf8BcSEIAkAgBUF/RgRAIAQhBQNAIAEEfyAFBSAGIAkoAgAoAgxB/wFxQQZqEQUARQ0GIAkoAgAiBCgCBCEBIAQoAgALIQQgAUF/aiEBIARBAWohBQJAAkACQAJAIAQsAAAiBEF/aw4CAQACC0H/ASEIIAUhBAwFCwwBCwwFCwwAAAsACwsgB0EIdCAIciEHIAJBCGohAgwAAAsACyALIARB/wFxNgIAIAIhBCAFIQIMAgtBAA8LIQELIAQgA0gEfyAGQdADaiIDKAIAKAIkRQRAIAYoAgBB+AA2AhQgBkF/IAYoAgAoAgRB/wBxQawLahEDACADKAIAQQE2AiQLIAdBGSAEa3QhB0EZBSAECyEDCyAAIAI2AgAgCiABNgIAIAAgBzYCCCAAIAM2AgxBAQteAQJ/IAJBb0sEQBAECyACQQtJBEAgACACOgALBSAAIAJBEGpBcHEiAxBPIgQ2AgAgACADQYCAgIB4cjYCCCAAIAI2AgQgBCEACyAAIAEgAhDkAhogACACakEAEJwBCxsAIABFBEAPCyAAIAEgAhCcCyAAIAEgAhCtCwsEABATCwcAIABBJGoLsAIBB38jBiEDIwZBEGokBgJAIABBBGoiBigCAEEASgRAIABBDGoiAigCAARAIABBCGohBANAIAEgACgCAE4NAyACKAIAIgUoAgAoAgghByADIAQoAgAgAUECdGoQyQEgBSADIAdB/wBxQawLahEDACADEFggAUEBaiEBDAAACwALCwsgAEEIaiIEKAIAIgIEQCACQXxqIgUoAgAiAQRAIAIgAUECdGohAQNAIAFBfGoiARBYIAEgAkcNAAsLIAUQTAsgBEEANgIAIABBADYCACAGQQA2AgAgAEEMaiICKAIAIgEEQCABIAEoAgAoAgRB/wNxQaIHahEAAAsgAkEANgIAIABBEGoiASgCACIABEAgACAAKAIAKAIEQf8DcUGiB2oRAAALIAFBADYCACADJAYLEwAgAQR/IAAgASACEL0gBUEACwvJAQAgAEUEQEHMpyBB9pQeQQEQShoPCyABRQRAQZzDH0H2lB5BARBKGg8LAkACQAJAAkACQAJAIAIOAwABAgMLDAQLQQAgARDkASEBDAILIAEQ3QEhAQwBC0GvtR5B9pQeQQEQShoPCyABRQRAQYj/HkH2lB5BARBKGg8LCyAAEIAEIgIgACgCBE4EQCAABH8gACAAKAIEQQF0EMQkBUHMpyBBsL0RQQEQSgsaCyAAKAIMIAJBAnRqIAE2AgAgACAAKAIAQQFqNgIAC/gWARh/AkAjBiEGIwZB4ABqJAYgAEUEQEGEpSBB8LsRQQAQShoMAQsgABDTASIIRQRAIAAQ3QEhGCAGJAYgGA8LIAZBKGohDSAGQSBqIQogBkEYaiEFIAZBEGohDyAGQQhqIRAgBkHcAGohBCAGQdgAaiEOIAZB1ABqIQkgBkHQAGohCyAGQcwAaiETIAZByABqIREgBkHEAGohDCAGQUBrIRIgBkE8aiEHIAZBOGohFCAGQTRqIRUgBkEwaiEWIAZBLGohFwJ/AkACQAJAAkACQAJAIAEOBQABAgMEBQtBAAwFC0EBDAQLQQIMAwtBAwwCC0EEDAELIAZB8LsRNgIAQcS0FkGDjx4gBhBcQQQLIQIgACALIBMgERCTAQJAAkACQCARKAIAQQFrDggAAAEAAQEBAAELDAELQbmPHkHwuxFBABBKGgwBCyAIIBQgFSAWIBcQywsEQEHNkB5B8LsRQQAQShoMAQsCQAJAAkAgESgCAEEBRyACRXEEQCAQQfC7ETYCAEHEtBZB1I8eIBAQXAUgAkEERw0BCyAIIAwQ8xQgCCASENgOIAggBxDKJCAMKAIABH8gEigCAAR/QQIFIBEoAgBBAUcgBygCAEVyIQIMAgsFQQMLIQIgCBDSAiEHIAAQdSEBIAAQdyESDAELIAgQ0gIhByAAEHUhDCAAEHchEgJAAkACQAJAIAIOAgABAgtBACAAEOQBIgBFBEAgD0HwuxE2AgBBxLQWQYabHiAPEFxBACEADAULIAhBACAEIA4gCRCQBQJ/IAQoAgAgDigCAGogCSgCAGohGSAIQQEgBCAOIAkQkAUgGSAEKAIAIA4oAgBqIAkoAgBqSAsEQCAAIAAQjQUaCyAAEM4LDAQLDAELIAwhAQwBCyALKAIAIBMoAgBBCBDHASIBRQRAIAVB8LsRNgIAQcS0FkGGmx4gBRBcQQAhAAwCCyABIAAQjQIgASAAEK8CIAEQdSEPIAEQdyEQIAdBBBCDASEDQQAhAANAIAAgCBDSAkgEQCADIABBAnRqIBQoAgAgAEECdGooAgCyQ5qZmT6UIBUoAgAgAEECdGooAgCyQwAAAD+UkiAWKAIAIABBAnRqKAIAskPNzEw+lJK7RAAAAAAAAOA/oBBaNgIAIABBAWohAAwBCwtBACENA0AgDSATKAIASARAIAwgDSASbEECdGohCSAPIA0gEGxBAnRqIQgCQAJAAkACQAJAAkAgESgCAEEBaw4IAwIEAQQEBAAEC0EAIQJBACEHA0AgAkEDciALKAIAIgBIBEAgCCAHQQJ0aiADIAkgB0ECdGooAgAiAEEYdkECdGooAgBBGHQgAyAAQRB2Qf8BcUECdGooAgBBEHRyIAMgAEEIdkH/AXFBAnRqKAIAQQh0ciADIABB/wFxQQJ0aigCAHI2AgAgAkEEaiECIAdBAWohBwwBCwsDQCACIABODQUgDiADIAkgAmpBA3MtAABBAnRqKAIAIgA2AgAgCCACakEDcyAAOgAAIAJBAWohAiALKAIAIQAMAAALAAtBACEHQQAhAgNAIAJBB3IgCygCACIASARAIAggB0EBdCIAQQJ0aiADIAkgB0ECdGooAgAiBUEcdkECdGooAgBBGHQgAyAFQRh2QQ9xQQJ0aigCAEEQdHIgAyAFQRR2QQ9xQQJ0aigCAEEIdHIgAyAFQRB2QQ9xQQJ0aigCAHI2AgAgCCAAQQFyQQJ0aiADIAVBDHZBD3FBAnRqKAIAQRh0IAMgBUEIdkEPcUECdGooAgBBEHRyIAMgBUEEdkEPcUECdGooAgBBCHRyIAMgBUEPcUECdGooAgByNgIAIAdBAWohByACQQhqIQIMAQsLA0AgAiAATg0EIA4gAyAJIAJBA3ZBAnRqKAIAIAJBAnRBHHFBHHN2QQ9xQQJ0aigCACIANgIAIAggAmpBA3MgADoAACACQQFqIQIgCygCACEADAAACwALQQAhB0EAIQIDQCACQQ9yIAsoAgAiAEgEQCAIIAdBAnQiAEECdGogAyAJIAdBAnRqKAIAIgVBHnZBAnRqKAIAQRh0IAMgBUEcdkEDcUECdGooAgBBEHRyIAMgBUEadkEDcUECdGooAgBBCHRyIAMgBUEYdkEDcUECdGooAgByNgIAIAggAEEBckECdGogAyAFQRZ2QQNxQQJ0aigCAEEYdCADIAVBFHZBA3FBAnRqKAIAQRB0ciADIAVBEnZBA3FBAnRqKAIAQQh0ciADIAVBEHZBA3FBAnRqKAIAcjYCACAIIABBAnJBAnRqIAMgBUEOdkEDcUECdGooAgBBGHQgAyAFQQx2QQNxQQJ0aigCAEEQdHIgAyAFQQp2QQNxQQJ0aigCAEEIdHIgAyAFQQh2QQNxQQJ0aigCAHI2AgAgCCAAQQNyQQJ0aiADIAVBBnZBA3FBAnRqKAIAQRh0IAMgBUEEdkEDcUECdGooAgBBEHRyIAMgBUECdkEDcUECdGooAgBBCHRyIAMgBUEDcUECdGooAgByNgIAIAdBAWohByACQRBqIQIMAQsLA0AgAiAATg0DIA4gAyAJIAJBBHZBAnRqKAIAIAJBAXRBHnFBHnN2QQNxQQJ0aigCACIANgIAIAggAmpBA3MgADoAACACQQFqIQIgCygCACEADAAACwALQQAhCkEAIQIDQCACQR9yIAsoAgAiAEgEQCAKQQN0IQdBACEFIAkgCkECdGooAgAhBANAIAVBBEcEQCAIIAcgBUEBdGoiAEECdGogAyAEQR92QQJ0aigCAEEYdCADIARBHnZBAXFBAnRqKAIAQRB0ciADIARBHXZBAXFBAnRqKAIAQQh0ciADIARBHHZBAXFBAnRqKAIAcjYCACAIIABBAXJBAnRqIAMgBEEbdkEBcUECdGooAgBBGHQgAyAEQRp2QQFxQQJ0aigCAEEQdHIgAyAEQRl2QQFxQQJ0aigCAEEIdHIgAyAEQRh2QQFxQQJ0aigCAHI2AgAgBUEBaiEFIARBCHQhBAwBCwsgCkEBaiEKIAJBIGohAgwBCwsDQCACIABODQIgDiADIAkgAkEFdkECdGooAgAgAkEfcUEfc3ZBAXFBAnRqKAIAIgA2AgAgCCACakEDcyAAOgAAIAJBAWohAiALKAIAIQAMAAALAAsMBQsgDUEBaiENDAELCyADBEAgAxBMCyABIQAMAQsgCygCACATKAIAQSAQxwEiDEUEQCAKQfC7ETYCAEHEtBZBhpseIAoQXEEAIQAMAQsgDCAAEK8CIAwgABCNAiACQQNGBEAgDEEEEI8FCyAMEHUhDyAMEHchECAHQQQQgwEhCSACQQJGIQBBACEEA0AgBCAHSARAIBQoAgAgBEECdGooAgAhCiAVKAIAIARBAnRqKAIAIQUgFigCACAEQQJ0aigCACECIAAEQCAKIAUgAiAJIARBAnRqEIIEBSAKIAUgAiAXKAIAIARBAnRqKAIAIAkgBEECdGoQugkLIARBAWohBAwBCwtBACEKA0AgCiATKAIASARAIAEgCiASbEECdGohAiAPIAogEGxBAnRqIQBBACEEA0AgBCALKAIASARAAn8CQAJAAkACQCARKAIAQQJrDgcCAwEDAwMAAwsgAiAEakEDcy0AAAwDCyACIARBA3ZBAnRqKAIAIARBAnRBHHFBHHN2QQ9xDAILIAIgBEEEdkECdGooAgAgBEEBdEEecUEec3ZBA3EMAQsgAiAEQQV2QQJ0aigCACAEQR9xQR9zdkEBcQsiBSAHSARAIAAgBEECdGogCSAFQQJ0aigCADYCAAUgDUHwuxE2AgBBxLQWQYuQHiANEFwLIARBAWohBAwBCwsgCkEBaiEKDAELCyAJEEwgDCEACyAUKAIAEEwgFSgCABBMIBYoAgAQTCAXKAIAEEwgBiQGIAAPCyAGJAZBAAscACAABH8gACgCDAVB7IQeQbC3EUEAEEoaQQALCw8AIABBACABIAIgAxD2Dgs+AQN/IwYhASMGQRBqJAYgACgCACICBH8gAgVB9MP5AEGdsRdBAkEAIAEQUSAAKAIACygCAEUhAyABJAYgAwsaACAAIAAoAhQQ5AwgAEEQahBYIABBDGoQWAsJACAAQQQQ8BoLCgAgAEEEahCPAwslACAAQShqEFcgAEHEAGoQVyAAQeAAahBXIAAgATYCACAAELICC0MBAX8CfyAAKAIMIgIoAhgEfyABQQBHIAIoAhBFcQR/QQEFIAFBBEYEQEEBIAAoAhggACgCFE4NAxoLQQALBUEBCwsLHAEBfyAAIAEQhQ4iAkEAIAItAAAgAUH/AXFGGwtAAQJ/IwYhAiMGQZAIaiQGIAJB8AdqIgMgATYCACACIAAgAxCKDhogAkGACGoiACACNgIAQaTWHyAAEEsgAiQGCyMBAX8jBiEDIwZBEGokBiADIAI2AgAgACABIAMQuSMgAyQGC2MBAn8jBiECIwZBEGokBiABQX9GBH9BAAUgACABEOsDRQRAIAJBi9oYNgIAIAJB6AM2AgRBhMT5AEHr2RhBAkHH6xwgAhBRCyAAKAIAIAFB8ABsaiwAIEEARwshAyACJAYgAwtAAQJ/IwYhAiMGQSBqJAYgAEHUAGogAEHYAGogARsiACgCABCoAgR/IAIgABCSASACEIEBBUEACyEDIAIkBiADC2wBA38jBiECIwZBEGokBiAAIAEqAgAgAUEEaiIDKgIAEPYDIABBBGoiBCABKgIAIAMqAgAQ9gMgAiAAKAEAIgFB//8DcSABQRB2IAQoAQAiAUH//wNxIAFBEHYQhAMgACACKQMANwEAIAIkBgsnACAAKAIEIAAgASACIAAoAgAoAgxB/wBxQZAEahECAEECdGooAgALCgAgAEGpAhCCAwsNACAAIAFBAnRqKAIAC1EAIABCADcCACAAQQA2AgggACABQQoQpgEgAEEMaiIBQgA3AgAgAUEANgIIQQAhAANAIABBA0cEQCABIABBAnRqQQA2AgAgAEEBaiEADAELCwsSACACBEAgACABIAIQbRoLIAALvwEBBX8jBiECIwZBMGokBiACQSBqIQUgAkEQaiEDQaW7ICABLAAAENoCBEAgARCVICEGIAIgADYCACACIAZBgIACcjYCBCACQbYDNgIIQQUgAhAdEJQDIgRBAEgEQEEAIQAFIAZBgIAgcQRAIAMgBDYCACADQQI2AgQgA0EBNgIIQd0BIAMQFxoLIAQgARCWEyIARQRAIAUgBDYCAEEGIAUQGhpBACEACwsFQcjF+QBBFjYCAEEAIQALIAIkBiAACwwAIAAgASkCRDcCAAtxAQJ/IAEoAhgiAygCACECIAMgAkEBajYCACACIAA6AAAgA0EEaiICKAIAQX9qIQAgAiAANgIAIAAEQA8LIAEgAygCDEH/AXFBBmoRBQAEQA8LIAEoAgBBGTYCFCABIAEoAgAoAgBB/wNxQaIHahEAAAsIACAAQcwAagtLAQF/IwYhAiMGQRBqJAYgACABQQAQ+QYiAARAIAIkBiAADwUgAiABNgIAQdHOHUHizh0gAhBfQYPPHUGPzx1BqwZB0c4dEAELQQALEAAgAEEANgIAIABBADYCBAscAQF/IABBEGoiAC4BBiEBIAAuAQIgAWpBAhBOC3IBAn8jBiEBIwZBEGokBiAAQQBMBEAgAUHMyRc2AgAgAUEgNgIEQbSXFkGc+hhBAkHH6xwgARBRCyABQQhqIQIgABByIgBFBEAgAkHMyRc2AgAgAkEiNgIEQbSXFkGl+hhBAkHH6xwgAhBRCyABJAYgAAuSAQEFfyABQQFIIABBBGoiBCgCACABTnJFBEBBfyABQQQgAUEEShsiAkECdCACQf////8DSxsQTyEDIAAoAgAhBSAAQQhqIgYoAgAhAUEAIQADQCAAIAVIBEAgAyAAQQJ0aiABIABBAnRqKAIANgIAIABBAWohAAwBCwsgAQRAIAEQTAsgBiADNgIAIAQgAjYCAAsLCgAgAEGgAhCCAwsXACAAQQA2AgAgAEEANgIEIABBADYCCAtCAQJ/IwYhAiMGQRBqJAYgAiAAIAFBBBBOIgBqLQAAIAEgAEECdGtBAXR2QQV0QeAAcRD6BCACLAAAIQMgAiQGIAMLCABBCxAJQQALUQAgAEIANwIAIABBADYCCCAAIAFBCRCmASAAQQxqIgFCADcCACABQQA2AghBACEAA0AgAEEDRwRAIAEgAEECdGpBADYCACAAQQFqIQAMAQsLCyMAIABFIAFFciACRXIEQA8LIAAgASACEK4LIAAgASACEK0LC7sBAQJ/IwYhAyMGQRBqJAYCQCACQX9GBEAgACABQX8QzAEQhQEFIAEgAhC3BCIEBEAgACAEELwODAILIAMgASACEMwBENUjAkAgASACEN0CBEAgASACENkEBEAgA0HhiR8QbBoMAgsgASACEMkDBH8gA0HUvhcQbAUgA0H3rRkQbAsaCwsgASACEMICBEAgA0GPhB0QbBoLIAEgAhCFBARAIANB1r4XEGwaCyAAIAMQyQEgAxBYCwsgAyQGCzQAIAAgAGIEf0EABSAARAAAAAAAAPBBZgR/QQAFIABEAAAAAAAA8L9lBH9BAAUgAKsLCwsLogEBA38gAEHUAGoQkAggAEE4aiIBEKgIAkACQCABENQCBEAgAEE0aiECDAEFIAEQgQEgAEE0aiICKAIARgRAIAEQngEFDAILCwwBCyABEJ4BIABBMGohAwJAAkADQCABEI0BDQIgARCBASADKAIARg0BIAFBARCWFiACKAIARg0BIAEQ9QEMAAALAAsgABCoBgwBCyADQQA2AgAgAkEANgIACwt1AQR/IwYhAiMGQRBqJAYgACgCACIBRQRAQfSVFkHPtRdBAkEAIAIQUSAAKAIAIQELIAEoAgAiAwR/IAAoAggiASADENQJRgR/QQEFIAEEf0EABSAAKAIEIANGBH8gACwAEEUFQQALCwsFQQELIQQgAiQGIAQLIAEBfyAAEFcgAEEEaiIDEJgBIAMgATsBACAAIAI7AQYLFwEBfyAAIABBOGogAEE8aiIBEIEGIAELFgBBASABQf8BcXQgAEH//wNxcUEARwscAQF/IAAoAggiAQRAIAFBlAFqIAAoAgAQ7QgLCwcAIABBAUYLqAIBB38gAEELaiIHLAAAIgJBAEgiAwR/IAAoAgQhBCAAKAIIQf////8HcUF/agUgAkH/AXEhBEEKCyEBAkBBCiAEQRBqQXBxQX9qIARBC0kiBRsiBiABRwRAAkACQCAFBEAgACgCACEBIAMEf0EAIQUgASECIAAFIAAgASACQf8BcUEBahDkAhogARBMDAMLIQEFIAYgAU0gBkEBaiICEHIiAUVxDQQgBywAACIDQQBIBH9BASEFIAAoAgAFIAEgACADQf8BcUEBahDkAhogAEEEaiEDDAILIQILIAEgAiAAQQRqIgMoAgBBAWoQ5AIaIAIQTCAFRQ0BIAZBAWohAgsgACACQYCAgIB4cjYCCCADIAQ2AgAgACABNgIADAILIAcgBDoAAAsLC/IBAQV/IwYhAyMGQSBqJAYgACgCBCAAKAIAIgRrQQR1IgVBAWoiAkH/////AEsEQBAEBSADIAIgACgCCCAEayIEQQN1IgYgBiACSRtB/////wAgBEEEdUH///8/SRsgBSAAQQxqEOsKIANBCGoiBCgCACICQQA2AgAgAkEEaiIFQQA2AgAgAkEIaiIGQQA2AgAgAiABKAIMNgIMIAIgASgCADYCACAFIAFBBGoiBSgCADYCACAGIAFBCGoiBigCADYCACAGQQA2AgAgBUEANgIAIAFBADYCACAEIAJBEGo2AgAgACADEOoKIAMQnBIgAyQGCwtEAQF/IABBADYCACAAQQRqIgNBADYCACAAQQA2AgggACACKAIANgIMIAAQth0gAygCACABEJQEIAMgAygCAEEYajYCAAsLACAAIAEgAhCQCwscACAABH8gACgCDAVBnMMfQaKHHkF/EEoaQX8LC1ABBH8CQCAAKAIAIgMEQCADKAIAIQQgA0EANgIAIABBADYCACAEIQADQCAARQ0CIAAoAgAhBSAAIAFB/wNxQaIHahEAACAFIQAMAAALAAsLCz0BA38gAEEIaiECIAAuAQ4gAC4BCiIDayIEBH8gAC4BDCACLgEAIgBrIAEgA2tsIAQQTiAAagUgAi4BAAsL/gEBA38jBiEFIwZBEGokBiAAEJgBIABBBGoiBhCYASACQRB0QRB1IARBEHRBEHVMIQcgAUEQdEEQdSADQRB0QRB1SgRAIAcEQCAFIAMgAhChASAAIAUoAgA2AQAgBSABIAQQoQEgBiAFKAIANgEABSAAIARB//8DcUEQdCADQf//A3FyNgEAIAYgAkH//wNxQRB0IAFB//8DcXI2AQALBSAHBEAgACACQf//A3FBEHQgAUH//wNxcjYBACAGIARB//8DcUEQdCADQf//A3FyNgEABSAFIAEgBBChASAAIAUoAgA2AQAgBSADIAIQoQEgBiAFKAIANgEACwsgBSQGCxAAIABBCGogAUECdGooAgALEAAgACABQQRBARCQBBpBAQs0ACABQX9KBEAgACgCACABSgRAIAAoAgggAUECdGoPCwtBr4QdQdCEHUHPBUHjtBoQAUEACwYAQRkQCQsgACAARQRADwsgACABIAMQzwUgACACIAMQ8wIgABDOBQtPAQF/IABFBEBBlLAeQYqxHkEBEEoaDwsgABCJBSICIAAoAgBOBEAgABCEJAsgACgCICACQQN0aiABOQMAIABBBGoiACAAKAIAQQFqNgIACwkAIAAgAToACgsJACAAIAEQggoLCAAgABDVCBoLQAAgAS4BACAALgEESgR/QQAFIAEuAQQgAC4BAEgEf0EABSABLgECIAAuAQZKBH9BAAUgAS4BBiAALgECTgsLCwsKACAAQaQCEIIDC20BAn8jBiEBIwZBEGokBiAAKAIIIgIEQCAALAAABEAgAkEEaiAAKAIEEO0IBSACQcwAaiAAKAIEEO0ICwUgACgCBARAIAFB++AXNgIAIAFBxAA2AgRB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BigCACABQQJ0aigCACICBEAgBygCACIAIAIoAgA2AgAgAiAANgIABSAHKAIAIgIgAEHcAGoiACgCADYCACAAIAI2AgAgBigCACABQQJ0aiAANgIAIAIoAgAiAARAIAAoAgQhACADQX9qIgEgA3EEQCAAIANPBEAgACADEIcBIQALBSAAIAFxIQALIAYoAgAgAEECdGogAjYCAAsLIAUgBSgCAEEBajYCACAHQQA2AgALIA0oAgALIRAgDiQGIBALzyYBAX8gABD/KSAAQeiWFjYCACAAQbCmCGpBAEGcphtBuqYbQQAgABBzIgEQYCAAQcCmCGpBAEHnphtBiqcbQQAgARBgIABB0KYIakEAQbynG0HWpxtBACABEGAgAEHgpghqQQBB/qcbQZ2oG0EAIAEQYCAAQfCmCGpBAEHCqBtB4agbQQAgARBgIABBgKcIakEAQZOpG0GwqRtBACABEGAgAEGQpwhqQQZB56kbQf2pG0EAIAEQfiAAQainCGpBA0GDqxtBnKsbQQEgARB+IABBwKcIakHT1fkAQY2sG0GlrBtBACABEMQCIABB2KcIakHT1fkAQcmsG0HhrBtBACABEMQCIABB8KcIakHT1fkAQYGtG0GbrRtBACABEMQCIABBiKgIakEAQc2tG0HmrRtBACABEGAgAEGYqAhqQQBBh64bQamuG0EAIAEQfiAAQbCoCGpBAEGUrxtBsq8bQQAgARB+IABByKgIakHT1fkAQY+wG0GtsBtBACABEMQCIABB4KgIakEAQdWwG0HtsBtBACABEGAgAEHwqAhqQQBBn7EbQaqxG0EAIAEQfiAAQYipCGpBAUHngx1Bv7EbQQAgARB+IABBoKkIakEAQbeCHUHLsRtBACABEH4gAEG4qQhqQeuxG0HwsRtBirIbQQAgARDEAiAAQdCpCGpBAEGfsxtByLMbQQAgARBgIABB4KkIakEAQbm0G0HUtBtBACABEGAgAEHwqQhqQQBBv7UbQdm1G0EAIAEQYCAAQYCqCGpBAEHrtRtBgbYbQQAgARBgIABBkKoIakEAQZO2G0GpthtBACABEGAgAEGgqghqQQFBvLYbQda2G0EAIAEQYCAAQbCqCGpBAEHythtBiLcbQQAgARBgIABBwKoIakEBQay3G0HBtxtBACABEGAgAEHQqghqQQFB2LcbQe63G0EAIAEQ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AUG59xtB1PcbQQAgARBgIABBqMcIakHT1fkAQev3G0GC+BtBACABEMQCIABBwMcIakEAQar4G0HM+BtBACABEGAgAEHQxwhqRAAAAAAAABxAQYr5G0Gh+RsgARBhIABB+McIakEAQcP5G0Hf+RtBACABEGAgAEGIyAhqQQBB8vkbQYv6G0EAIAEQYCAAQZjICGpBAEGl+htBvPobQQAgARBgIABBqMgIakEAQfH6G0GL+xtBASABEGAgAEG4yAhqQQBBivwbQaL8G0EAIAEQYCAAQcjICGpBAUG8/BtB2vwbQQAgARBgIABB2MgIakEAQfT8G0GY/RtBACABEGAgAEHoyAhqRAAAAAAAAOA/Qbz9G0Hg/RsgARBhIABBkMkIakQAAAAAAADoP0Gg/htBxf4bIAEQYSAAQbjJCGpBAEGB/xtBlv8bQQAgARB+IABB0MkIakEAQbX/G0HP/xtBACABEGAgAEHgyQhqQfL/G0H0/xtBg4AcQQAgARDEAiAAQfjJCGpBAEG7gBxBzIAcQQAgARB+IABBkMoIakEANgIAIABBlMoIahCZASAAQZjKCGoiAUIANwMAIAFCADcDCCAAQajKCGoiAUEAENYFNgIAIAEQmCE2AgQgAEGwyghqQQA2AgAgAEG0yghqEPwpIABB2MoIaiAAEP0pIABB4N4IakEAOgAAIABB5N4IakEANgIAIABB6N4IakF/NgIAIABB7N4IakMAAIA/QwAAAAAQpAEgAEH03ghqQwAAgD9DAAAAABCkASAAQfzeCGoQ/ikgAEGc3whqELIBIABBsN8IaiAANgIAIABBtN8IaiIAQgA3AgAgAEIANwIICwsAIABBzABqELkCCycAAn8CQCAALAAIDQAgACAAEF0QnhYNAEEADAELIAAgASACEJwPCwuXAQECfyABQQFGBEBBAiEBBSABQX9qIAFxBEAgARCLCyEBCwsgASAAKAIEIgNLBEAgACABEPQWBSABIANJBEAgACgCDLMgACoCEJWNEKEEIQIgA0ECSyADQX9qIANxRXEEfyACQQFBICACQX9qZ2t0IAJBAkkbBSACEIsLCyICIAEgASACSRsiASADSQRAIAAgARD0FgsLCws4AQF/IABBDBBPIgQ2AgAgACABQQhqNgIEIAQgAygCADYCCCAAQQE6AAggBCACNgIEIARBADYCAAsK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BEH/A3FBogdqEQAACyACQQA2AgAgAEEQaiIBKAIAIgAEQCAAIAAoAgAoAgRB/wNxQaIHahEAAAsgAUEANgIACxcAIABBNGoQzAcgAEEYahD2CCAAENEKCwwAIAAgASkCTDcCAAs0ACABQX9KBEAgACgCACABSgRAIAAoAgggAUEUbGoPCwtBr4QdQdCEHUHVBUG12SAQAUEAC0QBAX8gACABEO0CIAAgATYCACAAQQhqIQNBACEAA0AgACABSARAIAMoAgAgAEECdGogAigCADYCACAAQQFqIQAMAQsLCysAIABB/wFxQRh0IABBCHVB/wFxQRB0ciAAQRB1Qf8BcUEIdHIgAEEYdnILggEBA38gAiABayIDQW9LBEAQBAsgA0ELSQRAIAAgAzoACwUgACADQRBqQXBxIgUQciIENgIAIAAgBUGAgICAeHI2AgggACADNgIEIAQhAAsgACEEA0AgASACRwRAIAQgASwAABCcASABQQFqIQEgBEEBaiEEDAELCyAAIANqQQAQnAELQwEBfyAAQgA3AgAgAEEANgIIIAAgASgCACABIAEsAAsiAEEASCIDGyABKAIEIABB/wFxIAMbIgAgAiAAIAJJGxCmAQuWCgELfyMGIQgjBkEQaiQGIAhBCGohECAIQQRqIREgCCIOQQxqIg0gAxDrASANKAIAQajS+QAQygEhCyANENsBIARBADYCACABIQhBACEBAkACQANAAkAgBiAHRyABRXFFBEAgAiEBDAELIAgiAQR/QQAgASABKAIMIgggASgCEEYEfyABIAEoAgAoAiRB/wFxQQZqEQUABSAIKAIACxBvIgkbIQhBACABIAkbIQxBACABIAkbBUEAIQhBASEJIAEhDEEACyEKAn8CQCACBH8gAigCDCIBIAIoAhBGBH8gAiACKAIAKAIkQf8BcUEGahEFAAUgASgCAAsQbwR/QQAhAgwCBSAJBH8gAgUgAiEBDAcLCwUMAQsMAQsgCQR/QQAhAQwEBUEACwshAQJAIAsgBigCAEEAIAsoAgAoAjRB/wBxQZAEahECAEH/AXFBJUYEfyAGQQRqIgkgB0YNBAJAAkAgCyAJKAIAQQAgCygCACgCNEH/AHFBkARqEQIAIghBGHRBGHVBMGsiDwRAIA9BFUcNAQsgBkEIaiIGIAdGDQYgCCEKIAsgBigCAEEAIAso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FAsgACgCDCAEaiABIAIQbRogAEEEaiIAIAAoAgAgAmo2AgALrgkBAn8CQCAAQRRqIgIoAgBB5ABHBEAgACgCAEEVNgIUIAAoAgAgAigCADYCGCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgACABNgJQIABB9AFqIgNBADYCACAAQYACaiICQQA2AgACQAJAAkACQAJAAkACQCABDgYFAAECAwQGCyADQQE2AgAgAEEBNgJMIAAoAlQiAEEBNgIAIABBATYCCCAAQQE2AgwgAEEANgIQIABBADYCFCAAQQA2AhgPCyACQQE2AgAgAEEDNgJMIABB1ABqIgEoAgAiAEHSADYCACAAQQE2AgggAEEBNgIMIABBADYCECAAQQA2AhQgAEEANgIYIAEoAgAiAEHHADYCWCAAQQE2AmAgAEEBNgJkIABBADYCaCAAQQA2AmwgAEEANgJwIAEoAgAiAEHCADYCsAEgAEEBNgK4ASAAQQE2ArwBIABBADYCwAEgAEEANgLEASAAQQA2AsgBDwsgA0EBNgIAIABBAzYCTCAAQdQAaiIBKAIAIgBBATYCACAAQQI2AgggAEECNgIMIABBADYCECAAQQA2AhQgAEEANgIYIAEoAgAiAEECNgJYIABBATYCYCAAQQE2AmQgAEEBNgJoIABBATYCbCAAQQE2AnAgASgCACIAQQM2ArABIABBATYCuAEgAEEBNgK8ASAAQQE2AsABIABBATYCxAEgAEEBNgLIAQ8LIAJBATYCACAAQQQ2AkwgAEHUAGoiASgCACIAQcMANgIAIABBATYCCCAAQQE2AgwgAEEANgIQIABBADYCFCAAQQA2AhggASgCACIAQc0ANgJYIABBATYCYCAAQQE2AmQgAEEANgJoIABBADYCbCAAQQA2AnAgASgCACIAQdkANgKwASAAQQE2ArgBIABBATYCvAEgAEEANgLAASAAQQA2AsQBIABBADYCyAEgASgCACIAQcsANgKIAiAAQQE2ApACIABBATYClAIMAwsgAkEBNgIAIABBBDYCTCAAQdQAaiIBKAIAIgBBATYCACAAQQI2AgggAEECNgIMIABBADYCECAAQQA2AhQgAEEANgIYIAEoAgAiAEECNgJYIABBATYCYCAAQQE2AmQgAEEBNgJoIABBATYCbCAAQQE2AnAgASgCACIAQQM2ArABIABB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AADwPwUgAEQAAAAAAAAAABCOCQsFIAAgAKEgAkH//7//B0sNARoCQAJAAkACQCAAIAEQhA5BA3EOAwABAgMLIAErAwAgASsDCBCOCQwECyABKwMAIAErAwhBARCNCZoMAwsgASsDACABKwMIEI4JmgwCCyABKwMAIAErAwhBARCNCQsLIQMgASQGIAMLogEBA38CQCABKAJMQQBOBEAgAEH/AXEhAyAAQf8BcSABLABLRwRAIAFBFGoiBCgCACICIAEoAhBJBEAgBCACQQFqNgIAIAIgAzoAAAwDCwsgASAAEJgTGgwBCyAAQf8BcSEDIABB/wFxIAEsAEtHBEAgAUEUaiIEKAIAIgIgASgCEEkEQCAEIAJBAWo2AgAgAiADOgAADAILCyABIAAQmBMaCwsQACAAQQEgABBjIAEQrAEaCwsAIAAgARCbICAAC4YBAgJ/AX4gAKchAiAAQv////8PVgRAA0AgAUF/aiIBIAAgAEIKEJQLIgRCdn58p0H/AXFBMHI6AAAgAEL/////nwFWBEAgBCEADAELCyAEpyECCyACBEADQCABQX9qIgEgAiACQQoQZiIDQXZsakEwcjoAACACQQpPBEAgAyECDAELCwsgAQuCAwEDfyMGIQQjBkGAAWokBiAEQfwAaiEFIARBvLcWKQIANwIAIARBxLcWKQIANwIIIARBzLcWKQIANwIQIARB1LcWKQIANwIYIARB3LcWKQIANwIgIARB5LcWKQIANwIoIARB7LcWKQIANwIwIARB9LcWKQIANwI4IARBQGtB/LcWKQIANwIAIARBhLgWKQIANwJIIARBjLgWKQIANwJQIARBlLgWKQIANwJYIARBnLgWKQIANwJgIARBpLgWKQIANwJoIARBrLgWKQIANwJwIARBtLgWKAIANgJ4AkACQCABQX9qQf7///8HTQ0AIAEEf0HIxfkAQcsANgIAQX8FIAUhAEEBIQEMAQshAAwBCyAEQX4gAGsiBSABIAEgBUsbIgE2AjAgBEEUaiIFIAA2AgAgBCAANgIsIARBEGoiBiAAIAFqIgA2AgAgBCAANgIcIAQgAiADEJEJIQAgAQRAIAUoAgAiASABIAYoAgBGQR90QR91akEAOgAACwsgBCQGIAALuQEBAX8gAEUEQEF+DwsgACgCHCIBRQRAQX4PCyABQQA2AhwgAEEANgIU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AgAEQCADIAEQuAkLIAQoAggiAQRAIAEQTAsgBBBMIABBADYCACACJAYLvwEBAn8gAEUEQEH2piBB3pQeQQAQShpBAA8LIAFBAkYEQCAAQQhqIgEgASgCAEEBajYCACAADwsgAUEBRiEDAkACQAJAIAFBAWsOAwABAAELDAELQa+1HkHelB5BABBKGkEADwsgACgCBBDcBCIBRQRAQeeUHkHelB5BABBKGkEADwsDQCACIAAoAgBOBEAgASEABSABIAMEfyAAIAJBARCdBAUgACACQQIQnQQLQQAQ1AUgAkEBaiECDAELCyAACy4AIAQEQCAEIABBGHQgAUEQdHIgAkEIdHIgA3I2AgAFQaGLHkGQvBFBARBKGgsLHAAgAARAIAAgATYCHAVBnMMfQdCGHkEBEEoaCwscACAABH8gACgCHAVBnMMfQduGHkEAEEoaQQALC3ABAn8gAEUEQEGFyx5BuoYeQQEQShoPCyABRSACQQFIcgRADwsDQAJAIAMgAk4NACABIANqLAAAIgRFDQAgACADaiAEOgAAIANBAWohAwwBCwsDQCADIAJIBEAgACADakEAOgAAIANBAWohAwwBCwsLHwAgAARAIABBKGogARDXJAVBnMMfQeWFHkEBEEoaCwscACAABH8gACgCKAVBnMMfQcWGHkEAEEoaQQALCwkAIAAgARCWAQsKACAAQQp2QQFxC4IBAQN/An8gAQR/IAJBf2pBHUsgASwAACIERXIEf0EABSAAIQMgBCEAA0ACQEEAIAMoAgAiA0UNBBogBUEBaiIFIAJODQAgASAFaiwAACIERQ0AIAMgAEH/AXFBA3RqIQMgBCEADAELCyADIABB/wFxQQN0aigCBEF/SgsFQQALCyIACw0AIAAgASABEGMQkxULtwIBB38gACgCpAMhAiAAEJcVQf8BIAAQ5wIgAUHQAWogABDnAiAAQaACaiEFIABB6AJqIQYgAEHwAmohByAAQewCaiEIA0AgAyAFKAIASARAIABBpAJqIANBAnRqKAIAIQQgBigCAEUEQCAHKAIARQRAIAJBzABqIAQoAhRBAnRqKAIAIgFCADcAACABQgA3AAggAUIANwAQIAFCADcAGCABQgA3ACAgAUIANwAoIAFCADcAMCABQgA3ADggAkEkaiADQQJ0akEANgIAIAJBNGogA0ECdGpBADYC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ADcAICACQgA3ACggAkIANwAwIAJCADcAOCABQRRqIANBAnRqQQA2AgAgAUEkaiADQQJ0akEANgIAIAQoAgAEQCAFKAIADQEFIAgoAgANAQsMAQsgAUH4AGogBigCGEECdGooAgBBAEGAAhCMARoLIANBAWohAwwBCwsgAUEANgIIIAFBADYCDCABQXA2AhAgASAAKAKYAjYCNAu4AQEFfyABQQFIIABBBGoiBSgCACABTnJFBEBBfyABQQQgAUEEShsiAkEDdCACQf////8BSxsQTyEDIAIEQCADIAJBA3RqIQQgAyEBA0AgARB5IAFBCGoiASAERw0ACwsgACgCACEEIABBCGoiBigCACEBQQAhAANAIAAgBEgEQCADIABBA3RqIAEgAEEDdGopAQA3AQAgAEEBaiEADAELCyABBEAgARBMCyAGIAM2AgAgBSACNgIACwszAQJ/IABBBGoiASgCACICBEAgACACKAIoQf8DcUGiB2oRAAALIAFBADYCACAAQQA2AhQLxAEBA38gAEGACWoiAiACKAIAIABB/AhqIgQuAQAiAiABIAJB//8DcSABQf//A3FIG0H//wNxIgNqNgIAIAQgAkH//wNxIANrQf//A3EiAjsBACABQf//A3EgA2tB//8DcSIBRQRADwsgAkH//wNxBEBBmOEdQdTQHUHwD0Gu4R0QAQsgAEHwCGoiAiACKAIAIABB+AhqIgMoAgAiAkH//wNxIAEgASACSxsiAWo2AgAgAyACIAFrNgIAIABB9AhqQQA6AAALEgAgACABIAEQY0EBakEBEIUICwkAIAAgARCNBgsDAAELKwEBfyAAQSBqIgIgAhCgAygCACABahC5ASAAQRxqIgAgACgCAEEBajYCAAudAQEDfyMGIQQjBkHgAGokBiABLAALQQBIBEAgASgCACEBCyAEQdAAaiEGIARBQGshBSADQX9KBEAgBSABNgIAIAUgAjYCBCAFIAM2AgggBEE/QaDmHCAFEKgBGgUgBiABNgIAIAYgAjYCBCAEQT9BqeYcIAYQqAEaCyAEQQA6AD8gAEHt5BwQbBogACAEEGwaIABBmOIcEGwaIAQkBgsPACAABH8gACgCBAVBAAsLEwAgACwAcAR/IAAsAHFFBUEACwsvAQF/IAAiBBClCCAEQfymFjYCACAEQQA2AhwgBCABIAIgAxDO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ACICBEAgAkF8aiIDKAIAIgEEQCACIAFB8ABsaiEBA0AgAUGQf2oiARCBEiABIAJHDQALCyADEEwLIABBADYCAAsgAEEANgIYIABBADYCDCAAQQA2AgggAEEEahDtHCAAQRxqIgBCADcCACAAQgA3AgggAEIANwIQIABCADcCGCAAQgA3AiAgAEIANwIoC0oBA38gAEEIaiEDA0AgASAAKAIASARAIAMoAgAgAUECdGooAgAiAgRAIAIgAigCACgCBEH/A3FBogdqEQAACyABQQFqIQEMAQsLCx0AIAAgAUEYdEEYdSAALAAAakH//wNxENMGGiAACysBAX8gABDxASAAQQRqEPEBIABBCGoiAUIANwIAIAFCADcCCCABQgA3AhALGwAgACABLgEAIAEuAQYgAS4BBCABLgECEJUCC5YBAQJ/IAAQjgUgACABLAAEOgAEIAAgASgCEDYCECAAIAEoAgA2AgAgACABKAIINgIIIAEoAgwiAgRAQQgQTyIDIAIpAgA3AgAgACADNgIMBSAAQQA2AgwLIAAgASgCHDYCHCAAIAEoAiA2AiAgACABKAIkNgIkIAAgASgCKDYCKCAAIAEoAiw2AiwgACABKAIwNgIwIAALvQEBCH8gACAAKAIQIggoAQA2AQggCCEBQYGAgIB4IQJBgYCAgHghA0H/////ByEEQf////8HIQUDQAJAAkAgASwACBCJAUUNACABKAIQLAAIEIkBRQ0ADAELIAEuAQIiBiACIAIgBkgbIQIgAS4BACIHIAMgAyAHSBshAyAGIAQgBCAGShshBCAHIAUgBSAHShshBQsgASgCDCIBIAhHDQALIAAgBTsBACAAIAI7AQIgACADOwEEIAAgBDsBBgt6AQZ/IAAoAhAiASECIAEuAQIhBSABLgEAIQMDQCACIAIoAgwiBC4BACIGQf//A3EgA0H//wNxazsBBCACIAQuAQIiA0H//wNxIAVB//8DcWs7AQYgBCABRwRAIAQhAiADIQUgBiEDDAELCyAAIAEoAQA2AQggABDaCgsNACAAKAIQIAFsIAJqCw0AIAAoAhAgACgCDGwLGwEBfyAAQcyWFjYCACAAKAIEIgEEQCABEEwLC3sBAX8gACAAKwMARAAAAAAAAPA/oDkDACAAQQhqIgMgAysDACABoDkDACAAQRBqIgMgAysDACACoDkDACAAQRhqIgMgASABoiADKwMAoDkDACAAQSBqIgMgASACoiADKwMAoDkDACAAQShqIgAgAiACoiAAKwMAoDkDAAsGAEEXEAkLBgBBExAJCwgAQRIQCUIACwgAQQ8QCUEACwgAQQ4QCUEACwgAQQgQCUEACwgAQQcQCUEACzoBAnwgACsDACIBRAAAAAAAAAAAZAR8IAArAyggACsDECICIAKiIAGjoSABowVEAAAAAAAAAAALIgELFgAgACABIAOSOAIAIAAgAiAEkjgCBAvpAQEEfyAAQQtqIgcsAAAiBEEASCIFBH8gACgCBAUgBEH/AXELIgYgAUkEQBAECyAFBH8gACgCCEH/////B3FBf2oFQQoLIgQgBmsgA0kEQCAAIAQgBiADaiAEayAGIAFBACADIAIQ9goFIAMEQCAFBH8gACgCAAUgAAsiBCABaiEFIAYgAWsiAQRAIAUgA2ogBSABENEEGiACIANqIAIgBSACTSAEIAZqIAJLcRshAgsgBSACIAMQ0QQaIAYgA2ohASAHLAAAQQBIBEAgACABNgIEBSAHIAE6AAALIAQgAWpBABCcAQsLIAALmAIBCH8gACgCACEHIAFBBGohBCAAQQRqIgYoAgAhAgNAIAIgB0cEQCAEKAIAIgNBcGoiBUEANgIAIANBdGoiCEEANgIAIANBeGoiCUEANgIAIANBfGogAkF8aigCADYCACAFIAJBcGoiAygCADYCACAIIAJBdGoiBSgCADYCACAJIAJBeGoiAigCADYCACACQQA2AgAgBUEANgIAIANBADYCACAEIAQoAgBBcGo2AgAgAyECDAELCyAAKAIAIQIgACAEKAIANgIAIAQgAjYCACAGKAIAIQIgBiABQQhqIgMoAgA2AgAgAyACNgIAIABBCGoiACgCACECIAAgAUEMaiIAKAIANgIAIAAgAjYCACABIAQoAgA2AgALVgEBfyAAQQxqIgRBADYCACAAIAM2AhAgACABBH8gAygCACABQQR0EKMSBUEACyIDNgIAIAAgAyACQQR0aiICNgIIIAAgAjYCBCAEIAMgAUEEdGo2AgALMwEBfyAAIAFHBEAgACABKAIAIAEgASwACyIAQQBIIgIbIAEoAgQgAEH/AXEgAhsQqRILC2sBAX8gAEIANwIAIABBADYCCANAIAFBA0cEQCAAIAFBAnRqQQA2AgAgAUEBaiEBDAELCyAAQQxqIgFCADcCACABQQA2AghBACEAA0AgAEEDRwRAIAEgAEECdGpBADYCACAAQQFqIQAMAQsLC1EAIABCADcCACAAQQA2AgggACABQQwQpgEgAEEMaiIBQgA3AgAgAUEANgIIQQAhAANAIABBA0cEQCABIABBAnRqQQA2AgAgAEEBaiEADAELCwtRACAAQgA3AgAgAEEANgIIIAAgAUEOEKYBIABBDGoiAUIANwIAIAFBADYCCEEAIQADQCAAQQNHBEAgASAAQQJ0akEANgIAIABBAWohAAwBCwsL5wMBA38jBiEEIwZBEGokBgJAIAEgAGtBAUoEQAJAAkAgACwAACIDQeQAaw4MAAEBAQEBAQEBAQEAAQsgACwAAUHuAEYEQCAAQQJqIQUgA0HvAEcEQCAAIAUgASACEMEdIgAgACAFRhshAAwECyAFIAEgAhDjDSIDIAVGDQMgAyABIAIQ/wQiACADRgRAIAMhAAwECyACQQRqIgMoAgAiASACKAIAa0EYEE5BAkkNAyAEIAFBaGoQrwEgAygCACECQQAhAQNAIAFBf0cEQCACIAFBf2oiAUEYbGoQaQwBCwsgAyACQWhqNgIAIAJBUGogBCgCACAEIAQsAAsiAUEASCICGyAEKAIEIAFB/wFxIAIbELYBGiAEEFQMAwsLIAAgASACEOUNIgMgAEYEQCAAIAEgAhDjDSIDIABHBEAgAyABIAIQ/wQiACADRgRAIAMhAAUgAkEEaiIDKAIAIgEgAigCAGtBGBBOQQJPBEAgBCABQWhqEK8BIAMoAgAhAkEAIQEDQCABQX9HBEAgAiABQX9qIgFBGGxqEGkMAQsLIAMgAkFoajYCACACQVBqIAQoAgAgBCAELAALIgFBAEgiAhsgBCgCBCABQf8BcSACGxC2ARogBBBUCwsLBSADIQALCwsgBCQGIAALUQAgAEIANwIAIABBADYCCCAAIAFBBRCmASAAQQxqIgFCADcCACABQQA2AghBACEAA0AgAEEDRwRAIAEgAEECdGpBADYCACAAQQFqIQAMAQsLCwcAIAAoAhALiwcBB38jBiEDIwZBIGokBgJAIAEgAGtBAUoEQCAALAAAQdMARgRAAkACQAJAAkACQAJAAkACQCAALAABIgZB3wBrDhUGBwABBwUHBwcHAwcHBwcHBAcHBwIHCyADQf7fIBDvCiACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAmohAAwJCyADQY3gIBDiDSACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAmohAAwICyADQYTcIBDTByACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAmohAAwHCyADQeTcIBDuCiACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAmohAAwGCyADQbHdIBDuCiACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAmohAAwFCyADQf7dIBDbDSACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAmohAAwECyACKAIQIgEgAigCFEYNAyABKAIEIQUgAkEEaiEGIAJBCGohBCABKAIAIQcDQCAHIAVHBEAgBigCACIBIAQoAgBGBEAgAiAHEM8EBSABIAcQlAQgBiAGKAIAQRhqNgIACyAHQRhqIQcMAQsLIABBAmohAAwDCyAGQVBqIgVBCkkiBEUEQCAGELcTRQ0DCyAAQQJqIQggBSAGQUlqIAQbIQkDQAJAIAggAUYNBCAILAAAIgYiB0FQaiIFQQpJIgRFBEAgBxC3E0UNAQsgCEEBaiEIIAUgB0FJaiAEGyAJQSRsaiEJDAELCyAGQd8ARw0CIAlBAWoiBiACKAIUIAIoAhAiBWtBBHVPDQIgBSAGQQR0aigCBCEEIAJBBGohByACQQhqIQEgBSAGQQR0aigCACEFA0AgBSAERwRAIAcoAgAiACABKAIARgRAIAIgBRDPBAUgACAFEJQEIAcgBygCAEEYajYCAAsgBUEYaiEFDAELCyAIQQFqIQALCwsgAyQGIAALdQEDfyAAQgA3AgAgAEEANgIIA0AgA0EDRwRAIAAgA0ECdGpBADYCACADQQFqIQMMAQsLIAEsAAsiBEEASCEDIAEoAgQgBEH/AXEgAxshBCACEGMhBSAAIAEoAgAgASADGyAEIAQgBWoQrhIgACACIAUQtgEaC5EBAQJ/IAJBADYCACAAIAFHBEAgACwAACIBQfIARgR/IAJBBDYCACAAQQFqIgEhACABLAAAIQFBBAVBAAshAyABQf8BcUHWAEYEQCACIANBAnIiATYCACAAQQFqIgMhACADLAAAIQQFIAEhBCADIQELIARB/wFxQcsARgRAIAIgAUEBcjYCACAAQQFqIQALCyAAC9wBAQJ/QW4gAWsgAkkEQBAECyAALAALQQBIBH8gACgCAAUgAAshCCABQef///8HSQR/QQsgAUEBdCIJIAIgAWoiAiACIAlJGyICQRBqQXBxIAJBC0kbBUFvCyIJEHIhAiAEBEAgAiAIIAQQ5AIaCyAGBEAgAiAEaiAHIAYQ5AIaCyADIAVrIgMgBGsiBwRAIAIgBGogBmogCCAEaiAFaiAHEOQCGgsgAUEKRwRAIAgQTAsgACACNgIAIAAgCUGAgICAeHI2AgggACADIAZqIgA2AgQgAiAAakEAEJwBCw4AIAAgASACQQR0ELMSC1IBA38gACgCACICBEAgAEEEaiIDKAIAIQEDQCABIAJHBEAgAUFwaiIBEL4CDAELCyADIAI2AgAgACgCDCAAKAIAIgEgACgCCCABa0EEdRD3CgsLCwAgAEHc1BY2AgALUQECfyAAKAIEIgZBCHUhBSAGQQFxBEAgAigCACAFaigCACEFCyAAKAIAIgAgASACIAVqIANBAiAGQQJxGyAEIAAoAgAoAhhBP3FB7A1qERMACzIAIAFEAAAAAAAAAABkBEAgACACIAGjtiADIAGjthCkAQUgAEMAAAAAQwAAAAAQpAELC6IBAQV/IABBCGoiAkEDaiIELAAAIgNBAEgiBQR/IAAoAgQhAyACKAIAQf////8HcUF/agUgA0H/AXEhA0EBCyECAkACQCADIAJGBEAgACACQQEgAiACELoSIAQsAABBAEgNAQUgBQ0BCyAEIANBAWo6AAAMAQsgACgCACEGIAAgA0EBajYCBCAGIQALIAAgA0ECdGoiACABEFAgAEEEakEAEFALHQEBfyAAIAE2AgAgAUEEaiICIAIoAgBBAWo2AgALowECAn8BfSMGIQQjBkEQaiQGIAQgASgCFCADENoBIAAgBC4BACIFskMAAAA/lCACLgEAspIgBC4BArJDAAAAP5QgAi4BArKSEKQBIAEoAhgiAQRAIAEgA0EDbGosAAEiAgRAIAEgA0EDbGosAACyIAJB/wFxspUhBiAFQf//A3EEQCAAIAYgACoCBJIQlgMFIAAgBiAAKgIAkhCXBAsLCyAEJAYLXwEDfyMGIQMjBkEQaiQGIAAgASgBDDYBACABQRRqIQQgA0ECaiEFQQAhAQNAIAEgAkgEQCADIAQoAgAgARDaASAAIAMuAQAgBS4BABDoARogAUEBaiEBDAELCyADJAYLCQAgAEEANgAACwgAQf////8HCwUAQf8AC4wGAQp/IwYhCyMGQRBqJAYgBigCAEGo0vkAEMoBIQkgCyAGKAIAQbDS+QAQygEiCiAKKAIAKAIUQf8AcUGsC2oRAwAgC0EEaiIPKAIAIAtBC2oiDiwAACIGQf8BcSAGQQBIGwRAIAUgAzYCAAJAIAICfwJAAkAgACwAACIGQStrDgMAAQABCyAJIAYgCSgCACgCLEH/AXFBkAJqEQEAIQYgBSAFKAIAIgdBBGo2AgAgByAGNgIAIABBAWoMAQsgAAsiBmtBAUoEQCAGLAAAQTBGBEAgBkEBaiIHLAAAQdgAayIIBEAgCEEgRw0DCyAJQTAgCSgCACgCLEH/AXFBkAJqEQEAIQggBSAFKAIAIgxBBGo2AgAgDCAINgIAIAkgBywAACAJKAIAKAIsQf8BcUGQAmoRAQAhByAFIAUoAgAiCEEEajYCACAIIAc2AgAgBkECaiEGCwsLAkAgBiACRwRAIAIhByAGIQgDQCAIIAdBf2oiB08NAiAILAAAIQwgCCAHLAAAOgAAIAcgDDoAACAIQQFqIQgMAAALAAsLIAogCigCACgCEEH/AXFBBmoRBQAhDCAGIQhBACEHQQAhCgNAIAggAkkEQCALKAIAIAsgDiwAAEEASBsgB2osAAAiDUEARyAKIA1GcQRAIAUgBSgCACIKQQRqNgIAIAogDDYCACAHIAcgDygCACAOLAAAIgdB/wFxIAdBAEgbQX9qSWohB0EAIQoLIAkgCCwAACAJKAIAKAIsQf8BcUGQAmoRAQAhDSAFIAUoAgAiEEEEajYCACAQIA02AgAgCEEBaiEIIApBAWohCgwBCwsgAyAGIABrQQJ0aiIHIAUoAgAiBkYEfyAHBQNAIAcgBkF8aiIGSQRAIAcoAgAhCCAHIAYoAgA2AgAgBiAINgIAIAdBBGohBwwBCwsgBSgCAAshBQUgCSAAIAIgAyAJKAIAKAIwQT9xQZAFahEcABogBSADIAIgAGtBAnRqIgU2AgALIAQgBSADIAEgAGtBAnRqIAEgAkYbNgIAIAsQVCALJAYLgwYBCn8jBiELIwZBEGokBiAGKAIAQYjS+QAQygEhCSALIAYoAgBBmNL5ABDKASIKIAooAgAoAhRB/wBxQawLahEDACALQQRqIg8oAgAgC0ELaiIOLAAAIgZB/wFxIAZBAEgbBEAgBSADNgIAAkAgAgJ/AkACQCAALAAAIgZBK2sOAwABAAELIAkgBiAJKAIAKAIcQf8BcUGQAmoRAQAhBiAFIAUoAgAiB0EBajYCACAHIAY6AAAgAEEBagwBCyAACyIGa0EBSgRAIAYsAABBMEYEQCAGQQFqIgcsAABB2ABrIggEQCAIQSBHDQMLIAlBMCAJKAIAKAIcQf8BcUGQAmoRAQAhCCAFIAUoAgAiDEEBajYCACAMIAg6AAAgCSAHLAAAIAkoAgAoAhxB/wFxQZACahEBACEHIAUgBSgCACIIQQFqNgIAIAggBzoAACAGQQJqIQYLCwsCQCAGIAJHBEAgAiEHIAYhCANAIAggB0F/aiIHTw0CIAgsAAAhDCAIIAcsAAA6AAAgByAMOgAAIAhBAWohCAwAAAsACwsgCiAKKAIAKAIQQf8BcUEGahEFACEMIAYhCEEAIQdBACEKA0AgCCACSQRAIAsoAgAgCyAOLAAAQQBIGyAHaiwAACINQQBHIAogDUZxBEAgBSAFKAIAIgpBAWo2AgAgCiAMOgAAIAcgByAPKAIAIA4sAAAiB0H/AXEgB0EASBtBf2pJaiEHQQAhCgsgCSAILAAAIAkoAgAoAhxB/wFxQZACahEBACENIAUgBSgCACIQQQFqNgIAIBAgDToAACAIQQFqIQggCkEBaiEKDAELCyADIAYgAGtqIgcgBSgCACIGRgR/IAcFA0AgByAGQX9qIgZJBEAgBywAACEIIAcgBiwAADoAACAGIAg6AAAgB0EBaiEHDAELCyAFKAIACyEFBSAJIAAgAiADIAkoAgAoAiBBP3FBkAVqERwAGiAFIAMgAiAAa2oiBTYCAAsgBCAFIAMgASAAa2ogASACRhs2AgAgCxBUIAskBgvvAQEFfyACQYAQcQRAIABBKzoAACAAQQFqIQALIAJBgAhxBEAgAEEjOgAAIABBAWohAAsgAkGEAnEiA0GEAkYiBAR/QQAFIABBLjoAACAAQSo6AAEgAEECaiEAQQELIQcgAkGAgAFxIQIDQCABLAAAIgYEQCAAIAY6AAAgAUEBaiEBIABBAWohAAwBCwsgAAJ/AkACQCADQQRrIgEEQCABQfwBRgRADAIFDAMLAAsgAkEJdkH/AXFB5gBzDAILIAJBCXZB/wFxQeUAcwwBCyACQQl2Qf8BcSEBIAFB4QBzIAFB5wBzIAQbCyIBOgAAIAcLmQgBDX8jBiEPIwZB8ABqJAYgDyEKIAMgAmtBDBBOIglB5ABLBEAgCRByIgoEQCAKIgshEQUQBAsFIAohCwsgCSEKIAIhCSALIQgDQCAJIANHBEAgCSwACyIMQQBIBH8gCSgCBAUgDEH/AXELBEAgCEEBOgAABSAIQQI6AAAgB0EBaiEHIApBf2ohCgsgCUEMaiEJIAhBAWohCAwBCwtBACEMIAchCQNAAkAgACgCACIHBH8gBygCDCIIIAcoAhBGBH8gByAHKAIAKAIkQf8BcUEGahEFAAUgCCgCAAsQbwR/IABBADYCAEEBBSAAKAIARQsFQQELIQ0gAQR/QQAgASABKAIMIgcgASgCEEYEfyABIAEoAgAoAiRB/wFxQQZqEQUABSAHKAIACxBvIgcbIRBBACABIAcbBUEAIRBBASEHQQALIQggACgCACEBIApBAEcgDSAHc3FFDQAgASgCDCIHIAEoAhBGBH8gASABKAIAKAIkQf8BcUEGahEFAAUgBygCAAshASAGBH8gAQUgBCABIAQoAgAoAhxB/wFxQZACahEBAAshEiAMQQFqIQ0gAiEIQQAhByALIQ4gCSEBA0AgCCADRwRAAkAgDiwAAEEBRgRAIAhBC2oiEywAAEEASAR/IAgoAgAFIAgLIAxBAnRqKAIAIQkgBkUEQCAEIAkgBCgCACgCHEH/AXFBkAJqEQEAIQkLIBIgCUcEQCAOQQA6AAAgCkF/aiEKDAILIBMsAAAiB0EASAR/IAgoAgQFIAdB/wFxCyANRgRAIA5BAjoAACABQQFqIQEgCkF/aiEKC0EBIQcLCyAIQQxqIQggDkEBaiEODAELCwJAIAcEQCAAKAIAIgdBDGoiCSgCACIIIAcoAhBGBEAgByAHKAIAKAIoQf8BcUEGahEFABoFIAkgCEEEajYCAAsgASAKakEBSwRAIAIhByALIQkDQCAHIANGDQMgCSwAAEECRgRAIAcsAAsiCEEASAR/IAcoAgQFIAhB/wFxCyANRwRAIAlBADoAACABQX9qIQELCyAHQQxqIQcgCUEBaiEJDAAACwALCwsgDSEMIAEhCSAQIQEMAQsLIAEEfyABKAIMIgQgASgCEEYEfyABIAEoAgAoAiRB/wFxQQZqEQUABSAEKAIACxBvBH8gAEEANgIAQQEFIAAoAgBFCwVBAQshAAJAAkACQCAIRQ0AIAgoAgwiASAIKAIQRgR/IAggCCgCACgCJEH/AXFBBmoRBQAFIAEoAgALEG8NACAARQ0BDAILIAANAAwBCyAFIAUoAgBBAnI2AgALAkACQANAIAIgA0YNASALLAAAQQJHBEAgAkEMaiECIAtBAWohCwwBCwsMAQsgBSAFKAIAQQRyNgIAIAMhAgsgERBMIA8kBiACC7UIAQ1/IwYhDyMGQfAAaiQGIA8hCiADIAJrQQwQTiIHQeQASwRAIAcQciIKBEAgCiILIREFEAQLBSAKIQsLIAchCiACIQkgCyEIQQAhBwNAIAkgA0cEQCAJLAALIgxBAEgEfyAJKAIEBSAMQf8BcQsEQCAIQQE6AAAFIAhBAjoAACAKQX9qIQogB0EBaiEHCyAJQQxqIQkgCEEBaiEIDAELC0EAIQwgByEJA0ACQCAAKAIAIgcEfyAHKAIMIgggBygCEEYEfyAHIAcoAgAoAiRB/wFxQQZqEQUABSAILAAAEIIBCxBvBH8gAEEANgIAQQEFIAAoAgBFCwVBAQshDSABBH9BACABIAEoAgwiByABKAIQRgR/IAEgASgCACgCJEH/AXFBBmoRBQAFIAcsAAAQggELEG8iBxshEEEAIAEgBxsFQQAhEEEBIQdBAAshCCAAKAIAIQEgCkEARyANIAdzcUUNACABKAIMIgcgASgCEEYEfyABIAEoAgAoAiRB/wFxQQZqEQUABSAHLAAAEIIBC0H/AXEhASAGBH8gAQUgBCABIAQoAgAoAgxB/wFxQZACahEBAAshEiAMQQFqIQ0gAiEIQQAhByALIQ4gCSEBA0AgCCADRwRAAkAgDiwAAEEBRgRAIAhBC2oiEywAAEEASAR/IAgoAgAFIAgLIAxqLAAAIQkgBkUEQCAEIAkgBCgCACgCDEH/AXFBkAJqEQEAIQkLIBJB/wFxIAlB/wFxRwRAIA5BADoAACAKQX9qIQoMAgsgEywAACIHQQBIBH8gCCgCBAUgB0H/AXELIA1GBEAgDkECOgAAIAFBAWohASAKQX9qIQoLQQEhBwsLIAhBDGohCCAOQQFqIQ4MAQsLAkAgBwRAIAAoAgAiB0EMaiIJKAIAIgggBygCEEYEQCAHIAcoAgAoAihB/wFxQQZqEQUAGgUgCSAIQQFqNgIACyABIApqQQFLBEAgAiEHIAshCQNAIAcgA0YNAyAJLAAAQQJGBEAgBywACyIIQQBIBH8gBygCBAUgCEH/AXELIA1HBEAgCUEAOgAAIAFBf2ohAQsLIAdBDGohByAJQQFqIQkMAAALAAsLCyANIQwgASEJIBAhAQwBCwsgAQR/IAEoAgwiBCABKAIQRgR/IAEgASgCACgCJEH/AXFBBmoRBQAFIAQsAAAQggELEG8EfyAAQQA2AgBBAQUgACgCAEULBUEBCyEAAkACQAJAIAhFDQAgCCgCDCIBIAgoAhBGBH8gCCAIKAIAKAIkQf8BcUEGahEFAAUgASwAABCCAQsQbw0AIABFDQEMAgsgAA0ADAELIAUgBSgCAEECcjYCAAsCQAJAA0AgAiADRg0BIAssAABBAkcEQCACQQxqIQIgC0EBaiELDAELCwwBCyAFIAUoAgBBBHI2AgAgAyECCyAREEwgDyQGIAILCgAgAEEEahCJCQsKACAAQQhqEIkJCwQAQX8LyhEBB38CQCAAQdQBSQR/QdD5FUGQ+xUgABCEEygCAAVBkPsVQdD8FSAAIABB0gEQZiIGQdIBbCIBaxCEE0GQ+xVrQQJ1IQUDQCAFQQJ0QZD7FWooAgAgAWohAUEFIQACQAJAA0AgAEEvTw0BIAEgAEECdEHQ+RVqKAIAIgQQZiIDIARJBEAgASEADAYLIABBAWohACABIAMgBGxHDQALIAIhAAwBC0HTASEEIAIhAANAAkACQAJAAn8gASAEEGYiAiAESQR/IAQhAiABIQBBAQUgASACIARsRgR/IAQhAkEJBSABIARBCmoiAhBmIgMgAkkEfyABIQBBAQUgASADIAJsRgR/QQkFIAEgBEEMaiICEGYiAyACSQR/IAEhAEEBBSABIAMgAmxGBH9BCQUgASAEQRBqIgIQZiIDIAJJBH8gASEAQQEFIAEgAyACbEYEf0EJBSABIARBEmoiAhBmIgMgAkkEfyABIQBBAQUgASADIAJsRgR/QQkFIAEgBEEWaiICEGYiAyACSQR/IAEhAEEBBSABIAMgAmxGBH9BCQUgASAEQRxqIgIQZiIDIAJJBH8gASEAQQEFIAEgAyACbEYEf0EJBSABIARBHmoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQSRqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEEoaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARBKmoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQS5qIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEE0aiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARBOmoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQTxqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEHCAGoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQcYAaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARByABqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEHOAGoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQdIAaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARB2ABqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEHgAGoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQeQAaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARB5gBqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEHqAGoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQewAaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARB8ABqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEH4AGoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQf4AaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARBggFqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEGIAWoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQYoBaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARBjgFqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEGUAWoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQZYBaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARBnAFqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEGiAWoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQaYBaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARBqAFqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEGsAWoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQbIBaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARBtAFqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEG6AWoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQb4BaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARBwAFqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEHEAWoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQcYBaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARB0AFqIgIQZiIHIAJJIQMgAiAEQdIBaiADIAEgByACbEYiBHIbIQIgASAAIAMbIQBBAUEJQQAgBBsgAxsLCwsLCwsLCwsLCwsLCwsiBEEPcQ4KAQICAgICAgICAAILDAMLIAIhBAwBCwsgBA0DCyAAIQIgBiAFQQFqIgBBMEYiBGoiASEGIAFB0gFsIQFBACAAIAQbIQUMAAALAAshAAsgAAvnDAEGfwJAIAAgAWohBQJAIAAoAgQiA0EBcUUEQCAAKAIAIQIgA0EDcUUEQA8LIAIgAWohAUGAxvkAKAIAIAAgAmsiAEYEQCAFQQRqIgIoAgAiA0EDcUEDRw0CQfTF+QAgATYCACACIANBfnE2AgAgACABQQFyNgIEIAUgATYCAA8LIAJBA3YhBCACQYACSQRAIAAoAgwiAiAAKAIIIgNGBEBB7MX5AEHsxfkAKAIAQQEgBHRBf3NxNgIABSADIAI2AgwgAiADNgIICwwCCyAAKAIYIQcCQCAAKAIMIgIgAEYEQCAAQRBqIgNBBGoiBCgCACICBEAgBCEDBSADKAIAIgJFBEBBACECDAMLCwNAAkAgAkEUaiIEKAIAIgZFBEAgAkEQaiIEKAIAIgZFDQELIAQhAyAGIQIMAQsLIANBADYCAAUgACgCCCIDIAI2AgwgAiADNgIICwsgBwRAIAAoAhwiA0ECdEGcyPkAaiIEKAIAIABGBEAgBCACNgIAIAJFBEBB8MX5AEHwxfkAKAIAQQEgA3RBf3NxNgIADAQLBSAHQRBqIgMgB0EUaiADKAIAIABGGyACNgIAIAJFDQMLIAIgBzYCGCAAQRBqIgQoAgAiAwRAIAIgAzYCECADIAI2AhgLIAQoAgQiAwRAIAIgAzYCFCADIAI2AhgLCwsLIAVBBGoiAygCACICQQJxBEAgAyACQX5xNgIAIAAgAUEBcjYCBCAAIAFqIAE2AgAgASEDBUGExvkAKAIAIAVGBEBB+MX5AEH4xfkAKAIAIAFqIgE2AgBBhMb5ACAANgIAIAAgAUEBcjYCBCAAQYDG+QAoAgBHBEAPC0GAxvkAQQA2AgBB9MX5AEEANgIADwtBgMb5ACgCACAFRgRAQfTF+QBB9MX5ACgCACABaiIBNgIAQYDG+QAgADYCACAAIAFBAXI2AgQgACABaiABNgIADwsgAkF4cSABaiEDIAJBA3YhBAJAIAJBgAJJBEAgBSgCDCIBIAUoAggiAkYEQEHsxfkAQezF+QAoAgBBASAEdEF/c3E2AgAFIAIgATYCDCABIAI2AggLBSAFKAIYIQcCQCAFKAIMIgEgBUYEQCAFQRBqIgJBBGoiBCgCACIBBEAgBCECBSACKAIAIgFFBEBBACEBDAMLCwNAAkAgAUEUaiIEKAIAIgZFBEAgAUEQaiIEKAIAIgZFDQELIAQhAiAGIQEMAQsLIAJBADYCAAUgBSgCCCICIAE2AgwgASACNgIICwsgBwRAIAUoAhwiAkECdEGcyPkAaiIEKAIAIAVGBEAgBCABNgIAIAFFBEBB8MX5AEHwxfkAKAIAQQEgAnRBf3NxNgIADAQLBSAHQRBqIgIgB0EUaiACKAIAIAVGGyABNgIAIAFFDQMLIAEgBzYCGCAFQRBqIgQoAgAiAgRAIAEgAjYCECACIAE2AhgLIAQoAgQiAgRAIAEgAjYCFCACIAE2AhgLCwsLIAAgA0EBcjYCBCAAIANqIAM2AgAgAEGAxvkAKAIARgRAQfTF+QAgAzYCAA8LCyADQQN2IQIgA0GAAkkEQCACQQN0QZTG+QBqIQFB7MX5ACgCACIDQQEgAnQiAnEEfyABQQhqIgMoAgAFQezF+QAgAyACcjYCACABQQhqIQMgAQshAiADIAA2AgAgAiAANgIMIAAgAjYCCCAAIAE2AgwPCyADQQh2IgEEfyADQf///wdLBH9BHwUgA0EOIAEgAUGA/j9qQRB2QQhxIgF0IgJBgOAfakEQdkEEcSIEIAFyIAIgBHQiAUGAgA9qQRB2QQJxIgJyayABIAJ0QQ92aiIBQQdqdkEBcSABQQF0cgsFQQALIgJBAnRBnMj5AGohASAAIAI2AhwgAEEANgIUIABBADYCEEHwxfkAKAIAIgRBASACdCIGcUUEQEHwxfkAIAQgBnI2AgAgASAANgIADAELAkAgASgCACIBKAIEQXhxIANGBH8gAQUgA0EAQRkgAkEBdmsgAkEfRht0IQQDQCABQRBqIARBH3ZBAnRqIgYoAgAiAgRAIARBAXQhBCACKAIEQXhxIANGDQMgAiEBDAELCyAGIAA2AgAMAgshAgsgAkEIaiIBKAIAIgMgADYCDCABIAA2AgAgACADNgIIIAAgAjYCDCAAQQA2AhgPCyAAIAE2AhggACAANgIMIAAgADYCCAvzDwMLfwJ+CHwCQAJAAkAgAb0iDUIgiKciBUH/////B3EiAyANpyIGckUEQEQAAAAAAADwPw8LIAC9Ig5CIIinIQcgDqciCEUiCiAHQYCAwP8DRnEEQEQAAAAAAADwPw8LIAdB/////wdxIgRBgIDA/wdNBEAgCEEARyAEQYCAwP8HRnEgA0GAgMD/B0tyRQRAIAZBAEcgA0GAgMD/B0YiC3FFBEACQAJAAkAgB0EASCIJRQ0AIANB////mQRLBH9BAiECDAEFIANB//+//wNLBH8gA0EUdiECIANB////iQRLBEBBAiAGQbMIIAJrIgJ2IgxBAXFrQQAgDCACdCAGRhshAgwDCyAGBH9BAAVBAiADQZMIIAJrIgJ2IgZBAXFrQQAgBiACdCADRhshAgwECwUMAgsLIQIMAgsgBkUNAAwBCyALBEAgBEGAgMCAfGogCHJFBEBEAAAAAAAA8D8PCyAFQX9KIQIgBEH//7//A0sEQCABRAAAAAAAAAAAIAIbDwVEAAAAAAAAAAAgAZogAhsPCwALIANBgIDA/wNGBEAgAEQAAAAAAADwPyAAoyAFQX9KGw8LIAVBgICAgARGBEAgACAAog8LIAdBf0ogBUGAgID/A0ZxBEAgAJ8PCwsgAJkhDyAKBEAgBEUgBEGAgICABHJBgIDA/wdGcgRARAAAAAAAAPA/IA+jIA8gBUEASBshACAJRQRAIAAPCyACIARBgIDAgHxqcgRAIACaIAAgAkEBRhsPCwwHCwsCfCAJBHwCQAJAAkAgAg4CAAECCwwJC0QAAAAAAADwvwwCC0QAAAAAAADwPwVEAAAAAAAA8D8LCyERAnwgA0GAgICPBEsEfCADQYCAwJ8ESwRAIARBgIDA/wNJBEAjC0QAAAAAAAAAACAFQQBIGw8FIwtEAAAAAAAAAAAgBUEAShsPCwALIARB//+//wNJBEAgEUScdQCIPOQ3fqJEnHUAiDzkN36iIBFEWfP4wh9upQGiRFnz+MIfbqUBoiAFQQBIGw8LIARBgIDA/wNNBEAgD0QAAAAAAADwv6AiAEQAAABgRxX3P6IiECAARETfXfgLrlQ+oiAAIACiRAAAAAAAAOA/IABEVVVVVVVV1T8gAEQAAAAAAADQP6KhoqGiRP6CK2VHFfc/oqEiAKC9QoCAgIBwg78iEiEPIBIgEKEMAgsgEUScdQCIPOQ3fqJEnHUAiDzkN36iIBFEWfP4wh9upQGiRFnz+MIfbqUBoiAFQQBKGw8FIA9EAAAAAAAAQEOiIgC9QiCIpyAEIARBgIDAAEkiBRshAkHMd0GBeCAFGyACQRR1aiEDIAJB//8/cSIEQYCAwP8DciECIARBj7EOSQRAQQAhBAUgBEH67C5JIgYhBCADIAZBAXNBAXFqIQMgAiACQYCAQGogBhshAgsgBEEDdEHA+RVqKwMAIhQgAq1CIIYgACAPIAUbvUL/////D4OEvyIQIARBA3RBoPkVaisDACISoSITRAAAAAAAAPA/IBIgEKCjIhWiIg+9QoCAgIBwg78iACAAIACiIhZEAAAAAAAACECgIA8gAKAgFSATIAJBAXVBgICAgAJyQYCAIGogBEESdGqtQiCGvyITIACioSAQIBMgEqGhIACioaIiEKIgDyAPoiIAIACiIAAgACAAIAAgAETvTkVKKH7KP6JEZdvJk0qGzT+gokQBQR2pYHTRP6CiRE0mj1FVVdU/oKJE/6tv27Zt2z+gokQDMzMzMzPjP6CioCISoL1CgICAgHCDvyIAoiITIBAgAKIgDyASIABEAAAAAAAACMCgIBahoaKgIg+gvUKAgICAcIO/IgBEAAAA4AnH7j+iIhAgBEEDdEGw+RVqKwMAIA8gACAToaFE/QM63AnH7j+iIABE9QFbFOAvPj6ioaAiAKCgIAO3IhKgvUKAgICAcIO/IhMhDyATIBKhIBShIBChCwshECAAIBChIAGiIAEgDUKAgICAcIO/IgChIA+ioCEBIA8gAKIiACABoCIPvSINQiCIpyECIA2nIQMgAkH//7+EBEoEQCACQYCAwPt7aiADciABRP6CK2VHFZc8oCAPIAChZHINBQUgAkGA+P//B3FB/5fDhARLBEAgAkGA6Lz7A2ogA3IgASAPIAChZXINBQsLIBEgAkH/////B3EiA0GAgID/A0sEfyAAQYCAQEGAgMAAIANBFHZBgnhqdiACaiIDQRR2Qf8PcSIEQYF4anUgA3GtQiCGv6EiDyEAIAEgD6C9IQ1BACADQf//P3FBgIDAAHJBkwggBGt2IgNrIAMgAkEASBsFQQALIgJBFHREAAAAAAAA8D8gDUKAgICAcIO/Ig9EAAAAAEMu5j+iIhAgASAPIAChoUTvOfr+Qi7mP6IgD0Q5bKgMYVwgPqKhIg+gIgAgACAAIACiIgEgASABIAEgAUTQpL5yaTdmPqJE8WvSxUG9u76gokQs3iWvalYRP6CiRJO9vhZswWa/oKJEPlVVVVVVxT+goqEiAaIgAUQAAAAAAAAAwKCjIA8gACAQoaEiASAAIAGioKEgAKGhIgC9Ig1CIIinaiIDQYCAwABIBHwgACACEIQFBSADrUIghiANQv////8Pg4S/CyIAog8LCwsgACABoA8LIBFEWfP4wh9upQGiRFnz+MIfbqUBog8LIBFEnHUAiDzkN36iRJx1AIg85Dd+og8LIAAgAKEiACAAowufAwMDfwF+BXwgAL0iBEIgiKchAQJ/IARCAFMiAiABQYCAwABJcgR/IARC////////////AINCAFEEQEQAAAAAAADwvyAAIACiow8LIAJFBEAgAEQAAAAAAABQQ6K9IgRCIIinIQEgBEL/////D4MhBEHLdwwCCyAAIAChRAAAAAAAAAAAow8FIAFB//+//wdLBEAgAA8LIARC/////w+DIgRCAFEgAUGAgMD/A0ZxBH9EAAAAAAAAAAAPBUGBeAsLCyEDIAFB4r4laiIBQf//P3FBnsGa/wNqrUIghiAEhL9EAAAAAAAA8L+gIgYgBkQAAAAAAADgP6KiIQcgBiAGRAAAAAAAAABAoKMiCCAIoiIJIAmiIQUgAyABQRR2arciAEQAAOD+Qi7mP6IgBiAARHY8eTXvOeo9oiAIIAcgBSAFIAVEn8Z40Amawz+iRK94jh3Fccw/oKJEBPqXmZmZ2T+goiAJIAUgBSAFRERSPt8S8cI/okTeA8uWZEbHP6CiRFmTIpQkSdI/oKJEk1VVVVVV5T+goqCgoqAgB6GgoAt9AQJ/IwYhASMGQRBqJAYgAL1CIIinQf////8HcSICQfzDpP8DSQRAIAJBgICA8gNPBEAgAEQAAAAAAAAAAEEAEJwTIQALBSACQf//v/8HSwR8IAAgAKEFIAAgARCEDiECIAErAwAgASsDCCACQQFxEJwTCyEACyABJAYgAAsRACAAKAJMGiAAIAEgAhCQEwtXAQN/IABBBGoiAiABQR9LBH8gAiAAKAIAIgM2AgAgAEEANgIAIAFBYGohAUEABSACKAIAIQMgACgCAAsiBEEgIAFrdiADIAF0cjYCACAAIAQgAXQ2AgALhAMBBn8jBiEIIwZB8AFqJAYgCEHoAWoiCiADNgIAIApBBGoiDCAENgIAIAggADYCAAJAAkAgA0EBRyAEcgRAQQAgAWshDSAAIAcgBUECdGooAgBrIgQgACACQf8BcUGQAmoRAQBBAU4EQEEBIQkgBkUhCyAAIQMgBCEAA0AgCyAFQQFKcQRAIAcgBUF+akECdGooAgAhBiADIA1qIgQgACACQf8BcUGQAmoRAQBBf0oEQCAJIQQgAyEADAULIAQgBmsgACACQf8BcUGQAmoRAQBBf0oEQCAJIQQgAyEADAULCyAJQQFqIQQgCCAJQQJ0aiAANgIAIAogChCqEyIDEJMLIAMgBWohBSAKKAIAQQFHIAwoAgBBAEdyRQ0DIAAgByAFQQJ0aigCAGsiBiAIKAIAIAJB/wFxQZACahEBAEEBSA0DIAAhAyAEIQlBASELIAYhAAwAAAsACwsgBkUEQEEBIQQMAQsMAQsgASAIIAQQqBMgACABIAIgBSAHEIYOCyAIJAYLWQEDfyAAQQRqIQIgACABQR9LBH8gACACKAIAIgM2AgAgAkEANgIAIAFBYGohAUEABSAAKAIAIQMgAigCAAsiBEEgIAFrdCADIAF2cjYCACACIAQgAXY2AgALEAAgAVAEfkIABSAAIAGACwt7AQV/IABFBEAPCyAAQRxqIgMoAgAiAUUEQA8LIABBJGoiBCgCACICRQRADwsgAEEoaiEAIAEoAjQiBQRAIAAoAgAgBSACQf8AcUGsC2oRAwAgBCgCACECIAMoAgAhAQsgACgCACABIAJB/wBxQawLahEDACADQQA2AgALngYBCX8CQAJAAkACQCMGIQQjBkEgaiQGIANFBEBBo6AgQdDMFEEBEEoaDAELIARBEGohBSAEQQxqIQcgBEEIaiEGIARBBGohCCADQQA2AgAgAARAIAAQfEEBRgRAIAAgBiAIQQAQkwECfyABBH8gBCABIAYoAgAgCCgCABDwFCIBNgIAIAEEQCABIAUgByAGIAgQ5QMgBBD3ASAFKAIAIQUgBygCAAwCC0G0oCBB0MwUQQEQShoMBAUgB0EANgIAIAVBADYCAEEAIQVBAAsLIQEgBSAGKAIAaiEGIAEgCCgCAGohByAAEHUhCyAAEHchDAJAAkACQAJAAkAgAg4EAAECAwQLA0ACQCAFIAZOBEBBASEJQS0hCgwBCyAFQQV1IQhBASAFQR9xQR9zdCECIAEhAANAIAAgB0gEQCALIAAgDGxBAnRqIAhBAnRqKAIAIAJxDQIgAEEBaiEADAELCyAFQQFqIQUMAQsLIApBLUYNByADIAU2AgAMCQsgBiEAA0ACQCAAQX9qIQIgACAFTARAQQEhCUEtIQoMAQsgAkEFdSEIQQEgAkEfcUEfc3QhBiABIQADQCAAIAdIBEAgCyAAIAxsQQJ0aiAIQQJ0aigCACAGcQ0CIABBAWohAAwBCwsgAiEADAELCyAKQS1GDQYMBwsDQAJAIAEgB04EQEEBIQlBLSEKDAELIAsgASAMbEECdGohAiAFIQADQCAAIAZIBEAgAiAAQQV1QQJ0aigCAEEBIABBH3FBH3N0cQ0CIABBAWohAAwBCwsgAUEBaiEBDAELCyAKQS1GDQUgAyABNgIADAcLIAchAANAAkAgAEF/aiECIAAgAUwEQEEBIQlBLSEKDAELIAsgAiAMbEECdGohByAFIQADQCAAIAZIBEAgByAAQQV1QQJ0aigCAEEBIABBH3FBH3N0cQ0CIABBAWohAAwBCwsgAiEADAELCyAKQS1GDQQMBQtBwKAgQdDMFEEBEEoaDAILC0HwnyBB0MwUQQEQShogBCQGQQEPCyAEJAZBAQ8LIAQkBiAJDwsgAyACNgIACyAEJAZBAAshACAAQQBKBEAgAQ8FQa+EHUHQhB1B1QVBtdkgEAELQQALOAEBfyAARQRAQaivIEHAyxRBABBKGkEADwsgACABEIMgIgIEQCACDwtBja4gQcDLFEEAEEoaQQAL2QQBA38jBiECIwZBEGokBiACQQhqIQQgAkEMaiEDAkAgAARAIAFBDEkEQEHwmiBB5ZogQQAQShpBACEADAILIAAgAxCmCRoCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMoAgAOEwsAAQIDAwMDAwMDBAgFBgcJDAoMCyAAIAEQnQ4iAEUEQEGnyB9B5ZogQQAQShpBACEADA8LDAwLIAAgARCPISIARQRAQbzIH0HlmiBBABBKGkEAIQAMDgsMCwsgACABEI4hIgBFBEBB0sgfQeWaIEEAEEoaQQAhAAwNCwwKCyAAIAEQjSEiAEUEQEHnyB9B5ZogQQAQShpBACEADAwLDAkLIAAgARCMISIARQRAQf3IH0HlmiBBABBKGkEAIQAMCwsMCAsQ1hMiAEUEQEGSyR9B5ZogQQAQShpBACEADAoLDAcLQeH+HkGfmyBBABBKGkEAIgBFBEBB+pogQeWaIEEAEEoaDAkLDAYLQeH+HkGQmyBBABBKGkEAIgBFBEBBvMkfQeWaIEEAEEoaDAgLDAULIAJB5ZogNgIAQcS0FkHSyR8gAhBcQQAhAAwGCyAEQeWaIDYCAEHEtBZBhMofIAQQXEEAIQAMBQsgACABEIUUIgBFBEBBr8ofQeWaIEEAEEoaQQAhAAwFCwwCC0HFyh9B5ZogQQAQShpBACEADAMLQQAhAAwCCyADKAIAIgFBBEYEQCAAEHxBAUYEfyADQQg2AgBBCAUgAygCAAshAQsgACABENoFBUGoryBB5ZogQQAQShpBACEACwsgAiQGIAALoQEBA38jBiECIwZBEGokBiABQRh0QRh1IQMCfyABQf8BcUEKRgR/QQAFIABFBEBB4KEgQfOXIEEAEEoaQQAMAgsgACgCKCADQQJ0aigCACIBQX9GBEAgAkHzlyA2AgAgAiADNgIEQcS0FkH9lyAgAhBcQQAMAgsgACgCACIABH8gACABEOgDBUGrmCBB85cgQQAQShpBAAsLCyEEIAIkBiAEC+4BAgZ/AX0jBiEEIwZBIGokBiABKAIAIAIQ/RMhAwJAIABBqAhqKwMAIAFBBGoiBioCACIJu6AgAkEQaiIHKgIAu2NFBEAgAyACQRRqIgUoAgBIBEAgCSAFIAMQgAIqAgRfDQILIABBFGoiACABKAIAELcERQRAIAJBAToABAsgAyAFKAIASARAIAYoAgAhCCAFIAMQgAIgCDYCBAUgBCABELEJIAUgBBCZCRogBBCaBAsgBioCACAHKgIAXgRAIAAgASgCABC3BEUEQCACIAM2AgwgByAGKAIANgIAIAIgASgCADYCCAsLCwsgBCQGCywBAX8gACgCsAEiAwRAIAAgASACIANB/wBxQawMahENAAUgAEH/6h8QqQELC6cDAQN/AkACQAJAAkAgAEGsBWoiAygCACIEDgIAAQILDAILIAAgAhDcARoPCyADIARBf2oiAzYCACADQQFGBEAgAEHShiAQaiAAIAIQ3AEaDwsLIABB/AJqIQMgAEHIAWoiBCgCACIFQQRxBEAgA0H8hiBBBBDEAQRAIAQgBUEIcjYCAAsLIAMsAABBIHFFBEAgACADEOkGQQNHBEAgACgC5ARFBEAgAEGBhyAQ5gcLCwsCQAJAIAAoAswBQYCAAnENACAAKALkBA0ADAELIAAgAygCADYCsAUgAEEAOgC0BSAAIAI2ArwFIAIEQCAAIAAgAhDAAiIENgK4BSAAIAQgAhDLAgUgAEEANgK4BQsgAEGwBWohAgJAIAAoAuQEIgQEQCAAIAIgBEH/AXFBkAJqEQEAIgRBAEgEQCAAQZiHIBDmBwwCCyAERQRAIAMsAABBIHFFBEAgACADEOkGQQNHBEAgAEGBhyAQ5gcLCyAAIAEgAhDjEwsFIAAgASACEOMTCwsgACAAQbgFaiIBKAIAEIoBIAFBADYCAEEAIQILIAAgAhDcARoLaAEEfyMGIQEjBkEQaiQGIABB0AVqIgRBITYCACAAIAFBCBCcCyAAIAEQoA4hAiAAQfwCaiIDIAEoAAQ2AAAgABCnFCAAIANBBBCtCyAAIAMQuiEgACACELkhIARBwQA2AgAgASQGIAIL+gEBB38jBiEEIwZBQGskBiAEQSxqIQcgBEEoaiEIIARBJGohBSAEQSBqIQYgBEEYaiEJIAQQ/AggACABIAMgBCACEPAeIARBMGoiAyAAKAIAEM0BIAIuAQ4iASEKIAFBAEoEQCACIAMgBCgCACAEKAIIEJcLIAoQ5x4hASAHEPEBIAgQ8QEgAy4BACECIAMuAQYhByADLgEEIQggAy4BAiEDIAUQ8QEgBhDxASAAEJEBIgAgAiAHIAUQiwYgACAIIAMgBhCLBiAJIAUuAQAgBi4BAiAGLgEAIAUuAQIQlQIgASAJKQEANwEQBUEAIQELIAQQhAkgBCQGIAELkwEBAX8jBiEBIwZBEGokBgJAAkACQAJAAkACQCAALgEgDgcBAQACAwAAAwsgAC4BGEEIRw0DDAQLDAILIAAQ5yFBEEYEQCAAEOYhBSAAKAIAKAIAQY3eHyABEOcBCyAALwEYQQlIBEAgABDlIUUEQCABJAZBAA8LCwsMAQsgABDoIUUEQCABJAZBAA8LCyABJAZBAQtjAQF/IwYhAiMGQRBqJAYgACgCCEEBRgRAIAAoAgBBkdwfIAIQXyACJAZBAA8LIAAoAgxBCnZBAXEgAUYEQCACJAZBAQ8LIAAoAgBBq9wfQdTcHyABGyACQQhqEF8gAiQGQQALmwIAAn8CQAJAAkACQAJAIAAuARxBAWsOCAABAgMAAQIDBAsCQAJAAkACQAJAAkAgAC4BHkECaw4HAAEDBQACBAULQQIMCQtBAwwIC0EDDAcLQQEMBgtBAQwFC0EADAQLAkACQAJAAkACQAJAIAAuAR5BAWsOCAAFAQMABQIEBQtBAgwIC0EBDAcLQQEMBgtBAwwFC0EDDAQLQQAMAwsCQAJAAkACQAJAAkAgAC4BHkEBaw4IAAEFAwACBQQFC0EDDAcLQQEMBgtBAQwFC0ECDAQLQQIMAwtBAAwCCwJAAkACQAJAAkACQCAALgEeQQFrDgcAAQMFAAIEBQtBAQwGC0EDDAULQQMMBAtBAgwDC0ECDAILQQAMAQtBAAsL6gsBG38CQCMGIQIjBkGAAWokBiAARQRAQcfTH0GgjxJBABBKGgwBCyACQRBqIQQgAiACQfYAaiIJNgIAIABBggIgAhDcAiACQQhqIgEgAkH4AGoiCDYCACAAQZUCIAEQ3AIgCS8BACAILgEAIgFB//8DcWxB//8DcSIDQSBLBEAgBEGgjxI2AgAgBCADNgIEQcS0FkHX0x8gBBBcIAguAQAhAQsgAkHIAGohECACQUBrIREgAkEwaiELIAJBKGohEiACQSBqIQQgAkEYaiEFIAJB9ABqIQwgAkHyAGohDiACQfAAaiETIAJB7ABqIRQgAkHoAGohFSACQeQAaiEWIAJB4ABqIRcgAkHcAGohGCACQdgAaiEGIAJB1ABqIQcgAkHQAGohAyACQcwAaiEZAkACQAJAAkAgAUEQdEEQdUEBaw4EAAIBAQILIAkvAQAhDwwCC0EgIQ8MAQtBmNQfQaCPEkEAEEoaDAELIAUgBjYCACAAQYACIAUQvQEaIAQgBzYCACAAQYECIAQQvQEaIAAQuQMhBSADIAYoAgAgBygCACAPEMcBIgE2AgAgAUUEQEG4rCBBoI8SQQAQShoMAQsgAUEEENoFIAMoAgAQdSEBIAMoAgAQdyIaQQJ0IQogCC4BAEEBRgR/IAVBAWpBARCDASIERQRAQe2LH0GgjxJBABBKGgwCC0EAIQYCQAJAA0AgBiAHKAIASQRAIAAgBCAGEKEiQQBIDQIgASAEIAUQbRogASAKaiEBIAZBAWohBgwBCwsMAQsgBBBMIAMQXkGv1B9BoI8SQQAQShoMAgsgAygCACEBIAkvAQBBCUgEQCABEK8LBSABEKAiCyAEEExBAAUgBigCACAHKAIAbEEEEIMBIghFBEAgAxBeQb7UH0GgjxJBABBKGgwCCyAAIAYoAgAgBygCACAIEJ8iRQRAIAgQTCADEF5B19QfQaCPEkEAEEoaDAILIAMoAgAQdSEBQQAhBQNAIAUgBygCAEkEQCABIQRBACEKA0AgCiAGKAIAIg1JBEAgCCAFIA1sIApqQQJ0aigCACINQf8BcSANQQh2Qf8BcSANQRB2Qf8BcSAEEIIEIARBBGohBCAKQQFqIQoMAQsLIAEgGkECdGohASAFQQFqIQUMAQsLIAgQTEEBCyEEIAAgFyAYELIURQRAIAMoAgAgFygCABDPCyADKAIAIBgoAgAQuwkLIBIgDjYCACAAQYMCIBIQ3AIgDi4BABC1DiEBIAMoAgAgARDaBSALIBQ2AgAgCyAVNgIEIAsgFjYCCAJAIABBwAIgCxC9AQRAIAkvAQAiAUEISgRAIAMQXkHv1B9BoI8SQQAQShoMAwsgAUH//wNxEIoFIgdFBEAgAxBeQYDVH0GgjxJBABBKGgwDC0EBIAkvAQB0IQlBACEBA0AgASAJSARAIAcgFCgCACABQQF0ai8BAEEIdiAVKAIAIAFBAXRqLwEAQQh2IBYoAgAgAUEBdGovAQBBCHYQ5gMaIAFBAWohAQwBCwsgAygCACAHENgFBSARIAw2AgAgAEGGAiAREL0BRQRAAkACQCAOLgEAIgFBA0gEQCABQQJIBEAgAUGDgH5rDQIFIAFBAmsNAgtBACEBDAIFAkACQAJAIAFBA2sOAgAAAQtBACEBDAELDAILCwwBC0EBIQELIAwgATsBAAsCQAJAAkACQCAPQRB0QRB1QQFrDggAAgICAgICAQILIAwuAQBBAUcNBAwCCyAMLgEADQMMAQsMAgsgAygCACIBIAEQjQUaCwsgECATNgIAIABBkgIgEBC9AQRAIBMuAQAiAEF/akEQdEEQdUH//wNxQQhIBEAgAEH//wNxQX9qIgBBDGxBoJASaiAAQQxsQcCPEmogBEUbIgAoAgAEQCADKAIAIgEgARCCFAsgACgCBARAIAMoAgAiASABEKQOGgsgACgCCCIABEAgGSADKAIAIgE2AgAgAyABIAAQow42AgAgGRBeCwsLIAMoAgAhGyACJAYgGw8LIAIkBkEAC6sBAQJ/IwYhAiMGQRBqJAYCfyABBH8gAUEANgIAIABFBEBBms4fQYCOEkEBEEoaQQEMAgsDQAJAAkACQCAAEJYCQX9rDiIAAgICAgICAgICAQECAgECAgICAgICAgICAgICAgICAgIBAgtBAQwECwwBCwsgAEF/QQEQgAMaIAIgATYCACAAQarOHyACEIMOGkEABUGJzh9BgI4SQQEQShpBAQsLIQMgAiQGIAMLYwECfyMGIQQjBkEQaiQGIAAgASACIAMQrCICQCAABEAgACgCECIFBEAgBSADKgIAIAMqAgQgAxClCwwCCyAAKAIIIgAEQCAEIAAQ5gIgAyAEKgIAIAQqAgQQtQQLCwsgBCQGC4cJARB/AkAgAEUEQEGEpSBBkIUSQQAQShoMAQsgABB8QQFHBEBBpbkfQZCFEkEAEEoaDAELIAFBf2pBA0sEQEG1uR9BkIUSQQAQShoMAQsgAkUiEQRAEJQUIgJFBEBBmLkfQZCFEkEAEEoaDAILCwJ/IAAQvgEhEiAAEKUBIgRBAkgEQEHUuR9BkIUSQQAQShoMAgsgABB3IQUgABB1IQwgEgtBAhBOIARBAhBOQQEQxwEiBkUEQEGDlyBBkIUSQQAQShoMAQsgBiAAEI0CIAZDAAAAP0MAAAA/ELgEIAYQdyELIAYQdSENIAUgC0EBdCIAIAUgAEgbIQ4CQAJAAkACQAJAIAFBAWsOBAABAgMECyAEQX9qIgBBACAAQQBKG0EBakEBdiEHQQAhBEEAIQEDQCABIAdGDQQgDSABIAtsQQJ0aiEIIAwgBCAFbEECdGoiCSAFQQJ0aiEKQQAhAANAIAAgDkgEQCAIIABBAXRqQQJzIAIgCSAAQQJ0aigCACAKIABBAnRqKAIAciIDIANBAXRyQarVqtV6cSIDIANBB3RyIgNBGHZqLQAAQQh0IAIgA0EIdkH/AXFqLQAAcjsBACAAQQFqIQAMAQsLIARBAmohBCABQQFqIQEMAAALAAsgBEF/aiIAQQAgAEEAShtBAWpBAXYhB0EAIQRBACEBA0AgASAHRg0DIA0gASALbEECdGohCCAMIAQgBWxBAnRqIgkgBUECdGohCkEAIQADQCAAIA5IBEAgCCAAQQF0akECcyACIAkgAEECdGooAgAiAyAKIABBAnRqKAIAIg9xIhAgEEEBdHIgAyAPciIDIANBAXRxckGq1arVenEiAyADQQd0ciIDQRh2ai0AAEEIdCACIANBCHZB/wFxai0AAHI7AQAgAEEBaiEADAELCyAEQQJqIQQgAUEBaiEBDAAACwALIARBf2oiAEEAIABBAEobQQFqQQF2IQdBACEEQQAhAQNAIAEgB0YNAiANIAEgC2xBAnRqIQggDCAEIAVsQQJ0aiIJIAVBAnRqIQpBACEAA0AgACAOSARAIAggAEEBdGpBAnMgAiAJIABBAnRqKAIAIgMgCiAAQQJ0aigCACIPcSIQIBBBAXRyIAMgD3IiAyADQQF0cXFBqtWq1XpxIgMgA0EHdHIiA0EYdmotAABBCHQgAiADQQh2Qf8BcWotAAByOwEAIABBAWohAAwBCwsgBEECaiEEIAFBAWohAQwAAAsACyAEQX9qIgBBACAAQQBKG0EBakEBdiEHQQAhBEEAIQEDQCABIAdGDQEgDSABIAtsQQJ0aiEIIAwgBCAFbEECdGoiCSAFQQJ0aiEKQQAhAANAIAAgDkgEQCAIIABBAXRqQQJzIAIgCSAAQQJ0aigCACAKIABBAnRqKAIAcSIDIANBAXRxQarVqtV6cSIDIANBB3RyIgNBGHZqLQAAQQh0IAIgA0EIdkH/AXFqLQAAcjsBACAAQQFqIQAMAQsLIARBAmohBCABQQFqIQEMAAALAAsgEUUEQCAGDwsgAhBMIAYPC0EACxkAIAEgAEcEQCAAEMUDIAAgARDWFBoLIAAL7QIBDH8CQCMGIQEjBkEQaiQGIABFBEBBhKUgQYCDEkEAEEoaDAELIAAQfEEIRwRAQYu3H0GAgxJBABBKGgwBCyAAENMBBEAgAEECENECIQwgASQGIAwPCyAAIAFBBGoiBiABQQAQkwEgABB1IQcgABB3IQggBigCACABKAIAQSAQxwEiAkUEQEGDlyBBgIMSQQAQShoMAQsgAiAAEI0CIAIgABCvAiACEHUhCSACEHchCkGAAkEEEIMBIQVBACEAA0AgAEGAAkcEQCAFIABBAnRqIABBGHQgAEEQdHIgAEEIdHI2AgAgAEEBaiEADAELCwNAIAMgASgCAEgEQCAHIAMgCGxBAnRqIQsgCSADIApsQQJ0aiEAQQAhBANAIAQgBigCAEgEQCAAIARBAnRqIAUgCyAEakEDcy0AAEECdGooAgA2AgAgBEEBaiEEDAELCyADQQFqIQMMAQsLIAUQTCABJAYgAg8LIAEkBkEAC1kBAX8gAEUEQEGcwx9B87QfQQEQShoPCyAAENMBIgEEQCABENICIAEoAghIBEBB/bQfQfO0H0EBEEoaDwsLIABBAEEAIAAQvgEgABClAUEPQQBBAEEAEMsBC2gBAX8gAUEFTgRAIAAgAUEAQQAgAiADEKIJDwsgACABNgIAA0AgBCABSARAIABBBGogBEECdGogBDYCACAEQQFqIQQMAQsLIABBADYCGCAAQQA2AhQgACACNgIcIAAgAzYCICAAQSRqC9YGAQ9/IABFIAFFcgRAQQAPCyABQThqIQsCfyABQTBqIgwoAgAiBkEBaiIHIAFBNGoiAygCACIESgR/IAsoAgAiBQRAIAMgB0EIaiIBNgIAIAsgACABQRxsELMCIgE2AgAgAQRAIAEgBSAEQRxsEG0aIAAgBRCKASAADAMLIAMgBDYCACALIAU2AgBBAQ8FIANBCTYCACAMQQA2AgAgCyAAQfwBELMCIgU2AgAgBQRAIAFBuAFqIgEgASgCAEGAgAFyNgIAIAAMAwsgDCAGNgIAIAMgBDYCAEEBDwsABSAACwshAUEAIQUCQANAIAVBAU4EQEEAIQAMAgsgCygCACIGIAwoAgAiB0EcbGohDgJAIAIgBUEcbGpBBGoiDygCACIDBEAgAiAFQRxsaiIQKAIAIglBAWpBA0sEQCAAQbSlHxBqDAILIAMQYyEIIAlBAUgEf0EAIQNBAAUgAiAFQRxsaigCFCIDBH8gAxBjBUEACyEDIAIgBUEcbGooAhgiBAR/IAQQYwVBAAsLIQoCQAJAIAIgBUEcbGpBCGoiESgCACIERQ0AIAQsAABFDQAgBBBjIQQgDiAJNgIADAELIAlBAEoEQCAOQQE2AgAFIA5BfzYCAAtBACEECyAGIAdBHGxqQQRqIgkgASAIIARqIANqIApqQQRqELMCIg02AgAgDUUEQEEBIQAMBAsgDSAPKAIAIAgQbRogCSgCACAIakEAOgAAIBAoAgBBAEoEfyAGIAdBHGxqQRRqIg0gCSgCACAIakEBaiIINgIAIAggAiAFQRxsaigCFCADEG0aIA0oAgAgA2pBADoAACAGIAdBHGxqQRhqIgggDSgCACADakEBaiIDNgIAIAMgAiAFQRxsaigCGCAKEG0aIAgoAgAgCmpBADoAACAIKAIAIApqBSAGIAdBHGxqQQA2AhQgBiAHQRxsakEANgIYIAkoAgAgCGoLIQMgBiAHQRxsakEIaiIKIANBAWoiAzYCACAEBEAgAyARKAIAIAQQbRogCigCACEDCyADIARqQQA6AAAgBiAHQRxsakEAIAQgDigCAEEASiIDGzYCDCAGIAdBHGxqIARBACADGzYCECAMIAwoAgBBAWo2AgALCyAFQQFqIQUMAAALAAsgAAsJACAAIAEQxwMLSAEBfyAAKALMASEDIAAsAPwCQSBxBEAgA0GABnFBgAZGBEAPCwUgA0GAEHEEQA8LCyAAQfACaiIAIAAoAgAgASACEM8CNgIACywBAX8gACgCrAEiAwRAIAAgASACIANB/wBxQawMahENAAUgAEGHkx8QqQELC3MBBX8gAEUEQEGEpSBBwP4RQQEQShoPCyAAEHUhBSAAEHchAyAAEKUBIQQgBSEAQQAhAQNAIAEgBEgEQEEAIQIDQCACIANIBEAgACAAKAIAEMEFNgIAIAJBAWohAiAAQQRqIQAMAQsLIAFBAWohAQwBCwsLTQAgASAAQf8BcUEEdiIBQTByIAFB1wBqQRh0QRh1IABB/wFxQaABSBs6AAAgAiAAQQ9xIgBBMHIgAEHXAGpBGHRBGHUgAEEKSBs6AAALWAAgAEUEQEGNriBB4/seQQAQShpBAA8LIAEEfxC1CyAAQQBBABCAAxpB7fseIAEgAEHcAEHdAEHeAEGFAUGGAUEAQQAQug4FQZjmHkHj+x5BABBKGkEACwu7AgEIfyMGIQIjBkEQaiQGIAFFBEBBv/keQdDxEUEAEEoaIAIkBkEADwsgAUEANgIAIABFBEBBxqkgQdDxEUEAEEoaIAIkBkEADwsgABD+A0UEQCAAIAEQuyMhCSACJAYgCQ8LIAJBBGoiB0EAQYAgEL8OIgQ2AgAgBCgCBCEDA0AgBEEEaiEFIAQoAgAiBiADa0GAIEgEQCAEIAZBgCAgBkGAIEobEMoUIAcoAgAiBEEEaiIDIQUgAygCACEDCyAEQQxqIgYoAgAgA2pBAUGAICAAEIQCIQggBSAFKAIAIAhqIgM2AgAgCEGAIEYNAAsgA0EBakEBEIMBIgAEQCAAIAYoAgAgBSgCABBtGiABIAcoAgAoAgQ2AgAFIAJB0PERNgIAQcS0FkHT+R4gAhBcCyAHEK0JIAIkBiAACy0BAX8jBiECIwZBEGokBiACIAA2AgAgAiABNgIEQYDwEUH49R4gAhBfIAIkBgvTCQITfwF9AkACQCMGIQMjBkHwAGokBiADQRBqIQUgA0EIaiEGIAAgAS8BABDpAiEHIAFBBGoiCCgCACICQQFLBEACfwJAAkACQAJAAkACQAJAAkACQAJAIAEuAQJBAWsODAAGAQIDAAYBAgMEBQcLIAAgAkEBQZDwERDTAiICRQ0LIAAgASACELgOIQQMBwsgACACQQJBkPARENMCIgJFDQogACABIAIQqAkhBAwGCyAAIAJBBEGQ8BEQ0wIiAkUNCSAAIAEgAhCWBiEEDAULIAAgAkEEQZDwERDTAiICRQ0IIAAgASACELYUIQQMBAsgACACQQRBkPARENMCIgJFDQcgACABIAIQlgYhBAwDCyAAIAJBCEGQ8BEQ0wIiAkUNBiAAIAEgAhC3DiEEDAILIAAgAkEBakEBQZDwERDTAiICRQ0FIAAgASACELQUBH8gAiAIKAIAakEAOgAADAMFQQALDAMLDAQLIAQEfwwBBUEACwwBCyABLwEAIQEgBywADwR/IAYgCCgCADYCACAGIAI2AgQgACABIAYQogEFIAUgAjYCACAAIAEgBRCiAQsLIQAgAhBMDAILIAAgAUEBEOsGRQ0AIANB4ABqIQsgA0HYAGohBiADQdAAaiEMIANByABqIQUgA0FAayENIANBOGohCCADQTBqIQ4gA0EoaiEJIANBIGohDyADQRhqIQogA0HsAGohECADQegAaiERIANB5ABqIRIgA0HuAGohBAJAAkACQAJAAkACQAJAAkACQCABLgECIgJBAWsODAACAAEFAAIAAQUEAwYLAkACQCAHKAIIQQRrDgYAAQEBAQABCwwICyABKAIIIQQgECAALgHIA0HNmgFGBH8gBCAAKALQAyACQf//A3EiAkECdGooAgB2IAAoAtQDIAJBAnRqKAIAcQUgBCAAKALUAyACQf//A3FBAnRqKAIAcQsiAjsBACABLwEAIQEgBywADwR/IApBATYCACAKIBA2AgQgACABIAoQogEFIA8gAkH//wNxNgIAIAAgASAPEKIBCyEADAkLDAYLIAAgASAEELQUQQBHIgUhAiAFRQRAIAMkBiACDwsgBEEAOgABIAEvAQAhASAHLAAPBH8gBkEBNgIAIAYgBDYCBCAAIAEgBhCiAQUgCyAENgIAIAAgASALEKIBCyEADAcLIAAg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AAUgAigCBCECIAMgAEEASgR/IAMgAkEBakH//wNxEOIBQQAhAkF/BSADIAJB//8DcRDiAUECIQJBAQsiADoABCADIAI6AAYCQCABBEAgAEEYdEEYdSADLgEAaiABLgEARgRAIAMvAQIgAS8BAkYEQCADIAFBCGoiACgCACICNgIIIAIgAzYCDCADIAE2AgwMAwsLIAMgAUEMaiIAKAIAIgI2AgwgAiADNgIIIAMgATYCCAUgAyADNgIMIANBCGohAAsLIAAgAzYCACADC84BAQp/IwYhASMGQRBqJAYgAUEIaiICEJgBIAFBBGoiBhCYASACIAAQwwEoAQA2AgACQCAALgEQELcBIgcEfyAAQRRqIQggAkECaiEEQQAhAANAIAMgB04NAiABIAgoAgAgAxDaASAGIAEoAgAiBTYCACAFQf//A3EiCSIKQRB0QRB1QQBIBEAgACAELgEAaiEABSAKBEAgACAELgEAayEACwsgAiAJIAVBEHYQ6AEaIANBAWohAwwAAAsABSAAQQRqEPYBCyEACyABJAYgAAuSAQEDfyMGIQIjBkEgaiQGIAIgABCsBiAAELkCIgRBAnQQciEAIAIQngEgACEDA0AgAhCNAUUEQCADIAIQkAI2AgAgAhCrARogA0EEaiEDDAELCyAAIARBBCABEIUFQQAhAyAAIQEDQCADIARIBEAgAiABKAIAELYGIANBAWohAyABQQRqIQEMAQsLIAAQTCACJAYLBwAgAEE8agsJACAAQQEQwhgLeQEDfyMGIQIjBkEQaiQGIAJBCGoiAyAAIAEQ8AQgAxD2ASEEIAAQ9gEiA0EARyABEPYBIgBBAEdxRQRAIAJB9LoZNgIAIAJBwQI2AgRBtKwWQeO6GUECQcfrHCACEFELIAIkBiADIARrtyAAIARrt6IgA7ejIAC3ows2AQJ/IwYhASMGQRBqJAYgACABEOUIBH8gACAAKAIAIAEoAgBqNgIAQQEFQQALIQIgASQGIAILHAEBfyABKAIAIQIgASAAKAIANgIAIAAgAjYCAAspAQF/A0ACQCAALAAAIgJFDQAgASACENoCRQ0AIABBAWohAAwBCwsgAAsmACABIABHBEAgACgCAEEASgRAIABBADYCAAsgACABELEQGgsgAAsJACAAQQRqEGgLEQAgACABNgIAIABBBGoQ+QMLLwEBfyMG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IQQgA0EANgIAIABBADYCACAEIQADQCAARQ0CIAAoAgQhBSAAIAFB/wNxQaIHahEAACAFIQAMAAALAAsLCywAIABBOGoQzgIgAEEkahDfBCAAQSBqEFggAEEcahBYIABBCGoQtAUgABBYCysBAn8gAEEMaiECIABB7ANqIQEDQCABQWxqIgEQtAUgASACRw0ACyAAEFgLMQACQAJAAkACQCAAQQtrDgIAAQILIAIgARC0NAwCCyACIAEQszQMAQsgAiABELI0CwtIAQJ/IABBATYCFEEBIQFBASECA0AgAUF/SgRAIABBDGogAUECdGogACABQQFqQQJ0aigCACACbCICNgIAIAFBf2ohAQwBCwsLDgAgAiABIABBA3QQbRoLCQAgACABNgJECzUBAX8gAUH/////AUsEQBAEBSAAIAFBA3QQTyICNgIEIAAgAjYCACAAIAIgAUEDdGo2AggLC2ABA38CfwJAIAAoAgwiAUUNACAAKAIIRQ0AIAAoAgQgACgCACICayEDQQAhAANAAkAgACADTg0AIAEgAEECdGooAgANACAAQQFqIQAMAQsLIAIgAGoMAQsgACgCAAsiAAtUAQN/IAAgACgCACgCCEH/AXFBBmoRBQAhAiAAQQRqIQNBACEAA0AgACACSARAIAMoAgAgAEEDdGoiBCABKwMAIAQrAwCiOQMAIABBAWohAAwBCwsLEAAgABC7CiAAQZigFjYCAAsRAEQAAAAAAADwPyAAoSAAogssACAAIAApAwBCrf7V5NSF/ajYAH5Cz4Keu+/v3oIUfDcDACAAKQMAQiGIpwucAQEDfyMGIQcjBkEQaiQGIABBMGoiCSwAACIIIAQsADBHBEAgB0G14Rc2AgAgB0GRAzYCBEG8nhZBk+IXQQJBx+scIAcQUSAJLAAAIQgLIAhB/wFxBH8gAEEYaiABEJMCIAJqIARBGGogBRCTAiAGaiADEG0FIAAgARDqASACQQJ0aiAEIAUQ6gEgBkECdGogA0ECdBBtCxogByQGC5IBAAJAIAAsADAEQCAAQRhqIAEQkwIgAmohAUEAIQADQCAAIANODQIgASAAaiAERAAAAAAAwF9AEMQREJwCOgAAIABBAWohAAwAAAsABSAAIAEQ6gEgAkECdGohAUEAIQADQCAAIANODQIgASAAQQJ0aiAERAAAAAAAAPA/EMQR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AEH4BWoQdCAAQegFahB0IABBwAVqEHYgAEGYBWoQdiAAQfAEahB2IABByARqEHYgAEGgBGoQdiAAQfgDahB2IABB0ANqEHYgAEG0A2oQmgEgAEGcA2oQmgEgAEGMA2oQdCAAQfQCahCaASAAQeQCahB0IABB1AJqEHQgABD6CAutAwECfyAAQYCXFjYCACAAQZSmCGoQaCAAQYimCGoiAigCACEBIAJBADYCACABBEAgARD0ESABEEwLIABB+KUIahB0IABB0KUIahB2IABBuKUIahCaASAAQaClCGoQmgEgAEGIpQhqEJoBIABB+KQIahB0IABB6KQIahB0IABB2KQIahB0IABBwKQIahCaASAAQaikCGoQmgEgAEGYpAhqEHQgAEGApAhqEJoBIABB6KMIahCaASAAQcCjCGoQdiAAQZijCGoQdiAAQfCiCGoQdiAAQciiCGoQdiAAQbCiCGoQmgEgAEGIoghqEHYgAEHgoQhqEHYgAEG4oQhqEHYgAEGgoQhqEJoBIABBiKEIahCaASAAQfigCGoQdCAAQeCgCGoQmgEgAEHIoAhqEJoBIABBsKAIahCaASAAQZigCGoQmgEgAEGIoAhqEHQgAEH4nwhqEHQgAEHgnwhqEJoBIABBuJ8IahB2IABBoJ8IahCaASAAQZCfCGoQdCAAQeieCGoQdiAAQdieCGoQdCAAQcieCGoQdCAAQbieCGoQdCAAQaieCGoQdCAAEM0NC+UBAQN/IwYhASMGQRBqJAYgAUG10hcQhQEgAUEIaiIDIABBCGogARC7AiABEFggAEGoyghqIAMQXRC1HCAAQZjKCGoQXiAAQZzKCGoQXiAAQaTKCGoQXiAAQeTeCGoQXiABQwAAgD9DAAAAABCkASAAQezeCGogASkDADcCACABQwAAgD9DAAAAABCkASAAQfTeCGogASkDADcCACAAQbTKCGoQvg0gAEHo3ghqQX82AgAgAEGc3whqIQADQCACIAAoAgBIBEAgACACEE0oAgAQzw0gAkEBaiECDAELCyADEFggASQGC6IPAQN/IABB6JYWNgIAIAAQzw0gAEGgyghqEF4gABDMDSAAIAAoAgAoAghB/wFxQQZqEQUAEMgNIABBnN8IaiICENUKIABBvN8IaiIDKAIAIgEEQCABEMEcIAEQTAsgA0EANgIAIAIQaCAAQZTf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AAsMCAsgByACQYCABHIiAjYCAAwHCyAHIAJBfHFBAXIiAjYCAAwGCyAHIAJBfHFBAnIiAjYCAAwFCyAHIAJBfHFBAnIiAjYCAAwECyAGBEAgByACQYAQciICNgIACwwDCyAGBEAgByACQf9vcSICNgIACwwCCyAGBEAgByACQYCAAnIiAjYCAAsMAQsgBgRAIAcgAkH//31xIgI2AgALCyADQQFqIQMMAQsLAkACQCAQKAIAIgJBgARxDQAgDSgCACAKQcgDaiICQQggFigCAEH/AHFBkARqEQIAQQhHBEAgECgCACECDAELAkACQAJAIAIuAQAiAkHJkgFrDv0NAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAELDAELIBIgAkH//wNxIgE2AgAgEiABNgIEIABB2uceIBIQXwwCCyAKIAJB//8DcRC+FCAKQcoDaiECIAcoAgBBgAFxBEAgAhCZBiAKQcwDahDsBgsCQAJAAkAgAi4BACICQSprDgIBAAILIABBjegeIBMQXwwDCyAHIAcoAgAiAkGABHI2AgAgCkEANgLUBCAKQQA2AtwEIApBADYC2AQgAkGAgARxDQMCQCABLAAAQeEAayIABEAgAEERRw0EDAELIAoQtwsaDAQLIAogCigCzAM2AhQgAkGAEHEEQCANKAIAIApB5ARqIApB6ARqIAooAuwEQf8AcUGQBGoRAgBFBEAgByAHKAIAQf9vcTYCAAsLIAoQqglFDQIgCkF/NgLgBCAHIAcoAgBBEHI2AgAMAwsgESACQf//A3EiATYCACARIAE2AgQgAEHc6B4gERBfDAELIAJFBEAgAEGo5x4gFRBfDAELIApByANqIgNByZIBQc2aASAHKAIAQYABcUUiAhs7AQAgCkHKA2oiAUEqOwEAIAJFBEAgARCZBgsgCkEANgLMAyANKAIAQQBBACAPKAIAQf8AcUGQBGoRAgAaIA0oAgAgA0EIIA4oAgBB/wBxQZAEahECAEEIRwRAIABBwOceIBQQXwwBCyAKIAMvAQAQvhQgChC3CxogCkEANgIQIApBADYCGCAKQQA2AhwgCkEAOwEgDAELIBBBADYCACAKENAFIAskBkEADwsgCyQGIAoPCyALJAZBAAtDAQJ/IAAgAUEBdBDhBQNAIAEEQCAAKAIAIQIgACAAQQRqIgMoAgA2AgAgAyACNgIAIABBCGohACABQX9qIQEMAQsLCxsAIAAgASABLgEgIAEuASIgASwAH0EARxC0DgvHAwEDfyAAQShqQQBBBBDDAiAAQZgBaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQZwBaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQaABaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQawBaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQcgBaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQegBaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQdQBaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQdgBaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQdwBaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQeABaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQbgBaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQbwBaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQSxqIgEgASgCAEH/fHE2AgAgAEHsAWohAiAAQfABaiEBQQAhAANAIAAgAigCAEgEQCABKAIAIABBDGxqKAIIIgMEQCADEEwLIABBAWohAAwBCwsgAkEANgIAIAEoAgAiAEUEQA8LIAAQTCABQQA2AgALugEBAX8gAkUgA0VyIARFciAFRXIEQEHZzB5BhM0eQQEQShoPCyAFQQA2AgAgBEEANgIAIANBADYCACACQQA2AgAgAEUEQEHshB5BhM0eQQEQShoPCyABQQBOBEAgACgCDCABSgRAIAIgACgCACIGIAFBAnRqLQACNgIAIAMgBiABQQJ0ai0AATYCACAEIAYgAUECdGotAAA2AgAgBSAGIAFBAnRqLQADNgIADwsLQf2EHkGEzR5BARBKGguBAQECf0EBQRAQgwEiAkUEQEGoyx5BtMseQQAQShpBAA8LIAJBgAggASABQQFIGyIBQQEQgwEiAzYCDCADRQRAIAIQTEHCyx5BtMseQQAQShpBAA8LIAIgATYCACACQQA2AgggAARAIAMgACABEG0aIAIgATYCBAUgAkEANgIECyACC50DAQt/IwYhBCMGQdAAaiQGIABFBEBBzcgeQeDIHkEAEEoaIAQkBkEADwsgBEHIAGohCCAEQQhqIQNBgIACQQEQgwEhBUGAgAJBARCDASEGIARBxABqIgkgACABEL8OIgE2AgAgBEFAayIAQQBB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C5QCAQh/IwYhAyMGQRBqJAYgA0EIaiECAkAgAEEEaiIEKAIAQQBKBEAgAEEMaiIFKAIABEAgAEEIaiEGA0AgASAAKAIATg0DIAUoAgAiBygCACgCCCEIIAMgBigCACABQQN0aikCADcDACACIAMpAAA3AAAgByACIAhB/wBxQawLahEDACABQQFqIQEMAAALAAsLCyAAQQhqIgEoAgAiAgRAIAIQTAsgAUEANgIAIABBADYCACAEQQA2AgAgAEEMaiICKAIAIgEEQCABIAEoAgAoAgRB/wNxQaIHahEAAAsgAkEANgIAIABBEGoiASgCACIABEAgACAAKAIAKAIEQf8DcUGiB2oRAAALIAFBADYCACADJAYL2QEBBH9BKBByIgNBADYCACAAQfAEakEBIANBBBCKAiEDIwwhBUEAJAcjByECQQAkByACQQBHIwhBAEdxBEAgAigCACADIAUQUiIERQRAIAIjCBAACyMIJAwFQX8hBAsjDCECIARBAWsEQEEAIQILAkACQANAIAINAUEAJAdB0QAgACABEAYjByECQQAkByACQQBHIwhBAEdxBEAgAigCACADIAUQUiIERQRAIAIjCBAACyMIJAwFQX8hBAsjDCECIARBAWtFDQALDAELIAMQTEEADwsgAxBMQQEL0wEBBH9BKBByIgJBADYCACAAQfAEakEBIAJBBBCKAiECIwwhBEEAJAcjByEBQQAkByABQQBHIwhBAEdxBEAgASgCACACIAQQUiIDRQRAIAEjCBAACyMIJAwFQX8hAwsjDCEBIANBAWsEQEEAIQELAkACQANAIAENAUEAJAdB4gIgABAFIwchAUEAJAcgAUEARyMIQQBHcQRAIAEoAgAgAiAEEFIiA0UEQCABIwgQAAsjCCQMBUF/IQMLIwwhASADQQFrRQ0ACwwBCyACEEwPCyACEEwLuQEBA38gACgCBCEEIAJB8JPr3ANLBEAgAEEDENgLCyABQQFLBEAgACgCAEEPNgIUIAAoAgAgATYCGCAAIAAoAgAoAgBB/wNxQaIHahEAAAtBCCACQQdxIgNrQQAgAxsgAmoiA0EQaiIFEHIiAkUEQCAAQQQQ2AsLIARBzABqIgAgACgCACAFajYCACACIARBPGogAUECdGoiACgCADYCACACIAM2AgQgAkEANgIIIAAgAjYCACACQRBqC+ED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IAMQVCAAIAEgASAERhshAAwRCyADQgA3AgAgA0EANgIIIANBqt8gQarfIBBjEKYBIABBAmoiBCABIAMgAhD7AyEBIAMQVCAAIAEgASAERhshAAwQCyADQgA3AgAgA0EANgIIIANBsN8gQbDfIBBjEKYBIABBAmoiBCABIAMgAhD7AyEBIAMQVCAAIAEgASAERhshAAwPCyADQgA3AgAgA0EANgIIIANB09X5AEHT1fkAEGMQpgEgAEECaiIEIAEgAyACEPsDIQEgAxBUIAAgASABIARGGyEADA4LIANCADcCACADQQA2AgggA0G/3yBBv98gEGMQpgEgAEECaiIEIAEgAyACEPsDIQEgAxBUIAAgASABIARGGyEADA0LIANCADcCACADQQA2AgggA0HB3yBBwd8gEGMQpgEgAEECaiIEIAEgAyACEPsDIQEgAxBUIAAgASABIARGGyEADAwLIANCADcCACADQQA2AgggA0HD3yBBw98gEGMQpgEgAEECaiIEIAEgAyACEPsDIQEgAxBUIAAgASABIARGGyEADAsLIANCADcCACADQQA2AgggA0HG3yBBxt8gEGMQpgEgAEECaiIEIAEgAyACEPsDIQEgAxBUIAAgASABIARGGyEADAoLIANCADcCACADQQA2AgggA0HJ3yBByd8gEGMQpgEgAEECaiIEIAEgAyACEPsDIQEgAxBUIAAgASABIARGGyEADAkLIANCADcCACADQQA2AgggA0HN3yBBzd8gEGMQpgEgAEECaiIEIAEgAyACEPsDIQEgAxBUIAAgASABIARGGyEADAgLIANCADcCACADQQA2AgggA0HW3yBB1t8gEGMQpgEgAEECaiIEIAEgAyACEPsDIQEgAxBUIAAgASABIARGGyEADAcLIAAgAEECaiIAIAEgAhDAHSIBIAEgAEYbIQAMBgsgACAAQQJqIgAgASACEL8dIgEgASAARhshAAwFCyAAIABBAmoiACABIAIQvh0iASABIABGGyEADAQLIAAsAAJB2gBHDQMgAEEDaiIEIAEgAhDeBiICIARGIAIgAUZyDQMgAkEBaiAAIAIsAABBxQBGGyEADAMLIAQgASACEPoBIgkgBEYgCSABRnINAiAJLAAAQcUARgRAIAlBAWohAAwDCyAJIQQDQCAEIAFGDQMgBCwAACILQVBqQQpJBEAgBEEBaiEEDAELCyAEIAlHIAtBxQBGcUUNAiACKAIAIAJBBGoiASgCACICRg0CIAggAkFoahCvASAIQQBB0NUgEMEBGiAHIAgpAgA3AgAgByAIKAIINgIIQQAhAANAIABBA0cEQCAIIABBAnRqQQA2AgAgAEEBaiEADAELCyAHQc7VIBCnARogBiAHKQIANwIAIAYgBygCCDYCCEEAIQADQCAAQQNHBEAgByAAQQJ0akEANgIAIABBAWohAAwBCwsgBUIANwIAIAVBADYCCCAFIAkgBBDCBSAGIAUoAgAgBSAFLAALIgBBAEgiAhsgBSgCBCAAQf8BcSACGxC2ARogCiAGKQIANwIAIAogBigCCDYCCEEAIQADQCAAQQNHBEAgBiAAQQJ0akEANgIAIABBAWohAAwBCwsgAyAKEJQCIAEoAgBBaGogAxCmAyADEGkgChBUIAUQVCAGEFQgBxBUIAgQVCAEQQFqIQALCwsgBSQGIAALXgEBfyADQW9LBEAQBAsgA0ELSQRAIAAgAjoACwUgACADQRBqQXBxIgQQciIDNgIAIAAgBEGAgICAeHI2AgggACACNgIEIAMhAAsgACABIAIQ5AIaIAAgAmpBABCcAQuKEgECfyMGIQMjBkEgaiQGAkAgACABRwRAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAsAABBxABrDjcWFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFwQCAxESEBMFCAkXCgsODxcXFwYHFQABDA0UFwsgA0Ht4CAQ0gcgAkEEaiIEKAIAIgEgAigCCEkEQCABIAMQjwEgBCAEKAIAQRhqNgIABSACIAMQlQELIAMQaSAAQQFqIQAMGAsgAxC1HSACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwXCyADQfLgIBDSByACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwWCyADQYvfIBDSByACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwVCyADQZDfIBDTByACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwUCyADQZzfIBDbDSACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwTCyADQarfIBDxCiACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwSCyADQbDfIBDvCiACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwRCyADQffgIBCbEiACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwQCyADQfvgIBDuCiACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwPCyADQYjhIBDSByACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwOCyADQY3hIBDbDSACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwNCyADQZvhIBDyAiACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwMCyADELQdIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEEBaiEADAsLIANBzd8gENkNIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEEBaiEADAoLIANB1t8gEOINIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEEBaiEADAkLIANBpeEgEPEKIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEEBaiEADAgLIAMQsx0gAkEEaiIEKAIAIgEgAigCCEkEQCABIAMQjwEgBCAEKAIAQRhqNgIABSACIAMQlQELIAMQaSAAQQFqIQAMBwsgA0Gr4SAQ0wcgAkEEaiIEKAIAIgEgAigCCEkEQCABIAMQjwEgBCAEKAIAQRhqNgIABSACIAMQlQELIAMQaSAAQQFqIQAMBgsgA0G34SAQ4wIgAkEEaiIEKAIAIgEgAigCCEkEQCABIAMQjwEgBCAEKAIAQRhqNgIABSACIAMQlQELIAMQaSAAQQFqIQAMBQsgA0HC4SAQmxIgAkEEaiIEKAIAIgEgAigCCEkEQCABIAMQjwEgBCAEKAIAQRhqNgIABSACIAMQlQELIAMQaSAAQQFqIQAMBAsgACAAQQFqIgQgASACENsGIgAgACAERhshAAwDCyAAQQFqIgQgAUYNAgJAAkACQAJAAkACQAJAAkACQCAELAAAQeEAaw4TBggIAAECCAMECAgICAcICAgIBQgLIANBxuEgEPICIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEECaiEADAoLIANB0OEgEOMCIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEECaiEADAkLIANB2+EgEPICIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEECaiEADAgLIANB5eEgEPICIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEECaiEADAcLIANB7+EgENkNIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEECaiEADAYLIANB+OEgENkNIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEECaiEADAULIANBgeIgENIHIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEECaiEA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QQBIBH8gCCgCAEEAEJwBIAhBADYCBCAIBSAIQQAQnAEgAEEAOgAAIAgLIQAgCEEAENAEIAAgCikCADcCACAAIAooAgg2AghBACEAA0AgAEEDRwRAIAogAEECdGpBADYCACAAQQFqIQAMAQsLIAoQVCACIQEgBCACIAIoAgAoAgxB/wFxQQZqEQUAOgAAIAUgAiACKAIAKAIQQf8BcUEGahEFADoAACAKIAIgASgCACgCFEH/AHFBrAtqEQMAIAZBC2oiACwAAEEASAR/IAYoAgBBABCcASAGQQA2AgQgBgUgBkEAEJwBIABBADoAACAGCyEAIAZBABDQBCAAIAopAgA3AgAgACAKKAIINgIIQQAhAANAIABBA0cEQCAKIABBAnRqQQA2AgAgAEEBaiEADAELCyAKEFQgCiACIAEoAgAoAhhB/wBxQawLahEDACAHQQtqIgAsAABBAEgEfyAHKAIAQQAQnAEgB0EANgIEIAcFIAdBABCcASAAQQA6AAAgBwshACAHQQAQ0AQgACAKKQIANwIAIAAgCigCCDYCCEEAIQADQCAAQQNHBEAgCiAAQQJ0akEANgIAIABBAWohAAwBCwsgChBUIAkgAiACKAIAKAIkQf8BcUEGahEFACIANgIAIAokBgv3JAElfyMGIREjBkGABGokBiARQfQDaiEeIBFB2ANqISYgEUHUA2ohJyARQbwDaiEPIBFBsANqIRIgEUGkA2ohEyARQZgDaiEUIBFBlANqIRUgEUGQA2ohISARQfADaiIfIAo2AgAgEUHoA2oiGCARIgo2AgAgGEGTAzYCBCAKQeADaiIaIAo2AgAgCkHcA2oiICAKQZADajYCACAKQcgDaiIZQgA3AgAgGUEANgIIA0AgC0EDRwRAIBkgC0ECdGpBADYCACALQQFqIQsMAQsLIA9CADcCACAPQQA2AghBACELA0AgC0EDRwRAIA8gC0ECdGpBADYCACALQQFqIQsMAQsLIBJCADcCACASQQA2AghBACELA0AgC0EDRwRAIBIgC0ECdGpBADYCACALQQFqIQsMAQsLIBNCADcCACATQQA2AghBACELA0AgC0EDRwRAIBMgC0ECdGpBADYCACALQQFqIQsMAQsLIBRCADcCACAUQQA2AghBACELA0AgC0EDRwRAIBQgC0ECdGpBADYCACALQQFqIQsMAQsL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AAU6AAUgAiAGLAAAOgAGIABB95YfIAJBBxCJAyACJAYPCwsLCyAAQdGWHxBqIAIkBgveAQECfwJAAkACQCAALAAIDgUAAgICAQILIAAoAgQhAkEAIQADQCAAIAJHBEAgASABLAAAQX9zOgAAIAFBAWohASAAQQFqIQAMAQsLDwsgACwACUEIRgRAIAAoAgQhAkEAIQADQCAAIAJJBEAgASABLAAAQX9zOgAAIABBAmohACABQQJqIQEMAQsLDwsgACwACUEQRwRADwsgACgCBCECQQAhAANAIAAgAkkEQCABIAEsAABBf3M6AAAgAUEBaiIDIAMsAABBf3M6AAAgAEEEaiEAIAFBBGohAQwBCwsLC5sDAQN/IAAsAAgiAkECcUUEQA8LIAAoAgAhBAJAAkACQCAALAAJQQhrDgkAAgICAgICAgECCwJAAkACQCACQQJrDgUAAgICAQILQQAhAANAIAAgBEcEQCABLAAAIQIgASABQQJqIgMsAAA6AAAgAyACOgAAIAFBA2ohASAAQQFqIQAMAQsLDwtBACEAA0AgACAERwRAIAEsAAAhAiABIAFBAmoiAywAADoAACADIAI6AAAgAUEEaiEBIABBAWohAAwBCwsPCw8LAkACQAJAIAJBAmsOBQACAgIBAgtBACEAA0AgACAERwRAIAEsAAAhAiABIAFBBGoiAywAADoAACADIAI6AAAgAUEBaiICLAAAIQMgAiABQQVqIgIsAAA6AAAgAiADOgAAIABBAWohACABQQZqIQEMAQsLDwtBACEAA0AgACAERwRAIAEsAAAhAiABIAFBBGoiAywAADoAACADIAI6AAAgAUEBaiICLAAAIQMgAiABQQVqIgIsAAA6AAAgAiADOgAAIABBAWohACABQQhqIQEMAQsLCwsLWQEDfyAALAAJQRBHBEAPCyAAKAIAIAAtAApsIQJBACEAA0AgACACRwRAIAEsAAAhAyABIAFBAWoiBCwAADoAACAEIAM6AAAgAEEBaiEAIAFBAmohAQwBCwsLeAEBfyAALAAJIgJB/wFxQQhOBEAPCyABIAAoAgRqIQACQAJAAkACQAJAIAJBAWsOBAABAwIDC0HA+BEhAgwDC0HA+hEhAgwCC0HA/BEhAgwBCw8LA0AgASAASQRAIAEgAiABLQAAaiwAADoAACABQQFqIQEMAQsLC5IH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ABDbCCAJIAooAgAiBRCRARCOAwRAIAssAABFDQIgDCAFENIuRQ0FCwsMAQsLDAILIABBADYCMCAAQQA2AjRBACEFDAELIABB1ABqIQcgBRCpGCECAn8gAEHYAGoiCygCACIERSIMBH9BAAUgBEF/aiIJIARxRSINBH8gCSACcQUgAiAESQR/IAIFIAIgBBCHAQsLIQEgBygCACABQQJ0aigCACIDBH8DQCABIAMoAgAiA0UNAxogAygCBCIGIAJHBEAgDQRAIAYgCXEhBgUgBiAETwRAIAYgBBCHASEGCwsgASAGIAFHDQQaCyADKAIIIAVHDQAMBAALAAUgAQsLCyEDIAggByACIAoQmQUCQCAMIAAqAmQiDiAEs5QgAEHgAGoiBSgCAEEBarMiD11yBEAgByAPIA6VjRChBCIBIARBAXQgBEEDSSAEQX9qIARxQQBHcnIiAyADIAFJGxCYBSALKAIAIgFBf2oiAyABcUUEQCADIAJxIQMMAgsgAiABSQR/IAIFIAIgARCHAQshAwUgBCEBCwsgBygCACADQQJ0aigCACICBEAgCCgCACIAIAIoAgA2AgAgAiAANgIABSAIKAIAIgIgAEHcAGoiACgCADYCACAAIAI2AgAgBygCACADQQJ0aiAANgIAIAIoAgAiAARAIAAoAgQhACABQX9qIgMgAXEEQCAAIAFPBEAgACABEIcBIQALBSAAIANxIQALIAcoAgAgAEECdGogAjYCAAsLIAUgBSgCAEEBajYCACAIQQA2AgAgCigCACEFCyAIJAYgBQtaAQF/IAEoAgAhAiAAKAIAEJEBIgEuAQAgAhCRASICLgEAayIARQRAIAEuAQQgAi4BBGsiAEUEQCABLgECIAIuAQJrIgBFBEAgAS4BBiACLgEGayEACwsLIAALjwIBCH8jBiECIwZBEGokBgJAIABBBGoiAygCAEEASgRAIABBDGoiBCgCAARAIABBCGohBQNAIAEgACgCAE4NAyAEKAIAIgYoAgAoAgghByACIAUoAgAgAUEEdGoiCCkDADcDACACIAgpAwg3AwggBiACIAdB/wBxQawLahEDACABQQFqIQEMAAALAAsLCyAAQQhqIgEoAgAiBARAIAQQTAsgAUEANgIAIABBADYCACADQQA2AgAgAEEMaiIDKAIAIgEEQCABIAEoAgAoAgRB/wNx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AgAMBAsLQQwQTyIBEPYYIAAgAhBNIAE2AgAMAQsMAQsgAyAAIAIQTSgCABCgAQsgAkEBaiECDAELCyADJAYLlwIBBH9BrAEQ7AIiAUEBOgACIAFBADsBACABQQA6AAMgAUEEaiECA0AgAEEBRwRAQYASEOwCIgNBAEGAEhCMARogAiAAQQJ0aiADNgIAIABBAWohAAwBCwsgAUHAABDsAiIANgIkIABCADcAACAAQgA3AAggAEIANwAQIABCADcAGCAAQgA3ACAgAEIANwAoIABCADcAMCAAQgA3ADggAUEoaiIAQgA3AgAgAEIANwIIIABCADcCECAAQgA3AhggAEIANwIgIABCADcCKCAAQgA3AjAgAEIANwI4IABBQGtCADcCACAAQgA3AkggAEIANwJQIABCADcCWCAAQgA3AmAgAEIANwJoIABCADcCcCAAQgA3AnggAQsZACAAIAEgACgCACgCFEH/AXFBkAJqEQEAC0UBA39BhKAIEOwCIgFBADYCACABQQA2AgQgAUEIaiECA0AgAEH//wFHBEAgAiAAQQJ0akEANgIAIABBAWohAAwBCwsgAQtYAQN/IABBADYCAEGUARBPIgFBBDYCACABQZQBaiECIAFBBGoiAyEBA0AgARD8GCABQSRqIgEgAkcNAAsgACADNgIIIABBBDYCBCAAQQA2AgwgAEEANgIQCxgAIABCADcCACAAQgA3AgggAEEQahCqAQv4AQEFfyABQQFIIABBBGoiBigCACABTnJFBEBBfyABQQQgAUEEShsiA0EkbCIBQQRqIANBx+PxOEsgAUF7S3IbEE8iASADNgIAIAFBBGohBCADBEAgBCADQSRsaiECIAQhAQNAIAEQ/BggAUEkaiIBIAJHDQALCyAAQQhqIQVBACEBA0AgBSgCACECIAEgACgCAEgEQCAEIAFBJGxqIAIgAUEkbGoQ/hgaIAFBAWohAQwBCwsgAgRAIAJBfGoiASgCACIABEAgAiAAQSRsaiEAA0AgAEFcaiIAEKoHIAAgAkcNAAsLIAEQTAsgBSAENgIAIAYgAzYCAAsLOQEBfyAAIAEpAgA3AgAgACABKQIINwIIIAFBEGoiAiAAQRBqIgFHBEAgARDJECABIAIQixkaCyAACxAAIABBADYCACAAQQA2AggLxwEBB38gAUEBSCAAQQRqIgUoAgAg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NgIAIABBnN8IaiECIAFFIQNBACEAA0AgACACKAIASARAIAIgABBNKAIAIAMEf0EABSABEN0BCxCbGyAAQQFqIQAMAQsLC5wBACAAIAEpAgA3AgAgACABKQIINwIIIAAgASkCEDcCECAAIAEpAhg3AhggACABKQIgNwIgIAAgASkCKDcCKCAAIAEpAjA3AjAgACABKQI4NwI4IABBQGsgAUFAaykCADcCACAAIAEpAkg3AkggACABKQJQNwJQIAAgASkCWDcCWCAAQeAAaiABQeAAahCYAhogACABKAJkNgJkIAALUwEBfyAAKAIAIgIgACgCBEYEQCAAKAIEIgIEQCAAIAJBAXQQpxEFIABBBBCnEQsgACgCACECCyAAIAJBAWo2AgAgACgCCCACQegAbGogARCcGxoLRQECfyAAIAEoAgAgACgCAGoQpxEgAUEIaiEDA0AgAiABKAIASARAIAAgAygCACACQegAbGoQ6DMgAkEBaiECDAELCyAAC5YBAQN/IABBADYCACABQQFIBEAgAEEANgIIBUF/IAFBBCABQQRKGyICQegAbCIBQQRqIAJB4s7YE0sgAUF7S3IbEE8iASACNgIAIAFBBGohAyACBEAgAyACQegAbGohBCADIQEDQCABEKYRIAFB6ABqIgEgBEcNAAsLIAAgAzYCCAsgACACNgIEIABBADYCDCAAQQA2AhALCwAgABDqMyAAEGgLZwEEfyAAIAAoAgAoAghB/wFxQQZqEQUAIQIgAEEEaiEDIABBCGohBEEAIQADQCAAIAJIBEAgAygCACAAQQJ0aigCACIBRSABIAQoAgBGckUEQCABEJ8GIAEQTAsgAEEBaiEADAELCwuBAQEBfyAAQSRqEOszIABBADYCRCAAQdwAaiIBKAIAEJoNRQRAIAFBADYCAAsgAEHgAGpB09X5ABDgARogAEEAOgBoIABBgKCNvgQ2AmwgAEHwAGoQaCAAQYQBahBoIABBADoAmAEgAEGcAWoiASgCABBMIAFBADYCACAAQQA2AqABCz8BAX8gAEGUAWoiACgCACIBBEAgARChGyAAKAIAIgEEQCABIAEoAgAoAgRB/wNxQaIHahEAAAsgAEEANgIACwtTAQJ/IABBBGohASAALACQAgRAIAEoAgAiAgRAIAIQuQcgAhBMCwsgAUEANgIAIABBpAFqIgIo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AEGsAmoQ/AUgAEEAOgCQAwsVAQF/QR8gAGdrIgFBASABdCAAR2oLRwECfyAAQQA2AgAgAEEANgIEIABBADYCCCABQQRqIgIoAgAgASgCAGsiAwRAIAAgA0ECdRDBCiAAIAEoAgAgAigCABDHEQsLOgAgACABKQIANwIAIAAgASkCCDcCCCAAIAEpAhA3AhAgAEEYaiABQRhqEL8bIABBJGogAUEkahC/GwtGAQF/IAAQxhEgACABKAIANgIAIAAgAUEEaiICKAIANgIEIAAgAUEIaiIAKAIANgIIIABBADYCACACQQA2AgAgAUEANgIACxQAIAAEfyAAKAIIIAEQrg0FIAELCz0BAX8gACABNgIIQQEhAgNAIAJBA0cEQCAAQQhqIAJBAnRqIAAgAhC3BTYCACACQQFqIQIMAQsLIAAQzRELNgECfwNAIAMgAEgEQCACIANBA3RqIgQgASADQQN0aisDACAEKwMAoDkDACADQQFqIQMMAQsLC7QBAQR/IABBBGohAkECIQECQAJAA0ACQCABQX9MBEBBACEADAELIABBCGogAUECdGoiAygCACIEQQBKDQIgAyAAIAEQtwUiAzYCACACIAIoAgAgACgCAEEMaiABQQJ0aigCACADbGo2AgAgAUF/aiEBDAELCwwBCyADIARBf2o2AgAgAQRAIAIgAigCACAAKAIAQQxqIAFBAnRqKAIAazYCAAUgACAAKAIIEMMbC0EBIQALIAALDgAgACAAQQAQtwUQwxsLCgAgACwAGBCJAQuiAQECfyAAQaihFjYCACAAQfgIaigCACIBBEAgASABKAIAKAIEQf8DcUGiB2oRAAALIABB0A5qEMwHIABB3ApqIQIgAEHQDmohAQNAIAFBnH9qIgEQvQUgASACRw0ACyAAQcQKahD2CCAAQeAJahC9BSAAQfwIahC9BSAAQUBrIQIgAEH4CGohAQNAIAFBqH5qIgEQyRsgASACRw0ACyAAEMcHC18BAn8gAEHQAWoiAigCACEBIAJBADYCACABBEAgARDIESABEEwLIABBsAFqEPgEIABBkAFqEPgEIABB8ABqEPgEIABB3ABqELwFIABBOGoQ+AQgAEEgahD2CCAAEPgEC5ABAgJ/AnwgA0EBcSEHIABBADoAWCAAIAEgAkQAAAAAAAAAABDDBwJAIAUEQCAEuyEIQQAh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EKwBGiAAIAEgAigCACAAKAIcEN8cQQAhAANAIAAgAigCACIDKAIASARAIAEgAkEMaiAAQQJ0aigCACADQQhqIABBAnRqKAIALQADEN0cIABBAWohAAwBCwsLXQEBfwJ/IAEEQCAAQRxqIQACQAJAA0AgAiAAKAIATg0CIAAgAhCiAigCBCABRg0BIAJBAWohAgwAAAsACyAAIAIQogJBCGoiASABKAIAQX9qNgIAQQEMAgsLQQALCwcAIAAoAigLvAIBCH8jBiEDIwZBEGokBgJAIABBBGoiBigCAEEASgRAIABBDGoiAigCAARAIABBCGohBANAIAEgACgCAE4NAyACKAIAIgUoAgAoAgghByADIAQoAgAgAUEMbGoiCBDJASADIAgpAgQ3AgQgBSADIAdB/wBxQawLahEDACADEFggAUEBaiEBDAAACwALCwsgAEEIaiIEKAIAIgIEQCACQXxqIgUoAgAiAQRAIAIgAUEMbGohAQNAIAFBdGoiARBYIAEgAkcNAAsLIAUQTAsgBEEANgIAIABBADYCACAGQQA2AgAgAEEMaiICKAIAIgEEQCABIAEoAgAoAgRB/wNxQaIHahEAAAsgAkEANgIAIABBEGoiASgCACIABEAgACAAKAIAKAIEQf8DcUGiB2oRAAALIAFBADYCACADJAYLuwEBB38jBiEDIwZBEGokBiAAQRxqIQEDQCACIAEoAgBIBEACfyABIAIQogIoAghBAEohByABIAIQogIoAgQhBCAHCwRAIAEgAhCiAigCCCEFIAEgAhCiAhBdIQYgAyAANgIAIAMgBDYCBCADIAU2AgggAyAGNgIMQZfIFyADEEsFIAQEQCAEIAQoAgAoAgRB/wNxQaIHahEAAAsgASACEKICQQA2AgQLIAJBAWohAgwBCwsgARDqHCADJAYLBwAgACgCJAtGAQN/IAAoAgAiAgRAIAJBfGoiAygCACIBBEAgAiABQQN0aiEBA0AgAUF4aiIBEMoNIAEgAkcNAAsLIAMQTAsgAEEANgIAC1kBBH8gAEEIaiEDA0AgASADKAIASARAIAAoAgAgAUHwAGxqQewAaiICKAIAIgQEQCAEEEwgACgCACABQfAAbGpB7ABqIQILIAJBADYCACABQQFqIQEMAQsLCzoBAn8gAARAIABBfGoiAigCACIBBEAgACABQQN0aiEB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+QAQrAIQvwJB5KH5AEEANgIAQeCh+QBBvM4WNgIAQeCh+QBBsNT5ABCsAhC/AgtOAQJ/IAIgAWshBSABIQADQCAAIAJHBEAgBCAAKAIAIgZB/wFxIAMgBkGAAUkbOgAAIARBAWohBCAAQQRqIQAMAQsLIAEgBUECdkECdGoLEQAgAUH/AXEgAiABQYABSRsLKQADQCABIAJHBEAgAyABLAAANgIAIANBBGohAyABQQFqIQEMAQsLIAILCgAgAUEYdEEYdQs8AANAIAEgAkcEQCABKAIAIgBBgAFJBEAgAEECdEHA4BVqKAIAIQALIAEgADYCACABQQRqIQEMAQsLIAILGwAgAUGAAUkEfyABQQJ0QcDgFWooAgAFIAELCzwAA0AgASACRwRAIAEoAgAiAEGAAUkEQCAAQQJ0QcDsFWooAgAhAAsgASAANgIAIAFBBGohAQwBCwsgAgsbACABQYABSQR/IAFBAnRBwOwVaigCAAUgAQsLRgADQAJAIAIgA0YEQCADIQIMAQsgAigCACIAQYABTw0AIABBAXRBwNgVai4BACABcUH//wNxBEAgAkEEaiECDAILCwsgAgtGAANAAkAgAiADRgRAIAMhAgwBCyACKAIAIgBBgAFJBEAgAEEBdEHA2BVqLgEAIAFxQf//A3ENAQsgAkEEaiECDAELCyACC0QAA0AgASACRwRAIAMgASgCACIAQYABSQR/IABBAXRBwNgVai8BAAVBAAsiADsBACADQQJqIQMgAUEEaiEBDAELCyACCyYAIAJBgAFJBH8gAkEBdEHA2BVqLgEAIAFxQf//A3FBAEcFQQALCyAAIABCADcCACAAQQA2AgggAEH80BZB/NAWEOMGENYHCyAAIABCADcCACAAQQA2AgggAEGU0RZBlNEWEOMGENYHCwwAIAAgAUEQahDDEgsLACAAEMYSIAAQTAsfACAAQgA3AgAgAEEANgIIIABBgN8gQYDfIBBjEMoCCx8AIABCADcCACAAQQA2AgggAEGG3yBBht8gEGMQygILDAAgACABQQxqEMMSCwcAIAAsAAkLBwAgACwACAsLACAAEMcSIAAQTAszAANAIAEgAkcEQCAEIAEsAAAiACADIABBf0obOgAAIARBAWohBCABQQFqIQEMAQsLIAILEgAgASACIAFBGHRBGHVBf0obCykAA0AgASACRwRAIAMgASwAADoAACADQQFqIQMgAUEBaiEBDAELCyACCwQAIAELPwADQCABIAJHBEAgASwAACIAQX9KBEAgAEECdEHA4BVqKAIAQf8BcSEACyABIAA6AAAgAUEBaiEBDAELCyACCyoAIAFBGHRBGHVBf0oEfyABQRh0QRh1QQJ0QcDgFWooAgBB/wFxBSABCws/AANAIAEgAkcEQCABLAAAIgBBf0oEQCAAQQJ0QcDsFWooAgBB/wFxIQALIAEgADoAACABQQFqIQEMAQsLIAILKAAgAUEYdEEYdUF/SgR/IAFB/wFxQQJ0QcDsFWooAgBB/wFxBSABCwsLACAAEMkSIAAQTAstAQF/IAAoAgAiAQRAIAAgATYCBCABIABBEGpGBEAgAEEAOgCAAQUgARBMCwsLCwAgABDLEiAAEEwL7QUBAn8gAiAANgIAIAUgAzYCACACKAIAIQADQAJAIAAgAU8EQEEAIQAMAQsgAC4BACIGQf//A3EhAwJAIAZB//8DcUGAAUgEQCAEIAUoAgAiAGtBAUgEQEEBIQAMAwsgBSAAQQFqNgIAIAAgBjoAAAUgBkH//wNxQYAQSARAIAQgBSgCACIAa0ECSARAQQEhAAwECyAFIABBAWo2AgAgACADQQZ2QcABcjoAACAFIAUoAgAiAEEBajYCACAAIANBP3FBgAFyOgAADAILIAZB//8DcUGAsANIBEAgBCAFKAIAIgBrQQNIBEBBASEADAQLIAUgAEEBajYCACAAIANBDHZB4AFyOgAAIAUgBSgCACIAQQFqNgIAIAAgA0EGdkE/cUGAAXI6AAAgBSAFKAIAIgBBAWo2AgAgACADQT9xQYABcjoAAAwCCyAGQf//A3FBgLgDTgRAIAZB//8DcUGAwANIBEBBAiEADAQLIAQgBSgCACIAa0EDSARAQQEhAAwECyAFIABBAWo2AgAgACADQQx2QeABcjoAACAFIAUoAgAiAEEBajYCACAAIANBBnZBP3FBgAFyOgAAIAUgBSgCACIAQQFqNgIAIAAgA0E/cUGAAXI6AAAMAgsgASAAa0EESARAQQEhAAwDCyAAQQJqIgYvAQAiAEGA+ANxQYC4A0cEQEECIQAMAwsgBCAFKAIAa0EESARAQQEhAAwDCyADQcAHcSIHQQp0QYCABGpB///DAEsEQEECIQAMAwsgAiAGNgIAIAUgBSgCACIGQQFqNgIAIAYgB0EGdkEBaiIGQQJ2QfABcjoAACAFIAUoAgAiB0EBajYCACAHIANBAnZBD3EgBkEEdEEwcXJBgAFyOgAAIAUgBSgCACIGQQFqNgIAIAYgA0EEdEEwcSAAQQZ2QQ9xckGAAXI6AAAgBSAFKAIAIgNBAWo2AgAgAyAAQT9xQYABcjoAAAsLIAIgAigCAEECaiIANgIADAELCyAAC4MGAQd/IAIgADYCACAFIAM2AgADQAJAIAIoAgAiACABTwRAQQAhAAwBCyADIARPBEBBASEADAELIAAsAAAiBkH/AXEhCQJ/IAZBf0oEfyADIAZB/wFxOwEAIABBAWoFIAZB/wFxQcIBSARAQQIhAAwDCyAGQf8BcUHgAUgEQCABIABrQQJIBEBBASEADAQLIAAtAAEiBkHAAXFBgAFHBEBBAiEADAQLIAMgBkE/cSAJQQZ0QcAPcXI7AQAgAEECagwCCyAGQf8BcUHwAUgEQCABIABrQQNIBEBBASEADAQLIAAsAAEhBwJ/IAAtAAIhCwJAAkACQCAGQWBrIgYEQCAGQQ1GBEAMAgUMAwsACyAHQeABcUGgAUcEQEECIQAMCAsMAgsgB0HgAXFBgAFHBEBBAiEADAcLDAELIAdBwAFxQYABRwRAQQIhAAwGCwsgCyIGQcABcUGAAUcLBEBBAiEADAQLIAMgB0E/cUEGdCAJQQx0ciAGQT9xcjsBACAAQQNqDAILIAZB/wFxQfUBTgRAQQIhAAwDCyABIABrQQRIBEBBASEADAMLIAAsAAEhBwJ/IAAtAAIhDCAALQADIQoCQAJAAkACQCAGQXBrDgUAAgICAQILIAdB8ABqQRh0QRh1Qf8BcUEwTgRAQQIhAAwHCwwCCyAHQfABcUGAAUcEQEECIQAMBgsMAQsgB0HAAXFBgAFHBEBBAiEADAULCyAMIgBBwAFxQYABRwsEQEECIQAMAwsgCiIIQcABcUGAAUcEQEECIQAMAwsgBCADa0EESARAQQEhAAwDCyAHQf8BcSIGQQx0QYCADHEgCUEHcSIHQRJ0ckH//8MASwRAQQIhAAwDCyADIAZBAnRBPHEgAEEEdkEDcXIgBkEEdkEDcSAHQQJ0ckEGdEHA/wBqckGAsANyOwEAIAUgA0ECaiIDNgIAIAMgCEE/cSAAQQZ0QcAHcXJBgLgDcjsBACACKAIAQQRqCwshACACIAA2AgAgBSAFKAIAQQJqIgM2AgAMAQsLIAALjgQBB38gASEHQQAhASAAIQMDQAJAIAEgAkkgAyAHSXFFDQAgAywAACIEQf8BcSEJAn8gBEF/SgR/IANBAWoFIARB/wFxQcIBSA0CIARB/wFxQeABSARAIAcgA2tBAkgNAyADLAABQcABcUGAAUcNAyADQQJqDAILIARB/wFxQfABSARAIAcgA2tBA0gNAyADLAABIQUgAywAAiEGAkACQAJAIARBYGsiBARAIARBDUYEQAwCBQwDCwALIAVB4AFxQaABRiAGQcABcUGAAUZxRQ0GDAILIAVB4AFxQYABRiAGQcABcUGAAUZxRQ0FDAELIAVBwAFxQYABRiAGQcABcUGAAUZxRQ0ECyADQQNqDAILIARB/wFxQfUBTiACIAFrQQJJIAcgA2tBBEhycg0CIAMsAAEhBSADLAACIQYgAywAAyEIAkACQAJAAkAgBEFwaw4FAAICAgECCyAFQfAAakEYdEEYdUH/AXFBMEggBkHAAXFBgAFGcSAIQcABcUGAAUZxRQ0FDAILIAVB8AFxQYABRiAGQcABcUGAAUZxIAhBwAFxQYABRnFFDQQMAQsgBUHAAXFBgAFGIAZBwAFxQYABRnEgCEHAAXFBgAFGcUUNAwsgBUEwcUEMdCAJQRJ0QYCA8ABxckH//8MASw0CIAFBAWohASADQQRqCwshAyABQQFqIQEMAQsLIAMgAGsLCwAgAiADIAQQrR4LTQEBfyMGIQAjBkEQaiQGIABBBGoiASACNgIAIAAgBTYCACACIAMgASAFIAYgABCsHiEIIAQgASgCADYCACAHIAAoAgA2AgAgACQGIAgLTQEBfyMGIQAjBkEQaiQGIABBBGoiASACNgIAIAAgBTYCACACIAMgASAFIAYgABCrHiEIIAQgASgCADYCACAHIAAoAgA2AgAgACQGIAgLCwAgABDMEiAAEEwLLAEBfyAAKAIIIgAEQCAAEK0CIQEQrBMhACABBEAgARCtAhoLBUEBIQALIAALfgEEfyAAQQhqIQgDQAJAIAIgA0YgBSAET3INACAIKAIAEK0CIQZBACACIAMgAmsgAUHoxfkAIAEbEI8JIQAgBgRAIAYQrQIaCwJAAkACQCAAQX5rDgMAAAECCwwCC0EBIQALIAVBAWohBSAAIAdqIQcgAiAAaiECDAELCyAHC0YBAn8gAEEIaiIAKAIAEK0CIgEEQCABEK0CGgsgACgCACIARQRAQQEPCyAAEK0CIQAQrBMhAiAABEAgABCtAhoLIAJBAUYLmgEBAn8jBiEFIwZBEGokBiAEIAI2AgAgACgCCBCtAiEBIAUiAEEAEMoFIQIgAQRAIAEQrQIaCyACQQFqQQJJBH9BAgUgAkF/aiIBIAMgBCgCAGtLBH9BAQUDfyABBH8gACwAACECIAQgBCgCACIDQQFqNgIAIAMgAjoAACAAQQFqIQAgAUF/aiEBDAEFQQALCwsLIQYgBSQGIAYLjAQBBX8jBiEJIwZBEGokBiACIQgDQAJAIAggA0YEQCADIQgMAQsgCCwAAARAIAhBAWohCAwCCwsLIAcgBTYCACAEIAI2AgAgAEEIaiEKIAghAAJAAkACQAJAA0AgBSAGRiACIANGcg0DIAkgASkCADcDACAKKAIAEK0CIQsgBSAEIAAgAmsgBiAFa0ECdSABEIkgIQggCwRAIAsQrQIaCyAIQX9GDQEgByAHKAIAIAhBAnRqIgU2AgAgBSAGRg0CIAQoAgAhAiAAIANGBEAgAyEABSAKKAIAEK0CIQgCfyAFIAJBASABEI8JIQwgCARAIAgQrQIaCyAMCwRAQQIhAAwGCyAHIAcoAgBBBGo2AgAgBCAEKAIAQQFqIgI2AgAgAiEAA0ACQCAAIANGBEAgAyEADAELIAAsAAAEQCAAQQFqIQAMAgsLCyAHKAIAIQULDAAACwALAkACQAJAA0AgByAFNgIAIAIgBCgCAEYNAyAKKAIAEK0CIQYgBSACIAAgAmsgCRCPCSEBIAYEQCAGEK0CGgsCQAJAAkACQCABQX5rDgMBAAIDCwwECwwEC0EBIQELIAIgAWohAiAHKAIAQQRqIQUMAAALAAsgBCACNgIAQQIhAAwECyAEIAI2AgBBASEADAMLIAQgAjYCACACIANHIQAMAgsgBCgCACECCyACIANHIQALIAkkBiAAC5wEAQR/IwYhCSMGQRBqJAYgCSEKIAIhAQNAAkAgASADRgRAIAMhAQwBCyABKAIABEAgAUEEaiEBDAILCwsgByAFNgIAIAQgAjYCACAAQQhqIQggASEAAkACQAJAAkADQAJAIAUgBkYgAiADRnINBCAIKAIAEK0CIQEgBSAEIAAgAmtBAnUgBiAFaxCIICELIAEEQCABEK0CGgsCQAJAAkAgC0F/aw4CAAECCwwEC0EBIQAMAQsgByAHKAIAIAtqIgU2AgAgBSAGRg0DIAAgA0YEQCADIQAgBCgCACECBSAIKAIAEK0CIQEgCkEAEMoFIQAgAQRAIAEQrQIaCyAAQX9GBEBBAiEADAcLIAAgBiAHKAIAa0sEQEEBIQAMBwsgCiEBA0AgAARAIAEsAAAhAiAHIAcoAgAiBUEBajYCACAFIAI6AAAgAUEBaiEBIABBf2ohAAwBCwsgBCAEKAIAQQRqIgI2AgAgAiEAA0ACQCAAIANGBEAgAyEADAELIAAoAgAEQCAAQQRqIQAMAgsLCyAHKAIAIQULDAELCwwDCyAHIAU2AgADQAJAIAIgBCgCAEYNACACKAIAIQEgCCgCABCtAiEAIAUgARDKBSEBIAAEQCAAEK0CGgsgAUF/Rg0AIAcgBygCACABaiIFNgIAIAJBBGohAgwBCwsgBCACNgIAQQIhAAwCCyAEKAIAIQILIAIgA0chAAsgCSQGIAALEwEBfyADIAJrIgUgBCAFIARJGwusAwEBfyACIAA2AgAgBSADNgIAIAIoAgAhAANAAkAgACABTwRAQQAhAAwBCyAAKAIAIgBB///DAEsgAEGAcHFBgLADRnIEQEECIQAMAQsCQCAAQYABSQRAIAQgBSgCACIDa0EBSARAQQEhAAwDCyAFIANBAWo2AgAgAyAAOgAABSAAQYAQSQRAIAQgBSgCACIDa0ECSARAQQEhAAwECyAFIANBAWo2AgAgAyAAQQZ2QcABcjoAACAFIAUoAgAiA0EBajYCACADIABBP3FBgAFyOgAADAILIAQgBSgCACIDayEGIABBgIAESQRAIAZBA0gEQEEBIQAMBAsgBSADQQFqNgIAIAMgAEEMdkHgAXI6AAAFIAZBBEgEQEEBIQAMBAsgBSADQQFqNgIAIAMgAEESdkHwAXI6AAAgBSAFKAIAIgNBAWo2AgAgAyAAQQx2QT9xQYABcjoAAAsgBSAFKAIAIgNBAWo2AgAgAyAAQQZ2QT9xQYABcjoAACAFIAUoAgAiA0EBajYCACADIABBP3FBgAFyOgAACwsgAiACKAIAQQRqIgA2AgAMAQsLIAALlgUBB38gAiAANgIAIAUgAzYCAANAAkAgAigCACIHIAFPBEBBACEADAELIAMgBE8EQEEBIQAMAQsgBywAACIGQf8BcSEAAn8gBkF/SgR/QQEFIAZB/wFxQcIBSARAQQIhAAwDCyAGQf8BcUHgAUgEQCABIAdrQQJIBEBBASEADAQLIActAAEiBkHAAXFBgAFHBEBBAiEADAQLIAZBP3EgAEEGdEHAD3FyIQBBAgwCCyAGQf8BcUHwAUgEQCABIAdrQQNIBEBBASEADAQLIAcsAAEhCAJ/IActAAIhCwJAAkACQCAGQWBrIgYEQCAGQQ1GBEAMAgUMAwsACyAIQeABcUGgAUcEQEECIQAMCAsMAgsgCEHgAXFBgAFHBEBBAiEADAcLDAELIAhBwAFxQYABRwRAQQIhAAwGCwsgCyIGQcABcUGAAUcLBEBBAiEADAQLIAhBP3FBBnQgAEEMdEGA4ANxciAGQT9xciEAQQMMAgsgBkH/AXFB9QFOBEBBAiEADAMLIAEgB2tBBEgEQEEBIQAMAwsgBywAASEIAn8gBy0AAiEMIActAAMhCgJAAkACQAJAIAZBcGsOBQACAgIBAgsgCEHwAGpBGHRBGHVB/wFxQTBOBEBBAiEADAcLDAILIAhB8AFxQYABRwRAQQIhAAwGCwwBCyAIQcABcUGAAUcEQEECIQAMBQsLIAwiBkHAAXFBgAFHCwRAQQIhAAwDCyAKIglBwAFxQYABRwRAQQIhAAwDCyAIQT9xQQx0IABBEnRBgIDwAHFyIAZBBnRBwB9xciAJQT9xciIAQf//wwBLBH9BAiEADAMFQQQLCwshBiADIAA2AgAgAiAHIAZqNgIAIAUgBSgCAEEEaiIDNgIADAELCyAAC/oDAQd/IAEhBiAAIQEDQAJAIAcgAkkgASAGSXFFDQAgASwAACIDQf8BcSEJAn8gA0F/SgR/IAFBAWoFIANB/wFxQcIBSA0CIANB/wFxQeABSARAIAYgAWtBAkgNAyABLAABQcABcUGAAUcNAyABQQJqDAILIANB/wFxQfABSARAIAYgAWtBA0gNAyABLAABIQQgASwAAiEFAkACQAJAIANBYGsiAwRAIANBDUYEQAwCBQwDCwALIARB4AFxQaABRiAFQcABcUGAAUZxRQ0GDAILIARB4AFxQYABRiAFQcABcUGAAUZxRQ0FDAELIARBwAFxQYABRiAFQcABcUGAAUZxRQ0ECyABQQNqDAILIANB/wFxQfUBTiAGIAFrQQRIcg0CIAEsAAEhBCABLAACIQUgASwAAyEIAkACQAJAAkAgA0Fwaw4FAAICAgECCyAEQfAAakEYdEEYdUH/AXFBMEggBUHAAXFBgAFGcSAIQcABcUGAAUZxRQ0FDAILIARB8AFxQYABRiAFQcABcUGAAUZxIAhBwAFxQYABRnFFDQQMAQsgBEHAAXFBgAFGIAVBwAFxQYABRnEgCEHAAXFBgAFGcUUNAwsgBEEwcUEMdCAJQRJ0QYCA8ABxckH//8MASw0CIAFBBGoLCyEBIAdBAWohBwwBCwsgASAAawsLACACIAMgBBC7HgtNAQF/IwYhACMGQRBqJAYgAEEEaiIBIAI2AgAgACAFNgIAIAIgAyABIAUgBiAAELoeIQggBCABKAIANgIAIAcgACgCADYCACAAJAYgCAtNAQF/IwYhACMGQRBqJAYgAEEEaiIBIAI2AgAgACAFNgIAIAIgAyABIAUgBiAAELkeIQggBCABKAIANgIAIAcgACgCADYCACAAJAYgCAvFBAEHfyMGIQMjBkGwAWokBiADQagBaiEMIAMhASADQaQBaiEKIANBoAFqIQYgA0GYAWohCCADQZABaiELIANBgAFqIgdCADcCACAHQQA2AghBACECA0AgAkEDRwRAIAcgAkECdGpBADYCACACQQFqIQIMAQsLIAhBADYCBCAIQdzOFjYCACAFKAIAIAUgBSwACyICQQBIIgkbIgQgBSgCBCACQf8BcSAJG0ECdGohBSABQSBqIQlBACECAkACQANAIAJBAkcgBCAFSXEEQCAGIAQ2AgAgCCAMIAQgBSAGIAEgCSAKIAgoAgAoAgxBD3FB7AZqERsAIgJBAkYgBigCACAERnINAiABIQQDQCAEIAooAgBJBEAgByAELAAAEIgGIARBAWohBAwBCwsgBigCACEEDAELCwwBCxAECyAHKAIAIAcgBywAC0EASBshBCAAQgA3AgAgAEEANgIIQQAhAgNAIAJBA0cEQCAAIAJBAnRqQQA2AgAgAkEBaiECDAELCyALQQA2AgQgC0GMzxY2AgAgBCAEEGNqIgUhCCABQYABaiEJQQAhAgJAAkACQANAIAJBAkcgBCAFSXFFDQIgBiAENgIAIAsgDCAEIARBIGogBSAIIARrQSBKGyAGIAEgCSAKIAsoAgAoAhBBD3FB7AZqERsAIgJBAkYgBigCACAERnINASABIQQDQCAEIAooAgBJBEAgACAEKAIAEPwKIARBBGohBAwBCwsgBigCACEEDAAACwALEAQMAQsgBxBUIAMkBgsL+QEAIwYhASMGQRBqJAYgAUIANwIAIAFBADYCCEEAIQIDQCACQQNHBEAgASACQQJ0akEANgIAIAJBAWohAgwBCwsgBSgCACAFIAUsAAsiA0EASCIEGyICIAUoAgQgA0H/AXEgBBtqIQMDQCACIANJBEAgASACLAAAEIgGIAJBAWohAgwBCwsgASgCACABIAEsAAtBAEgbIQIgAEIANwIAIABBADYCCEEAIQMDQCADQQNHBEAgACADQQJ0akEANgIAIANBAWohAwwBCwsgAiACEGNqIQMDQCACIANJBEAgACACLAAAEIgGIAJBAWohAgwBCwsgARBUIAEkBgu6BQETfyMGIQYjBkHQA2okBiAGQcgDaiIQIAMQ6wEgECgCACILQajS+QAQygEhDSAFQQtqIgwsAAAiB0EASCEAIAVBBGoiDigCACAHQf8BcSAAGwR/IAUoAgAgBSAAGygCACANQS0gDSgCACgCLEH/AXFBkAJqEQEARgVBAAshESAGQcwDaiESIAZBxANqIRMgBkHAA2ohFCAGQagDaiEHIAZBnANqIQggBkGYA2ohCSAGQbQDaiIKQgA3AgAgCkEANgIIQQAhAANAIABBA0cEQCAKIABBAnRqQQA2AgAgAEEBaiEADAELCyAHQgA3AgAgB0EANgIIQQAhAANAIABBA0cEQCAHIABBAnRqQQA2AgAgAEEBaiEADAELCyAIQgA3AgAgCEEANgIIQQAhAANAIABBA0cEQCAIIABBAnRqQQA2AgAgAEEBaiEADAELCyACIBEgCyASIBMgFCAKIAcgCCAJENMSIAwsAAAiAEEASCELAn8gDigCACAAQf8BcSALGyIMIAkoAgAiCUoEfyAHKAIEIAcsAAsiAEH/AXEgAEEASBshAiAIKAIEIAgsAAsiAEH/AXEgAEEASBshFSAJQQFqIAwgCWtBAXRqBSAHKAIEIAcsAAsiAEH/AXEgAEEASBshAiAIKAIEIAgsAAsiAEH/AXEgAEEASBshFSAJQQJqCyEXIAYhACAXIBVqIAJqIgJB5ABLCwRAIAJBAnQQciIAIQIgAARAIAAhDyACIRYFEAQLBSAAIQ8LIA8gBkGUA2oiACAGQZADaiICIAMoAgQgBSgCACAFIAsbIgUgBSAMQQJ0aiANIBEgEiATKAIAIBQoAgAgCiAHIAggCRDSEiABKAIAIA8gACgCACACKAIAIAMgBBDGBSEYIBYEQCAWEEwLIAgQVCAHEFQgChBUIBAQ2wEgBiQGIBgLigYBFX8jBiEHIwZB4AdqJAYgB0GQB2ohCiAHQZADaiEJIAdB0AdqIgsgB0GgBmoiDTYCACAHQYgHaiIQIAU5AwAgDUHkAEGhyyAgEBCoASIAQeMASwRAEIMCIQAgCiAFOQMAIAsgAEGhyyAgChCCBSEKIAsoAgAiCUUEQBAECyAJIQAgCkECdBByIgshDSALBEAgCyERIAohDiANIRQgACEVIAkhBgUQBAsFIAkhESAAIQ4gDSEGCyAQIAMQ6wEgECgCACIAQajS+QAQygEiFiAGIAYgDmogESAWKAIAKAIwQT9xQZAFahEcABogDgR/IAYsAABBLUYFQQALIRcgB0HUB2ohCiAHQcwHaiELIAdByAdqIQ0gB0GwB2ohCCAHQaQHaiEMIAdBoAdqIQkgB0G8B2oiD0IANwIAIA9BADYCCEEAIQYDQCAGQQNHBEAgDyAGQQJ0akEANgIAIAZBAWohBgwBCwsgCEIANwIAIAhBADYCCEEAIQYDQCAGQQNHBEAgCCAGQQJ0akEANgIAIAZBAWohBgwBCwsgDEIANwIAIAxBADYCCEEAIQYDQCAGQQNHBEAgDCAGQQJ0akEANgIAIAZBAWohBgwBCwsgAiAXIAAgCiALIA0gDyAIIAwgCRDTEiAOIAkoAgAiEkoEfyAIKAIEIAgsAAsiAEH/AXEgAEEASBshBiASQQFqIA4gEmtBAXRqBSAIKAIEIAgsAAsiAEH/AXEgAEEASBshBiASQQJqCwJ/IAwoAgQgDCwACyIAQf8BcSAAQQBIGyEZIAchACAZC2ogBmoiAkHkAEsEQCACQQJ0EHIiAiEAIAIEQCACIRMgACEYBRAECwUgACETCyATIAdBnAdqIgIgB0GYB2oiACADKAIEIBEgESAOQQJ0aiAWIBcgCiALKAIAIA0oAgAgDyAIIAwgEhDSEiABKAIAIBMgAigCACAAKAIAIAMgBBDGBSEaIBgEQCAYEEwLIAwQVCAIEFQgDxBUIBAQ2wEgFARAIBQQTAsgFQRAIBUQTAsgByQGIBoLuAUBE38jBiEGIwZBoAFqJAYgBkGUAWoiECADEOsBIBAoAgAiC0GI0vkAEMoBIQ0gBUELaiIMLAAAIgdBAEghACAFQQRqIg4oAgAgB0H/AXEgABsEfyAFKAIAIAUgABstAAAgDUEtIA0oAgAoAhxB/wFxQZACahEBAEH/AXFGBUEACyERIAZBnAFqIRIgBkGZAWohEyAGQZgBaiEUIAZB/ABqIQcgBkHwAGohCCAGQewAaiEJIAZBiAFqIgpCADcCACAKQQA2AghBACEAA0AgAEEDRwRAIAogAEECdGpBADYCACAAQQFqIQAMAQsLIAdCADcCACAHQQA2AghBACEAA0AgAEEDRwRAIAcgAEECdGpBADYCACAAQQFqIQAMAQsLIAhCADcCACAIQQA2AghBACEAA0AgAEEDRwRAIAggAEECdGpBADYCACAAQQFqIQAMAQsLIAIgESALIBIgEyAUIAogByAIIAkQ1RIgDCwAACIAQQBIIQsCfyAOKAIAIABB/wFxIAsbIgwgCSgCACIJSgR/IAcoAgQgBywACyIAQf8BcSAAQQBIGyECIAgoAgQgCCwACyIAQf8BcSAAQQBIGyEVIAlBAWogDCAJa0EBdGoFIAcoAgQgBywACyIAQf8BcSAAQQBIGyECIAgoAgQgCCwACyIAQf8BcSAAQQBIGyEVIAlBAmoLIRcgBiEAIBcgFWogAmoiAkHkAEsLBEAgAhByIgAhAiAABEAgACEPIAIhFgUQBAsFIAAhDwsgDyAGQegAaiIAIAZB5ABqIgIgAygCBCAFKAIAIAUgCxsiBSAFIAxqIA0gESASIBMsAAAgFCwAACAKIAcgCCAJENQSIAEoAgAgDyAAKAIAIAIoAgAgAyAEEMcFIRggFgRAIBYQTAsgCBBUIAcQVCAKEFQgEBDbASAGJAYgGAuBBgEVfyMGIQcjBkGgA2okBiAHQdACaiEKIAdB8ABqIQkgB0GIA2oiCyAHQeABaiINNgIAIAdByAJqIhAgBTkDACANQeQAQaHLICAQEKgBIgBB4wBLBEAQgwIhACAKIAU5AwAgCyAAQaHLICAKEIIFIQogCygCACIJRQRAEAQLIAkhACAKEHIiCyENIAsEQCALIREgCiEOIA0hFCAAIRUgCSEGBRAECwUgCSERIAAhDiANIQYLIBAgAxDrASAQKAIAIgBBiNL5ABDKASIWIAYgBiAOaiARIBYoAgAoAiBBP3FBkAVqERwAGiAOBH8gBiwAAEEtRgVBAAshFyAHQZADaiEKIAdBjQNqIQsgB0GMA2ohDSAHQfACaiEIIAdB5AJqIQwgB0HgAmohCSAHQfwCaiIPQgA3AgAgD0EANgIIQQAhBgNAIAZBA0cEQCAPIAZBAnRqQQA2AgAgBkEBaiEGDAELCyAIQgA3AgAgCEEANgIIQQAhBgNAIAZBA0cEQCAIIAZBAnRqQQA2AgAgBkEBaiEGDAELCyAMQgA3AgAgDEEANgIIQQAhBgNAIAZBA0cEQCAMIAZBAnRqQQA2AgAgBkEBaiEGDAELCyACIBcgACAKIAsgDSAPIAggDCAJENUSIA4gCSgCACISSgR/IAgoAgQgCCwACyIAQf8BcSAAQQBIGyEGIBJBAWogDiASa0EBdGoFIAgoAgQgCCwACyIAQf8BcSAAQQBIGyEGIBJBAmoLAn8gDCgCBCAMLAALIgBB/wFxIABBAEgbIRkgByEAIBkLaiAGaiICQeQASwRAIAIQciICIQAgAgRAIAIhEyAAIRgFEAQLBSAAIRMLIBMgB0HcAmoiAiAHQdgCaiIAIAMoAgQgESARIA5qIBYgFyAKIAssAAAgDSwAACAPIAggDCASENQSIAEoAgAgEyACKAIAIAAoAgAgAyAEEMcFIRogGARAIBgQTAsgDBBUIAgQVCAPEFQgEBDbASAUBEAgFBBMCyAVBEAgFRBMCyAHJAYgGgvYBQEBfyMGIQojBkEQaiQGIAAEQCAKIAFBgNT5ABDKASIBIAEoAgAoAixB/wBxQawLahEDAAUgCiABQfjT+QAQygEiASABKAIAKAIsQf8AcUGsC2oRAwALIAIgCigCADYAACAKIAEgASgCACgCIEH/AHFBrAtqEQMAIAhBC2oiACwAAEEASARAIAgoAgBBABBQIAhBADYCBAUgCEEAEFAgAEEAOgAACyAIEIIJIAggCikCADcCACAIIAooAgg2AghBACEAA0AgAEEDRwRAIAogAEECdGpBADYCACAAQQFqIQAMAQsLIAoQVCAKIAEgASgCACgCHEH/AHFBrAtqEQMAIAdBC2oiACwAAEEASARAIAcoAgBBABBQIAdBADYCBAUgB0EAEFAgAEEAOgAACyAHEIIJIAcgCikCADcCACAHIAooAgg2AghBACEAA0AgAEEDRwRAIAogAEECdGpBADYCACAAQQFqIQAMAQsLIAoQVCADIAEgASgCACgCDEH/AXFBBmoRBQA2AgAgBCABIAEoAgAoAhBB/wFxQQZqEQUANgIAIAogASABKAIAKAIUQf8AcUGsC2oRAwAgBUELaiIALAAAQQBIBH8gBSgCAEEAEJwBIAVBADYCBCAFBSAFQQAQnAEgAEEAOgAAIAULIQAgBUEAENAEIAAgCikCADcCACAAIAooAgg2AghBACEAA0AgAEEDRwRAIAogAEECdGpBADYCACAAQQFqIQAMAQsLIAoQVCAKIAEgASgCACgCGEH/AHFBrAtqEQMAIAZBC2oiACwAAEEASARAIAYoAgBBABBQIAZBADYCBAUgBkEAEFAgAEEAOgAACyAGEIIJIAYgCikCADcCACAGIAooAgg2AghBACEAA0AgAEEDRwRAIAogAEECdGpBADYCACAAQQFqIQAMAQsLIAoQVCAJIAEgASgCACgCJEH/AXFBBmoRBQAiADYCACAKJAYL6AIBCH8jBiEDIwZBEGokBiAAQQhqIgZBA2oiCSwAACIEQQBIIgcEfyAGKAIAQf////8HcUF/aiEIIAAoAgQFQQEhCCAEQf8BcQshBSACIAFrIgZBAnUhCgJAIAYEQCAHBH8gACgCBCEHIAAoAgAFIARB/wFxIQcgAAsiBiABTSABIAYgB0ECdGpJcQRAIANCADcCACADQQA2AgggAyABIAIQ9hIgACADKAIAIAMgAywACyIBQQBIIgIbIAMoAgQgAUH/AXEgAhsQ9x0aIAMQVAwCCyAIIAVrIApJBEAgACAIIAUgCmogCGsgBSAFELoSIAksAAAhBAsgBEEYdEEYdUEASAR/IAAoAgAFIAALIAVBAnRqIQQDQCABIAJHBEAgBCABKAIAEFAgBEEEaiEEIAFBBGohAQwBCwsgBEEAEFAgBSAKaiEBIAksAABBAEgEQCAAIAE2AgQFIAkgAToAAAsLCyADJAYgAAt/AQF/IAAQVyAAQX82AgQgAEEANgIIIABBADYCDCAAQRBqEHkgAEEYaiIBQgA3AwAgAUIANwMIIAFBADYCECAARAAAAAAAAPA/OQNIIABEAAAAAAAAAAA5A1AgAEEANgJYIABB3ABqEKoBIABBADoAcCAAQQA6AHEgAEEAOgByC44EAQh/IwYhACMGQbADaiQGIABBmANqIgggADYCACAIQZMDNgIEIABBkANqIgsgBBDrASALKAIAIg1BqNL5ABDKASEHIABBoANqIglBADoAACABIAIoAgAiDCIKIAMgDSAEKAIEIAUgCSAHIAggAEGUA2oiAyAAQZADahDWEgRAIAZBC2oiBCwAAEEASARAIAYoAgBBABBQIAZBADYCBAUgBkEAEFAgBEEAOgAACyAJLAAABEAgBiAHQS0gBygCACgCLEH/AXFBkAJqEQEAEPwKCyAHQTAgBygCACgCLEH/AXFBkAJqEQEAIQQgAygCACIHQXxqIQkgCCgCACEDA0ACQCADIAlPDQAgAygCACAERw0AIANBBGohAwwBCwsgBiADIAcQxh4aCyABKAIAIgMEfyADKAIMIgQgAygCEEYEfyADIAMoAgAoAiRB/wFxQQZqEQUABSAEKAIACxBvBH8gAUEANgIAQQEFIAEoAgBFCwVBAQshAwJAAkACQCAMRQ0AIAooAgwiBCAKKAIQRgR/IAogDCgCACgCJEH/AXFBBmoRBQAFIAQoAgALEG8EQCACQQA2AgAMAQUgA0UNAgsMAgsgAw0ADAELIAUgBSgCAEECcjYCAAsgASgCACEOIAsQ2wEgCCgCACEBIAhBADYCACABBEAgASAIKAIEQf8DcUGiB2oRAAALIAAkBiAOC5AFAQ1/IwYhByMGQdAEaiQGIAdBsARqIQ4gB0HwAGohDCAHIQ8gB0HABGoiCSAHQaABaiIKNgIAIAlBkwM2AgQgB0G0BGoiECAEEOsBIBAoAgAiAEGo0vkAEMoBIQ0gB0HIBGoiC0EAOgAAIAEgAigCACADIAAgBCgCBCAFIAsgDSAJIAdBuARqIhEgCkGQA2oQ1hIEQCANQbfKIEHByiAgDCANKAIAKAIwQT9xQZAFahEcABogESgCACIKIAkoAgAiBGsiAEGIA0oEQCAAQQJ2QQJqEHIiAyEAIAMEQCADIQggACESBRAECwUgDyEICyALLAAABEAgCEEtOgAAIAhBAWohCAsgDEEoaiELIAwhAwNAIAQgCkkEQCAEKAIAIQogDCEAA0ACQCAAIAtGBEAgCyEADAELIAAoAgAgCkcEQCAAQQRqIQAMAgsLCyAIIAAgA2tBAnVBt8ogaiwAADoAACAEQQRqIQQgCEEBaiEIIBEoAgAhCgwBCwsgCEEAOgAAIA4gBjYCACAPQdTJICAOEJICQQFHBEAQBAsgEgRAIBIQTAsLIAEoAgAiAwR/IAMoAgwiACADKAIQRgR/IAMgAygCACgCJEH/AXFBBmoRBQAFIAAoAgALEG8EfyABQQA2AgBBAQUgASgCAEULBUEBCyEEAkACQAJAIAIoAgAiA0UNACADKAIMIgAgAygCEEYEfyADIAMoAgAoAiRB/wFxQQZqEQUABSAAKAIACxBvBEAgAkEANgIADAEFIARFDQILDAILIAQNAAwBCyAFIAUoAgBBAnI2AgALIAEoAgAhEyAQENsBIAkoAgAhASAJQQA2AgAgAQRAIAEgCSgCBEH/A3FBogdqEQAACyAHJAYgEwv2BQEBfyMGIQojBkEQaiQGIAAEQCAKIAFB8NP5ABDKASIBIAEoAgAoAixB/wBxQawLahEDAAUgCiABQejT+QAQygEiASABKAIAKAIsQf8AcUGsC2oRAwALIAIgCigCADYAACAKIAEgASgCACgCIEH/AHFBrAtqEQMAIAhBC2oiACwAAEEASAR/IAgoAgBBABCcASAIQQA2AgQgCAUgCEEAEJwBIABBADoAACAICyEAIAhBABDQBCAAIAopAgA3AgAgACAKKAIINgIIQQAhAANAIABBA0cEQCAKIABBAnRqQQA2AgAgAEEBaiEADAELCyAKEFQgCiABIAEoAgAoAhxB/wBxQawLahEDACAHQQtqIgAsAABBAEgEfyAHKAIAQQAQnAEgB0EANgIEIAcFIAdBABCcASAAQQA6AAAgBwshACAHQQAQ0AQgACAKKQIANwIAIAAgCigCCDYCCEEAIQADQCAAQQNHBEAgCiAAQQJ0akEANgIAIABBAWohAAwBCwsgChBUIAMgASABKAIAKAIMQf8BcUEGahEFADoAACAEIAEgASgCACgCEEH/AXFBBmoRBQA6AAAgCiABIAEoAgAoAhRB/wBxQawLahEDACAFQQtqIgAsAABBAEgEfyAFKAIAQQAQnAEgBUEANgIEIAUFIAVBABCcASAAQQA6AAAgBQshACAFQQAQ0AQgACAKKQIANwIAIAAgCigCCDYCCEEAIQADQCAAQQNHBEAgCiAAQQJ0akEANgIAIABBAWohAAwBCwsgChBUIAogASABKAIAKAIYQf8AcUGsC2oRAwAgBkELaiIALAAAQQBIBH8gBigCAEEAEJwBIAZBADYCBCAGBSAGQQAQnAEgAEEAOgAAIAYLIQAgBkEAENAEIAAgCikCADcCACAAIAooAgg2AghBACEAA0AgAEEDRwRAIAogAEECdGpBADYCACAAQQFqIQAMAQsLIAoQVCAJIAEgASgCACgCJEH/AXFBBmoRBQAiADYCACAKJAYL5QIBCH8jBiEDIwZBEGokBiAAQQtqIggsAAAiBkEASCIEBH8gACgCCEH/////B3FBf2ohByAAKAIEBUEKIQcgBkH/AXELIQUCQCACIAFrIgkEQCABIAQEfyAAKAIEIQogACgCAAUgBkH/AXEhCiAACyIEIAQgCmoQ8Q0EQCADQgA3AgAgA0EANgIIIAMgASACEPcSIAAgAygCACADIAMsAAsiAUEASCICGyADKAIEIAFB/wFxIAIbEL0SGiADEFQMAgsgByAFayAJSQRAIAAgByAFIAlqIAdrIAUgBRDvDSAILAAAIQYLIAIgBSABa2ohByAGQRh0QRh1QQBIBH8gACgCAAUgAAsiBiAFaiEEA0AgASACRwRAIAQgASwAABCcASAEQQFqIQQgAUEBaiEBDAELCyAGIAdqQQAQnAEgBSAJaiEBIAgsAABBAEgEQCAAIAE2AgQFIAggAToAAAsLCyADJAYgAAueBAEIfyMGIQAjBkGAAWokBiAAQfAAaiIIIAA2AgAgCEGTAzYCBCAAQeQAaiILIAQQ6wEgCygCACINQYjS+QAQygEhByAAQfgAaiIJQQA6AAAgASACKAIAIgwiCiADIA0gBCgCBCAFIAkgByAIIABB6ABqIgMgAEHkAGoQ2BIEQCAGQQtqIgQsAABBAEgEQCAGKAIAQQAQnAEgBkEANgIEBSAGQQAQnAEgBEEAOgAACyAJLAAABEAgBiAHQS0gBygCACgCHEH/AXFBkAJqEQEAEIgGCyAHQTAgBygCACgCHEH/AXFBkAJqEQEAIQQgAygCACIHQX9qIQkgCCgCACEDA0ACQCADIAlPDQAgAy0AACAEQf8BcUcNACADQQFqIQMMAQsLIAYgAyAHEMseGgsgASgCACIDBH8gAygCDCIEIAMoAhBGBH8gAyADKAIAKAIkQf8BcUEGahEFAAUgBCwAABCCAQsiAxBvBH8gAUEANgIAQQEFIAEoAgBFCwVBAQshAwJAAkACQCAMRQ0AIAooAgwiBCAKKAIQRgR/IAogDCgCACgCJEH/AXFBBmoRBQAFIAQsAAAQggELIgQQbwRAIAJBADYCAAwBBSADRQ0CCwwCCyADDQAMAQsgBSAFKAIAQQJyNgIACyABKAIAIQ4gCxDbASAIKAIAIQEgCEEANgIAIAEEQCABIAgoAgRB/wNxQaIHahEAAAsgACQGIA4LkAUBDX8jBiEHIwZBgAJqJAYgB0HYAWohDiAHQfABaiEMIAchDyAHQegBaiIJIAdB8ABqIgo2AgAgCUGTAzYCBCAHQdwBaiIQIAQQ6wEgECgCACIAQYjS+QAQygEhDSAHQfoBaiILQQA6AAAgASACKAIAIAMgACAEKAIEIAUgCyANIAkgB0HgAWoiESAKQeQAahDYEgRAIA1ByckgQdPJICAMIA0oAgAoAiBBP3FBkAVqERwAGiARKAIAIgogCSgCACIEayIAQeIASgRAIABBAmoQciIDIQAgAwRAIAMhCCAAIRIFEAQLBSAPIQgLIAssAAAEQCAIQS06AAAgCEEBaiEICyAMQQpqIQsgDCEDA0AgBCAKSQRAIAQsAAAhCiAMIQADQAJAIAAgC0YEQCALIQAMAQsgACwAACAKRwRAIABBAWohAAwCCwsLIAggACADa0HJySBqLAAAOgAAIARBAWohBCAIQQFqIQggESgCACEKDAELCyAIQQA6AAAgDiAGNgIAIA9B1MkgIA4QkgJBAUcEQBAECyASBEAgEhBMCwsgASgCACIDBH8gAygCDCIAIAMoAhBGBH8gAyADKAIAKAIkQf8BcUEGahEFAAUgACwAABCCAQsQbwR/IAFBADYCAEEBBSABKAIARQsFQQELIQQCQAJAAkAgAigCACIDRQ0AIAMoAgwiACADKAIQRgR/IAMgAygCACgCJEH/AXFBBmoRBQAFIAAsAAAQggELEG8EQCACQQA2AgAMAQUgBEUNAgsMAgsgBA0ADAELIAUgBSgCAEECcjYCAAsgASgCACETIBAQ2wEgCSgCACEBIAlBADYCACABBEAgASAJKAIEQf8DcUGiB2oRAAALIAckBiATC5UBAQJ/IwYhBiMGQYABaiQGIAZB9ABqIgcgBkHkAGo2AgAgACAGIAcgAyAEIAUQ3BIgBkHoAGoiA0IANwMAIAZB8ABqIgQgBjYCACACKAIAIAFrQQJ1IQUgACgCABCtAiEAIAEgBCAFIAMQjxMhAyAABEAgABCtAhoLIANBf0YEQBAEBSACIAEgA0ECdGo2AgAgBiQGCwu1AQAjBiECIwZBoANqJAYgAkGQA2oiAyACQZADajYCACAAQQhqIAIgAyAEIAUgBhDOHiADKAIAIQUgAiEDIAEoAgAhAANAIAMgBUcEQCADKAIAIQEgAAR/QQAgACAAQRhqIgYoAgAiBCAAKAIcRgR/IAAgASAAKAIAKAI0Qf8BcUGQAmoRAQAFIAYgBEEEajYCACAEIAE2AgAgAQsQbxsFQQALIQAgA0EEaiEDDAELCyACJAYgAAvBAQAjBiECIwZB8ABqJAYgAkHkAGoiAyACQeQAajYCACAAQQhqIAIgAyAEIAUgBhDcEiADKAIAIQUgAiEDIAEoAgAhAANAIAMgBUcEQCADLAAAIQEgAAR/QQAgACAAQRhqIgYoAgAiBCAAKAIcRgR/IAAoAgAoAjQhBCAAIAEQggEgBEH/AXFBkAJqEQEABSAGIARBAWo2AgAgBCABOgAAIAEQggELIgEQbxsFQQALIQAgA0EBaiEDDAELCyACJAYgAAv+AwECfyAAKAIAIgQEfyAEKAIMIgUgBCgCEEYEfyAEIAQoAgAoAiRB/wFxQQZqEQUABSAFKAIACxBvBH8gAEEANgIAQQEFIAAoAgBFCwVBAQshBAJAAkACQCABBEAgASgCDCIFIAEoAhBGBH8gASABKAIAKAIkQf8BcUEGahEFAAUgBSgCAAsQb0UEQCAEBEAgASEEDAQFDAMLAAsLIARFBEBBACEEDAILCyACIAIoAgBBBnI2AgAMAQsgAyAAKAIAIgEoAgwiBSABKAIQRgR/IAEgASgCACgCJEH/AXFBBmoRBQAFIAUoAgALQQAgAygCACgCNEH/AHFBkARqEQIAQf8BcUElRwRAIAIgAigCAEEEcjYCAAwBCwJ/AkAgACgCACIBQQxqIgMoAgAiBSABKAIQRgR/IAEgASgCACgCKEH/AXFBBmoRBQAaIAAoAgAiAQR/DAIFQQELBSADIAVBBGo2AgAMAQsMAQsgASgCDCIDIAEoAhBGBH8gASABKAIAKAIkQf8BcUEGahEFAAUgAygCAAsQbwR/IABBADYCAEEBBSAAKAIARQsLIQACQAJAIARFDQAgBCgCDCIBIAQoAhBGBH8gBCAEKAIAKAIkQf8BcUEGahEFAAUgASgCAAsQbw0AIAANAgwBCyAARQ0BCyACIAIoAgBBAnI2AgALCyoBAX8gASACIAMgBEEEEIAFIQUgAygCAEEEcUUEQCAAIAVBlHFqNgIACws1ACABIAIgAyAEQQEQgAUiAUEHSCADKAIAIgJBBHFFcQRAIAAgATYCAAUgAyACQQRyNgIACws1ACABIAIgAyAEQQIQgAUiAUE9SCADKAIAIgJBBHFFcQRAIAAgATYCAAUgAyACQQRyNgIACwu2AQECfwJAIABBCGoiACAAKAIAKAIIQf8BcUEGahEFACIALAALIgZBAEgEfyAAKAIEBSAGQf8BcQsiBkEAIAAsABciB0EASAR/IAAoAhAFIAdB/wFxCyIHa0YEQCAEIAQoAgBBBHI2AgAFIAIgAyAAIABBGGogBSAEQQAQhgsgAGshACABKAIAIgJBDEYgAEVxBEAgAUEANgIADAILIAJBDEggAEEMRnEEQCABIAJBDGo2AgALCwsL0wMBA38DQAJAIAAoAgAiBAR/IAQoAgwiBSAEKAIQRgR/IAQgBCgCACgCJEH/AXFBBmoRBQAFIAUoAgALEG8EfyAAQQA2AgBBAQUgACgCAEULBUEBCyEEAkACQCABRQ0AIAEoAgwiBSABKAIQRgR/IAEgASgCACgCJEH/AXFBBmoRBQAFIAUoAgALEG8NACAERQ0CDAELIAQEf0EAIQEMAgVBAAshAQsgA0GAwAAgACgCACIEKAIMIgUgBCgCEEYEfyAEIAQoAgAoAiRB/wFxQQZqEQUABSAFKAIACyADKAIAKAIMQf8AcUGQBGoRAgBFDQAgACgCACIEQQxqIgUoAgAiBiAEKAIQRgRAIAQgBCgCACgCKEH/AXFBBmoRBQAaBSAFIAZBBGo2AgALDAELCyAAKAIAIgMEfyADKAIMIgQgAygCEEYEfyADIAMoAgAoAiRB/wFxQQZqEQUABSAEKAIACxBvBH8gAEEANgIAQQEFIAAoAgBFCwVBAQshAAJAAkACQCABRQ0AIAEoAgwiAyABKAIQRgR/IAEgASgCACgCJEH/AXFBBmoRBQAFIAMoAgALEG8NACAARQ0BDAILIAANAAwBCyACIAIoAgBBAnI2AgALCzUAIAEgAiADIARBAhCABSIBQTxIIAMoAgAiAkEEcUVxBEAgACABNgIABSADIAJBBHI2AgALCzgAIAEgAiADIARBAhCABSIBQQ1IIAMoAgAiAkEEcUVxBEAgACABQX9qNgIABSADIAJBBHI2AgALCzYAIAEgAiADIARBAxCABSIBQe4CSCADKAIAIgJBBHFFcQRAIAAgATYCAAUgAyACQQRyNgIACws4ACABIAIgAyAEQQIQgAUiAUF/akEMSSADKAIAIgJBBHFFcQRAIAAgATYCAAUgAyACQQRyNgIACws1ACABIAIgAyAEQQIQgAUiAUEYSCADKAIAIgJBBHFFcQRAIAAgATYCAAUgAyACQQRyNgIACws4ACABIAIgAyAEQQIQgAUiAUF/akEfSSADKAIAIgJBBHFFcQRAIAAgATYCAAUgAyACQQRyNgIACwudAgECf0Gon/kALAAARQRAQaif+QAQvQIEQEGAg/kAIQADQCAAQgA3AgAgAEEANgIIQQAhAQNAIAFBA0cEQCAAIAFBAnRqQQA2AgAgAUEBaiEBDAELCyAAQQxqIgBBqIT5AEcNAAsLC0GAg/kAQcDIFhD7ARpBjIP5AEHcyBYQ+wEaQZiD+QBB+MgWEPsBGkGkg/kAQZjJFhD7ARpBsIP5AEHAyRYQ+wEaQbyD+QBB5MkWEPsBGkHIg/kAQYDKFhD7ARpB1IP5AEGkyhYQ+wEaQeCD+QBBtMoWEPsBGkHsg/kAQcTKFhD7ARpB+IP5AEHUyhYQ+wEaQYSE+QBB5MoWEPsBGkGQhPkAQfTKFhD7ARpBnIT5AEGEyxYQ+wEaC58DAQJ/QZif+QAsAABFBEBBmJ/5ABC9AgRAQeCA+QAhAANAIABCADcCACAAQQA2AghBACEBA0AgAUEDRwRAIAAgAUECdGpBADYCACABQQFqIQEMAQsLIABBDGoiAEGAg/kARw0ACwsLQeCA+QBBuMQWEPsBGkHsgPkAQdjEFhD7ARpB+ID5AEH8xBYQ+wEaQYSB+QBBlMUWEPsBGkGQgfkAQazFFhD7ARpBnIH5AEG8xRYQ+wEaQaiB+QBB0MUWEPsBGkG0gfkAQeTFFhD7ARpBwIH5AEGAxhYQ+wEaQcyB+QBBqMYWEPsBGkHYgfkAQcjGFhD7ARpB5IH5AEHsxhYQ+wEaQfCB+QBBkMcWEPsBGkH8gfkAQaDHFhD7ARpBiIL5AEGwxxYQ+wEaQZSC+QBBwMcWEPsBGkGggvkAQazFFhD7ARpBrIL5AEHQxxYQ+wEaQbiC+QBB4McWEPsBGkHEgvkAQfDHFhD7ARpB0IL5AEGAyBYQ+wEaQdyC+QBBkMgWEPsBGkHogvkAQaDIFhD7ARpB9IL5AEGwyBYQ+wEaC4EBAQJ/QYif+QAsAABFBEBBiJ/5ABC9AgRAQcD++AAhAANAIABCADcCACAAQQA2AghBACEBA0AgAUEDRwRAIAAgAUECdGpBADYCACABQQFqIQEMAQsLIABBDGoiAEHggPkARw0ACwsLQcD++ABBoMQWEPsBGkHM/vgAQazEFhD7ARoLRQBB4J75ACwAAEUEQEHgnvkAEL0CBEBBlNP5AEIANwIAQZzT+QBBADYCAEGU0/kAQdTCFkHUwhYQ4wYQ1gcLC0GU0/kAC0UAQeie+QAsAABFBEBB6J75ABC9AgRAQaDT+QBCADcCAEGo0/kAQQA2AgBBoNP5AEH4whZB+MIWEOMGENYHCwtBoNP5AAtFAEHwnvkALAAARQRAQfCe+QAQvQIEQEGs0/kAQgA3AgBBtNP5AEEANgIAQazT+QBBnMMWQZzDFhDjBhDWBwsLQazT+QALRQBB+J75ACwAAEUEQEH4nvkAEL0CBEBBuNP5AEIANwIAQcDT+QBBADYCAEG40/kAQczDFkHMwxYQ4wYQ1gcLC0G40/kACzEAQYCf+QAsAABFBEBBgJ/5ABC9AgRAEN8eQcTT+QBBwP74ADYCAAsLQcTT+QAoAgALMQBBkJ/5ACwAAEUEQEGQn/kAEL0CBEAQ3h5ByNP5AEHggPkANgIACwtByNP5ACgCAAsxAEGgn/kALAAARQRAQaCf+QAQvQIEQBDdHkHM0/kAQYCD+QA2AgALC0HM0/kAKAIAC4gCAQR/QfgAEE8iBBDHHiAEIAM2AhhBfyADQQJ0IANB/////wNLGxBPIQYgAwRAIAYgA0ECdGohByAGIQUDQCAFEIALIAVBBGoiBSAHRw0ACwsgBCAGNgIkIAQgACgCACIFNgIgIAYgAiADQQJ0EG0aIAQgAS4BAjYCPCAEQUBrIAEuAQY2AgAgBCABEG5BEHRBEHU2AkQgBCAALgEGQUBqt0QAAAAAAABwP6K2OAIsIAQgBbdEAAAAAAAAcD+iRAAAAAAAACRAo7Y4AjAgBCAALgEIt0QAAAAAAABwP6K2OAI0IAQgAC4BCrdEAAAAAAAAcD+itjgCOCAEQQA6AHAgBEEAOgBxIAQLhQgBBX8jBiEHIwZBEGokBiAHQQhqIQogB0EEaiELIARBADYCACAHQQxqIgkgAxDrASAJKAIAQajS+QAQygEhCCAJENsBAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAGQRh0QRh1QSVrDlUWFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXAAEXBBcFFwYHFxcXChcXFxcODxAXFxcTFRcXFxcXFxcAAQIDAxcXARcIFxcJCxcMFw0XCxcXERIUFwsgACAFQRhqIAEgAigCACAEIAgQ4RIMFwsgACAFQRBqIAEgAigCACAEIAgQ4BIMFgsgAEEIaiIGIAYoAgAoAgxB/wFxQQZqEQUAIgYsAAsiCUEASCEIIAEgACABKAIAIAIoAgAgAyAEIAUgBigCACAGIAgbIgAgACAGKAIEIAlB/wFxIAgbQQJ0ahDEBTYCAAwVCyAFQQxqIAEgAigCACAEIAgQ3B4MFAsgASAAIAEoAgAgAigCACADIAQgBUGA/RVBoP0VEMQFNgIADBMLIAEgACABKAIAIAIoAgAgAyAEIAVBoP0VQcD9FRDEBTYCAAwSCyAFQQhqIAEgAigCACAEIAgQ2x4MEQsgBUEIaiABIAIoAgAgBCAIENoeDBALIAVBHGogASACKAIAIAQgCBDZHgwPCyAFQRBqIAEgAigCACAEIAgQ2B4MDgsgBUEEaiABIAIoAgAgBCAIENceDA0LIAEgAigCACAEIAgQ1h4MDAsgACAFQQhqIAEgAigCACAEIAgQ1R4MCwsgASAAIAEoAgAgAigCACADIAQgBUHA/RVB7P0VEMQFNgIADAoLIAEgACABKAIAIAIoAgAgAyAEIAVB8P0VQYT+FRDEBTYCAAwJCyAFIAEgAigCACAEIAgQ1B4MCAsgASAAIAEoAgAgAigCACADIAQgBUGQ/hVBsP4VEMQFNgIADAcLIAVBGGogASACKAIAIAQgCBDTHgwGCyAAKAIAKAIUIQYgCyABKAIANgIAIAcgAigCADYCACAKIAsoAgA2AgAgCSAHKAIANgIAIAAgCiAJIAMgBCAFIAZBP3FBnAZqEQYADAYLIABBCGoiBiAGKAIAKAIYQf8BcUEGahEFACIGLAALIglBAEghCCABIAAgASgCACACKAIAIAMgBCAFIAYoAgAgBiAIGyIAIAAgBigCBCAJQf8BcSAIG0ECdGoQxAU2AgAMBAsgBUEUaiABIAIoAgAgBCAIEN8SDAMLIAVBFGogASACKAIAIAQgCBDSHgwCCyABIAIoAgAgBCAIENEeDAELIAQgBCgCAEEEcjYCAAsgASgCAAshDCAHJAYgDAtKAQF/IwYhACMGQRBqJAYgACADEOsBIAAoAgBBqNL5ABDKASEDIAAQ2wEgBUEUaiABIAIoAgAgBCADEN8SIAEoAgAhBiAAJAYgBgtMAQJ/IwYhBiMGQRBqJAYgBiADEOsBIAYoAgBBqNL5ABDKASEDIAYQ2wEgACAFQRBqIAEgAigCACAEIAMQ4BIgASgCACEHIAYkBiAHC0wBAn8jBiEGIwZBEGokBiAGIAMQ6wEgBigCAEGo0vkAEMoBIQMgBhDbASAAIAVBGGogASACKAIAIAQgAxDhEiABKAIAIQcgBiQGIAcLXgEDfyAAQQhqIgYgBigCACgCFEH/AXFBBmoRBQAiBiwACyIIQQBIIQcgACABKAIAIAIoAgAgAyAEIAUgBigCACAGIAcbIgAgACAGKAIEIAhB/wFxIAcbQQJ0ahDEBQsfACAAIAEoAgAgAigCACADIAQgBUGw/hVB0P4VEMQFC5sEAQJ/IAAoAgAiBAR/IAQoAgwiBSAEKAIQRgR/IAQgBCgCACgCJEH/AXFBBmoRBQAFIAUsAAAQggELIgQQbwR/IABBADYCAEEBBSAAKAIARQsFQQELIQQCQAJAAkAgAQRAIAEoAgwiBSABKAIQRgR/IAEgASgCACgCJEH/AXFBBmoRBQAFIAUsAAAQggELIgUQb0UEQCAEBEAgASEEDAQFDAMLAAsLIARFBEBBACEEDAILCyACIAIoAgBBBnI2AgAMAQsgAyAAKAIAIgEoAgwiBSABKAIQRgR/IAEgASgCACgCJEH/AXFBBmoRBQAFIAUsAAAQggELIgFB/wFxQQAgAygCACgCJEH/AHFBkARqEQIAQf8BcUElRwRAIAIgAigCAEEEcjYCAAwBCwJ/AkAgACgCACIBQQxqIgMoAgAiBSABKAIQRgR/IAEgASgCACgCKEH/AXFBBmoRBQAaIAAoAgAiAQR/DAIFQQELBSADIAVBAWo2AgAMAQsMAQsgASgCDCIDIAEoAhBGBH8gASABKAIAKAIkQf8BcUEGahEFAAUgAywAABCCAQsiARBvBH8gAEEANgIAQQEFIAAoAgBFCwshAAJAAkAgBEUNACAEKAIMIgEgBCgCEEYEfyAEIAQoAgAoAiRB/wFxQQZqEQUABSABLAAAEIIBCyIBEG8NACAADQIMAQsgAEUNAQsgAiACKAIAQQJyNgIACwsqAQF/IAEgAiADIARBBBCBBSEFIAMoAgBBBHFFBEAgACAFQZRxajYCAAsLtQIBB38jBiEGIwZB8ABqJAYgBkHoAGohByAGQTRqIgkQqwQgBhCrBCAAIAEgCSAGIAQQzxIgACEBA0AgASgCACIKBEAgCigCEBDNEiIIBEAgCCEBA0AgASwACBCJAUUEQCABQRRqIQsgASEFA0ACQCAFKAIMIgUgCEYEQCAIIQUMAQsgBSwACBCJAQ0AIAUoAhQgCygCAEYNAQsLIAEgBSgCECIFIAlBASACEMoSIAEgBSAGQQAgAxDKEiAFIQELIAEoAgwiASAIRw0ACwsgCkEUaiEBDAELCyAEIAIoAgA7AQwgBCADKAIAOwEOIAcgACgCABDNASAEIAcuAQI6ABIgByAAKAIAEM0BIAQgBy4BBjoAEyAHIAAoAgAQzQEgBCAHEG47ARAgBhCOBSAJEI4FIAYkBgs1ACABIAIgAyAEQQEQgQUiAUEHSCADKAIAIgJBBHFFcQRAIAAgATYCAAUgAyACQQRyNgIACws1ACABIAIgAyAEQQIQgQUiAUE9SCADKAIAIgJBBHFFcQRAIAAgATYCAAUgAyACQQRyNgIACwu2AQECfwJAIABBCGoiACAAKAIAKAIIQf8BcUEGahEFACIALAALIgZBAEgEfyAAKAIEBSAGQf8BcQsiBkEAIAAsABciB0EASAR/IAAoAhAFIAdB/wFxCyIHa0YEQCAEIAQoAgBBBHI2AgAFIAIgAyAAIABBGGogBSAEQQAQhwsgAGshACABKAIAIgJBDEYgAEVxBEAgAUEANgIADAILIAJBDEggAEEMRnEEQCABIAJBDGo2AgALCwsLggQBA38gA0EIaiEFA0ACQCAAKAIAIgMEfyADKAIMIgQgAygCEEYEfyADIAMoAgAoAiRB/wFxQQZqEQUABSAELAAAEIIBCyIDEG8EfyAAQQA2AgBBAQUgACgCAEULBUEBCyEDAkACQCABRQ0AIAEoAgwiBCABKAIQRgR/IAEgASgCACgCJEH/AXFBBmoRBQAFIAQsAAAQggELIgQQbw0AIANFDQIMAQsgAwR/QQAhAQwCBUEACyEBCyAAKAIAIgMoAgwiBCADKAIQRgR/IAMgAygCACgCJEH/AXFBBmoRBQAFIAQsAAAQggELIgNB/wFxQRh0QRh1QX9MDQAgBSgCACADQRh0QRh1QQF0ai4BAEGAwABxRQ0AIAAoAgAiA0EMaiIEKAIAIgYgAygCEEYEQCADIAMoAgAoAihB/wFxQQZqEQUAGgUgBCAGQQFqNgIACwwBCwsgACgCACIDBH8gAygCDCIEIAMoAhBGBH8gAyADKAIAKAIkQf8BcUEGahEFAAUgBCwAABCCAQsiAxBvBH8gAEEANgIAQQEFIAAoAgBFCwVBAQshAAJAAkACQCABRQ0AIAEoAgwiAyABKAIQRgR/IAEgASgCACgCJEH/AXFBBmoRBQAFIAMsAAAQggELIgEQbw0AIABFDQEMAgsgAA0ADAELIAIgAigCAEECcjYCAAsLNQAgASACIAMgBEECEIEFIgFBPEggAygCACICQQRxRXEEQCAAIAE2AgAFIAMgAkEEcjYCAAsLOAAgASACIAMgBEECEIEFIgFBDUggAygCACICQQRxRXEEQCAAIAFBf2o2AgAFIAMgAkEEcjYCAAsLNgAgASACIAMgBEEDEIEFIgFB7gJIIAMoAgAiAkEEcUVxBEAgACABNgIABSADIAJBBHI2AgALCzgAIAEgAiADIARBAhCBBSIBQX9qQQxJIAMoAgAiAkEEcUVxBEAgACABNgIABSADIAJBBHI2AgALCzUAIAEgAiADIARBAhCBBSIBQRhIIAMoAgAiAkEEcUVxBEAgACABNgIABSADIAJBBHI2AgALCzgAIAEgAiADIARBAhCBBSIBQX9qQR9JIAMoAgAiAkEEcUVxBEAgACABNgIABSADIAJBBHI2AgALC50CAQJ/Qdie+QAsAABFBEBB2J75ABC9AgRAQZD9+AAhAANAIABCADcCACAAQQA2AghBACEBA0AgAUEDRwRAIAAgAUECdGpBADYCACABQQFqIQEMAQsLIABBDGoiAEG4/vgARw0ACwsLQZD9+ABBv8QgEPwBGkGc/fgAQcbEIBD8ARpBqP34AEHNxCAQ/AEaQbT9+ABB1cQgEPwBGkHA/fgAQd/EIBD8ARpBzP34AEHoxCAQ/AEaQdj9+ABB78QgEPwBGkHk/fgAQfjEIBD8ARpB8P34AEH8xCAQ/AEaQfz9+ABBgMUgEPwBGkGI/vgAQYTFIBD8ARpBlP74AEGIxSAQ/AEaQaD++ABBjMUgEPwBGkGs/vgAQZDFIBD8ARoLnwMBAn9ByJ75ACwAAEUEQEHInvkAEL0CBEBB8Pr4ACEAA0AgAEIANwIAIABBADYCCEEAIQEDQCABQQNHBEAgACABQQJ0akEANgIAIAFBAWohAQwBCwsgAEEMaiIAQZD9+ABHDQALCwtB8Pr4AEG9wyAQ/AEaQfz6+ABBxcMgEPwBGkGI+/gAQc7DIBD8ARpBlPv4AEHUwyAQ/AEaQaD7+ABB2sMgEPwBGkGs+/gAQd7DIBD8ARpBuPv4AEHjwyAQ/AEaQcT7+ABB6MMgEPwBGkHQ+/gAQe/DIBD8ARpB3Pv4AEH5wyAQ/AEaQej7+ABBgcQgEPwBGkH0+/gAQYrEIBD8ARpBgPz4AEGTxCAQ/AEaQYz8+ABBl8QgEPwBGkGY/PgAQZvEIBD8ARpBpPz4AEGfxCAQ/AEaQbD8+ABB2sMgEPwBGkG8/PgAQaPEIBD8ARpByPz4AEGnxCAQ/AEaQdT8+ABBq8QgEPwBGkHg/PgAQa/EIBD8ARpB7Pz4AEGzxCAQ/AEaQfj8+ABBt8QgEPwBGkGE/fgAQbvEIBD8ARoLgQEBAn9BuJ75ACwAAEUEQEG4nvkAEL0CBEBB0Pj4ACEAA0AgAEIANwIAIABBADYCCEEAIQEDQCABQQNHBEAgACABQQJ0akEANgIAIAFBAWohAQwBCwsgAEEMaiIAQfD6+ABHDQALCwtB0Pj4AEG3wyAQ/AEaQdz4+ABBusMgEPwBGgtEAEGQnvkALAAARQRAQZCe+QAQvQIEQEHQ0vkAQgA3AgBB2NL5AEEANgIAQdDS+QBBhMMgQYTDIBBjEMoCCwtB0NL5AAtEAEGYnvkALAAARQRAQZie+QAQvQIEQEHc0vkAQgA3AgBB5NL5AEEANgIAQdzS+QBBjcMgQY3DIBBjEMoCCwtB3NL5AAtEAEGgnvkALAAARQRAQaCe+QAQvQIEQEHo0vkAQgA3AgBB8NL5AEEANgIAQejS+QBBlsMgQZbDIBBjEMoCCwtB6NL5AAtEAEGonvkALAAARQRAQaie+QAQvQIEQEH00vkAQgA3AgBB/NL5AEEANgIAQfTS+QBBosMgQaLDIBBjEMoCCwtB9NL5AAsxAEGwnvkALAAARQRAQbCe+QAQvQIEQBD9HkGA0/kAQdD4+AA2AgALC0GA0/kAKAIACzEAQcCe+QAsAABFBEBBwJ75ABC9AgRAEPweQYTT+QBB8Pr4ADYCAAsLQYTT+QAoAgALMQBB0J75ACwAAEUEQEHQnvkAEL0CBEAQ+x5BiNP5AEGQ/fgANgIACwtBiNP5ACgCAAv/BwEFfyMGIQcjBkEQaiQGIAdBCGohCiAHQQRqIQsgBEEANgIAIAdBDGoiCSADEOsBIAkoAgBBiNL5ABDKASEIIAkQ2wECfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAZBGHRBGHVBJWsOVRYXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcAARcEFwUXBgcXFxcKFxcXFw4PEBcXFxMVFxcXFxcXFwABAgMDFxcBFwgXFwkLFwwXDRcLFxcREhQXCyAAIAVBGGogASACKAIAIAQgCBDkEgwXCyAAIAVBEGogASACKAIAIAQgCBDjEgwWCyAAQQhqIgYgBigCACgCDEH/AXFBBmoRBQAiBiwACyIJQQBIIQggASAAIAEoAgAgAigCACADIAQgBSAGKAIAIAYgCBsiACAAIAYoAgQgCUH/AXEgCBtqEMUFNgIADBULIAVBDGogASACKAIAIAQgCBD6HgwUCyABIAAgASgCACACKAIAIAMgBCAFQZTFIEGcxSAQxQU2AgAMEwsgASAAIAEoAgAgAigCACADIAQgBUGcxSBBpMUgEMUFNgIADBILIAVBCGogASACKAIAIAQgCBD5HgwRCyAFQQhqIAEgAigCACAEIAgQ+B4MEAsgBUEcaiABIAIoAgAgBCAIEPceDA8LIAVBEGogASACKAIAIAQgCBD2HgwOCyAFQQRqIAEgAigCACAEIAgQ9R4MDQsgASACKAIAIAQgCBD0HgwMCyAAIAVBCGogASACKAIAIAQgCBDzHgwLCyABIAAgASgCACACKAIAIAMgBCAFQaTFIEGvxSAQxQU2AgAMCgsgASAAIAEoAgAgAigCACADIAQgBUGvxSBBtMUgEMUFNgIADAkLIAUgASACKAIAIAQgCBDyHgwICyABIAAgASgCACACKAIAIAMgBCAFQbTFIEG8xSAQxQU2AgAMBwsgBUEYaiABIAIoAgAgBCAIEPEeDAYLIAAoAgAoAhQhBiALIAEoAgA2AgAgByACKAIANgIAIAogCygCADYCACAJIAcoAgA2AgAgACAKIAkgAyAEIAUgBkE/cUGcBmoRBgAMBgsgAEEIaiIGIAYoAgAoAhhB/wFxQQZqEQUAIgYsAAsiCUEASCEIIAEgACABKAIAIAIoAgAgAyAEIAUgBigCACAGIAgbIgAgACAGKAIEIAlB/wFxIAgbahDFBTYCAAwECyAFQRRqIAEgAigCACAEIAgQ4hIMAwsgBUEUaiABIAIoAgAgBCAIEO8eDAILIAEgAigCACAEIAgQ7h4MAQsgBCAEKAIAQQRyNgIACyABKAIACyEMIAckBiAMC0oBAX8jBiEAIwZBEGokBiAAIAMQ6wEgACgCAEGI0vkAEMoBIQMgABDbASAFQRRqIAEgAigCACAEIAMQ4hIgASgCACEGIAAkBiAGC0wBAn8jBiEGIwZBEGokBiAGIAMQ6wEgBigCAEGI0vkAEMoBIQMgBhDbASAAIAVBEGogASACKAIAIAQgAxDjEiABKAIAIQcgBiQGIAcLTAECfyMGIQYjBkEQaiQGIAYgAxDrASAGKAIAQYjS+QAQygEhAyAGENsBIAAgBUEYaiABIAIoAgAgBCADEOQSIAEoAgAhByAGJAYgBwtbAQN/IABBCGoiBiAGKAIAKAIUQf8BcUEGahEFACIGLAALIghBAEghByAAIAEoAgAgAigCACADIAQgBSAGKAIAIAYgBxsiACAAIAYoAgQgCEH/AXEgBxtqEMUFCx8AIAAgASgCACACKAIAIAMgBCAFQbzFIEHExSAQxQULxQIBCX8gAUEEaiEJIAJBBGohCiAAIgVBAXVBAWohAANAAkAgAEEBSgRAIAIgAEF/aiIAQQJ0aigCACEIIAEgAEECdGooAgAhBgUgASAFQQJ0aiIDKAIAIQYgAiAFQQJ0aiIEKAIAIQggAyAJKAIANgIAIAQgCigCADYCACAFQX9qIgVBAUYNAQsgBUEBaiELIAAhBANAAkAgBEEBdCEDA0AgAyAFSg0BIANBAWohByADIAVIBEAgByADIAEgA0ECdGooAgAgASAHQQJ0aigCAEgbIQMLIAYgASADQQJ0aigCACIHTgRAIAshAwwBCwsgASAEQQJ0aiAHNgIAIAIgBEECdGogAiADQQJ0aigCADYCACADIQQMAQsLIAEgBEECdGogBjYCACACIARBAnRqIAg2AgAMAQsLIAkgBjYCACAKIAg2AgALzgEBBn8jBiEAIwZBwAFqJAYgAEG4AWoiBUGpwSAoAAA2AAAgBUGtwSAuAAA7AAQQgwIhByAAQSBqIgYgBDYCACAAIAAgAEEUIAcgBSAGEKcDIglqIgQgAigCBBD9AyEFIABBtAFqIgcgAhDrASAHKAIAQajS+QAQygEhCCAHENsBIAggACAEIAYgCCgCACgCMEE/cUGQBWoRHAAaIAEoAgAgBiAGIAlBAnRqIgEgBiAFIABrQQJ0aiAFIARGGyABIAIgAxDGBSEKIAAkBiAKC68DAQ5/IwYhBSMGQeACaiQGIAVBqAJqIQcgBUGYAmohBiAFQZACaiIIQiU3AwAgCEEBakGvwSAgAkEEaiIPKAIAEIULIQsgBUHUAmoiCSAFQfABaiIMNgIAEIMCIQAgCwR/IAYgAigCCDYCACAGIAQ5AwggDEEeIAAgCCAGEKcDBSAHIAQ5AwAgDEEeIAAgCCAHEKcDCyEAIAVBwAJqIQcgBUGwAmohBiAAQR1KBEAQgwIhACALBH8gBiACKAIINgIAIAYgBDkDCCAJIAAgCCAGEIIFBSAHIAQ5AwAgCSAAIAggBxCCBQshByAJKAIAIgAEQCAHIQ0gACIQIQoFEAQLBSAAIQ0gDCEKCyAFIQAgBUHQAmohCSAFQcwCaiEGIAVByAJqIQggCiAKIA1qIgsgDygCABD9AyEHIAogDEYEQCAAIQ5BASERBSANQQN0EHIiAARAIAAiDiESBRAECwsgCCACEOsBIAogByALIA4gCSAGIAgQ5xIgCBDbASABIAEoAgAgDiAJKAIAIAYoAgAgAiADEMYFIgA2AgAgEUUEQCASEEwLIBAQTCAFJAYgAAuwAwEOfyMGIQUjBkHgAmokBiAFQagCaiEHIAVBmAJqIQYgBUGQAmoiCEIlNwMAIAhBAWpB09X5ACACQQRqIg8oAgAQhQshCyAFQdQCaiIJIAVB8AFqIgw2AgAQgwIhACALBH8gBiACKAIINgIAIAYgBDkDCCAMQR4gACAIIAYQpwMFIAcgBDkDACAMQR4gACAIIAcQpwMLIQAgBUHAAmohByAFQbACaiEGIABBHUoEQBCDAiEAIAsEfyAGIAIoAgg2AgAgBiAEOQMIIAkgACAIIAYQggUFIAcgBDkDACAJIAAgCCAHEIIFCyEHIAkoAgAiAARAIAchDSAAIhAhCgUQBAsFIAAhDSAMIQoLIAUhACAFQdACaiEJIAVBzAJqIQYgBUHIAmohCCAKIAogDWoiCyAPKAIAEP0DIQcgCiAMRgRAIAAhDkEBIREFIA1BA3QQciIABEAgACIOIRIFEAQLCyAIIAIQ6wEgCiAHIAsgDiAJIAYgCBDnEiAIENsBIAEgASgCACAOIAkoAgAgBigCACACIAMQxgUiADYCACARRQRAIBIQTAsgEBBMIAUkBiAAC+kBAQh/IwYhBSMGQSBqJAYgBUIlNwMAIAVBAWpBxt8gQQAgAkEEaiIGKAIAEIwGIAYoAgBBCXZBAXFBFnIiB0EBaiEIAn8QESEMIwYhCSMGIAhBD2pBcHFqJAYQgwIhACAFQQhqIgogBDcDACAJIAkgCSAIIAAgBSAKEKcDaiIIIAYoAgAQ/QMhACMGIQYjBiAHQQN0QQtqQXBxaiQGIAVBEGoiByACEOsBIAkgACAIIAYgCiAFQRRqIgAgBxCDCyAHENsBIAEoAgAgBiAKKAIAIAAoAgAgAiADEMYFIQAgDAsQEiAFJAYgAAv9AQEIfyMGIQAjBkEgaiQGIABBDGoiBUGxwSAoAAA2AAAgBUG1wSAuAAA7AAQgBUEBakHB3yBBACACQQRqIgcoAgAQjAYgBygCAEEJdkEBcSIJQQxyIQgCfxARIQwjBiEGIwYgCEEPakFwcWokBhCDAiELIAAgBDYCACAGIAYgBiAIIAsgBSAAEKcDaiIIIAcoAgAQ/QMhByMGIQQjBiAJQQF0QRVyQQJ0QQ9qQXBxaiQGIABBBGoiBSACEOsBIAYgByAIIAQgACAAQQhqIgYgBRCDCyAFENsBIAEoAgAgBCAAKAIAIAYoAgAgAiADEMYFIQEgDAsQEiAAJAYgAQvsAQEIfyMGIQUjBkEgaiQGIAVCJTcDACAFQQFqQcbfIEEBIAJBBGoiBigCABCMBiAGKAIAQQl2QQFxIgdBF2ohCAJ/EBEhDCMGIQkjBiAIQQ9qQXBxaiQGEIMCIQAgBUEIaiIKIAQ3AwAgCSAJIAkgCCAAIAUgChCnA2oiCCAGKAIAEP0DIQAjBiEGIwYgB0EBdEEsckECdEELakFwcWokBiAFQRBqIgcgAhDrASAJIAAgCCAGIAogBUEUaiIAIAcQgwsgBxDbASABKAIAIAYgCigCACAAKAIAIAIgAxDGBSEAIAwLEBIgBSQGIAAL/QEBCH8jBiEAIwZBIGokBiAAQQxqIgVBscEgKAAANgAAIAVBtcEgLgAAOwAEIAVBAWpBwd8gQQEgAkEEaiIHKAIAEIwGIAcoAgBBCXZBAXEiCUENaiEIAn8QESEMIwYhBiMGIAhBD2pBcHFqJAYQgwIhCyAAIAQ2AgAgBiAGIAYgCCALIAUgABCnA2oiCCAHKAIAEP0DIQcjBiEEIwYgCUEBdEEYckECdEELakFwcWokBiAAQQRqIgUgAhDrASAGIAcgCCAEIAAgAEEIaiIGIAUQgwsgBRDbASABKAIAIAQgACgCACAGKAIAIAIgAxDGBSEBIAwLEBIgACQGIAEL/wIBBX8jBiEGIwZBEGokBiAGQQRqIQUgAigCBEEBcQRAIAUgAhDrASAFKAIAQbDS+QAQygEhACAFENsBIAAoAgAhAiAEBEAgBSAAIAIoAhhB/wBxQawLahEDAAUgBSAAIAIoAhxB/wBxQawLahEDAAsgBUEEaiEHIAUoAgAiAiAFIAVBC2oiCCwAACIAQQBIGyEDA0AgAyACIAUgAEEYdEEYdUEASCICGyAHKAIAIABB/wFxIAIbQQJ0akcEQCADKAIAIQIgASgCACIABEAgAEEYaiIJKAIAIgQgACgCHEYEfyAAIAIgACgCACgCNEH/AXFBkAJqEQEABSAJIARBBGo2AgAgBCACNgIAIAILEG8EQCABQQA2AgALCyADQQRqIQMgCCwAACEAIAUoAgAhAgwBCwsgASgCACEAIAUQVAUgACgCACgCGCEHIAYgASgCADYCACAFIAYoAgA2AgAgACAFIAIgAyAEQQFxIAdBP3FB2AVqEREAIQALIAYkBiAAC8gBAQZ/IwYhACMGQeAAaiQGIABBzABqIgVBqcEgKAAANgAAIAVBrcEgLgAAOwAEEIMCIQcgAEEgaiIGIAQ2AgAgACAAIABBFCAHIAUgBhCnAyIJaiIEIAIoAgQQ/QMhBSAAQcgAaiIHIAIQ6wEgBygCAEGI0vkAEMoBIQggBxDbASAIIAAgBCAGIAgoAgAoAiBBP3FBkAVqERwAGiABKAIAIAYgBiAJaiIBIAYgBSAAa2ogBSAERhsgASACIAMQxwUhCiAAJAYgCguZAwEOfyMGIQUjBkGwAWokBiAFQfgAaiEGIAVB6ABqIQcgBUHgAGoiCUIlNwMAIAlBAWpBr8EgIAJBBGoiDygCABCFCyEMIAVBpAFqIg0gBUFAayIINgIAEIMCIQAgDAR/IAcgAigCCDYCACAHIAQ5AwggCEEeIAAgCSAHEKcDBSAGIAQ5AwAgCEEeIAAgCSAGEKcDCyEAIAVBkAFqIQYgBUGAAWohByAAQR1KBEAQgwIhACAMBH8gByACKAIINgIAIAcgBDkDCCANIAAgCSAHEIIFBSAGIAQ5AwAgDSAAIAkgBhCCBQshBiANKAIAIgAEQCAGIQogACIQIQsFEAQLBSAAIQogCCELCyAFIQAgCyALIApqIgwgDygCABD9AyEGIAsgCEYEQCAAIQ4FIApBAXQQciIABEAgACIOIREFEAQLCyAFQZgBaiIIIAIQ6wEgCyAGIAwgDiAFQaABaiIKIAVBnAFqIgAgCBDoEiAIENsBIAEoAgAgDiAKKAIAIAAoAgAgAiADEMcFIRIgERBMIBAQTCAFJAYgEguaAwEOfyMGIQUjBkGwAWokBiAFQfgAaiEGIAVB6ABqIQcgBUHgAGoiCUIlNwMAIAlBAWpB09X5ACACQQRqIg8oAgAQhQshDCAFQaQBaiINIAVBQGsiCDYCABCDAiEAIAwEfyAHIAIoAgg2AgAgByAEOQMIIAhBHiAAIAkgBxCnAwUgBiAEOQMAIAhBHiAAIAkgBhCnAwshACAFQZABaiEGIAVBgAFqIQcgAEEdSgRAEIMCIQAgDAR/IAcgAigCCDYCACAHIAQ5AwggDSAAIAkgBxCCBQUgBiAEOQMAIA0gACAJIAYQggULIQYgDSgCACIABEAgBiEKIAAiECELBRAECwUgACEKIAghCwsgBSEAIAsgCyAKaiIMIA8oAgAQ/QMhBiALIAhGBEAgACEOBSAKQQF0EHIiAARAIAAiDiERBRAECwsgBUGYAWoiCCACEOsBIAsgBiAMIA4gBUGgAWoiCiAFQZwBaiIAIAgQ6BIgCBDbASABKAIAIA4gCigCACAAKAIAIAIgAxDHBSESIBEQTCAQEEwgBSQGIBIL6QEBCH8jBiEFIwZBIGokBiAFQiU3AwAgBUEBakHG3yBBACACQQRqIgYoAgAQjAYgBigCAEEJdkEBcUEWciIHQQFqIQgCfxARIQwjBiEJIwYgCEEPakFwcWokBhCDAiEAIAVBCGoiCiAENwMAIAkgCSAJIAggACAFIAoQpwNqIgggBigCABD9AyEAIwYhBiMGIAdBAXRBDmpBcHFqJAYgBUEQaiIHIAIQ6wEgCSAAIAggBiAKIAVBFGoiACAHEIQLIAcQ2wEgASgCACAGIAooAgAgACgCACACIAMQxwUhACAMCxASIAUkBiAAC/oBAQh/IwYhACMGQSBqJAYgAEEMaiIFQbHBICgAADYAACAFQbXBIC4AADsABCAFQQFqQcHfIEEAIAJBBGoiBygCABCMBiAHKAIAQQl2QQFxIglBDHIhCAJ/EBEhDCMGIQYjBiAIQQ9qQXBxaiQGEIMCIQsgACAENgIAIAYgBiAGIAggCyAFIAAQpwNqIgggBygCABD9AyEHIwYhBCMGIAlBAXRBFXJBD2pBcHFqJAYgAEEEaiIFIAIQ6wEgBiAHIAggBCAAIABBCGoiBiAFEIQLIAUQ2wEgASgCACAEIAAoAgAgBigCACACIAMQxwUhASAMCxASIAAkBiABC+kBAQh/IwYhBSMGQSBqJAYgBUIlNwMAIAVBAWpBxt8gQQEgAkEEaiIGKAIAEIwGIAYoAgBBCXZBAXEiB0EXaiEIAn8QESEMIwYhCSMGIAhBD2pBcHFqJAYQgwIhACAFQQhqIgogBDcDACAJIAkgCSAIIAAgBSAKEKcDaiIIIAYoAgAQ/QMhACMGIQYjBiAHQQF0QSxyQQ5qQXBxaiQGIAVBEGoiByACEOsBIAkgACAIIAYgCiAFQRRqIgAgBxCECyAHENsBIAEoAgAgBiAKKAIAIAAoAgAgAiADEMcFIQAgDAsQEiAFJAYgAAv6AQEIfyMGIQAjBkEgaiQGIABBDGoiBUGxwSAoAAA2AAAgBUG1wSAuAAA7AAQgBUEBakHB3yBBASACQQRqIgcoAgAQjAYgBygCAEEJdkEBcSIJQQ1qIQgCfxARIQwjBiEGIwYgCEEPakFwcWokBhCDAiELIAAgBDYCACAGIAYgBiAIIAsgBSAAEKcDaiIIIAcoAgAQ/QMhByMGIQQjBiAJQQF0QRhyQQ5qQXBxaiQGIABBBGoiBSACEOsBIAYgByAIIAQgACAAQQhqIgYgBRCECyAFENsBIAEoAgAgBCAAKAIAIAYoAgAgAiADEMcFIQEgDAsQEiAAJAYgAQuIAwEFfyMGIQYjBkEQaiQGIAZBBGohBSACKAIEQQFxBEAgBSACEOsBIAUoAgBBmNL5ABDKASEAIAUQ2wEgACgCACECIAQEQCAFIAAgAigCGEH/AHFBrAtqEQMABSAFIAAgAigCHEH/AHFBrAtqEQMACyAFQQRqIQcgBSgCACICIAUgBUELaiIILAAAIgBBAEgbIQMDQCADIAIgBSAAQRh0QRh1QQBIIgIbIAcoAgAgAEH/AXEgAhtqRwRAIAMsAAAhAiABKAIAIgAEQCAAQRhqIgkoAgAiBCAAKAIcRgR/IAAoAgAoAjQhBCAAIAIQggEgBEH/AXFBkAJqEQEABSAJIARBAWo2AgAgBCACOgAAIAIQggELIgAQbwRAIAFBADYCAAsLIANBAWohAyAILAAAIQAgBSgCACECDAELCyABKAIAIQAgBRBUBSAAKAIAKAIYIQcgBiABKAIANgIAIAUgBigCADYCACAAIAUgAiADIARBAXEgB0E/cUHYBWoREQAhAAsgBiQGIAALqAcBEn8jBiEFIwZBsAJqJAYCfyACKAIEIRYgAiAFQaABahCHCSESIAVBoAJqIgogAiAFQawCaiIJEIYJIAVBlAJqIgdCADcCACAHQQA2AghBACECA0AgAkEDRwRAIAcgAkECdGpBADYCACACQQFqIQIMAQsLIBYLEIMFIRAgB0EIaiEMIAcgB0ELaiIILAAAQQBIBH8gDCgCAEH/////B3FBf2oFQQoLENEBIAVBkAJqIg0gBygCACAHIAgsAABBAEgbIgI2AgAgBUGMAmoiDyAFIg42AgAgBUGIAmoiEUEANgIAIAdBBGohEyAJKAIAIRQgACIGIQkDQAJAIAYEf0EAIAAgBigCDCIFIAYoAhBGBH8gBiAGKAIAKAIkQf8BcUEGahEFAAUgBSgCAAsQbyIFGyEAQQAgCSAFGyEJQQAgBiAFGwVBACEJQQEhBUEACyEGAkACQCABRQ0AIAEoAgwiCyABKAIQRgR/IAEgASgCACgCJEH/AXFBBmoRBQAFIAsoAgALEG8NACAFRQRAIAEhBQwDCwwBCyAFBH9BACEFDAIFQQALIQELIA0oAgAgAiATKAIAIAgsAAAiBUH/AXEgBUEASBsiBWpGBEAgByAFQQF0ENEBIAcgCCwAAEEASAR/IAwoAgBB/////wdxQX9qBUEKCxDRASANIAcoAgAgByAILAAAQQBIGyICIAVqNgIACyAGQQxqIgUoAgAiCyAGQRBqIhUoAgBGBH8gBiAGKAIAKAIkQf8BcUEGahEFAAUgCygCAAsgECACIA0gESAUIAogDiAPIBIQ2QcEQCABIQUMAQsgBSgCACILIBUoAgBGBEAgBiAGKAIAKAIoQf8BcUEGahEFABoFIAUgC0EEajYCAAsMAQsLIA8oAgAhASAKKAIEIAosAAsiCEH/AXEgCEEASBsEQCABIA5rQaABSARAIBEoAgAhDCAPIAFBBGoiCDYCACABIAw2AgAgCCEBCwsgBCACIA0oAgAgAyAQEOwSNgIAIAogDiABIAMQqAMgBgRAQQAgACAGKAIMIgEgBigCEEYEfyAGIAkoAgAoAiRB/wFxQQZqEQUABSABKAIACxBvIgAbIQEFIAAhAUEBIQALAkACQAJAIAVFDQAgBSgCDCICIAUoAhBGBH8gBSAFKAIAKAIkQf8BcUEGahEFAAUgAigCAAsQbw0AIABFDQEMAgsgAA0ADAELIAMgAygCAEECcjYCAAsgBxBUIAoQVCAOJAYgAQuoBwESfyMGIQUjBkGwAmokBgJ/IAIoAgQhFiACIAVBoAFqEIcJIRIgBUGgAmoiCiACIAVBrAJqIgkQhgkgBUGUAmoiB0IANwIAIAdBADYCCEEAIQIDQCACQQNHBEAgByACQQJ0akEANgIAIAJBAWohAgwBCwsgFgsQgwUhECAHQQhqIQwgByAHQQtqIggsAABBAEgEfyAMKAIAQf////8HcUF/agVBCgsQ0QEgBUGQAmoiDSAHKAIAIAcgCCwAAEEASBsiAjYCACAFQYwCaiIPIAUiDjYCACAFQYgCaiIRQQA2AgAgB0EEaiETIAkoAgAhFCAAIgYhCQNAAkAgBgR/QQAgACAGKAIMIgUgBigCEEYEfyAGIAYoAgAoAiRB/wFxQQZqEQUABSAFKAIACxBvIgUbIQBBACAJIAUbIQlBACAGIAUbBUEAIQlBASEFQQALIQYCQAJAIAFFDQAgASgCDCILIAEoAhBGBH8gASABKAIAKAIkQf8BcUEGahEFAAUgCygCAAsQbw0AIAVFBEAgASEFDAMLDAELIAUEf0EAIQUMAgVBAAshAQsgDSgCACACIBMoAgAgCCwAACIFQf8BcSAFQQBIGyIFakYEQCAHIAVBAXQQ0QEgByAILAAAQQBIBH8gDCgCAEH/////B3FBf2oFQQoLENEBIA0gBygCACAHIAgsAABBAEgbIgIgBWo2AgALIAZBDGoiBSgCACILIAZBEGoiFSgCAEYEfyAGIAYoAgAoAiRB/wFxQQZqEQUABSALKAIACyAQIAIgDSARIBQgCiAOIA8gEhDZBwRAIAEhBQwBCyAFKAIAIgsgFSgCAEYEQCAGIAYoAgAoAihB/wFxQQZqEQUAGgUgBSALQQRqNgIACwwBCwsgDygCACEBIAooAgQgCiwACyIIQf8BcSAIQQBIGwRAIAEgDmtBoAFIBEAgESgCACEMIA8gAUEEaiIINgIAIAEgDDYCACAIIQELCyAEIAIgDSgCACADIBAQ7RI3AwAgCiAOIAEgAxCoAyAGBEBBACAAIAYoAgwiASAGKAIQRgR/IAYgCSgCACgCJEH/AXFBBmoRBQAFIAEoAgALEG8iABshAQUgACEBQQEhAAsCQAJAAkAgBUUNACAFKAIMIgIgBSgCEEYEfyAFIAUoAgAoAiRB/wFxQQZqEQUABSACKAIACxBvDQAgAEUNAQwCCyAADQAMAQsgAyADKAIAQQJyNgIACyAHEFQgChBUIA4kBiABC6gHARJ/IwYhBSMGQbACaiQGAn8gAigCBCEWIAIgBUGgAWoQhwkhEiAFQaACaiIKIAIgBUGsAmoiCRCGCSAFQZQCaiIHQgA3AgAgB0EANgIIQQAhAgNAIAJBA0cEQCAHIAJBAnRqQQA2AgAgAkEBaiECDAELCyAWCxCDBSEQIAdBCGohDCAHIAdBC2oiCCwAAEEASAR/IAwoAgBB/////wdxQX9qBUEKCxDRASAFQZACaiINIAcoAgAgByAILAAAQQBIGyICNgIAIAVBjAJqIg8gBSIONgIAIAVBiAJqIhFBADYCACAHQQRqIRMgCSgCACEUIAAiBiEJA0ACQCAGBH9BACAAIAYoAgwiBSAGKAIQRgR/IAYgBigCACgCJEH/AXFBBmoRBQAFIAUoAgALEG8iBRshAEEAIAkgBRshCUEAIAYgBRsFQQAhCUEBIQVBAAshBgJAAkAgAUUNACABKAIMIgsgASgCEEYEfyABIAEoAgAoAiRB/wFxQQZqEQUABSALKAIACxBvDQAgBUUEQCABIQUMAwsMAQsgBQR/QQAhBQwCBUEACyEBCyANKAIAIAIgEygCACAILAAAIgVB/wFxIAVBAEgbIgVqRgRAIAcgBUEBdBDRASAHIAgsAABBAEgEfyAMKAIAQf////8HcUF/agVBCgsQ0QEgDSAHKAIAIAcgCCwAAEEASBsiAiAFajYCAAsgBkEMaiIFKAIAIgsgBkEQaiIVKAIARgR/IAYgBigCACgCJEH/AXFBBmoRBQAFIAsoAgALIBAgAiANIBEgFCAKIA4gDyASENkHBEAgASEFDAELIAUoAgAiCyAVKAIARgRAIAYgBigCACgCKEH/AXFBBmoRBQAaBSAFIAtBBGo2AgALDAELCyAPKAIAIQEgCigCBCAKLAALIghB/wFxIAhBAEgbBEAgASAOa0GgAUgEQCARKAIAIQwgDyABQQRqIgg2AgAgASAMNgIAIAghAQsLIAQgAiANKAIAIAMgEBDuEjsBACAKIA4gASADEKgDIAYEQEEAIAAgBigCDCIBIAYoAhBGBH8gBiAJKAIAKAIkQf8BcUEGahEFAAUgASgCAAsQbyIAGyEBBSAAIQFBASEACwJAAkACQCAFRQ0AIAUoAgwiAiAFKAIQRgR/IAUgBSgCACgCJEH/AXFBBmoRBQAFIAIoAgALEG8NACAARQ0BDAILIAANAAwBCyADIAMoAgBBAnI2AgALIAcQVCAKEFQgDiQGIAELqAcBEn8jBiEFIwZBsAJqJAYCfyACKAIEIRYgAiAFQaABahCHCSESIAVBoAJqIgogAiAFQawCaiIJEIYJIAVBlAJqIgdCADcCACAHQQA2AghBACECA0AgAkEDRwRAIAcgAkECdGpBADYCACACQQFqIQIMAQsLIBYLEIMFIRAgB0EIaiEMIAcgB0ELaiIILAAAQQBIBH8gDCgCAEH/////B3FBf2oFQQoLENEBIAVBkAJqIg0gBygCACAHIAgsAABBAEgbIgI2AgAgBUGMAmoiDyAFIg42AgAgBUGIAmoiEUEANgIAIAdBBGohEyAJKAIAIRQgACIGIQkDQAJAIAYEf0EAIAAgBigCDCIFIAYoAhBGBH8gBiAGKAIAKAIkQf8BcUEGahEFAAUgBSgCAAsQbyIFGyEAQQAgCSAFGyEJQQAgBiAFGwVBACEJQQEhBUEACyEGAkACQCABRQ0AIAEoAgwiCyABKAIQRgR/IAEgASgCACgCJEH/AXFBBmoRBQAFIAsoAgALEG8NACAFRQRAIAEhBQwDCwwBCyAFBH9BACEFDAIFQQALIQELIA0oAgAgAiATKAIAIAgsAAAiBUH/AXEgBUEASBsiBWpGBEAgByAFQQF0ENEBIAcgCCwAAEEASAR/IAwoAgBB/////wdxQX9qBUEKCxDRASANIAcoAgAgByAILAAAQQBIGyICIAVqNgIACyAGQQxqIgUoAgAiCyAGQRBqIhUoAgBGBH8gBiAGKAIAKAIkQf8BcUEGahEFAAUgCygCAAsgECACIA0gESAUIAogDiAPIBIQ2QcEQCABIQUMAQsgBSgCACILIBUoAgBGBEAgBiAGKAIAKAIoQf8BcUEGahEFABoFIAUgC0EEajYCAAsMAQsLIA8oAgAhASAKKAIEIAosAAsiCEH/AXEgCEEASBsEQCABIA5rQaABSARAIBEoAgAhDCAPIAFBBGoiCDYCACABIAw2AgAgCCEBCwsgBCACIA0oAgAgAyAQEO8SNgIAIAogDiABIAMQqAMgBgRAQQAgACAGKAIMIgEgBigCEEYEfyAGIAkoAgAoAiRB/wFxQQZqEQUABSABKAIACxBvIgAbIQEFIAAhAUEBIQALAkACQAJAIAVFDQAgBSgCDCICIAUoAhBGBH8gBSAFKAIAKAIkQf8BcUEGahEFAAUgAigCAAsQbw0AIABFDQEMAgsgAA0ADAELIAMgAygCAEECcjYCAAsgBxBUIAoQVCAOJAYgAQtNAQF/IwYhAiMGQRBqJAYgAiAAEOsBIAIoAgBBqNL5ABDKASIAQdD8FUHq/BUgASAAKAIAKAIwQT9xQZAFahEcABogAhDbASACJAYgAQuoBwESfyMGIQUjBkGwAmokBgJ/IAIoAgQhFiACIAVBoAFqEIcJIRIgBUGgAmoiCiACIAVBrAJqIgkQhgkgBUGUAmoiB0IANwIAIAdBADYCCEEAIQIDQCACQQNHBEAgByACQQJ0akEANgIAIAJBAWohAgwBCwsgFgsQgwUhECAHQQhqIQwgByAHQQtqIggsAABBAEgEfyAMKAIAQf////8HcUF/agVBCgsQ0QEgBUGQAmoiDSAHKAIAIAcgCCwAAEEASBsiAjYCACAFQYwCaiIPIAUiDjYCACAFQYgCaiIRQQA2AgAgB0EEaiETIAkoAgAhFCAAIgYhCQNAAkAgBgR/QQAgACAGKAIMIgUgBigCEEYEfyAGIAYoAgAoAiRB/wFxQQZqEQUABSAFKAIACxBvIgUbIQBBACAJIAUbIQlBACAGIAUbBUEAIQlBASEFQQALIQYCQAJAIAFFDQAgASgCDCILIAEoAhBGBH8gASABKAIAKAIkQf8BcUEGahEFAAUgCygCAAsQbw0AIAVFBEAgASEFDAMLDAELIAUEf0EAIQUMAgVBAAshAQsgDSgCACACIBMoAgAgCCwAACIFQf8BcSAFQQBIGyIFakYEQCAHIAVBAXQQ0QEgByAILAAAQQBIBH8gDCgCAEH/////B3FBf2oFQQoLENEBIA0gBygCACAHIAgsAABBAEgbIgIgBWo2AgALIAZBDGoiBSgCACILIAZBEGoiFSgCAEYEfyAGIAYoAgAoAiRB/wFxQQZqEQUABSALKAIACyAQIAIgDSARIBQgCiAOIA8gEhDZBwRAIAEhBQwBCyAFKAIAIgsgFSgCAEYEQCAGIAYoAgAoAihB/wFxQQZqEQUAGgUgBSALQQRqNgIACwwBCwsgDygCACEBIAooAgQgCiwACyIIQf8BcSAIQQBIGwRAIAEgDmtBoAFIBEAgESgCACEMIA8gAUEEaiIINgIAIAEgDDYCACAIIQELCyAEIAIgDSgCACADIBAQ8BI3AwAgCiAOIAEgAxCoAyAGBEBBACAAIAYoAgwiASAGKAIQRgR/IAYgCSgCACgCJEH/AXFBBmoRBQAFIAEoAgALEG8iABshAQUgACEBQQEhAAsCQAJAAkAgBUUNACAFKAIMIgIgBSgCEEYEfyAFIAUoAgAoAiRB/wFxQQZqEQUABSACKAIACxBvDQAgAEUNAQwCCyAADQAMAQsgAyADKAIAQQJyNgIACyAHEFQgChBUIA4kBiABC8kHARN/IwYhByMGQdACaiQGIAdBuAJqIgsgAiAHQaABaiIUIAdByAJqIgogB0HEAmoiBRDzDSAHQawCaiIIQgA3AgAgCEEANgIIQQAhAgNAIAJBA0cEQCAIIAJBAnRqQQA2AgAgAkEBaiECDAELCyAIQQhqIRAgCCAIQQtqIgwsAABBAEgEfyAQKAIAQf////8HcUF/agVBCgsQ0QEgB0GoAmoiDSAIKAIAIAggDCwAAEEASBsiAjYCACAHQaQCaiIOIAc2AgAgB0GgAmoiEUEANgIAIAdBzQJqIhJBAToAACAHQcwCaiIVQcUAOgAAIAhBBGohFiAKKAIAIRcgBSgCACEPIAAiBiEFA0ACQCAGBH9BACAAIAYoAgwiCiAGKAIQRgR/IAYgBigCACgCJEH/AXFBBmoRBQAFIAooAgALEG8iCRshAEEAIAYgCRshBkEAIAUgCRsFQQEhCUEAIQZBAAshCgJAAkAgAUUNACABKAIMIgUgASgCEEYEfyABIAEoAgAoAiRB/wFxQQZqEQUABSAFKAIACxBvDQAgCUUEQCABIQUMAwsMAQsgCQR/QQAhBQwCBUEACyEBCyANKAIAIAIgFigCACAMLAAAIgVB/wFxIAVBAEgbIgVqRgRAIAggBUEBdBDRASAIIAwsAABBAEgEfyAQKAIAQf////8HcUF/agVBCgsQ0QEgDSAIKAIAIAggDCwAAEEASBsiAiAFajYCAAsgBkEMaiITKAIAIgUgBkEQaiIJKAIARgR/IAYgBigCACgCJEH/AXFBBmoRBQAFIAUoAgALIBIgFSACIA0gFyAPIAsgByAOIBEgFBDyDQRAIAEhBQwBCyATKAIAIgUgCSgCAEYEQCAGIAYoAgAoAihB/wFxQQZqEQUAGgUgEyAFQQRqNgIACyAKIQUMAQsLIA4oAgAhASALKAIEIAssAAsiCUH/AXEgCUEASBtFIBIsAABFckUEQCABIAdrQaABSARAIBEoAgAhDyAOIAFBBGoiCTYCACABIA82AgAgCSEBCwsgBCACIA0oAgAgAxDxEjgCACALIAcgASADEKgDIAYEQEEAIAAgBigCDCIBIAYoAhBGBH8gBiAKKAIAKAIkQf8BcUEGahEFAAUgASgCAAsQbyIAGyEBBSAAIQFBASEACwJAAkACQCAFRQ0AIAUoAgwiAiAFKAIQRgR/IAUgBSgCACgCJEH/AXFBBmoRBQAFIAIoAgALEG8NACAARQ0BDAILIAANAAwBCyADIAMoAgBBAnI2AgALIAgQVCALEFQgByQGIAELyQcBE38jBiEHIwZB0AJqJAYgB0G4AmoiCyACIAdBoAFqIhQgB0HIAmoiCiAHQcQCaiIFEPMNIAdBrAJqIghCADcCACAIQQA2AghBACECA0AgAkEDRwRAIAggAkECdGpBADYCACACQQFqIQIMAQsLIAhBCGohECAIIAhBC2oiDCwAAEEASAR/IBAoAgBB/////wdxQX9qBUEKCxDRASAHQagCaiINIAgoAgAgCCAMLAAAQQBIGyICNgIAIAdBpAJqIg4gBzYCACAHQaACaiIRQQA2AgAgB0HNAmoiEkEBOgAAIAdBzAJqIhVBxQA6AAAgCEEEaiEWIAooAgAhFyAFKAIAIQ8gACIGIQUDQAJAIAYEf0EAIAAgBigCDCIKIAYoAhBGBH8gBiAGKAIAKAIkQf8BcUEGahEFAAUgCigCAAsQbyIJGyEAQQAgBiAJGyEGQQAgBSAJGwVBASEJQQAhBkEACyEKAkACQCABRQ0AIAEoAgwiBSABKAIQRgR/IAEgASgCACgCJEH/AXFBBmoRBQAFIAUoAgALEG8NACAJRQRAIAEhBQwDCwwBCyAJBH9BACEFDAIFQQALIQELIA0oAgAgAiAWKAIAIAwsAAAiBUH/AXEgBUEASBsiBWpGBEAgCCAFQQF0ENEBIAggDCwAAEEASAR/IBAoAgBB/////wdxQX9qBUEKCxDRASANIAgoAgAgCCAMLAAAQQBIGyICIAVqNgIACyAGQQxqIhMoAgAiBSAGQRBqIgkoAgBGBH8gBiAGKAIAKAIkQf8BcUEGahEFAAUgBSgCAAsgEiAVIAIgDSAXIA8gCyAHIA4gESAUEPINBEAgASEFDAELIBMoAgAiBSAJKAIARgRAIAYgBigCACgCKEH/AXFBBmoRBQAaBSATIAVBBGo2AgALIAohBQwBCwsgDigCACEBIAsoAgQgCywACyIJQf8BcSAJQQBIG0UgEiwAAEVyRQRAIAEgB2tBoAFIBEAgESgCACEPIA4gAUEEaiIJNgIAIAEgDzYCACAJIQELCyAEIAIgDSgCACADEPISOQMAIAsgByABIAMQqAMgBgRAQQAgACAGKAIMIgEgBigCEEYEfyAGIAooAgAoAiRB/wFxQQZqEQUABSABKAIACxBvIgAbIQEFIAAhAUEBIQALAkACQAJAIAVFDQAgBSgCDCICIAUoAhBGBH8gBSAFKAIAKAIkQf8BcUEGahEFAAUgAigCAAsQbw0AIABFDQEMAgsgAA0ADAELIAMgAygCAEECcjYCAAsgCBBUIAsQVCAHJAYgAQvJBwETfyMGIQcjBkHQAmokBiAHQbgCaiILIAIgB0GgAWoiFCAHQcgCaiIKIAdBxAJqIgUQ8w0gB0GsAmoiCEIANwIAIAhBADYCCEEAIQIDQCACQQNHBEAgCCACQQJ0akEANgIAIAJBAWohAgwBCwsgCEEIaiEQIAggCEELaiIMLAAAQQBIBH8gECgCAEH/////B3FBf2oFQQoLENEBIAdBqAJqIg0gCCgCACAIIAwsAABBAEgbIgI2AgAgB0GkAmoiDiAHNgIAIAdBoAJqIhFBADYCACAHQc0CaiISQQE6AAAgB0HMAmoiFUHFADoAACAIQQRqIRYgCigCACEXIAUoAgAhDyAAIgYhBQNAAkAgBgR/QQAgACAGKAIMIgogBigCEEYEfyAGIAYoAgAoAiRB/wFxQQZqEQUABSAKKAIACxBvIgkbIQBBACAGIAkbIQZBACAFIAkbBUEBIQlBACEGQQALIQoCQAJAIAFFDQAgASgCDCIFIAEoAhBGBH8gASABKAIAKAIkQf8BcUEGahEFAAUgBSgCAAsQbw0AIAlFBEAgASEFDAMLDAELIAkEf0EAIQUMAgVBAAshAQsgDSgCACACIBYoAgAgDCwAACIFQf8BcSAFQQBIGyIFakYEQCAIIAVBAXQQ0QEgCCAMLAAAQQBIBH8gECgCAEH/////B3FBf2oFQQoLENEBIA0gCCgCACAIIAwsAABBAEgbIgIgBWo2AgALIAZBDGoiEygCACIFIAZBEGoiCSgCAEYEfyAGIAYoAgAoAiRB/wFxQQZqEQUABSAFKAIACyASIBUgAiANIBcgDyALIAcgDiARIBQQ8g0EQCABIQUMAQsgEygCACIFIAkoAgBGBEAgBiAGKAIAKAIoQf8BcUEGahEFABoFIBMgBUEEajYCAAsgCiEFDAELCyAOKAIAIQEgCygCBCALLAALIglB/wFxIAlBAEgbRSASLAAARXJFBEAgASAHa0GgAUgEQCARKAIAIQ8gDiABQQRqIgk2AgAgASAPNgIAIAkhAQsLIAQgAiANKAIAIAMQ8xI5AwAgCyAHIAEgAxCoAyAGBEBBACAAIAYoAgwiASAGKAIQRgR/IAYgCigCACgCJEH/AXFBBmoRBQAFIAEoAgALEG8iABshAQUgACEBQQEhAAsCQAJAAkAgBUUNACAFKAIMIgIgBSgCEEYEfyAFIAUoAgAoAiRB/wFxQQZqEQUABSACKAIACxBvDQAgAEUNAQwCCyAADQAMAQsgAyADKAIAQQJyNgIACyAIEFQgCxBUIAckBiABC94HARJ/IwYhCCMGQbACaiQGIAhBoAFqIQ8gCEGYAmohBiAIQaQCaiILQgA3AgAgC0EANgIIQQAhAANAIABBA0cEQCALIABBAnRqQQA2AgAgAEEBaiEADAELCyAGIAMQ6wEgBigCAEGo0vkAEMoBIgBB0PwVQer8FSAPIAAoAgAoAjBBP3FBkAVqERwAGiAGENsBIAZCADcCACAGQQA2AghBACEAA0AgAEEDRwRAIAYgAEECdGpBADYCACAAQQFqIQAMAQsLIAZBCGohECAIQYgCaiERIAYgBkELaiIKLAAAQQBIBH8gECgCAEH/////B3FBf2oFQQoLENEBIAhBlAJqIgwgBigCACAGIAosAABBAEgbIgA2AgAgCEGQAmoiEyAINgIAIAhBjAJqIhRBADYCACAGQQRqIRUgASgCACIDIQ4DQAJAIAMEfyADKAIMIgcgAygCEEYEfyADIAMoAgAoAiRB/wFxQQZqEQUABSAHKAIACxBvBH8gAUEANgIAQQAhDkEAIQNBAQVBAAsFQQAhDkEAIQNBAQshDQJAAkAgAigCACIHRQ0AIAcoAgwiCSAHKAIQRgR/IAcgBygCACgCJEH/AXFBBmoRBQAFIAkoAgALEG8EQCACQQA2AgAMAQUgDUUNAwsMAQsgDQR/QQAhBwwCBUEACyEHCyAMKAIAIAAgFSgCACAKLAAAIglB/wFxIAlBAEgbIglqRgRAIAYgCUEBdBDRASAGIAosAABBAEgEfyAQKAIAQf////8HcUF/agVBCgsQ0QEgDCAGKAIAIAYgCiwAAEEASBsiACAJajYCAAsgA0EMaiISKAIAIg0gA0EQaiIJKAIARgR/IAMgAygCACgCJEH/AXFBBmoRBQAFIA0oAgALQRAgACAMIBRBACALIAggEyAPENkHDQAgEigCACIHIAkoAgBGBEAgAyADKAIAKAIoQf8BcUEGahEFABoFIBIgB0EEajYCAAsMAQsLIAYgDCgCACAAaxDRASAGKAIAIAYgCiwAAEEASBsCfxCDAiEWIBEgBTYCACAWCyAREPQSQQFHBEAgBEEENgIACyADBH8gAygCDCIAIAMoAhBGBH8gAyAOKAIAKAIkQf8BcUEGahEFAAUgACgCAAsQbwR/IAFBADYCAEEBBUEACwVBAQshAwJAAkACQCAHRQ0AIAcoAgwiACAHKAIQRgR/IAcgBygCACgCJEH/AXFBBmoRBQAFIAAoAgALEG8EQCACQQA2AgAMAQUgA0UNAgsMAgsgAw0ADAELIAQgBCgCAEECcjYCAAsgASgCACEXIAYQVCALEFQgCCQGIBcLFQAgASgCACACKAIAIAMgBCAFEKQfCxUAIAEoAgAgAigCACADIAQgBRCjHwsVACABKAIAIAIoAgAgAyAEIAUQoh8LFQAgASgCACACKAIAIAMgBCAFEKEfCxUAIAEoAgAgAigCACADIAQgBRCeHwsVACABKAIAIAIoAgAgAyAEIAUQnR8LuQEBBX8gAUEBSCAAQQRqIgUoAgAgAU5yRQRAQX8gAUEEIAFBBEobIgJBA3QgAkH/////AUsbEE8hAyACBEAgAyACQQN0aiEEIAMhAQNAIAEQ9A0gAUEIaiIBIARHDQALCyAAKAIAIQQgAEEIaiIGKAIAIQFBACEAA0AgACAESARAIAMgAEEDdGogASAAQQN0aikCADcCACAAQQFqIQAMAQsLIAEEQCABEEwLIAYgAzYCACAFIAI2AgALCxUAIAEoAgAgAigCACADIAQgBRCcHwvxAgEHfyMGIQYjBkEwaiQGIAZBJGohCSAGQSBqIQcgBkEcaiEKIAZBGGohCyADKAIEQQFxBEAgBiADEOsBIAYoAgBBqNL5ABDKASEIIAYQ2wEgBiADEOsBIAYoAgBBsNL5ABDKASEAIAYQ2wEgBiAAIAAoAgAoAhhB/wBxQawLahEDACAGQQxqIAAgACgCACgCHEH/AHFBrAtqEQMAIAUgASACKAIAIAYgBkEYaiIAIAggBEEBEIYLIAZGOgAAIAEoAgAhDANAIABBdGoiABBUIAAgBkcNAAsgDCEABSAHQX82AgAgACgCACgCECEIIAogASgCADYCACALIAIoAgA2AgAgCSAKKAIANgIAIAYgCygCADYCACABIAAgCSAGIAMgBCAHIAhBP3FBnAZqEQYAIgA2AgACQAJAAkACQCAHKAIADgIAAQILIAVBADoAAAwCCyAFQQE6AAAMAQsgBUEBOgAAIARBBDYCAAsLIAYkBiAAC74HARF/IwYhBSMGQdABaiQGAn8gAigCBCEVIAVBuAFqIgsgAiAFQcQBaiIKEIgJIAVBrAFqIgdCADcCACAHQQA2AghBACECA0AgAkEDRwRAIAcgAkECdGpBADYCACACQQFqIQIMAQsLIBULEIMFIRAgB0EIaiEMIAcgB0ELaiIILAAAQQBIBH8gDCgCAEH/////B3FBf2oFQQoLIgIQ0QEgBUGoAWoiDSAHKAIAIAcgCCwAAEEASBsiAjYCACAFQaQBaiIPIAUiDjYCACAFQaABaiIRQQA2AgAgB0EEaiESIAosAAAhEyAAIgYhCgNAAkAgBgR/QQAgACAGKAIMIgUgBigCEEYEfyAGIAYoAgAoAiRB/wFxQQZqEQUABSAFLAAAEIIBCyIFEG8iBRshAEEAIAogBRshCkEAIAYgBRsFQQAhCkEBIQVBAAshBgJAAkAgAUUNACABKAIMIgkgASgCEEYEfyABIAEoAgAoAiRB/wFxQQZqEQUABSAJLAAAEIIBCyIJEG8NACAFRQRAIAEhBQwDCwwBCyAFBH9BACEFDAIFQQALIQELIA0oAgAgAiASKAIAIAgsAAAiBUH/AXEgBUEASBsiBWpGBEAgByAFQQF0ENEBIAcgCCwAAEEASAR/IAwoAgBB/////wdxQX9qBUEKCyICENEBIA0gBygCACAHIAgsAABBAEgbIgIgBWo2AgALIAZBDGoiBSgCACIJIAZBEGoiFCgCAEYEfyAGIAYoAgAoAiRB/wFxQQZqEQUABSAJLAAAEIIBCyIJQf8BcSAQIAIgDSARIBMgCyAOIA9B0PwVENoHBEAgASEFDAELIAUoAgAiCSAUKAIARgRAIAYgBigCACgCKEH/AXFBBmoRBQAaBSAFIAlBAWo2AgALDAELCyAPKAIAIQEgCygCBCALLAALIghB/wFxIAhBAEgbBEAgASAOa0GgAUgEQCARKAIAIQwgDyABQQRqIgg2AgAgASAMNgIAIAghAQsLIAQgAiANKAIAIAMgEBDsEjYCACALIA4gASADEKgDIAYEQEEAIAAgBigCDCIBIAYoAhBGBH8gBiAKKAIAKAIkQf8BcUEGahEFAAUgASwAABCCAQsiARBvIgAbIQEFIAAhAUEBIQALAkACQAJAIAVFDQAgBSgCDCICIAUoAhBGBH8gBSAFKAIAKAIkQf8BcUEGahEFAAUgAiwAABCCAQsiAhBvDQAgAEUNAQwCCyAADQAMAQsgAyADKAIAQQJyNgIACyAHEFQgCxBUIA4kBiABC74HARF/IwYhBSMGQdABaiQGAn8gAigCBCEVIAVBuAFqIgsgAiAFQcQBaiIKEIgJIAVBrAFqIgdCADcCACAHQQA2AghBACECA0AgAkEDRwRAIAcgAkECdGpBADYCACACQQFqIQIMAQsLIBULEIMFIRAgB0EIaiEMIAcgB0ELaiIILAAAQQBIBH8gDCgCAEH/////B3FBf2oFQQoLIgIQ0QEgBUGoAWoiDSAHKAIAIAcgCCwAAEEASBsiAjYCACAFQaQBaiIPIAUiDjYCACAFQaABaiIRQQA2AgAgB0EEaiESIAosAAAhEyAAIgYhCgNAAkAgBgR/QQAgACAGKAIMIgUgBigCEEYEfyAGIAYoAgAoAiRB/wFxQQZqEQUABSAFLAAAEIIBCyIFEG8iBRshAEEAIAogBRshCkEAIAYgBRsFQQAhCkEBIQVBAAshBgJAAkAgAUUNACABKAIMIgkgASgCEEYEfyABIAEoAgAoAiRB/wFxQQZqEQUABSAJLAAAEIIBCyIJEG8NACAFRQRAIAEhBQwDCwwBCyAFBH9BACEFDAIFQQALIQELIA0oAgAgAiASKAIAIAgsAAAiBUH/AXEgBUEASBsiBWpGBEAgByAFQQF0ENEBIAcgCCwAAEEASAR/IAwoAgBB/////wdxQX9qBUEKCyICENEBIA0gBygCACAHIAgsAABBAEgbIgIgBWo2AgALIAZBDGoiBSgCACIJIAZBEGoiFCgCAEYEfyAGIAYoAgAoAiRB/wFxQQZqEQUABSAJLAAAEIIBCyIJQf8BcSAQIAIgDSARIBMgCyAOIA9B0PwVENoHBEAgASEFDAELIAUoAgAiCSAUKAIARgRAIAYgBigCACgCKEH/AXFBBmoRBQAaBSAFIAlBAWo2AgALDAELCyAPKAIAIQEgCygCBCALLAALIghB/wFxIAhBAEgbBEAgASAOa0GgAUgEQCARKAIAIQwgDyABQQRqIgg2AgAgASAMNgIAIAghAQsLIAQgAiANKAIAIAMgEBDtEjcDACALIA4gASADEKgDIAYEQEEAIAAgBigCDCIBIAYoAhBGBH8gBiAKKAIAKAIkQf8BcUEGahEFAAUgASwAABCCAQsiARBvIgAbIQEFIAAhAUEBIQALAkACQAJAIAVFDQAgBSgCDCICIAUoAhBGBH8gBSAFKAIAKAIkQf8BcUEGahEFAAUgAiwAABCCAQsiAhBvDQAgAEUNAQwCCyAADQAMAQsgAyADKAIAQQJyNgIACyAHEFQgCxBUIA4kBiABC74HARF/IwYhBSMGQdABaiQGAn8gAigCBCEVIAVBuAFqIgsgAiAFQcQBaiIKEIgJIAVBrAFqIgdCADcCACAHQQA2AghBACECA0AgAkEDRwRAIAcgAkECdGpBADYCACACQQFqIQIMAQsLIBULEIMFIRAgB0EIaiEMIAcgB0ELaiIILAAAQQBIBH8gDCgCAEH/////B3FBf2oFQQoLIgIQ0QEgBUGoAWoiDSAHKAIAIAcgCCwAAEEASBsiAjYCACAFQaQBaiIPIAUiDjYCACAFQaABaiIRQQA2AgAgB0EEaiESIAosAAAhEyAAIgYhCgNAAkAgBgR/QQAgACAGKAIMIgUgBigCEEYEfyAGIAYoAgAoAiRB/wFxQQZqEQUABSAFLAAAEIIBCyIFEG8iBRshAEEAIAogBRshCkEAIAYgBRsFQQAhCkEBIQVBAAshBgJAAkAgAUUNACABKAIMIgkgASgCEEYEfyABIAEoAgAoAiRB/wFxQQZqEQUABSAJLAAAEIIBCyIJEG8NACAFRQRAIAEhBQwDCwwBCyAFBH9BACEFDAIFQQALIQELIA0oAgAgAiASKAIAIAgsAAAiBUH/AXEgBUEASBsiBWpGBEAgByAFQQF0ENEBIAcgCCwAAEEASAR/IAwoAgBB/////wdxQX9qBUEKCyICENEBIA0gBygCACAHIAgsAABBAEgbIgIgBWo2AgALIAZBDGoiBSgCACIJIAZBEGoiFCgCAEYEfyAGIAYoAgAoAiRB/wFxQQZqEQUABSAJLAAAEIIBCyIJQf8BcSAQIAIgDSARIBMgCyAOIA9B0PwVENoHBEAgASEFDAELIAUoAgAiCSAUKAIARgRAIAYgBigCACgCKEH/AXFBBmoRBQAaBSAFIAlBAWo2AgALDAELCyAPKAIAIQEgCygCBCALLAALIghB/wFxIAhBAEgbBEAgASAOa0GgAUgEQCARKAIAIQwgDyABQQRqIgg2AgAgASAMNgIAIAghAQsLIAQgAiANKAIAIAMgEBDuEjsBACALIA4gASADEKgDIAYEQEEAIAAgBigCDCIBIAYoAhBGBH8gBiAKKAIAKAIkQf8BcUEGahEFAAUgASwAABCCAQsiARBvIgAbIQEFIAAhAUEBIQALAkACQAJAIAVFDQAgBSgCDCICIAUoAhBGBH8gBSAFKAIAKAIkQf8BcUEGahEFAAUgAiwAABCCAQsiAhBvDQAgAEUNAQwCCyAADQAMAQsgAyADKAIAQQJyNgIACyAHEFQgCxBUIA4kBiABC0QBAX8gACABEKwfIAAgATYCACAAQQhqIQNBACEAA0AgACABSARAIAMoAgAgAEEDdGogAikCADcCACAAQQFqIQAMAQsLC74HARF/IwYhBSMGQdABaiQGAn8gAigCBCEVIAVBuAFqIgsgAiAFQcQBaiIKEIgJIAVBrAFqIgdCADcCACAHQQA2AghBACECA0AgAkEDRwRAIAcgAkECdGpBADYCACACQQFqIQIMAQsLIBULEIMFIRAgB0EIaiEMIAcgB0ELaiIILAAAQQBIBH8gDCgCAEH/////B3FBf2oFQQoLIgIQ0QEgBUGoAWoiDSAHKAIAIAcgCCwAAEEASBsiAjYCACAFQaQBaiIPIAUiDjYCACAFQaABaiIRQQA2AgAgB0EEaiESIAosAAAhEyAAIgYhCgNAAkAgBgR/QQAgACAGKAIMIgUgBigCEEYEfyAGIAYoAgAoAiRB/wFxQQZqEQUABSAFLAAAEIIBCyIFEG8iBRshAEEAIAogBRshCkEAIAYgBRsFQQAhCkEBIQVBAAshBgJAAkAgAUUNACABKAIMIgkgASgCEEYEfyABIAEoAgAoAiRB/wFxQQZqEQUABSAJLAAAEIIBCyIJEG8NACAFRQRAIAEhBQwDCwwBCyAFBH9BACEFDAIFQQALIQELIA0oAgAgAiASKAIAIAgsAAAiBUH/AXEgBUEASBsiBWpGBEAgByAFQQF0ENEBIAcgCCwAAEEASAR/IAwoAgBB/////wdxQX9qBUEKCyICENEBIA0gBygCACAHIAgsAABBAEgbIgIgBWo2AgALIAZBDGoiBSgCACIJIAZBEGoiFCgCAEYEfyAGIAYoAgAoAiRB/wFxQQZqEQUABSAJLAAAEIIBCyIJQf8BcSAQIAIgDSARIBMgCyAOIA9B0PwVENoHBEAgASEFDAELIAUoAgAiCSAUKAIARgRAIAYgBigCACgCKEH/AXFBBmoRBQAaBSAFIAlBAWo2AgALDAELCyAPKAIAIQEgCygCBCALLAALIghB/wFxIAhBAEgbBEAgASAOa0GgAUgEQCARKAIAIQwgDyABQQRqIgg2AgAgASAMNgIAIAghAQsLIAQgAiANKAIAIAMgEBDvEjYCACALIA4gASADEKgDIAYEQEEAIAAgBigCDCIBIAYoAhBGBH8gBiAKKAIAKAIkQf8BcUEGahEFAAUgASwAABCCAQsiARBvIgAbIQEFIAAhAUEBIQALAkACQAJAIAVFDQAgBSgCDCICIAUoAhBGBH8gBSAFKAIAKAIkQf8BcUEGahEFAAUgAiwAABCCAQsiAhBvDQAgAEUNAQwCCyAADQAMAQsgAyADKAIAQQJyNgIACyAHEFQgCxBUIA4kBiABC74HARF/IwYhBSMGQdABaiQGAn8gAigCBCEVIAVBuAFqIgsgAiAFQcQBaiIKEIgJIAVBrAFqIgdCADcCACAHQQA2AghBACECA0AgAkEDRwRAIAcgAkECdGpBADYCACACQQFqIQIMAQsLIBULEIMFIRAgB0EIaiEMIAcgB0ELaiIILAAAQQBIBH8gDCgCAEH/////B3FBf2oFQQoLIgIQ0QEgBUGoAWoiDSAHKAIAIAcgCCwAAEEASBsiAjYCACAFQaQBaiIPIAUiDjYCACAFQaABaiIRQQA2AgAgB0EEaiESIAosAAAhEyAAIgYhCgNAAkAgBgR/QQAgACAGKAIMIgUgBigCEEYEfyAGIAYoAgAoAiRB/wFxQQZqEQUABSAFLAAAEIIBCyIFEG8iBRshAEEAIAogBRshCkEAIAYgBRsFQQAhCkEBIQVBAAshBgJAAkAgAUUNACABKAIMIgkgASgCEEYEfyABIAEoAgAoAiRB/wFxQQZqEQUABSAJLAAAEIIBCyIJEG8NACAFRQRAIAEhBQwDCwwBCyAFBH9BACEFDAIFQQALIQELIA0oAgAgAiASKAIAIAgsAAAiBUH/AXEgBUEASBsiBWpGBEAgByAFQQF0ENEBIAcgCCwAAEEASAR/IAwoAgBB/////wdxQX9qBUEKCyICENEBIA0gBygCACAHIAgsAABBAEgbIgIgBWo2AgALIAZBDGoiBSgCACIJIAZBEGoiFCgCAEYEfyAGIAYoAgAoAiRB/wFxQQZqEQUABSAJLAAAEIIBCyIJQf8BcSAQIAIgDSARIBMgCyAOIA9B0PwVENoHBEAgASEFDAELIAUoAgAiCSAUKAIARgRAIAYgBigCACgCKEH/AXFBBmoRBQAaBSAFIAlBAWo2AgALDAELCyAPKAIAIQEgCygCBCALLAALIghB/wFxIAhBAEgbBEAgASAOa0GgAUgEQCARKAIAIQwgDyABQQRqIgg2AgAgASAMNgIAIAghAQsLIAQgAiANKAIAIAMgEBDwEjcDACALIA4gASADEKgDIAYEQEEAIAAgBigCDCIBIAYoAhBGBH8gBiAKKAIAKAIkQf8BcUEGahEFAAUgASwAABCCAQsiARBvIgAbIQEFIAAhAUEBIQALAkACQAJAIAVFDQAgBSgCDCICIAUoAhBGBH8gBSAFKAIAKAIkQf8BcUEGahEFAAUgAiwAABCCAQsiAhBvDQAgAEUNAQwCCyAADQAMAQsgAyADKAIAQQJyNgIACyAHEFQgCxBUIA4kBiABC+oHARN/IwYhByMGQfABaiQGIAdB2AFqIgsgAiAHQaABaiIUIAdB5wFqIgogB0HmAWoiBRD2DSAHQcwBaiIIQgA3AgAgCEEANgIIQQAhAgNAIAJBA0cEQCAIIAJBAnRqQQA2AgAgAkEBaiECDAELCyAIQQhqIRAgCCAIQQtqIgwsAABBAEgEfyAQKAIAQf////8HcUF/agVBCgsiAhDRASAHQcgBaiINIAgoAgAgCCAMLAAAQQBIGyICNgIAIAdBxAFqIg4gBzYCACAHQcABaiIRQQA2AgAgB0HlAWoiEkEBOgAAIAdB5AFqIhVBxQA6AAAgCEEEaiEWIAosAAAhFyAFLAAAIQ8gACIGIQUDQAJAIAYEf0EAIAAgBigCDCIKIAYoAhBGBH8gBiAGKAIAKAIkQf8BcUEGahEFAAUgCiwAABCCAQsiChBvIgkbIQBBACAGIAkbIQZBACAFIAkbBUEBIQlBACEGQQALIQoCQAJAIAFFDQAgASgCDCIFIAEoAhBGBH8gASABKAIAKAIkQf8BcUEGahEFAAUgBSwAABCCAQsiBRBvDQAgCUUEQCABIQUMAwsMAQsgCQR/QQAhBQwCBUEACyEBCyANKAIAIAIgFigCACAMLAAAIgVB/wFxIAVBAEgbIgVqRgRAIAggBUEBdBDRASAIIAwsAABBAEgEfyAQKAIAQf////8HcUF/agVBCgsiAhDRASANIAgoAgAgCCAMLAAAQQBIGyICIAVqNgIACyAGQQxqIhMoAgAiBSAGQRBqIgkoAgBGBH8gBiAGKAIAKAIkQf8BcUEGahEFAAUgBSwAABCCAQsiBUH/AXEgEiAVIAIgDSAXIA8gCyAHIA4gESAUEPUNBEAgASEFDAELIBMoAgAiBSAJKAIARgRAIAYgBigCACgCKEH/AXFBBmoRBQAaBSATIAVBAWo2AgALIAohBQwBCwsgDigCACEBIAsoAgQgCywACyIJQf8BcSAJQQBIG0UgEiwAAEVyRQRAIAEgB2tBoAFIBEAgESgCACEPIA4gAUEEaiIJNgIAIAEgDzYCACAJIQELCyAEIAIgDSgCACADEPESOAIAIAsgByABIAMQqAMgBgRAQQAgACAGKAIMIgEgBigCEEYEfyAGIAooAgAoAiRB/wFxQQZqEQUABSABLAAAEIIBCyIBEG8iABshAQUgACEBQQEhAAsCQAJAAkAgBUUNACAFKAIMIgIgBSgCEEYEfyAFIAUoAgAoAiRB/wFxQQZqEQUABSACLAAAEIIBCyICEG8NACAARQ0BDAILIAANAAwBCyADIAMoAgBBAnI2AgALIAgQVCALEFQgByQGIAEL6gcBE38jBiEHIwZB8AFqJAYgB0HYAWoiCyACIAdBoAFqIhQgB0HnAWoiCiAHQeYBaiIFEPYNIAdBzAFqIghCADcCACAIQQA2AghBACECA0AgAkEDRwRAIAggAkECdGpBADYCACACQQFqIQIMAQsLIAhBCGohECAIIAhBC2oiDCwAAEEASAR/IBAoAgBB/////wdxQX9qBUEKCyICENEBIAdByAFqIg0gCCgCACAIIAwsAABBAEgbIgI2AgAgB0HEAWoiDiAHNgIAIAdBwAFqIhFBADYCACAHQeUBaiISQQE6AAAgB0HkAWoiFUHFADoAACAIQQRqIRYgCiwAACEXIAUsAAAhDyAAIgYhBQNAAkAgBgR/QQAgACAGKAIMIgogBigCEEYEfyAGIAYoAgAoAiRB/wFxQQZqEQUABSAKLAAAEIIBCyIKEG8iCRshAEEAIAYgCRshBkEAIAUgCRsFQQEhCUEAIQZBAAshCgJAAkAgAUUNACABKAIMIgUgASgCEEYEfyABIAEoAgAoAiRB/wFxQQZqEQUABSAFLAAAEIIBCyIFEG8NACAJRQRAIAEhBQwDCwwBCyAJBH9BACEFDAIFQQALIQELIA0oAgAgAiAWKAIAIAwsAAAiBUH/AXEgBUEASBsiBWpGBEAgCCAFQQF0ENEBIAggDCwAAEEASAR/IBAoAgBB/////wdxQX9qBUEKCyICENEBIA0gCCgCACAIIAwsAABBAEgbIgIgBWo2AgALIAZBDGoiEygCACIFIAZBEGoiCSgCAEYEfyAGIAYoAgAoAiRB/wFxQQZqEQUABSAFLAAAEIIBCyIFQf8BcSASIBUgAiANIBcgDyALIAcgDiARIBQQ9Q0EQCABIQUMAQsgEygCACIFIAkoAgBGBEAgBiAGKAIAKAIoQf8BcUEGahEFABoFIBMgBUEBajYCAAsgCiEFDAELCyAOKAIAIQEgCygCBCALLAALIglB/wFxIAlBAEgbRSASLAAARXJFBEAgASAHa0GgAUgEQCARKAIAIQ8gDiABQQRqIgk2AgAgASAPNgIAIAkhAQsLIAQgAiANKAIAIAMQ8hI5AwAgCyAHIAEgAxCoAyAGBEBBACAAIAYoAgwiASAGKAIQRgR/IAYgCigCACgCJEH/AXFBBmoRBQAFIAEsAAAQggELIgEQbyIAGyEBBSAAIQFBASEACwJAAkACQCAFRQ0AIAUoAgwiAiAFKAIQRgR/IAUgBSgCACgCJEH/AXFBBmoRBQAFIAIsAAAQggELIgIQbw0AIABFDQEMAgsgAA0ADAELIAMgAygCAEECcjYCAAsgCBBUIAsQVCAHJAYgAQvqBwETfyMGIQcjBkHwAWokBiAHQdgBaiILIAIgB0GgAWoiFCAHQecBaiIKIAdB5gFqIgUQ9g0gB0HMAWoiCEIANwIAIAhBADYCCEEAIQIDQCACQQNHBEAgCCACQQJ0akEANgIAIAJBAWohAgwBCwsgCEEIaiEQIAggCEELaiIMLAAAQQBIBH8gECgCAEH/////B3FBf2oFQQoLIgIQ0QEgB0HIAWoiDSAIKAIAIAggDCwAAEEASBsiAjYCACAHQcQBaiIOIAc2AgAgB0HAAWoiEUEANgIAIAdB5QFqIhJBAToAACAHQeQBaiIVQcUAOgAAIAhBBGohFiAKLAAAIRcgBSwAACEPIAAiBiEFA0ACQCAGBH9BACAAIAYoAgwiCiAGKAIQRgR/IAYgBigCACgCJEH/AXFBBmoRBQAFIAosAAAQggELIgoQbyIJGyEAQQAgBiAJGyEGQQAgBSAJGwVBASEJQQAhBkEACyEKAkACQCABRQ0AIAEoAgwiBSABKAIQRgR/IAEgASgCACgCJEH/AXFBBmoRBQAFIAUsAAAQggELIgUQbw0AIAlFBEAgASEFDAMLDAELIAkEf0EAIQUMAgVBAAshAQsgDSgCACACIBYoAgAgDCwAACIFQf8BcSAFQQBIGyIFakYEQCAIIAVBAXQQ0QEgCCAMLAAAQQBIBH8gECgCAEH/////B3FBf2oFQQoLIgIQ0QEgDSAIKAIAIAggDCwAAEEASBsiAiAFajYCAAsgBkEMaiITKAIAIgUgBkEQaiIJKAIARgR/IAYgBigCACgCJEH/AXFBBmoRBQAFIAUsAAAQggELIgVB/wFxIBIgFSACIA0gFyAPIAsgByAOIBEgFBD1DQRAIAEhBQwBCyATKAIAIgUgCSgCAEYEQCAGIAYoAgAoAihB/wFxQQZqEQUAGgUgEyAFQQFqNgIACyAKIQUMAQsLIA4oAgAhASALKAIEIAssAAsiCUH/AXEgCUEASBtFIBIsAABFckUEQCABIAdrQaABSARAIBEoAgAhDyAOIAFBBGoiCTYCACABIA82AgAgCSEBCwsgBCACIA0oAgAgAxDzEjkDACALIAcgASADEKgDIAYEQEEAIAAgBigCDCIBIAYoAhBGBH8gBiAKKAIAKAIkQf8BcUEGahEFAAUgASwAABCCAQsiARBvIgAbIQEFIAAhAUEBIQALAkACQAJAIAVFDQAgBSgCDCICIAUoAhBGBH8gBSAFKAIAKAIkQf8BcUEGahEFAAUgAiwAABCCAQsiAhBvDQAgAEUNAQwCCyAADQAMAQsgAyADKAIAQQJyNgIACyAIEFQgCxBUIAckBiABC0EBAn8gACgCBCEBIAAoAgAgACgCCCICQQF1aiEAIAJBAXEEQCAAKAIAIAFqKAIAIQELIAAgAUH/A3FBogdqEQAACyMBAX9BlNL5AEGU0vkAKAIAIgFBAWo2AgAgACABQQFqNgIEC7ABAgZ/AX0jBiECIwZBEGokBiACEPQNIAEgAEEgaiIEKAIAIAIQsh8gAEEMaiEFIABBCGohBiAAQRxqIQdBACEAA0AgBCgCACIDIABKBEAgBSgCACADIABrQQJ0aigCACEDIAEgABBkIAM2AgRDAACAPyAGKAIAIAQoAgAgAGtBAnRqKAIAsiAHKAIAskMAAEBAlJWTIQggASAAEGQgCDgCACAAQQFqIQAMAQsLIAIkBgv/BwESfyMGIQkjBkHwAWokBiAJQaABaiEPIAlB0AFqIQYgCUHcAWoiDEIANwIAIAxBADYCCEEAIQADQCAAQQNHBEAgDCAAQQJ0akEANgIAIABBAWohAAwBCwsgBiADEOsBIAYoAgBBiNL5ABDKASIAQdD8FUHq/BUgDyAAKAIAKAIgQT9xQZAFahEcABogBhDbASAGQgA3AgAgBkEANgIIQQAhAANAIABBA0cEQCAGIABBAnRqQQA2AgAgAEEBaiEADAELCyAGQQhqIRAgCUHAAWohESAGIAZBC2oiCiwAAEEASAR/IBAoAgBB/////wdxQX9qBUEKCyIAENEBIAlBzAFqIg0gBigCACAGIAosAABBAEgbIgA2AgAgCUHIAWoiEyAJNgIAIAlBxAFqIhRBADYCACAGQQRqIRUgASgCACIDIQ4DQAJAIAMEfyADKAIMIgcgAygCEEYEfyADIAMoAgAoAiRB/wFxQQZqEQUABSAHLAAAEIIBCyIHEG8EfyABQQA2AgBBACEOQQAhA0EBBUEACwVBACEOQQAhA0EBCyELAkACQCACKAIAIgdFDQAgBygCDCIIIAcoAhBGBH8gByAHKAIAKAIkQf8BcUEGahEFAAUgCCwAABCCAQsiCBBvBEAgAkEANgIADAEFIAtFDQMLDAELIAsEf0EAIQcMAgVBAAshBwsgDSgCACAAIBUoAgAgCiwAACIIQf8BcSAIQQBIGyIIakYEQCAGIAhBAXQQ0QEgBiAKLAAAQQBIBH8gECgCAEH/////B3FBf2oFQQoLIgAQ0QEgDSAGKAIAIAYgCiwAAEEASBsiACAIajYCAAsgA0EMaiISKAIAIgsgA0EQaiIIKAIARgR/IAMgAygCACgCJEH/AXFBBmoRBQAFIAssAAAQggELIgtB/wFxQRAgACANIBRBACAMIAkgEyAPENoHDQAgEigCACIHIAgoAgBGBEAgAyADKAIAKAIoQf8BcUEGahEFABoFIBIgB0EBajYCAAsMAQsLIAYgDSgCACAAaxDRASAGKAIAIAYgCiwAAEEASBsCfxCDAiEWIBEgBTYCACAWCyAREPQSQQFHBEAgBEEENgIACyADBH8gAygCDCIAIAMoAhBGBH8gAyAOKAIAKAIkQf8BcUEGahEFAAUgACwAABCCAQsiABBvBH8gAUEANgIAQQEFQQALBUEBCyEDAkACQAJAIAdFDQAgBygCDCIAIAcoAhBGBH8gByAHKAIAKAIkQf8BcUEGahEFAAUgACwAABCCAQsiABBvBEAgAkEANgIADAEFIANFDQILDAILIAMNAAwBCyAEIAQoAgBBAnI2AgALIAEoAgAhFyAGEFQgDBBUIAkkBiAXCxUAIAEoAgAgAigCACADIAQgBRC3HwsVACABKAIAIAIoAgAgAyAEIAUQth8LFQAgASgCACACKAIAIAMgBCAFELUfCxUAIAEoAgAgAigCACADIAQgBRC0HwsVACABKAIAIAIoAgAgAyAEIAUQsR8LFQAgASgCACACKAIAIAMgBCAFELAfC60CAgx/AXwjBiEGIwZBMGokBiAGQQhqIQcgAEEcaiILKAIAIQggBiAAQSBqIgooAgA2AgAgBiAINgIEQZzDFyAGEEsgAEEMaiEMIABBCGohDUEAIQgDQCAKKAIAIgkgCEoEQCAGIAEgAiAMKAIAIAkgCGtBAnRqKAIAIgkQ6hIgBhBdIQ4gACgCACAJQQJ0aigCACEPIAMgCUEBdGovAQAhECAFIAlqLQAAIARsQQh1IQlEAAAAAAAAWUAgDSgCACAKKAIAIAhrQQJ0aigCACIRt0QAAAAAAABZQKIgCygCAEEDbLijoSESIAcgDjYCACAHIA82AgQgByAQNgIIIAcgCTYCDCAHIBE2AhAgByASOQMYQbnDFyAHEEsgBhBYIAhBAWohCAwBCwsgBiQGCxUAIAEoAgAgAigCACADIAQgBRCvHwvxAgEHfyMGIQYjBkEwaiQGIAZBJGohCSAGQSBqIQcgBkEcaiEKIAZBGGohCyADKAIEQQFxBEAgBiADEOsBIAYoAgBBiNL5ABDKASEIIAYQ2wEgBiADEOsBIAYoAgBBmNL5ABDKASEAIAYQ2wEgBiAAIAAoAgAoAhhB/wBxQawLahEDACAGQQxqIAAgACgCACgCHEH/AHFBrAtqEQMAIAUgASACKAIAIAYgBkEYaiIAIAggBEEBEIcLIAZGOgAAIAEoAgAhDANAIABBdGoiABBUIAAgBkcNAAsgDCEABSAHQX82AgAgACgCACgCECEIIAogASgCADYCACALIAIoAgA2AgAgCSAKKAIANgIAIAYgCygCADYCACABIAAgCSAGIAMgBCAHIAhBP3FBnAZqEQYAIgA2AgACQAJAAkACQCAHKAIADgIAAQILIAVBADoAAAwCCyAFQQE6AAAMAQsgBUEBOgAAIARBBDYCAAsLIAYkBiAACz8BAX9BACEAA0AgASACRwRAIAEoAgAgAEEEdGoiAEGAgICAf3EiA0EYdiADciAAcyEAIAFBBGohAQwBCwsgAAsZACAAQgA3AgAgAEEANgIIIAAgAiADEPYSC1kBAX8CfwJAA38CfyADIARGDQJBfyABIAJGDQAaQX8gASgCACIAIAMoAgAiBUgNABogBSAASAR/QQEFIANBBGohAyABQQRqIQEMAgsLCwwBCyABIAJHCyIACz8BAX9BACEAA0AgASACRwRAIABBBHQgASwAAGoiAEGAgICAf3EiA0EYdiADciAAcyEAIAFBAWohAQwBCwsgAAsZACAAQgA3AgAgAEEANgIIIAAgAiADEPcSC1kBAX8CfwJAA38CfyADIARGDQJBfyABIAJGDQAaQX8gASwAACIAIAMsAAAiBUgNABogBSAASAR/QQEFIANBAWohAyABQQFqIQEMAgsLCwwBCyABIAJHCyIAC8EDARN/IwYhBCMGQTBqJAYgBEEYaiEKIARBEGohDSAEQSBqIQsgAigCBCEOIAIoAgAhDyAAQRxqIRAgAEEEaiERIABBGGohEgNAIAYgECgCAEgEQCADIAZBAnRqIgAtAAAhBSADIAZBAnRqQQFqIgwtAAAhByADIAZBAnRqQQJqIggtAAAhCSAEIAY2AgAgBCAFNgIEIAQgBzYCCCAEIAk2AgxBqMQXIAQQSyAALQAAQRhsQQh2IRMgDC0AAEEYbEEIdiEUIAgtAABBGGxBCHYhFUEAIQdBACEAA0AgByAOSARAQQAhCCACQYSACGogB0ECdGooAgAgE0GAJGxqIBRBwAFsaiAVQQN0aiEFA0AgCEECSQRAIAVBBGohFkEAIQkgBSgCACEFA0AgACAPSCAJQRBJcQRAIBEoAgAgAEECdGooAgAgEigCAE4EQCALIAEgAiAAEOoSIAogCxBdNgIAIAogBUEDcTYCBEG5xBcgChBLIAsQWAsgCUEBaiEJIAVBAnYhBSAAQQFqIQAMAQsLIAhBAWohCCAWIQUMAQsLQcKTHyANEEsgB0EBaiEHDAELCyAGQQFqIQYMAQsLIAQkBgsaAQF/IAAoAgQiAQR/IAEQUxCXARBdBUEACwuyAgEHfyMGIQMjBkEgaiQGIANBEGohBCADQQRqIQUgA0EIaiEHIAEQbyEGIABBNGoiCCwAAEEARyECAkAgBgRAIAJFBEAgCCAAKAIwIgEQb0EBc0EBcToAAAsFAn8gAgR/IAcgAEEwaiIGKAIAEIIBOgAAAkACQAJAIAAoAiQiAiAAKAIoIAcgB0EBaiADIAQgBEEIaiAFIAIoAgAoAgxBD3FB7AZqERsAQQFrDgMAAAECC0F/IQEMBQsgBCAGKAIAOgAAIAUgBEEBajYCAAsgAEEgaiECAkACQANAIAUoAgAiACAETQ0BIAUgAEF/aiIANgIAIAAsAAAgAigCABDJBUF/Rw0ACwwBCyAGDAILQX8hAQwDBSAAQTBqCwsiACABNgIAIAhBAToAAAsLIAMkBiABCwkAIABBARD4EgsJACAAQQAQ+BILaQECfyAAQSRqIgIgASgCAEG41PkAEMoBIgE2AgAgAEEsaiIDIAEgASgCACgCGEH/AXFBBmoRBQA2AgAgACACKAIAIgAgACgCACgCHEH/AXFBBmoRBQBBAXE6ADUgAygCAEEISgRAEAQLC60CAQd/IwYhAyMGQSBqJAYgA0EQaiEEIANBCGohBSADQQRqIQcgARBvIQYgAEE0aiIILAAAQQBHIQICQCAGBEAgAkUEQCAIIAAoAjAiARBvQQFzQQFxOgAACwUCfyACBH8gByAAQTBqIgYoAgA2AgACQAJAAkAgACgCJCICIAAoAiggByAHQQRqIAMgBCAEQQhqIAUgAigCACgCDEEPcUHsBmoRGwBBAWsOAwAAAQILQX8hAQwFCyAEIAYoAgA6AAAgBSAEQQFqNgIACyAAQSBqIQICQAJAA0AgBSgCACIAIARNDQEgBSAAQX9qIgA2AgAgACwAACACKAIAEMkFQX9HDQALDAELIAYMAgtBfyEBDAMFIABBMGoLCyABNgIAIAhBAToAAAsLIAMkBiABCwkAIABBARD5EgsJACAAQQAQ+RILaQECfyAAQSRqIgIgASgCAEHA1PkAEMoBIgE2AgAgAEEsaiIDIAEgASgCACgCGEH/AXFBBmoRBQA2AgAgACACKAIAIgAgACgCACgCHEH/AXFBBmoRBQBBAXE6ADUgAygCAEEISgRAEAQLC8YCAQZ/IABBEGohCSAAQQRqIQggA0EBcyEKQQAhAwNAIAUgCSgCACIGSARAIAgoAgAgBUECdGooAgAiBiADTCEHIAMgBiAHGyEGIAcgCnIEQCAGIQMFIAQgBRC3BEUEQCAIKAIAIAVBAnRqKAIAIQMLCyAFQQFqIQUMAQsLIABBGGoiB0EBIAMgAWwiAUEIdSABQYACSBs2AgAgAEEgaiIDQQA2AgAgAEEMaiEEIABBCGohBUEAIQEgBiEAA0AgASAASARAIAEgAkYgCCgCACABQQJ0aiIGKAIAIAcoAgBOcgRAIAMgAygCAEEBaiIANgIAIAQoAgAgAEECdGogATYCACAFKAIAIAMoAgBBAnRqIAYoAgA2AgAgCSgCACEACyABQQFqIQEMAQsLIAMoAgAiAEEBSgRAIAAgBSgCACAEKAIAEIsfCwulAgEKfyMGIQMjBkEgaiQGIANBEGohBCADQQhqIQIgA0EEaiEFAn8CQCABEG8NACACIAEQggE6AAAgACwALARAIAJBAUEBIAAoAiAQrAFBAUYNAUF/DAILIAUgBDYCACACQQFqIQcgAEEkaiEIIABBKGohCSAEQQhqIQogAEEgaiEGIAIhAAJAAkADQCAIKAIAIgIgCSgCACAAIAcgAyAEIAogBSACKAIAKAIMQQ9xQewGahEbACECIAMoAgAgAEYNAiACQQNGDQEgAkECTw0CIARBASAFKAIAIARrIgAgBigCABCsASAARw0CIAMoAgAhACACQQFGDQALDAILIABBAUEBIAYoAgAQrAFBAUcNAAwBC0F/DAELIAEQ/A4LIQsgAyQGIAsLYwECfwJAIAAsACwEQCABQQEgAiAAKAIgEKwBIQMFA0AgAyACTg0CIAAoAgAoAjQhBCAAIAEsAAAQggEgBEH/AXFBkAJqEQEAQX9HBEAgA0EBaiEDIAFBAWohAQwBCwsLCyADC0kBAX8gACAAKAIAKAIYQf8BcUEGahEFABogACABKAIAQbjU+QAQygEiAjYCJCAAIAIgAigCACgCHEH/AXFBBmoRBQBBAXE6ACwLpgIBCn8jBiEDIwZBIGokBiADQRBqIQQgA0EIaiECIANBBGohBQJ/AkAgARBvDQAgAiABNgIAIAAsACwEQCACQQRBASAAKAIgEKwBQQFGDQFBfwwCCyAFIAQ2AgAgAkEEaiEHIABBJGohCCAAQShqIQkgBEEIaiEKIABBIGohBiACIQACQAJAA0AgCCgCACICIAkoAgAgACAHIAMgBCAKIAUgAigCACgCDEEPcUHsBmoRGwAhAiADKAIAIABGDQIgAkEDRg0BIAJBAk8NAiAEQQEgBSgCACAEayIAIAYoAgAQrAEgAEcNAiADKAIAIQAgAkEBRg0ACwwCCyAAQQFBASAGKAIAEKwBQQFHDQAMAQtBfwwBC0EAIAEgARBvGwshCyADJAYgCwtcAQF/AkAgACwALARAIAFBBCACIAAoAiAQrAEhAwUDQCADIAJODQIgACABKAIAIAAoAgAoAjRB/wFxQZACahEBAEF/RwRAIANBAWohAyABQQRqIQEMAQsLCwsgAwtJAQF/IAAgACgCACgCGEH/AXFBBmoRBQAaIAAgASgCAEHA1PkAEMoBIgI2AiQgACACIAIoAgAoAhxB/wFxQQZqEQUAQQFxOgAsCwMAAQsvAQF/IABB7LoWNgIAIABBBGoQxBIgAEEIaiIBQgA3AgAgAUIANwIIIAFCADcCEAsuAQF/A0AgAyACSARAIAEgA0ECdGogACADQQJ0aigCADYCACADQQFqIQMMAQsLC2ABAX8gACABNgIYIAAgAUU2AhAgAEEANgIUIABBgiA2AgQgAEEANgIMIABBBjYCCCAAQSBqIgJCADcCACACQgA3AgggAkIANwIQIAJCADcCGCACQgA3AiAgAEEcahDEEgs9AQF/A0AgBSACSARAIAEgBUECdGogACAFQQJ0aigCACAEIAVqLQAAIANsQQh1azYCACAFQQFqIQUMAQsLC6IBAQZ/IABBGGohBSAAQRxqIQcDQAJAIAQgAk4NACAFKAIAIgYgBygCACIDSQR/IAYgASACIARrIgggAyAGa0ECdSIDIAggA0gbIgMQsQQgBSAFKAIAIANBAnRqNgIAIAMgBGohBCABIANBAnRqBSAAIAEoAgAgACgCACgCNEH/AXFBkAJqEQEAQX9GDQEgBEEBaiEEIAFBBGoLIQEMAQsLIAQLPAEBfyAAIAAoAgAoAiRB/wFxQQZqEQUAQX9GBH9BfwUgAEEMaiIBKAIAIQAgASAAQQRqNgIAIAAoAgALC6IBAQZ/IABBDGohBSAAQRBqIQYDQAJAIAQgAk4NACAFKAIAIgMgBigCACIHSQR/IAEgAyACIARrIgggByADa0ECdSIDIAggA0gbIgMQsQQgBSAFKAIAIANBAnRqNgIAIAEgA0ECdGoFIAAgACgCACgCKEH/AXFBBmoRBQAiA0F/Rg0BIAEgAzYCAEEBIQMgAUEEagshASADIARqIQQMAQsLIAQLoQEBBn8gAEEYaiEFIABBHGohBwNAAkAgBCACTg0AIAUoAgAiBiAHKAIAIgNJBH8gBiABIAIgBGsiCCADIAZrIgMgCCADSBsiAxDkAhogBSAFKAIAIANqNgIAIAMgBGohBCABIANqBSAAKAIAKAI0IQMgACABLAAAEIIBIANB/wFxQZACahEBAEF/Rg0BIARBAWohBCABQQFqCyEBDAELCyAEC0EBAX8gACAAKAIAKAIkQf8BcUEGahEFAEF/RgR/QX8FIABBDGoiASgCACEAIAEgAEEBajYCACAALAAAEIIBCyIACzwBAn8gAEEQaiEDA0AgAiADKAIASARAIAEgAhC3BARAIAAoAgAgAkECdGpBADYCAAsgAkEBaiECDAELCwudAQEGfyAAQQxqIQUgAEEQaiEGA0ACQCAEIAJODQAgBSgCACIDIAYoAgAiB0kEfyABIAMgAiAEayIIIAcgA2siAyAIIANIGyIDEOQCGiAFIAUoAgAgA2o2AgAgASADagUgACAAKAIAKAIoQf8BcUEGahEFACIDQX9GDQEgASADEIIBOgAAQQEhAyABQQFqCyEBIAMgBGohBAwBCwsgBAsLACAAEIkJIAAQTAtTAQN/IABBIGohAiAAQSRqIQMgACgCKCEBA0AgAQRAQQAgACADKAIAIAFBf2oiAUECdGooAgAgAigCACABQQJ0aigCAEH/AHFBrAxqEQ0ADAELCws8AQF/IAAoAgAiAQRAIAEQTAsgACgCBCIBBEAgARBMCyAAKAIIIgEEQCABEEwLIAAoAgwiAARAIAAQTAsLBwBB6Mn5AAsHAEHkyfkACwcAQdzJ+QALCQBB7Mn5ABBJC6IDAQV/IABBECAAQRBLGyICQX9qIAJxBEBBECEAA0AgAEEBdCEDIAAgAkkEQCADIQAMAQsLBSACIQALQUAgAGsgAU0EQEHIxfkAQQw2AgBBAA8LQRAgAUELakF4cSABQQtJGyIDQQxqIABqEHIiAkUEQEEADwsgAkF4aiEBIABBf2ogAnEEfyACQXxqIgYoAgAiBUF4cSACIABqQX9qQQAgAGtxQXhqIgIgAiAAaiACIAFrQQ9LGyIAIAFrIgJrIQQgBUEDcQRAIABBBGoiBSAEIAUoAgBBAXFyQQJyNgIAIAAgBGpBBGoiBCAEKAIAQQFyNgIAIAYgAiAGKAIAQQFxckECcjYCACAFIAUoAgBBAXI2AgAgASACEIwLBSAAIAEoAgAgAmo2AgAgACAENgIECyAABSABIgALIQEgAEEEaiIEKAIAIgBBA3EEQCAAQXhxIgIgA0EQaksEQCAEIAMgAEEBcXJBAnI2AgAgASADaiIAIAIgA2siA0EDcjYCBCABIAJqQQRqIgIgAigCAEEBcjYCACAAIAMQjAsLCyABQQhqCxYAIABBCUkEfyABEHIFIAAgARDvHwsLvgcBCn8CQCAAQQRqIgcoAgAiBkF4cSECIAZBA3FFBEAgAUGAAkkNASACIAFBBGpPBEAgAiABa0HMyfkAKAIAQQF0TQRAIAAPCwsMAQsgACACaiEEIAIgAU8EQCACIAFrIgJBD00EQCAADwsgByAGQQFxIAFyQQJyNgIAIAAgAWoiASACQQNyNgIEIARBBGoiAyADKAIAQQFyNgIAIAEgAhCMCyAADwtBhMb5ACgCACAERgRAQfjF+QAoAgAgAmoiAiABTQ0BIAcgBkEBcSABckECcjYCACAAIAFqIgMgAiABayIBQQFyNgIEQYTG+QAgAzYCAEH4xfkAIAE2AgAgAA8LQYDG+QAoAgAgBEYEQEH0xfkAKAIAIAJqIgMgAUkNASADIAFrIgJBD0sEQCAHIAZBAXEgAXJBAnI2AgAgACABaiIBIAJBAXI2AgQgACADaiIDIAI2AgAgA0EEaiIDIAMoAgBBfnE2AgAFIAcgBkEBcSADckECcjYCACAAIANqQQRqIgEgASgCAEEBcjYCAEEAIQFBACECC0H0xfkAIAI2AgBBgMb5ACABNgIAIAAPCyAEKAIEIgNBAnENACADQXhxIAJqIgggAUkNACAIIAFrIQogA0EDdiEFAkAgA0GAAkkEQCAEKAIMIgIgBCgCCCIDRgRAQezF+QBB7MX5ACgCAEEBIAV0QX9zcTYCAAUgAyACNgIMIAIgAzYCCAsFIAQoAhghCQJAIAQoAgwiAiAERgRAIARBEGoiA0EEaiIFKAIAIgIEQCAFIQMFIAMoAgAiAkUEQEEAIQIMAwsLA0ACQCACQRRqIgUoAgAiC0UEQCACQRBqIgUoAgAiC0UNAQsgBSEDIAshAgwBCwsgA0EANgIABSAEKAIIIgMgAjYCDCACIAM2AggLCyAJBEAgBCgCHCIDQQJ0QZzI+QBqIgUoAgAgBEYEQCAFIAI2AgAgAkUEQEHwxfkAQfDF+QAoAgBBASADdEF/c3E2AgAMBAsFIAlBEGoiAyAJQRRqIAMoAgAgBEYbIAI2AgAgAkUNAwsgAiAJNgIYIARBEGoiBSgCACIDBEAgAiADNgIQIAMgAjYCGAsgBSgCBCIDBEAgAiADNgIUIAMgAjYCGAsLCwsgCkEQSQRAIAcgBkEBcSAIckECcjYCACAAIAhqQQRqIgEgASgCAEEBcjYCAAUgByAGQQFxIAFyQQJyNgIAIAAgAWoiASAKQQNyNgIEIAAgCGpBBGoiAiACKAIAQQFyNgIAIAEgChCMCwsgAA8LQQALMwEBfwNAIAMgAUgEQCACKAIAIAMQkAZFBEAgACADQQJ0akEANgIACyADQQFqIQMMAQsLC6AMAgd/CH0CQAJAAkAgALwiBkGAgID8A0YgAbwiBUH/////B3EiAkVyBEBDAACAPw8LIAZB/////wdxIgNBgICA/AdLIAJBgICA/AdLcgRAIAAgAZIPCyAGQQBIIggEfyACQf///9sESwR/QQIFIAJB////+wNLBH9BAiACQZYBIAJBF3ZrIgR2IgdBAXFrQQAgByAEdCACRhsFQQALCwVBAAshBAJAIAVB/////wdxIgdBgICA/AdIBEAgB0GAgID8A2sNASAAQwAAgD8gAJUgBUF/ShsPBSAHQYCAgPwHaw0BIANBgICA/ANGBEBDAACAPw8LIAVBf0ohAiADQYCAgPwDSwRAIAFDAAAAACACGw8FQwAAAAAgAYwgAhsPCwALAAsgBUGAgICABEYEQCAAIACUDwsgBkF/SiAFQYCAgPgDRnEEQCAAkQ8LIACLIQkgA0UgA0GAgICABHJBgICA/AdGcgRAQwAAgD8gCZUgCSAFQQBIGyEAIAhFBEAgAA8LIAQgA0GAgICEfGpyBEAgAIwgACAEQQFGGw8LDAMLAn0gCAR9AkACQAJAIAQOAgABAgsMBgtDAACAvwwCC0MAAIA/BUMAAIA/CwshCwJ9IAJBgICA6ARLBH0gA0H4///7A0kEQCALQ8rySXGUQ8rySXGUIAtDYEKiDZRDYEKiDZQgBUEASBsPCyADQYeAgPwDTQRAIAlDAACAv5IiAEMAqrg/lCIKIABDcKXsNpQgACAAlEMAAAA/IABDq6qqPiAAQwAAgD6Uk5STlEM7qrg/lJMiAJK8QYBgcb4iDCEJIAwgCpMMAgsgC0PK8klxlEPK8klxlCALQ2BCog2UQ2BCog2UIAVBAEobDwUgCUMAAIBLlLwgAyADQYCAgARJIgIbIQNB6X5BgX8gAhsgA0EXdWohAiADQf///wNxIgRBgICA/ANyIQMgBEHyiPMASQRAQQAhBAUgBEHX5/YCSSIGIQQgAiAGQQFzQQFxaiECIAMgA0GAgIB8aiAGGyEDCyAEQQJ0Qcy6FmoqAgAiDiADviIKIARBAnRBvLoWaioCACIMkyINQwAAgD8gDCAKkpUiD5QiCbxBgGBxviIAIAAgAJQiEEMAAEBAkiAJIACSIA8gDSADQQF1QYDg//99cUGAgICAAnJBgICAAmogBEEVdGq+Ig0gAJSTIAogDSAMk5MgAJSTlCIKlCAJIAmUIgAgAJQgACAAIAAgACAAQ0LxUz6UQ1UybD6SlEMFo4s+kpRDq6qqPpKUQ7dt2z6SlEOamRk/kpSSIgySvEGAYHG+IgCUIg0gCiAAlCAJIAwgAEMAAEDAkiAQk5OUkiIJkrxBgGBxviIAQwBAdj+UIgogBEECdEHEuhZqKgIAIAkgACANk5NDTzh2P5QgAEPGI/Y4lJOSIgCSkiACsiIMkrxBgGBxviINIQkgDSAMkyAOkyAKkwsLIQogACAKkyABlCABIAVBgGBxviIAkyAJlJIhASAJIACUIgAgAZIiCbwiA0GAgICYBEoNAAJAAkAgA0GAgICYBEYEfyABQzyqODOSIAkgAJNeBH8MBAVBgICAmAQLBSADQf////8HcSICQYCA2JgESw0EIANBgIDYmHxHIAEgCSAAk19FcgRAIAJBgICA+ANLBEAMAwVBACECDAQLAAsMBAshAgsgAEGAgIB8QYCAgAQgAkEXdkGCf2p2IANqIgJBF3ZB/wFxIgVBgX9qdSACcb6TIgkhAEEAIAJB////A3FBgICABHJBlgEgBWt2IgJrIAIgA0EASBshAiABIAmSvCEDCyALIAJBF3RDAACAPyADQYCAfnG+IglDAHIxP5QiCiAJQ4y+vzWUIAEgCSAAk5NDGHIxP5SSIgmSIgAgACAAIACUIgEgASABIAEgAUNMuzEzlEMO6t21kpRDVbOKOJKUQ2ELNruSlEOrqio+kpSTIgGUIAFDAAAAwJKVIAkgACAKk5MiASAAIAGUkpMgAJOTIgC8aiIDQYCAgARIBH0gACACEJsTBSADvgsiAJQPCyALQ8rySXGUQ8rySXGUDwsgC0NgQqINlENgQqINlA8LIAAgAJMiACAAlQuvAgIDfwJ9IAC8IgFBH3YhAgJAAn8CQCABQf////8HcSIBQc/YupUESwR9IAFBgICA/AdLBEAgAA8LIAFBmOTFlQRJIAJBAEciA3IEQCADIAFBtOO/lgRLcUUNAkMAAAAADwUgAEMAAAB/lA8LAAUgAUGY5MX1A0sEQCABQZKrlPwDSw0CIAJBAXMgAmsMAwsgAUGAgIDIA0sEfUEAIQEgAAUgAEMAAIA/kg8LCyEFDAILIABDO6q4P5QgAkECdEG0uhZqKgIAkhBlCyEBIAAgAbIiAEMAcjE/lJMiBSAAQ46+vzWUIgSTIQALIAUgACAAIAAgAJQiAEOPqio+IABDFVI1O5STlJMiAJRDAAAAQCAAk5UgBJOSQwAAgD+SIQAgAUUEQCAADwsgACABEJsTC14BBH8gAiAEbCEGQQAhBANAIAQgAUgEQCADIARBAXRqLwEAIgcgAkoEQCAAIARBAnRqIggoAgAhBSAIIAUgBSAHIAJrIgVsIAUgBmoQTms2AgALIARBAWohBAwBCwsL+gMBBn8CQAJAIAG8IgVB/////wdxIgZBgICA/AdLDQAgALwiAkH/////B3EiA0GAgID8B0sNACAFQYCAgPwDRgRAIAAQhhMhAAwCCyAFQR52QQJxIAJBH3YiB3IhAiADRQRAAkACQAJAAkAgAkEDcQ4EAAABAgMLDAULQ9sPSUAhAAwEC0PbD0nAIQAMAwsLAkAgBUH/////B3EiBEGAgID8B0gEQCAEDQFD2w/Jv0PbD8k/IAcbIQAMAwUgBEGAgID8B2sNASACQf8BcSEEIANBgICA/AdGBEACQAJAAkACQAJAIARBA3EOBAABAgMEC0PbD0k/IQAMCAtD2w9JvyEADAcLQ+TLFkAhAAwGC0PkyxbAIQAMBQsFAkACQAJAAkACQCAEQQNxDgQAAQIDBAtDAAAAACEADAgLQwAAAIAhAAwHC0PbD0lAIQAMBgtD2w9JwCEADAULCwsLIANBgICA/AdGIAZBgICA6ABqIANJcgRAQ9sPyb9D2w/JPyAHGyEADAILIAVBAEggA0GAgIDoAGogBklxBH1DAAAAAAUgACABlYsQhhMLIQACQAJAAkACQCACQQNxDgMAAQIDCwwECyAAjCEADAMLQ9sPSUAgAEMuvbszkpMhAAwCCyAAQy69uzOSQ9sPScCSIQAMAQsgACABkiEACyAAC4wCAwJ/AX0BfCAAvCICQf////8HcSIBQf////sDSwRAIAFBgICA/ANGBEAgALtEGC1EVPsh+T+iRAAAAAAAAHA4oLYPBUMAAAAAIAAgAJOVDwsACyABQYCAgPgDTwRARBgtRFT7Ifk/QwAAgD8gAIuTQwAAAD+UIgC7nyIEIAQgACAAQ7oTL70gAENr0w08lJOUQ3WqKj6SlEMAAIA/IABDruU0P5STlbuioEQAAAAAAAAAQKKhtiIAjCAAIAJBAEgbDwsgAUGAgIB8akGAgIDIA0kEQCAADwsgACAAlCIDIANDuhMvvSADQ2vTDTyUk5RDdaoqPpKUQwAAgD8gA0Ou5TQ/lJOVIACUIACSC7MFAQ1/IAAgAjYCHCABKAIEIQ0DQCAIIAJIBEAgAyAIQQJ0ai0AAEEYbEEIdiEOIAMgCEECdGotAAFBGGxBCHYhDyADIAhBAnRqLQACQRhsQQh2IRBBACEJQQAhCgNAIAkgDUgEQEEAIQsgAUGEgAhqIAlBAnRqKAIAIA5BgCRsaiAPQcABbGogEEEDdGohDCAKIQUDQCALQQJHBEAgACgCACIGIAVBAnRqIgQgBCgCACAMKAIAIgdBA3FqNgIAIAYgBUEBckECdGoiBCAEKAIAIAdBAnZBA3FqNgIAIAYgBUECckECdGoiBCAEKAIAIAdBBHZBA3FqNgIAIAYgBUEDckECdGoiBCAEKAIAIAdBBnZBA3FqNgIAIAYgBUEEckECdGoiBCAEKAIAIAdBCHZBA3FqNgIAIAYgBUEFckECdGoiBCAEKAIAIAdBCnZBA3FqNgIAIAYgBUEGckECdGoiBCAEKAIAIAdBDHZBA3FqNgIAIAYgBUEHckECdGoiBCAEKAIAIAdBDnZBA3FqNgIAIAYgBUEIckECdGoiBCAEKAIAIAdBEHZBA3FqNgIAIAYgBUEJckECdGoiBCAEKAIAIAdBEnZBA3FqNgIAIAYgBUEKckECdGoiBCAEKAIAIAdBFHZBA3FqNgIAIAYgBUELckECdGoiBCAEKAIAIAdBFnZBA3FqNgIAIAYgBUEMckECdGoiBCAEKAIAIAdBGHZBA3FqNgIAIAYgBUENckECdGoiBCAEKAIAIAdBGnZBA3FqNgIAIAYgBUEOckECdGoiBCAEKAIAIAdBHHZBA3FqNgIAIAYgBUEPckECdGoiBCAEKAIAIAdBHnZqNgIAIAtBAWohCyAMQQRqIQwgBUEQaiEFDAELCyAJQQFqIQkgCkEgaiEKDAELCyAIQQFqIQgMAQsLC5kBAQR/IwYhAiMGQRBqJAYCQAJAIAAQYyIBQQZJDQAgACABakF6aiIEQay7IEEGEMQBDQBB5AAhAQNAIAQQihMaIAJBgAM2AgAgAEHCASACEKsTIgNBf0oNAiABQX9qIgFBAEdByMX5ACgCAEERRnENAAsgBEGsuyBBBhBtGkF/IQMMAQtByMX5AEEWNgIAQX8hAwsgAiQGIAMLbwEDfyAAIAFrQQJ1IAJJBEADQCAAIAJBf2oiAkECdGogASACQQJ0aigCADYCACACDQALBSACBEAgACEDA0AgAUEEaiEEIANBBGohBSADIAEoAgA2AgAgAkF/aiICBEAgBCEBIAUhAwwBCwsLCyAACzABAn8gAgRAIAAhAwNAIANBBGohBCADIAE2AgAgAkF/aiICBEAgBCEDDAELCwsgAAtcAQV/AkBBAiEEQfioHiECIAAgABBjaiIDIQEDQCACLAAAIgVFDQEgAkEBaiECIAFBAWohAyABIAU6AAAgBEF/aiIEBH8gAyEBDAEFIAMLIQELCyABQQA6AAAgAAtaAQN/AkAgAgRAA0AgACABIAJBAXYiBUECdGoiAxDWFSIERQ0CIAJBAUYEQEEAIQMMAwsgBSACIAVrIARBAEgiBBshAiABIAMgBBshASACDQBBACEDCwsLIAMLqAEBAn8gACABNgIQIAAgAUEfaiIBIAFBIBDIAWsiATYCFCAAQX8gAUECdCABQf////8DSxsiAhBPIgM2AgAgACACEE82AgQgAEF/IAFBAWoiAkECdCACQf////8DSxsiAhBPNgIIIAAgAhBPNgIMQQAhAgNAIAIgAUgEQCADIAJBAnRqQQA2AgAgAkEBaiECDAELCyAAQQA2AhggAEEANgIcIABBADYCIAvOAQEHfyMGIQAjBkFAayQGIABBMGohAyAAQShqIQQgAEEYaiECIABBkPgVKQMANwMAIABBmPgVKQMANwMIIABBoPgVKAIANgIQIABBDWohBgJAAkADQCAGEIoTGiACIAA2AgAgAkHCgQI2AgQgAkGAAzYCCEEFIAIQHRCUAyIFQX9KDQEgAUEBaiIBQeQASQ0AC0EAIQEMAQsgBCAANgIAQQogBBAlGiAFQam7IBCWEyIBRQRAIAMgBTYCAEEGIAMQGhpBACEBCwsgACQGIAELSAEEfyMGIQEjBkEQaiQGIAFBCGohAiABIAA2AgBBCiABECUiA0FrRgR/IAIgADYCAEEoIAIQPQUgAwsiABCUAyEEIAEkBiAEC4IBAQJ/IwYhAyMGQRBqJAYgACgCVCEEAkACQCACQQJLDQAgA0EANgIAIAMgBCgCADYCBCADIAQoAgQ2AghBACADIAJBAnRqKAIAIgBrIAFKDQAgBCgCCCAAayABSA0AIAQgACABaiIANgIADAELQcjF+QBBFjYCAEF/IQALIAMkBiAAC6YBAQR/QQAgACgCVCIEKAIEIgMgBCgCACIFayADIAVJGyIDIAJJBEAgACAAKAIAQRByNgIAIAMhAgsgASAEQQxqIgYoAgAgBWogAhBtGiAEIAQoAgAgAmoiBTYCACAAKAIwIgEgAyACayIDIAMgAUsbIQEgACAAKAIsIgM2AgQgACADIAFqNgIIIAMgBigCACAFaiABEG0aIAQgBCgCACABajYCACACC4oCAQN/Qa78HkErENoCRSEDAkACQCABRQ0AQaW7IEHyABDaAkUNACAARSABQft2S3EEQEHIxfkAQQw2AgAMAgtBmAkgAUGYCWogAEEARyIEG0EBEIMBIgIEQCACIAJB/ABqNgJUIAJBfzYCPCACQX86AEsgAiACQZgBajYCLCACQYAINgIwIAIgACACQZgJaiAEGzYCiAEgAiABNgKEASACQfIANgKMASADBEAgAkEINgIACyACIAE2AoABIAJB6wA2AiAgAkHsADYCJCACQe0ANgIoIAJBnQE2AgxB9MT5ACgCAEUEQCACQX82AkwLIAIQlRMaBUEAIQILDAELQcjF+QBBFjYCAAsgAgtjAQJ/IAAoAighAiAAQQAgACgCAEGAAXEEf0ECQQEgACgCFCAAKAIcSxsFQQELIgEgAkH/AHFBkARqEQIAIgFBAE4EQCABIAAoAghrIAAoAgRqIAAoAhRqIAAoAhxrIQELIAELWgEDfyMGIQMjBkEQaiQGIAMgAigCADYCAEEAQQAgASADEOEHIgRBAEgEf0F/BSAAIARBAWoiBBByIgA2AgAgAAR/IAAgBCABIAIQ4QcFQX8LCyEFIAMkBiAFC5ICAQF/AkACQCABIABzQQNxDQAgAkEARyIDIAFBA3FBAEdxBEADQCAAIAEsAAAiAzoAACADRQ0DIABBAWohACACQX9qIgJBAEciAyABQQFqIgFBA3FBAEdxDQALCyADBEAgASwAAARAIAJBA0sEQANAIAEoAgAiA0GAgYKEeHFBgIGChHhzIANB//37d2pxDQQgACADNgIAIAFBBGohASAAQQRqIQAgAkF8aiICQQNLDQALCwwCCwVBACECCwwBCyACBEAgASEDIAIhAQNAIAAgAywAACICOgAAIAJFBEAgASECDAMLIANBAWohAyAAQQFqIQAgAUF/aiIBDQALQQAhAgVBACECCwsgAEEAIAIQjAEaC8EDAQR/IwYhBiMGQRBqJAYCQCAABEACfyACQQNLBH8gAiEDIAEoAgAhBQNAAkAgBSgCACIEQX9qQf4ASwR/IARFDQEgACAEEMoFIgRBf0YEQEF/IQIMBwsgAyAEayEDIAAgBGoFIAAgBDoAACADQX9qIQMgASgCACEFIABBAWoLIQAgASAFQQRqIgU2AgAgA0EDSw0BIAMMAwsLIABBADoAACABQQA2AgAgAiADayECDAMFIAILCyIFBEAgACEDIAEoAgAhAAJAAkADQCAAKAIAIgRBf2pB/gBLBH8gBEUNAiAGIAQQygUiBEF/RgRAQX8hAgwHCyAFIARJDQMgAyAAKAIAEMoFGiADIARqIQMgBSAEawUgAyAEOgAAIANBAWohAyABKAIAIQAgBUF/agshBSABIABBBGoiADYCACAFDQALDAQLIANBADoAACABQQA2AgAgAiAFayECDAMLIAIgBWshAgsFIAEoAgAiACgCACIBBEBBACECA0AgAUH/AEsEQCAGIAEQygUiAUF/RgRAQX8hAgwFCwVBASEBCyABIAJqIQIgAEEEaiIAKAIAIgENAAsFQQAhAgsLCyAGJAYgAguDAwEHfyMGIQUjBkGQAmokBiAFQYACaiIHIAEoAgAiCDYCACADQYACIABBAEciCRshBiAAIAUiCiAJGyEFAkAg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AgBBAAszAQF/IAAoAhAiAUUEQCAAEExBAA8LIAEgACgCADYCACAAKAIUIAAoAgw2AgAgABBMQQALWgACQAJAAkACQCACDgMAAQIDCyAAIAE2AgggAQ8LIABBCGoiAigCACABaiEAIAIgADYCACAADwsgACAAKAIMIAFrIgA2AgggAA8LQcqcIEGAzBQgACgCCBBKC44BAQV/IABBCGoiBCgCACIDIAJqIgYgAEEEaiIHKAIASwRAIAAgACAAQQxqIgUoAgAgBkEBdCIDEOkDIgA2AgAgByADNgIAIAQoAgAhAwUgAEEMaiEFIAAoAgAhAAsgACADaiABIAIQbRogBCAEKAIAIAJqIgA2AgAgBSAAIAUoAgAiASAAIAFLGzYCACACC3YBBX8jBiEDIwZBEGokBiACIAAoAgwiBiAAQQhqIgQoAgAiBWsiByAHIAJLGyECIAUgAmogBksEfyADIAI2AgBBxLQWQducICADEFwgAyQGQQAFIAEgACgCACAFaiACEG0aIAQgBCgCACACajYCACADJAYgAgsLQAEBf0EBQRgQgwEiAkGAwABBARCDATYCACACQYDAADYCBCACIAA2AhAgAiABNgIUIAJBADYCCCACQQA2AgwgAgspAQF/QQFBGBCDASICIAA2AgAgAiABNgIEIAIgATYCDCACQQA2AgggAgt7AQF/IwYhAiMGQRBqJAYCQCAABEAgACABEJgLIgFFBEBBja4gQbybIEEAEEoaQQAhAAwCCyABEIYUIQAgARD9ARogAEUEQCACQbybIDYCAEHEtBZBvZ0gIAIQXEEAIQALBUGoryBBvJsgQQAQShpBACEACwsgAiQGIAALggEBAn8jBiECIwZBEGokBiACQQRqIgMgATYCAAJAIAAEQCACIAA2AgAgAiADEJsOIgFFBEBB9ZsgQdybIEEAEEoaQQAhAAwCCyABEKMLIgAEQCAAQQQQ2gUgARDRBQUgARDRBUEAIQALBUHKmyBB3JsgQQAQShpBACEACwsgAiQGIAALwUABLX8CQCMGIQIjBkGgAWokBiACQUBrIR0gAkE4aiEfIAJBMGohICACQShqISEgAkEgaiEiIAJBGGohIyACQRBqISQgAkEIaiElQQQhBEEoEHIiA0EANgIAIAIiC0GQAWohFSACQYwBaiEWIAJBiAFqIRcgAkGEAWohJiAC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DSwAACIEOgDrAiAEQf8BcSEDIAAgAiADQQN2bCACIANsQQdqQQN2IARB/wFxQQdKGyICNgLkAiAHKAIAIgIsAAAiAwRAIAAgAEHgAmogAkEBaiAAQcgCaiIEKAIAQQFqIANB/wFxELUhIAcoAgAhAgUgAEHIAmohBAsgBCgCACACIAAoArgCQQFqEG0aIAAoAvgEQQRxBEAgACwAgAVBwABGBEAgAEHgAmogBygCAEEBahC0IQsLAkACQCAAQdABaiICKAIADQAgBigCAEGAgIACcQ0ADAELIAAQsyELAkACQCAMLAAARQ0AIAIoAgBBAnFFDQAgAEGEA2oiAi0AAEEGSARAIAAQsiELIAEEQCAAIAEgAi0AAEECdEGAkxJqKAIAEOATCwwBCyABBEAgACABQf8BEOATCwsgABDfEyAAKAL4AyIBRQRADwsgACALKAIAIAAtAIQDIAFB/wBxQawMahENAA8LIAAQ3xMLMwEBfyMGIQEjBkHgAGokBiAABEAgACABQfiIIBDiEyAAIAEQagVBAEH4iCAQagsgASQGC4UBAQR/IwYhASMGQRBqJAYCfyAAKALMASICQYAQcUEARyACQYAGcUGABkYgACwA/AJBIHFFGyEDIABBgQE2AtAFIAAgAUEEEJwLIAMLBEAgASQGQQAPCyABLQAAQRh0IAEtAAFBEHRyIAEtAAJBCHRyIAEtAANyIAAoAvACRyEEIAEkBiAEC+oBAQN/IAAoArwCIgNB/////wcgA0F/akH+////B0kbIQMCQAJAIAAsAPwCQckARw0AIAAsAP0CQcQARw0AIAAsAP4CQcEARw0AIAAsAP8CQdQARw0ADAELQf////8HIAAoAqwCIgIgACgCqAIgAC0AigNsQQJBASAALQCHA0EIShtsQQFqQQZBACAALACDAxtqIgRsIAJBfyAEEGZLGyICIAIgBEG2/gEgBEG2/gFJGxBmQQVsQQtqaiICQf////8HIAJB/////wdJGyICIAMgAyACSRshAwsgAyABTwRADwsgAEHNiCAQ5gcLagECfyABLQAAQRh0IAEtAAFBEHRyIAEtAAJBCHRyIAEtAANyIQFBASECA0AgAkEFRwRAIAFB/wFxIgNBv39qQTlLIANBpX9qQQZJcgRAIABB5YggEOYHCyABQQh2IQEgAkEBaiECDAELCws5ACAA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AQBBAUYEQCAHLgEAIgRBAUcEQCAILwEAIghBCEgEQCAFLwEAIQAgCkHg7hE2AgAgCiAANgIEIApB0tgfNgIIIAogBEH//wNxNgIMIAogCEH//wNxNgIQIAJBg9gfIAoQrgIaDAQLCwsLIABBOGoiBEIANwIAIARCADcCCCAEQQA2AhAgGSAAQRBqNgIAIAFBgAIgGRC9ARogGCAAQRRqNgIAIAFBgQIgGBC9ARogFyAAQRxqNgIAIAFBkgIgFxDcAiAMLgEAQQJGBEAgACAGQQJIIgE2AgggAUUEQCAAEJUiBEAgAyQGQQEPCyACQZLbHykAADcAACACQZrbHykAADcACCACQaLbHykAADcAECACQarbHygAADYAGAwCCwUgAEEBNgIICyAAEJYiBEAgAyQGQQEPCyACQZLbHykAADcAACACQZrbHykAADcACCACQaLbHykAADcAECACQarbHygAADYAGCADJAZBAA8LIAMkBkEAC+kHARJ/AkACQCMGIQIjBkGAAWokBiAAKAKABEUEQCABQavfHykAADcAACABQbPfHykAADcACCABQbvfHykAADcAECABQcPfHykAADcAGCABQcvfHykAADcAICABQdPfHykAADcAKCABQdvfHygAADYAMCABQd/fHy4AADsANAwCCyACQfAAaiEHIAJB6ABqIQggAkHYAGohBSACQdAAaiEJIAJByABqIQogAkFAayELIAJBOGohDyACQTBqIQwgAkEYaiEEIAJBEGohECACQQhqIREgAkH6AGohDSACQfgAaiESAkACQAJAIABB1ABqIhMuAQAiA0EBaw4QAAABAAEBAQABAQEBAQEBAAELDAELIAIgA0H//wNxNgIAIAFB/NYfIAIQrgIaDAILIABB4gBqIgYvAQAgAC8BqAFrIQ4gESANNgIAIABBhgIgERC9AQRAIA0uAQAhAwUCQAJAAkACQCAOQQFrDgMAAgECC0EBIQMMAgtBAiEDDAELIBBB4O4RNgIAIAFBrdcfIBAQrgIaDAMLIA0gAzsBAAsCQAJAIANBEHRBEHVBAkgEQCADQRB0QRB1QQBOBEACQAJAIANBEHRBEHUOAgAAAQsMBAsMAgsCQAJAAkACQCADQRB0QRB1QcyAfmsOAgABAgsgAC4BWEH0jn5GDQYgCUHz2R82AgAgCUH0jgI2AgQgAUHS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XAwHCyANIAY2AgAgDSAHNgIEQcS0FkHJkB8gDRBcDAYLQbGRH0GA+BFBARBKGgwGCwwFCwtBw48fQYD4EUEBEEoaDAMLBSAGIAdxDQILQayPH0GA+BFBARBKGiAFJAYPC0HgkB9BgPgRQQEQShoLIAUkBgvwDgEgfwJAIwYhAyMGQaAOaiQGIABFBEBBv4ofQeD2EUEBEEoaDAELIAFFBEBBnMMfQeD2EUEBEEoaDAELIANBsAxqIQUgASADQZwOaiISIANBmA5qIgkgA0GUDmoiChCTASABENkFIQYgARC8CSEHIANBgAxqIgRBAjYCACAAQagCIAQQogEaIANBiAxqIgQgBrdEAAAAAADAckAgBhs5AwAgAEGaAiAEEKIBGiADQZAMaiIEIAe3RAAAAAAAwHJAIAcbOQMAIABBmwIgBBCiARogA0GYDGoiBCASKAIANgIAIABBgAIgBBCiARogA0GgDGoiBCAJKAIANgIAIABBgQIgBBCiARogA0GoDGoiBEEBNgIAIABBkgIgBBCiARogARC/CSIEBEAgBSAENgIAIABBjgIgBRCiARoLIANB+A1qIQwgA0HwDWohEyADQegNaiEUIANB4A1qIRUgA0HYDWohFiADQdANaiEXIANByA1qIRggA0HADWohGSADQbgNaiEaIANBsA1qIRsgA0GoDWohHCADQaANaiEdIANBmA1qIR4gA0GIDWohCCADQYANaiEfIANB+AxqISAgA0HwDGohISADQegMaiEiIANB4AxqIQUgA0HYDGohBiADQcgMaiELIANBwAxqIQcgA0G4DGohBCADQYAIaiENIANBgARqIQ4gA0GQDmohDyADQYwOaiEQIANBiA5qIRECQAJAAkACQCAKKAIAQQFrDiAAAgICAgICAgICAgICAgICAgICAgICAgECAgICAgICAQILIARBADYCACAAQYYCIAQQogEaDAILIAdBAjYCACAAQYYCIAcQogEaIAtBCDYCACALQQg2AgQgC0EINgIIIABBggIgCxCiARogBkEDNgIAIABBlQIgBhCiARoMAQsgARDTASIERQRAIAVBATYCACAAQYYCIAUQogEaDAELIAQgDyAQIBFBABDLCxogBBDSAiIEQYACIARBgAJIGyIEQQEgCigCAHQiB0GAAiAHQYACSBsiB0oEQCAiQeD2ETYCAEHE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CCgCACIJaiIKakECdTYCACAIIAMgCmtBAnU2AgAgBiACIARrIgIgByAJayIEakHRImxBgIABaiIDIAJB/jBsakEPdTYCACAFIAMgBEHfiX9sakEPdTYCACABQQFqIQEgAEEEaiEADAELCwuUAgEGfyAAQQBBgAIQjAEaIAAhAwNAIAVBA0cEQCADIAEgBUECdGooAgAgAmoiBC0AACIGIAQtAAIiB2oiCCAELQABIgRqQQR0QYBQajYCACADIAggBGsgBGtBoS1sQYACakEJdTYCCCADIAYgB2tBsc4AbEGAAmpBCXU2AgQgBUEBaiEFIANBIGohAwwBCwtBACEBA0AgAUEDRwRAIAAgACgCACIDIABBQGsiBSgCACIEaiIGIABBIGoiBygCACICakHk8QBsQYCAAWpBD3U2AgAgBSAGIAJrIAJrQbrQAGxBgIABakEPdTYCACAHIAMgBGtBrYsBbEGAgAFqQQ91NgIAIAFBAWohASAAQQRqIQAMAQsLC38BBH8gAEEAQYACEIwBGiAAIAEoAgAgAmoiAy0AACIEIAMtAAEiA2oiBSABKAIEIAJqIgEtAAAiAiABLQABIgFqIgZqQQR0QYBAajYCACAAIAUgBmtBBHQ2AiAgACAEIANrIgMgAiABayIBakEEdDYCBCAAIAMgAWtBBHQ2AiQLBwAgABC5BQskACAAQQBBgAIQjAEaIAAgASgCACACai0AAEEGdEGAQGo2AgAL0isBDn8gACgCoAMhASAAQcwAaiEMIABB6AFqIQ0gAEEEaiEKIAAoAlQhBwNAIAIgDCgCAEgEQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAdBJGoiBSgCAEEIdCAHQShqIgYoAgBqQYECaw6QHgAeICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAWASAdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICACICAcICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAVIAMgICAbICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgBCAgICAaICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAUICAFICAgICAZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAYgICAgICAYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICATICAgHyAgICAgICAXICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICASICAgIAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICARICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAQICAgICAgDCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg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BEH/AHFBrAtqEQMADwsgACgCACAENgIYCyAAQQEgACgCACgCBEH/AHFBrAtqEQMAC8UDAQp/AkAjBiEEIwZBEGokBiAAQRhqIgooAgAiBUEEaiIHKAIAIgJFBEAgACAFKAIMQf8BcUEGahEFAEUNASAHKAIAIQILIAUoAgAiAUEBaiEGIAEtAABBCHQhASACQX9qIgJFBEAgACAFKAIMQf8BcUEGahEFAEUNASAFKAIAIQYgBygCACECC0EOIAEgBi0AAHIiAUF+aiIJQQAgAUECSxsgAUEPSxshCCAFQQxqIQEDQAJAIAJBf2ohAiAGQQFqIQYgAyAITw0AIAJFBEAgACABKAIAQf8BcUEGahEFAEUNAyAHKAIAIQIgBSgCACEGCyAEIANqIAYsAAA6AAAgA0EBaiEDDAELCyAJIAhrIQMCQAJAAkAgAEG0A2oiCSgCAEHgAWsiAQRAIAFBDkYEQAwCBQwDCwALIAAgBCAIIAMQqCYMAgsgACAEIAggAxCnJgwBCyAAKAIAQcYANgIUIAAoAgAgCSgCADYCGCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgBSAGNgIAIAcgAjYCACADQQBMBEAgBCQGQQEPCyAAIAMgCigCACgCEEH/AHFBrAtqEQMAIAQkBkEBDwsgBCQGQQALtAEBA38gAEG0A2oiAigCACIBRQRAIAAQ7g4EfyACKAIABUEADwshAQsgASAAQcwDaiIBKAIAKAIUIgNB0AFqRgRAIAAoAgBB5AA2AhQgACgCACABKAIAKAIUNgIYIABBAyAAKAIAKAIEQf8AcUGsC2oRAwAgAkEANgIABSAAIAMgACgCGCgCFEH/AXFBkAJqEQEARQRAQQAPCwsgASgCAEEUaiIAIAAoAgBBAWpBB3E2AgBBAQvEBgEEfyAAQbQDaiIBKAIAIgIEQCACIQMFQQIhBAsgAEHMA2ohAgJAAkACQANAIARBAkYEQCACKAIAKAIMBEAgABDuDkUNBQUgABCmJkUNBQsgASgCACEDCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIANBAWsO/gEPEREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREQMEBQgKCAgICAYHCAkICAgPDw8PDw8PDwIBAAsQDBERDQ0NDQ0NDQ0NDQ0NDQ0NDRERERERERERERERERERDhELDBMLDBMLIAAQpSYMDwsgAEEBQQBBABDICUUNEgwOCyAAQQBBAEEAEMgJRQ0RDA0LIABBAEEBQQAQyAlFDRAMDAsgAEEAQQBBARDICUUNDwwLCyAAQQBBAUEBEMgJRQ0ODAoLIAAoAgBBPjYCFCAAKAIAIAEoAgA2AhggACAAKAIAKAIAQf8DcUGiB2oRAAAMCQsgABCjJkUNDAwICyAAEKImRQ0LDAcLIAAQoSZFDQoMBgsgABCgJkUNCQwFCyAAIAIoAgAgA0ECdGpBoHlqKAIAQf8BcUEGahEFAEUNCAwECyAAIAIoAgAoAhxB/wFxQQZqEQUARQ0HDAMLIAAoAgBB3gA2AhQgACgCACABKAIANgIYIABBASAAKAIAKAIEQf8AcUGsC2oRAwAMAgsgABCtFUUNBQwBCyAAKAIAQcYANgIUIAAoAgAgASgCADYCGCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgAUEANgIAQQIhBAwAAAsACyAAEKQmRQRAQQAPCyABQQA2AgBBAQ8LIAAoAgBB1wA2AhQgAEEBIAAoAgAoAgRB/wBxQawLahEDACABQQA2AgBBAg8LQQAL0w0BC38CQAJAIABBIGoiCCgCAEHc/wNKDQAgACgCHEHc/wNKDQAMAQsgACgCAEEqNgIUIAAoAgBB3P8DNgIYIAAgACgCACgCAEH/A3FBogdqEQAACyAAQdQBaiIBKAIAQQhHBEAgACgCAEEQNgIUIAAoAgAgASgCADYCGCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgAEEkaiIJKAIAQQpKBEAgACgCAEEbNgIUIAAoAgAgCSgCADYCGCAAKAIAQQo2AhwgACAAKAIAKAIAQf8DcUGiB2oRAAALIAAhAiAAQbgCaiIHQQE2AgAgAEG8AmoiBkEBNgIAIABB2AFqIgooAgAhBEEBIQEDQCAFIAkoAgBIBEAC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dGooAgBqQRB1IQMgCyAGQQJ0aigCACEGIAAgBCACIAEtAAAiDmpqLAAAOgAAIAAgBCADIA5qaiwAADoAASAAIAQgBiAOamosAAA6AAIgACAEIAIgAS0AASICamosAAA6AAMgACAEIAMgAmpqLAAAOgAEIAAgBCAGIAJqaiwAADoABSAHQX9qIQcgCEEBaiEIIAlBAWohCSABQQJqIQEgAEEGaiEADAELCyAPKAIAQQFxRQRADwsgDSASIAVqLQAAIgBBAnRqKAIAIAwgESAFai0AACIBQQJ0aigCAGpBEHUhAiALIABBAnRqKAIAIQMgFCAFQQZsaiIAIAQgCiABQQJ0aigCACATIBBBfnFqLQAAIgFqaiwAADoAACAAIAQgAiABamosAAA6AAEgACAEIAMgAWpqLAAAOgACC0MAIAAgASACKAIAIAQgBSgCAEECdGogACgC2AMoAgxBP3FBrA1qERAAIAUgBSgCAEEBajYCACACIAIoAgBBAWo2AgALzQUBFX8gACgCzAIhBCAAKALYAyIHKAIQIQ4gBygCFCEPIAcoAhghECAHKAIcIREgASgCACIFIAJBAXQiBkECdGooAgAhByAAQfAAaiISKAIAIhNBAXYiCiELIAEoAgggAkECdGooAgAiFCEMIAEoAgQgAkECdGooAgAiFSENIAUgBkEBckECdGooAgAiFiEFIAchACADKAIAIhchASADKAIEIhghAgNAIAsEQCAOIAwtAAAiBkECdGooAgAhAyARIA0tAAAiCUECdGooAgAgECAGQQJ0aigCAGpBEHUhBiAPIAlBAnRqKAIAIQkgASAEIAMgAC0AACIIamosAAA6AAAgASAEIAYgCGpqLAAAOgABIAEgBCAJIAhqaiwAADoAAiABIAQgAyAALQABIghqaiwAADoAAyABIAQgBiAIamosAAA6AAQgASAEIAkgCGpqLAAAOgAFIAIgBCADIAUtAAAiCGpqLAAAOgAAIAIgBCAGIAhqaiwAADoAASACIAQgCSAIamosAAA6AAIgAiAEIAMgBS0AASIDamosAAA6AAMgAiAEIAYgA2pqLAAAOgAEIAIgBCAJIANqaiwAADoABSALQX9qIQsgDEEBaiEMIA1BAWohDSAFQQJqIQUgAEECaiEAIAFBBmohASACQQZqIQIMAQsLIBIoAgBBAXFFBEAPCyAY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CSABKAIkIAIuARJsIgFqIgJqQQN2Qf8HcWosAAA6AAAgBiAAIAggAmtBA3ZB/wdxaiwAADoAASADKAIEIARqIgIgACAHIAVrIgMgCSABayIBakEDdkH/B3FqLAAAOgAAIAIgACADIAFrQQN2Qf8HcWosAAA6AAELogEBA38jBiECIwZBkAFqJAYgAkGIAWoiAyAAQdDfCGooAgBBmMoIaigCABCUBjYCACACQSBqIgQgAEHU3whqKAIAEIABIAQQuAEDQCAEEOkBIgAEQCACIAAQ6AIQkgEgAhCeAQNAIAIQjQFFBEAgAygCACACEIEBEIsnIAIQqwEaDAELCwwBCwsgARBdIAMoAgBBCRDuBiADEF4gBBB/IAIkBgszACADKAIAIARqIAAoAswCQYABaiABKAJUKAIAIAIuAQBsQQRqQQN2Qf8HcWosAAA6AAALpSYBDn8gACgC1AMhCiAAQSRqIQsgAEHIAGohDCAAKALYASEEA0AgBiALKAIASARAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBEEkaiIDKAIAQQh0IARBKGoiBSgCAGpBgQJrDpAeAB4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBYBIB0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAIgIBwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBUgAyAgIBsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEICAgIBogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQgIAUgICAgIBkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgBiAgICAgIBggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBMgICAfICAgICAgIBcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBIgICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBEgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgICAgICAMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA8gICAgICAgDiALQQshAkEAIQEMIAtBDCECQQAhAQwfC0ENIQJBACEBDB4LQQ4hAkEAIQEMHQtBDyECQQAhAQwcC0EQIQJBACEBDBsLQREhAkEAIQEMGgtBEiECQQAhAQwZC0ETIQJBACEBDBgLQRQhAkEAIQEMFwtBFSECQQAhAQwWC0EWIQJBACEBDBULQRchAkEAIQEMFAtBGCECQQAhAQwTC0EZIQJB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AkADQAJAIAMoAgAiByAFKAIAIghOBEAgByAIRw0BIAQoAgAgBigCAEsNAQsgACACKAIAKAIAQf8BcUEGahEFAA0BDAILCwwBC0EADwsgAEEkaiENIABBBGohDiAAQdQDaiEPIAAoAtgBIQNBACEFA0AgBSANKAIASARAAkAgAygCNARAIAAgCkHIAGogBUECdGooAgAgBigCACADQQxqIgIoAgAiBGwgBEEAIA4oAgAoAiBBP3FB2AVqEREAIRAgBigCACAMSQR/IAIoAgAFIAMoAiAgAigCACIEEIcBIQIgAiAEIAIbCyERIA8oAgBBBGogBUECdGooAgAhEiADQRxqIRMgA0EkaiEUIANBKGohFSABIAVBAnRqKAIAIQRBACECA0AgAiARTg0CQQAhByAQIAJBAnRqKAIAIQhBACEJA0AgCSATKAIASQRAIAAgAyAIIAQgByASQT9xQewNahETACAHIBQoAgBqIQcgCEGAAWohCCAJQQFqIQkMAQsLIAQgFSgCAEECdGohBCACQQFqIQIMAAALAAsLIANB2ABqIQMgBUEBaiEFDAELCyAGIAYoAgBBAWoiADYCAEEDQQQgACALKAIASRsLwQQBFn8jBiEFIwZBEGokBiAAKALAAyEDIABB0AJqIQ8gAEEEaiEJIABBlAFqIQsDQCABIA8oAgBIBEAgAEHUAmogAUECdGooAgAiAigCDCEEIAUgAUECdGogACADQcgAaiACKAIEQQJ0aigCACALKAIAIARsIARBASAJKAIAKAIgQT9xQdgFahERADYCACABQQFqIQEMAQsLIANBHGohECADQRRqIQwgAEHkAmohESAAQdADaiESIANBIGohEyADQRhqIhQoAgAhBgJAAkADQCAGIBAoAgBIBEAgDCgCACEHA0AgByARKAIASQRAQQAhAkEAIQgDQCAIIA8oAgBIBEAgByAAQdQCaiAIQQJ0aigCACIEQThqIhUoAgAiCWwhFiAEQTxqIQEgBSAIQQJ0aiEEQQAhCgNAIAogASgCAEgEQCAEKAIAIAogBmpBAnRqKAIAIBZBB3RqIQ1BACEOA0AgDiAJSARAIANBIGogAkECdGogDTYCACANQYABaiENIA5BAWohDiACQQFqIQIgFSgCACEJDAELCyAKQQFqIQoMAQsLIAhBAWohCAwBCwsgACATIBIoAgAo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AgAEQCAAKAIAQTA2AhQgACAAKAIAKAIAQf8DcUGiB2oRAAALAkAgACgCeEEDRgRAIAAoAogBBEAgAEEBNgJoDAILIAAoAlwEQCAAQQE2AmwFIABBATYCZAsFIABBATYCZCAAQQA2AmggAEEANgJsIABBADYCiAELCyAAKAJkBEAgABDDJyADIAAoAuADNgIACyAAKAJsRQRAIAAoAmhFDQELIAAQwicgBSAAKALgAzYCAAsgASgCAEUEQCACKAIABEAgABDBJwUgABDAJyAAEL8nCyAAIAAoAmwQvicLIAAQvScgACgC5AEEQCAAELwnBSAAELsnCyAAIABByANqIgIoAgAoAhAEf0EBBSAAQUBrKAIAQQBHCyIDELonIAEoAgBFBEAgABC5JwsgACAAKAIEKAIYQf8DcUGiB2oRAAAgACACKAIAKAIIQf8DcUGiB2oRAAAgAEEIaiIBKAIAIgNFBEAPCyAAQUBrKAIABEAPCyACKAIAKAIQRQRADwsgACgCJCICIAJBA2xBAmogACgC4AFFGyECIANBADYCBCABKAIAIAAoAsgCIAJsNgIIIAEoAgBBADYCDCABKAIAQQNBAiAAKAJsGzYCECAEIAQoAgBBAWo2AgALPAECfyAAKAK4AyECIAAoAlQEQCAAIAAoAuADKAIIQf8DcUGiB2oRAAALIAJBDGoiACAAKAIAQQFqNgIAC40EAQR/IAAoArgDIgJBCGoiASgCAARAIAFBADYCACAAQQAgACgC4AMoAgBB/wBxQawLahEDACAAQQIgACgCxAMoAgBB/wBxQawLahEDACAAQQIgACgCvAMoAgBB/wBxQawLahEDAAUCQCAAQdQAaiIDKAIABEAgACgCiAFFBEAgACgCXARAIAAoAmwEQCAAIAIoAhg2AuADIAFBATYCAAwECwsgACgCZARAIAAgAigCFDYC4AMFIAAoAgBBLzYCFCAAIAAoAgAoAgBB/wNxQaIHahEAAAsLCwsgACAAKALUAygCAEH/A3FBogdqEQAAIAAgACgCwAMoAghB/wNxQaIHahEAACAAKAJERQRAIAIoAhBFBEAgACAAKALcAygCAEH/A3FBogdqEQAACyAAIAAoAtgDKAIAQf8DcUGiB2oRAAAgAygCAARAIAAgASgCACAAKALgAygCAEH/AHFBrAtqEQMACyAAQQNBACAB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CCACEHIiB0UEQA8LIARBfGohCSABIQAgAiEFA0AgBSAESgRAAkACQAJAAkACQAJAAkACQAJAAkACQCAEDgUEAwIBAAULDAULDAULDAULDAULDAULIAkhAwNAIANBAEoEQCAAIARqIgogCi0AACAALQAAajoAACADQX9qIQMgAEEBaiEADAELCwsgACAEaiIDIAMtAAAgAC0AAGo6AAAgAEEBaiEACyAAIARqIgMgAy0AACAALQAAajoAACAAQQFqIQALIAAgBGoiAyADLQAAIAAtAABqOgAAIABBAWohAAsgACAEaiIDIAMtAAAgAC0AAGo6AAAgAEEBaiEACyAFIARrIQUMAQsLIAcgASACEIgCQQAhAANAIAAgCEgEQCAAIAZsIQVBACECA0AgAiAGSQRAIAEgBSACamogByAGIAJrQX9qIAhsIABqaiwAADoAACACQQFqIQIMAQsLIABBAWohAAwBCwsgBxBMC6oCAQN/IAAoAsgEKAIEIQMgAkEEEE4iACADTARADwsgASAAEOEFIANBfGohBCAAIANrIQADQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAw4FBAMCAQAFCwwFCwwFCwwFCwwFCwwFCyAEIQIDQCACQQBKBEAgASADQQJ0aiIFIAUoAgAgASgCAGo2AgAgAkF/aiECIAFBBGohAQwBCwsLIAEgA0ECdGoiAiACKAIAIAEoAgBqNgIAIAFBBGohAQsgASADQQJ0aiICIAIoAgAgASgCAGo2AgAgAUEEaiEBCyABIANBAnRqIgIgAigCACABKAIAajYCACABQQRqIQELIAEgA0ECdGoiAiACKAIAIAEoAgBqNgIAIAFBBGohAQsgACADayIAQQBKDQALC4kBAQJ/IwYhBCMGQRBqJAYgAwR/IAMQcQUgBEGYsxc2AgAgBEHmBTYCBEGExPkAQbuzF0ECQcfrHCAEEFFBABBxCyEDAn8CQCABKAIARQ0AIAAgASADLgEAEMcVQQBMDQBBAAwBCyAAQdDfCGooAgBBmMoIaigCACADEPgOIAJeRQshBSAEJAYgBQuqAgEDfyAAKALIBCgCBCEDIAJBAhBOIgAgA0wEQA8LIAEgABD3BiADQXxqIQQgACADayEAA0ACQAJAAkACQAJAAkACQAJAAkACQAJAIAMOBQQDAgEABQsMBQsMBQsMBQsMBQsMBQsgBCECA0AgAkEASgRAIAEgA0EBdGoiBSAFLwEAIAEvAQBqOwEAIAJBf2ohAiABQQJqIQEMAQsLCyABIANBAXRqIgIgAi8BACABLwEAajsBACABQQJqIQELIAEgA0EBdGoiAiACLwEAIAEvAQBqOwEAIAFBAmohAQsgASADQQF0aiICIAIvAQAgAS8BAGo7AQAgAUECaiEBCyABIANBAXRqIgIgAi8BACABLwEAajsBACABQQJqIQELIAAgA2siAEEASg0ACwvIAQECfyAAKALIBCIERQRAQZL9HUHeuR1BoANBg70dEAELIAQoAiQiBUUEQEGXvR1B3rkdQaEDQYO9HRABCyAAIAEgAiADIAVBP3FBkAVqERwARQRAQQAPCyAEKAIIIgNBAEwEQEGIux1B3rkdQaUDQYO9HRABCyAEQShqIgQoAgBFBEBBrr0dQd65HUGmA0GDvR0QAQsDQCACQQBKBEAgACABIAMgBCgCAEH/AHFBrAxqEQ0AIAIgA2shAiABIANqIQEMAQsLQQELjwEBAn8gACgCyAQiBEUEQEGS/R1B3rkdQYkDQca9HRABCyAEKAIcIgVFBEBB2b0dQd65HUGKA0HGvR0QAQsgBEEoaiIEKAIARQRAQa69HUHeuR1BiwNBxr0dEAELIAAgASACIAMgBUE/cUGQBWoRHABFBEBBAA8LIAAgASACIAQoAgBB/wBxQawMahENAEEBC6MCAQN/IAAoAsgEKAIEIQMgAkEEEE4iACADTARADwsgA0F8aiEEIAAgA2shAANAAkACQAJAAkACQAJAAkACQAJAAkACQCADDgUEAwIBAAULDAULDAULDAULDAULDAULIAQhAgNAIAJBAEoEQCABIANBAnRqIgUgBSgCACABKAIAajYCACACQX9qIQIgAUEEaiEBDAELCwsgASADQQJ0aiICIAIoAgAgASgCAGo2AgAgAUEEaiEBCyABIANBAnRqIgIgAigCACABKAIAajYCACABQQRqIQELIAEgA0ECdGoiAiACKAIAIAEoAgBqNgIAIAFBBGohAQsgASADQQJ0aiICIAIoAgAgASgCAGo2AgAgAUEEaiEBCyAAIANrIgBBAEoNAAsLowIBA38gACgCyAQoAgQhAyACQQIQTiIAIANMBEAPCyADQXxqIQQgACADayEAA0ACQAJAAkACQAJAAkACQAJAAkACQAJAIAMOBQQDAgEABQsMBQsMBQsMBQsMBQsMBQsgBCECA0AgAkEASgRAIAEgA0EBdGoiBSAFLwEAIAEvAQBqOwEAIAJBf2ohAiABQQJqIQEMAQsLCyABIANBAXRqIgIgAi8BACABLwEAajsBACABQQJqIQELIAEgA0EBdGoiAiACLwEAIAEvAQBqOwEAIAFBAmohAQsgASADQQF0aiICIAIvAQAgAS8BAGo7AQAgAUECaiEBCyABIANBAXRqIgIgAi8BACABLwEAajsBACABQQJqIQELIAAgA2siAEEASg0ACwukBAEFfyAAKALIBCgCBCIEIAJOBEAPCyACIARrIQACQAJAAkAgBEEDaw4CAAECCyABLAAAIQUgASwAASEDIAEsAAIhAgNAIAUgAUEDaiIELAAAaiEFIAQgBToAACADIAFBBGoiBiwAAGohAyAGIAM6AAAgAiABQQVqIgEsAABqIQIgASACOgAAIABBfWohASAAQQNKBEAgASEAIAQhAQwBCwsPCyABLAADIQIgASwAACEEIAEsAAEhBSABLAACIQMDQCAEIAFBBGoiBiwAAGohBCAGIAQ6AAAgBSABQQVqIgcsAABqIQUgByAFOgAAIAMgAUEGaiIHLAAAaiEDIAcgAzoAACACIAFBB2oiASwAAGohAiABIAI6AAAgAEF8aiEBIABBBEoEQCABIQAgBiEBDAELCw8LIARBfGohAgNAAkACQAJAAkACQAJAAkACQAJAAkACQCAEDgUEAwIBAAULDAULDAULDAULDAULDAULIAIhAwNAIANBAEoEQCABIARqIgUgBS0AACABLQAAajoAACADQX9qIQMgAUEBaiEBDAELCwsgASAEaiIDIAMtAAAgAS0AAGo6AAAgAUEBaiEBCyABIARqIgMgAy0AACABLQAAajoAACABQQFqIQELIAEgBGoiAyADLQAAIAEtAABqOgAAIAFBAWohAQsgASAEaiIDIAMtAAAgAS0AAGo6AAAgAUEBaiEBCyAAIARrIgBBAEoNAAsLjgMBBn8gACgCyAQoAgQhAyACIAAvAVRBA3YiBRBmIQcgAhByIgZFBEAPCyAGIAEgAhCIAkEAIQADQCAAIAdIBEAgACAFbCEIQQAhBANAIAQgBUkEQCABIAUgBGtBf2ogB2wgAGpqIAYgCCAEamosAAA6AAAgBEEBaiEEDAELCyAAQQFqIQAMAQsLIAYQTCADQXxqIQQgASACIANrQX9qaiEAA0AgAiADSgRAAkACQAJAAkACQAJAAkACQAJAAkACQCADDgUEAwIBAAULDAULDAULDAULDAULDAULIAQhAQNAIAFBAEoEQCAAIANqIgUgBS0AACAALQAAazoAACABQX9qIQEgAEF/aiEADAELCwsgACADaiIBIAEtAAAgAC0AAGs6AAAgAEF/aiEACyAAIANqIgEgAS0AACAALQAAazoAACAAQX9qIQALIAAgA2oiASABLQAAIAAtAABrOgAAIABBf2ohAAsgACADaiIBIAEtAAAgAC0AAGs6AAAgAEF/aiEACyACIANrIQIMAQsLC7ACAQh/IwYhCiMGQRBqJAYgACgCyAQiBEUEQEGS/R1B3rkdQb4EQdD/ChABCyAEQRhqIggoAgBFBEBBq7odQd65HUG/BEHQ/woQAQsgBEEUaiIJKAIARQRAQcO6HUHeuR1BwARB0P8KEAELIAohBiACEHIiBUUEQCAGIAI2AgBB0P8KQdq6HSAGEF8gBiQGQQAPCyAFIAEgAhBtGiAEKAIIIgdBAEwEQEGIux1B3rkdQdIEQdD/ChABCyACIAcQyAEEQEGUux1B3rkdQdMEQdD/ChABCyAFIQEgAiEEA0AgBEEASgRAIAAgASAHIAgoAgBB/wBxQawMahENACABIAdqIQEgBCAHayEEDAELCyAAIAUgAiADIAkoAgBBP3FBkAVqERwAIQsgBRBMIAYkBiALC4kBAQJ/IAAoAsgEIgRFBEBBkv0dQd65HUGrBEGlux0QAQsgBCgCGCIFRQRAQau6HUHeuR1BrARBpbsdEAELIARBDGoiBCgCAARAIAAgASACIAVB/wBxQawMahENACAAIAEgAiADIAQoAgBBP3FBkAVqERwADwVBuLsdQd65HUGtBEGlux0QAQtBAAuyAgEDfyAAKALIBCgCBCEDIAJBBBBOIgAgA0wEQA8LIANBfGohBCAAIANrIgAhAiABIABBf2pBAnRqIQADQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAw4FBAMCAQAFCwwFCwwFCwwFCwwFCwwFCyAEIQEDQCABQQBKBEAgACADQQJ0aiIFIAUoAgAgACgCAGs2AgAgAUF/aiEBIABBfGohAAwBCwsLIAAgA0ECdGoiASABKAIAIAAoAgBrNgIAIABBfGohAAsgACADQQJ0aiIBIAEoAgAgACgCAGs2AgAgAEF8aiEACyAAIANBAnRqIgEgASgCACAAKAIAazYCACAAQXxqIQALIAAgA0ECdGoiASABKAIAIAAoAgBrNgIAIABBfGohAAsgAiADayICQQBKDQALC7ICAQN/IAAoAsgEKAIEIQMgAkECEE4iACADTARADwsgA0F8aiEEIAAgA2siACECIAEgAEF/akEBdGohAANAAkACQAJAAkACQAJAAkACQAJAAkACQCADDgUEAwIBAAULDAULDAULDAULDAULDAULIAQhAQNAIAFBAEoEQCAAIANBAXRqIgUgBS8BACAALwEAazsBACABQX9qIQEgAEF+aiEADAELCwsgACADQQF0aiIBIAEvAQAgAC8BAGs7AQAgAEF+aiEACyAAIANBAXRqIgEgAS8BACAALwEAazsBACAAQX5qIQALIAAgA0EBdGoiASABLwEAIAAvAQBrOwEAIABBfmohAAsgACADQQF0aiIBIAEvAQAgAC8BAGs7AQAgAEF+aiEACyACIANrIgJBAEoNAAsLzAQBBn8gACgCyAQoAgQiAyACTgRADwsgAiADayEAAkACQAJAIANBA2sOAgABAgsgASwAASECIAEsAAAhBCABLAACIQMDQCABQQNqIgUsAAAhByAFIAcgBGs6AAAgAUEEaiIGLAAAIQQgBiAEIAJrOgAAIAFBBWoiASwAACEGIAEgBiADazoAACAAQX1qIQEgAEEDSgRAIAQhAiAHIQQgASEAIAUhASAGIQMMAQsLDwsgASwAAyECIAEsAAIhBCABLAABIQMgASwAACEFA0AgAUEEaiIHLAAAIQYgByAGIAVrOgAAIAFBBWoiCCwAACEFIAggBSADazoAACABQQZqIggsAAAhAyAIIAMgBGs6AAAgAUEHaiIELAAAIQEgBCABIAJrOgAAIABBfGohCCAAQQRKBEAgASECIAMhBCAFIQMgBiEFIAghACAHIQEMAQsLDwsgA0F8aiEEIAEgACICQX9qaiEAA0ACQAJAAkACQAJAAkACQAJAAkACQAJAIAMOBQQDAgEABQsMBQsMBQsMBQsMBQsMBQsgBCEBA0AgAUEASgRAIAAgA2oiBSAFLQAAIAAtAABrOgAAIAFBf2ohASAAQX9q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AkEQdCAAciAEEFoiAEH/ASAAQf8BSRtyC8cMAAJ/AkACQAJAAkAgAEH//wNxQQZ0IAJB//8DcUEDdHIgAUH//wNxckGJBGsOgwwCAwMCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwEBAwEDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADC0EADAMLQQEMAgtBAwwBC0F/CwuUAwEJfyMGIQUjBkEQaiQGIAVBCGohBwJAAkAgAEG4AWoiBigCACABQQJ0aigCACIJRSIKDQAgACgC5ANFDQAMAQsgACgCtAFFBEBB1bIdQeiyHUH1BEHA8woQAQsgACgCgAUhBCAAKAL0BCEIIABBvAFqIgsoAgAgAUECdGooAgAiDEUgCnIgDCADSXIEQCAIQQBBAiAEQf8AcUGQBGoRAgAhBCAG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4QBqIgUsAAAEQCAAKAI4EEwLIABBNGoiAyACNgIAAn8CQCACQQhLBEAgAUEARyAALABiIgNBAEdxBEAgACABNgIgIARBADoAAAwCBSAAIAIQTzYCICAEQQE6AAALBSAAIABBLGo2AiAgA0EINgIAIARBADoAACAALABiIQMLIANB/wFxDQAgACACQQggAkEIShsiAzYCPCABQQBHIANBB0txBH9BAAUgAxBPIQFBAQsMAQsgAEEANgI8QQAhAUEACyECIAAgATYCOCAFIAI6AAAgAAvUAgEDfyAAIAAoAgAoAhhB/wFxQQZqEQUAGiAAIAEoAgBBuNT5ABDKASIBNgJEIABB4gBqIgItAAAhAyACIAEgASgCACgCHEH/AXFBBmoRBQAiAUEBcToAAAJAIANB/wFxIAFBAXFHBEAgAEEIaiICQgA3AgAgAkIANwIIIAJCADcCECAAQeAAaiICLAAAQQBHIQMgAQRAIABBIGohASADBEAgASgCABBMCyACIABB4QBqIgIsAAA6AAAgACAAQTxqIgMoAgA2AjQgASAAQThqIgAoAgA2AgAgA0EANgIAIABBADYCACACQQA6AAAMAgsgA0UEQCAAQSBqIgEoAgAiAyAAQSxqRwRAIAAgACgCNCIENgI8IAAgAzYCOCAAQQA6AGEgASAEEE82AgAgAkEBOgAADAMLCyAAIAAoAjQiATYCPCAAIAEQTzYCOCAAQQE6AGELCwsLACAAEP0OIAAQTAs4AQJ/IABBQGsiASgCACICBEAgACAAKAIAKAIYQf8BcUEGahEFABogAhD9AUUEQCABQQA2AgALCws5AQF/IABBQGsiAigCAARAQQAhAAUgAiABQa77HhDlAiIBNgIAIAEEQCAAQQg2AlgFQQAhAAsLIAALhgIBBX8jBiECIwZBEGokBiAAEN0fIABBnLIWNgIAIABBADYCICAAQQA2AiQgAEEANgIoIABBxABqIQMgAEE0aiIBQgA3AgAgAUIANwIIIAFCADcCECABQgA3AhggAUIANwIgIAFBADYCKCABQQA7ASwgAUEAOgAuIAIgAEEEaiIBKAIAEP0KAn8gAigCAEG41PkAEKwCEPwdIQUgAhDbASAFCwRAIAIgASgCABD9CiADIAIoAgBBuNT5ABDKATYCACACENsBIAAgAygCACIBIAEoAgAoAhxB/wFxQQZqEQUAQQFxOgBiCyAAQQBBgCAgACgCACgCDEH/AHFBkARqEQIAGiACJAYLWAECfyMGIQIjBkEQaiQGIAJCADcCACACQQA2AgggAiABQQAQ3RUgACACKAIAIAIgAiwACyIDQQBIIgEbIAIoAgQgA0H/AXEgARsQvxIaIAIQVCACJAYgAAvMBgEKfyMGIQojBkHwAWokBiABQairIBDFAQR/IAFBytYgEMUBRQVBAQshCyAKQdgBaiEGIApB1AFqIQwgCkHQAWohCSAKQRRqIQUgCkEIaiEIQaKj+QAtAAAEQCAAQcC1FkEAIAIgAyAEIAAoAgRB1MYIaigCABDeFSEABSAGQgA3AgAgBkEANgIIA0AgB0EDRwRAIAYgB0ECdGpBADYCACAHQQFqIQcMAQsLAkACQCALBH8gBkHwyfkAKAIAQXRqKAIAQYjK+QBqKAIAEJYpGiAGKAIAIAYgBiwAC0EASBsiDSEHIA0gDBCmCSENDAEFIAFBrvweEOUCIgcEfyAHEP0BGkEAIQcgASAMEJkOIQ0MAgVByMX5ACgCABCxEyEAIAogATYCACAKIAA2AgRBxLQWQeKCHSAKEFxBAAsLIQAMAQsgDSAMKAIAIgxFcgRAIAkQmQEgCwRAIAkgBigCACAGIAYsAAtBAEgbEOABGgUgBUHciBY2AgAgBUHsAGoiB0HwiBY2AgAgBUEANgIEIAVB7ABqIAVBCGoiCxDfHyAFQQA2ArQBIAVBfzYCuAEgBUH4sRY2AgAgB0GMshY2AgAgCxCVKSALIAEQlClFBEAgBSAFKAIAQXRqKAIAaiIBIgcgBygCGEUgASgCEEEEcnI2AhALIAUgBSgCAEF0aigCAGooAhghASAIQgA3AgAgCEEANgIIIAggAUEAEN0VIAkgCCgCACAIIAgsAAtBAEgbEOABGiAIEFQgBRDlCwsgAEEAIAkgAiADIAQgACgCBEHUxghqKAIAEN4VIQAgCRBYBSAJQQA2AgACfwJAIAxBfGpBB0kiCA0AIAkgCwR/IAcgBigCBCAGLAALIgVB/wFxIAVBAEgbEJkLBSABEJ4JCyIFNgIAIAUNAEEADAELIARBAEciBQRAIAQgACgCWBDoC0UEQCAJEF5BAAwCCwsCfyAIBH8gACAHIAYoAgQgBiwACyIIQf8BcSAIQQBIGyABIAIgAyAEIAAoAgRB1MYIaigCABCZKQUgACAJKAIAIAEgAiADIAQQ5wsLIQ4gCRBeIA4LBH8gBQRAQQAgBBDmC0UNAhoLQQEFQQALCyEACwsgBhBUCyAKJAYgAAtqAQJ/IwYhBSMGQRBqJAYgACABIAIgAyAEEJcpBH8gACgCBCIBQdqmCGotAAAEfyABIABBKGoiACgCABCwKQR/QQEFIAUgACgCABBdNgIAQcWCHSAFEEtBAAsFQQELBUEACyEGIAUkBiAGC5oCAQp/IwYhCCMGQTBqJAYgCEEgaiEMIAhBGGohDSAIQShqIgpBADYCACAIQSRqIgtBADYCACABRSERIAdBACAHQX9KIg4bIQ8CQAJAA0ACQCAKIBEEfyADIAsQzyAFIAEgAiALEM0gCyIJNgIAIAlFDQIgDSAHIA8gDhsiCUEBaiIPNgIAQa6CHSANEEsgDCAJNgIAIAhBFUGqzh8gDBCoARogAEG3gh0gCBCEDxogACAKKAIAIAMgBCAFIAYQ5wshECAKEF5BAkEBIBAbIQkgDiAQQQFzckUEQEEAQQIgCygCABshCQsCQAJAAkACQCAJQQNxDgMAAgECCwwCCwwEC0EAIQAMAQsMAQsLDAELQQEhAAsgCCQGIAALLAEBfyAAKAIMIgUEfyAALgECIAEgAiADIAQgBUE/cUHYBWoREQAFQQELIgALCgAgACwARBCJAQtpAQN/IABBGGoiAkEAECAaIAFB6AcQTiEDIAIgAigCACADaiIENgIAIABBHGoiACgCACADQZh4bCABakHoB2xqIQEgACABNgIAIAFBwIQ9SgRAIAAgAUHA+0JqNgIAIAIgBEEBajYCAAsLSAAgAEEANgIAIABBADoABCAAQQA6AAUgAEEAOgAGIABBADYCCCAAQQA2AgwgAEEhNgIQIABBADYCFCAAQQA2AhggAEEANgIcC4MCAQh/IwYhAyMGQaABaiQGIANBGGohAiADQQRqIQQCfyAAQQRqIgUoAgAEQCAAKAIUIgEEQCABKAIEBEAgAEEgaiIGKAIABEAgABDXCAtBfyAAEJYNDQMaQX8gBSgCAEH6xghqLQAADQMaIABBAToAOEE8EE8iAUEAIAAoAhwgBSgCAEGQpghqEPsJIAYgATYCACACIAEQ2AIgAkEQaiEAIAJBGGohASACQRRqIQYDQCAAKAIAIgcEQCAEEJIFIAUoAgAgBCABKAIAKAIEIAYoAgAoAgQgBxDFGCACEM8BGiAEEN8EDAELC0EADAMLC0HWvRkgAxBLC0F/CyEIIAMkBiAIC14BA38gACgCCCEBIAAoAgQgACgCDCIDQQF1aiECIANBAXEEQCACKAIAIAFqKAIAIQELIAIgACgCECAAKAIUIAAoAhggACgCHCAAKAIgIAAoAiQgAUEPcUHcBmoRFQALTwAgABDhFSAAQeCxFjYCACAAIAE2AgQgACACNgIIIAAgAzYCDCAAIAQ2AhAgACAFNgIUIAAgBjYCGCAAIAc2AhwgACAINgIgIAAgCTYCJAtZAQN/IAAoAgghASAAKAIEIAAoAgwiA0EBdWohAiADQQFxBEAgAigCACABaigCACEBCyACIAAoAhAgACgCFCAAKAIYIAAoAhwgACgCICABQT9xQZwGahEGAAtIACAAEOEVIABBuLEWNgIAIAAgATYCBCAAIAI2AgggACADNgIMIAAgBDYCECAAIAU2AhQgACAGNgIYIAAgBzYCHCAAIAg2AiALKAEBfyMGIQIjBkEQaiQGIAAEQCAAIAEQqxEFQbX/HCACEEsLIAIkBgu1AwMHfwJ9AXwjBiEFIwZB8ABqJAYgA0UEQCAFQZizFzYCACAFQawHNgIEQYTE+QBBoKYaQQJBx+scIAUQUQsgBUEIaiIGIABB1N8IaigCABCAASADEHEiAy4BACEEIAMuAQQhByABBEAgBiAEIAcgAy4BAhDwAwUgBiAEIAcgAy4BBhDwAwsgBhCFAiACQQBKIQggAEH03whqIQkDQAJAIAYgARDABCIERQRAQQAhAAwBCwJ/IAMgBBBxIgAQtQKyIQwgAxBrIQcgDCAAEGsiCiAHIApBEHRBEHUgB0EQdEEQdUgbQRB0QRB1sl4LBEBBACEADAELIAQoAkgQ7gEEQCAJKAIAtyENIAgEfyANRHsUrkfhepQ/ora7EMMDthBlIAJqBSANRJqZmZmZmak/ora7EMMDthBlCyEEIAMgABD7BgRAIAMgABC1AiAETARAIAMQayEEIAAQayIAIAQgAEEQdEEQdSAEQRB0QRB1SBtBEHRBEHWyIAAgBCAEQRB0QRB1IABBEHRBEHVIG0EQdEEQdbKVQwAAAD9eBEBBASEADAQLCwsLDAELCyAGEH8gBSQGIAALTQAgB0EKSCAGQQpIIAAoAgRFcnIEf0EABSAAIAEgA0EDdCACQQN0QQEgAhsQTiAHIAVqIAIgAxDlFSAAIAQgBSAGIAcQ5BUgABClEQsLKwEBfyAAQQRqIgEoAgBFBEBByN8IEE8iABCVBSABIAA2AgAgAEEAEJkQCwtZAQN/IwYhAyMGQfADaiQGIABBBGoiACgCACIEBEAgBBBzELEpBUHI3wgQTyIEEJUFIAAgBDYCAAsgAxCEFiAAKAIAIAEgAiADELYpIQUgAxCgDSADJAYgBQsvAQF/IABBMGoiACgCACIBBH8gARBdBH8gACgCABBdBUHT1fkACwVB09X5AAsiAAvXAwEIfwJ/IwYhDiMGQfADaiQGIAJB/P4cIAIbIQogDiICQewDaiILCyABEIUBAn8CQAJAIABBBGoiCSgCAARAAkAgAEEsaiIBKAIAIgwEQCAAQTBqIg0oAgAEQCAMIAsQjBFFBEAgACgCNCADRgRAIA0oAgAgChCACARAIAkoAgBBDGogChCACA0FCyAJKAIARQ0GQQEhBQwHCwsLCwsgCSgCACIBBEAgASABKAIAKAIEQf8DcUGiB2oRAAALIAlBADYCAAsLQcjfCBBPIgEQlQUgCSABNgIAIAIgACgCEBCFFgJ/IAkoAgAgCxBdIAAoAigiAQR/IAEQXQVBAAsgCiADIAQgBSAGIAcgCCACEJYQRSEPIAIQoA0gDwsEf0EAIQUgAEEsaiEBDAEFQX8LDAELIAEoAgAiBARAIAQgCxCYAhogASgCACEEBUEEEE8iBCALEMkBIAEgBDYCAAsgBBBdLAAARQRAIAkoAgBBBGoQXSwAAARAIAEoAgAgCSgCAEEEahCYAhoLCyAAQTBqIgEoAgAiBARAIAQgChDgARoFQQQQTyIEIAoQhQEgASAENgIACyAAIAM2AjQgBQRAIAkoAgAQ6xULQQALIRAgCxBYIAIkBiAQC2sBBH8jBiECIwZBEGokBiAAKAIAIgNBAEcgASgCACIAQQBHcUUEQCACQZizFzYCACACQcMANgIEQYTE+QBBwLMXQQJBx+scIAIQUQsgAxBxIQQgABBxIQAgBC4BAiAALgECayEFIAIkBiAFCycAEGcgASAAKAIEEHNBPGoQ4BoiAAR/IAIgACsDEDkDAEEBBUEACwszAQF/IABBBGoiAygCACIARQRAQcjfCBBPIgAQlQUgAyAANgIACyABIAJBASAAEHMQiA0LLgEBfyAAQShqIgAoAgAiAgRAIAIgARDgARoFQQQQTyICIAEQhQEgACACNgIACwt1AQF/IABB1KgWNgIAIABBBGoiAUIANwIAIAFCADcCCCABQgA3AhAgAUIANwIYIAFCADcCICABQgA3AiggAEEDNgI0IABBADoAOCAAQTxqIgFCADcCACABQgA3AgggAUIANwIQIAFBADYCGCAAQdPV+QA2AlgLEwAgAgR/IAAgASACEMQBBUEACwtxAQN/IwYhAiMGQRBqJAYgAkHJ/hwQhQEgAkEEaiIDIAEgAhC7AiACEFggAEGIHmohASADEF1B/oQdEOUCIgQEQCAEIAFBABDeASABEN8BEMMNIQAgBBD9ARoFQQAhAAsgAUEAEMAKIAMQWCACJAYgAAuDAgEGf0ECQQEgABshBgNAIAQgBkcEQCAEBH8gAAUQZ0Goo/kACyECQQAhAQNAIAEgAigCAEgEQCACIAEQTSgCACIDIAMoAhA2AgwgAUEBaiEBDAELCyACQRRqIQNBACEBA0AgASADKAIASARAIAMgARBNKAIAIgUgBSwACzoACiABQQFqIQEMAQsLIAJBKGohA0EAIQEDQCABIAMoAgBIBEAgAyABEE0oAgAiBUEMaiAFQRBqEJgCGiABQQFqIQEMAQsLIAJBPGohAUEAIQIDQCACIAEoAgBIBEAgASACEE0oAgAiAyADKwMYOQMQIAJBAWohAgwBCwsgBEEBaiEEDAELCwtmAQJ/IwYhAiMGQRBqJAYgACgCACIAQQBHIAEoAgAiAUEAR3FFBEAgAkGYsxc2AgAgAkE7NgIEQYTE+QBBwLMXQQJBx+scIAIQUQsgABBxIQAgARBxLgEGIAAuAQZrIQMgAiQGIAMLkwUBB38jBiEKIwZBEGokBiAKQQRqIgwgAiADQSAgBEEDdEEBIAQbIgYgBkEYRhsQxwEiCDYCACAIEHUhBCAIEHchCAJAAkACQAJAAkACQCAGQQFrDiAABAQEBAQEAQQEBAQEBAQEBAQEBAQEBAIEBAQEBAQEAwQLA0AgByADTg0FQQAhBgNAIAYgAkgEQEGAgICAeCAGQR9xdiEJQYABIAZBB3F2IAEgBkEDdmotAABxBEAgBCAGQQV2QQJ0aiILIAsoAgAgCUF/c3E2AgAFIAQgBkEFdkECdGoiCyALKAIAIAlyNgIACyAGQQFqIQYMAQsLIAdBAWohByABIAVqIQEgBCAIQQJ0aiEEDAAACwALA0AgByADTg0EQQAhBgNAIAYgAkgEQCAEIAZqQQNzIAEgBmosAAA6AAAgBkEBaiEGDAELCyAHQQFqIQcgASAFaiEBIAQgCEECdGohBAwAAAsAC0EAIQgDQCAIIANODQNBACEGA0AgBiACSARAIARBA3MgASAGQQNsIgdqLAAAOgAAIARBAWpBA3MgASAHQQFqaiwAADoAACAEQQJqQQNzIAEgB0ECamosAAA6AAAgBkEBaiEGIARBBGohBAwBCwsgCEEBaiEIIAEgBWohAQwAAAsACwNAIAcgA04NAkEAIQYDQCAGIAJIBEAgBCAGQQJ0aiABIAZBAnQiCUEBcmotAABBEHQgASAJai0AAEEYdHIgASAJQQJyai0AAEEIdHIgASAJQQNyai0AAHI2AgAgBkEBaiEGDAELCyAHQQFqIQcgASAFaiEBIAQgCEECdGohBAwAAAsACyAKIAY2AgBBmv4cIAoQSwsgDCgCACIBQawCELsJIAAgARDpFSAMEF4gCiQGC0sBAX8gAEGcmhY2AgAgAEEEaiIBQgA3AgAgAUIANwIIIAFBADYCECAAQQE2AhggAEGsAjYCHCAAQawCNgIgIABBAEEAQQBBABC2DQtfAQJ/IAAgACgCACgCCEH/AXFBBmoRBQAQ6hUgAEGc3whqIQFBACEAA0AgACABKAIASARAIAEgABBNKAIAIgIgAigCACgCCEH/AXFBBmoRBQAQ6hUgAEEBaiEADAELCwt+AQF/IAAgAUEAIAJBAEEAQQBBAEEAQQAgAxCqFgR/An8gACAAKAIAKAIIQf8BcUEGahEFACEEEPMLIAQLEKQPIAAgACgCACgCCEH/AXFBBmoRBQAgAEEMaiADEKgWIAAgACgCACgCCEH/AXFBBmoRBQAQow8aQQAFQX8LIgALXAEBfyABQQA2AgAgAARAIAAoAgQiAARAIAAoAjwiAARAIAAoAgQiBQRAIAIgACwACDoAACADIAAsAAk6AAAgBCAFKAIIIAUoAgxrNgIAIAEgBSgCADYCAAsLCwsL0QEBCX8jBiEEIwZBEGokBiAEIAAoAQw2AgAgAEEQaiEIIAJBf2ohCSAAQRRqIQogBEEEaiIGQQJqIQsgBEECaiEHA0AgBSAILgEASARAIAYgCigCACAFENoBIAsuAQAiDCIAQQBIBEAgA0EAIAIgBy4BAGsgBC4BACABa0EBQQVBAEEAQQAQywEFIABB//8DcQRAIANBACAJIAcuAQBrIAQuAQAgAWtBAUEFQQBBAEEAEMsBCwsgBCAGLgEAIAwQ6AEaIAVBAWohBQwBCwsgBCQGC0UBAn8jBiECIwZBQGskBiACQRxqIgMgARBVIAIgABBVIAMQWwNAIAMQWUUEQCACIAMQUxC6KRCgASADEFYMAQsLIAIkBgsmAQJ/QQgQTyIBIgIQVyACQQRqEJgBIAEQVyABIAAoAgQ2AgQgAQv7AgELfyMGIQMjBkFAayQGIANBOGohBSADQShqIQYgA0EIaiEEIAMgAEEMaiIJKQEANwMAIAMgARDfAiADEG5BEHRBEHUgAxBrQRB0QRB1QQEQxwEhByAAKAIABEAgBRBXIAUgACgCABC5KSAGIAUgACgCACgCDBC9FyAGIAEqAgAgASoCBBDSF0EEEE8iCiAGEFAgCS4BAiEBA0AgASAJLgEGSARAIAogAUH//wNxELwMIggoAgAEQCAEIAgQVSAEEFsgAUF/cyELA0AgBBBZRQRAIAQQUy4BBCEMIAQQUyEAIAMQayENIAcgDCADLgEAayALIA1BEHRBEHVqIAMuAQJqIAAuAQZBAUEPQQBBAEEAEMsBIAQQVgwBCwsLIAgQ7gIgCBBMIAFBAWohAQwBCwsgChBMIAYQ7gIgBRDuAgUgB0EAQQAgAxBuQRB0QRB1IAMQa0EQdEEQdUEPQQBBAEEAEMsBCyACBEAgAiADKQMANwEACyADJAYgBwtLAQJ/IwYhASMGQRBqJAYgASAAENIBIAEQbkEQdEEQdSABEGtBEHRBEHVBARDHASECIABBBGogAS4BACABLgEGIAIQ7hUgASQGIAILxQECB38BfSMGIQIjBkEgaiQGIAAoAgwoAhgiAQR/IAEoAgQiAQR/IAEoAgQiAQR/IAIgARBVIAIQmxQQrgkhASACEFsgAEEkaiEEIABBLGohBSAAQTBqIQYgAEE4aiEAA0AgAhBZRQRAIAEgAhBTIgNBBGpBACADGyIDLgEAsiAEKAIAsiIIlSAFKAIAspIgACgCACAGKAIAarIgAy4BArIgCJWTEO8GIAIQVgwBCwsgAQVBAAsFQQALBUEACyEHIAIkBiAHCzABAX8gACgCDCABKAIMEOcRIgIEfyACBUF/IAAoAhgiACABKAIYIgFHIAAgAUgbCwuNAgEGfyMGIQIjBkGAAWokBiACQRhqIgQgAEHU3whqKAIAEIABIAQQuAEgAhCqAUEAIQADQAJAA0AgBBDpASIBRQ0BIAEoAkgQ7gFFDQALIAAEQCABEHEiAyAAEHEiABDlBARAIAMgABDjBUUEQCADIAAQtQIhBSADEGshAyAFIAAQayIAIAMgAEEQdEEQdSADQRB0QRB1SBtBEHRBEHVIBEAgAiAFELABCwsLCyABIQAMAQsLIAIoAgAiA0EISAR/QX8FIAIQiQRBACEBQQAhAANAIAEgA0ECEE5IBEAgAiABEE0oAgAgAGohACABQQFqIQEMAQsLIAAgARBOCyEGIAIQaCAEEH8gAiQGIAYLcQIDfwF9IwYhAyMGQRBqJAYgAEGQD2ohBANAIAJB+ABHBEAgAEEQaiABQeADbGogAkECdGoqAgAiBUMAAAAAXARAIAMgBCgCACACENQGNgIAIAMgBbs5AwhBj/4cIAMQSwsgAkEBaiECDAELCyADJAYLPQECfyMGIQIjBkEQaiQGA0AgAUEERwRAIAIgATYCAEH8/RwgAhBLIAAgARDAKSABQQFqIQEMAQsLIAIkBgtCAQF9IAAEfUMAAMhCQwAAAAAgABBTKgIkQwAAoECUQwAAyEKSIgEgAUMAAAAAXRsiASABQwAAyEJeGwVDAAAAAAsLqQEBA38jBiEDIwZBEGokBiABQQxqIgQoAgAoAhAiAkUEQCADQYrlHDYCACADQYoDNgIEQdyZFkHb/RxBAkHH6xwgAxBRIAQoAgAoAhAhAgsgACACNgIAAkACQCACKAKUASIERQ0AIAQgAigCmAEoAhAgASgCGBCuByIBRQ0AIAEoAgBFDQBBHBBPIgIgARBVIAAgAjYCBCACEFsMAQsgAEEANgIECyADJAYLQgEBfSAABH1DAADIQkMAAAAAIAAQUyoCKEMAAKBAlEMAAMhCkiIBIAFDAAAAAF0bIgEgAUMAAMhCXhsFQwAAAAALCyYBAX8gAEEEaiIAKAIAIgEEfyABEFYgACgCABBZQQFzBUEACyIAC4UBAQJ/IwYhAiMGQRBqJAYgAUEMaiIDKAIAKAIQIgFFBEAgAkGK5Rw2AgAgAkHcAjYCBEHcmRZBvf0cQQJBx+scIAIQUSADKAIAKAIQIQELIAAgATYCACABQaABaiIBKAIABEBBHBBPIgMgARBVIAAgAzYCBCADEFsFIABBADYCBAsgAiQGCzABAX8gACgCHAR/QQAFIAAoAgwoAhAiAQR/IAEoApgBIAAoAhgQsgdBA0YFQQALCwswAQF/IAAoAhwEf0EABSAAKAIMKAIQIgEEfyABKAKYASAAKAIYELIHQQFGBUEACwsLMAEBfyAAKAIcBH9BAAUgACgCDCgCECIBBH8gASgCmAEgACgCGBCyB0ECRgVBAAsLC6EEAg5/AXwjBiEDIwZBkAFqJAYgAEHc3whqIgooAgBFBEAgA0GYsxc2AgAgA0GkBjYCBEGExPkAQbW4F0ECQcfrHCADEFELIANB8ABqIgYQsgEgAEHQ3whqKAIAQbDKCGooAgC3Ig9EAAAAAAAA4D+iEJwCIQsgD7a7EMMDthBlIQ0gA0EIaiIEIABB1N8IaigCABCAASAEEIUCIAooAgAiAi4BACEBIAIQbkEQdEEQdUECEE5BEHRBEHUgAUEQdEEQdWohDiAAQeDfCGohCANAIAkgCCgCAEgEQAJAAkAgCCAJEE0oAgAiBxBxIgEuAQAgCigCACICLgEAayIAIAtIIAAgC2ogAi4BBCABLgEEIgJrSHEEQCAEIAIgAS4BBiABLgECEIoEQQAhDAwBBSAAIA5KBEAgBCABLgEAIAEuAQYgAS4BAhCKBEEBIQwMAgUgBiAHELkBCwsMAQtBACEAA0ACQANAAkAgBCAMEJQFIgJFBEBBACECDAMLIAIQcSEFIAIoAkgQmwUEQCABIAUQpgIgDUwEQCABIAUQiQgNAgsLDAELCyAAIAEgBRDlBCIFQQFzciEAIAUNAQsLIABFBEAgB0EFEMcEDAELIAIQcRBuQRB0QRB1IAEQbkEQdEEQdUoEQCACKAJIQQRHBEAgB0EFEMcEDAILCyAGIAcQuQELIAlBAWohCQwBCwsgCCAGELQQGiAEEH8gBhBoIAMkBgsrACAABH8gACgCpAEiAAR/IAEgACgCoAE2AgAgACgCnAEFQQALBUEACyIAC80BAQV/IwYhASMGQRBqJAYgAUEIaiECIABBDGoiACgCACgCEARAIAIQmQEgACgCACgCECIAKAJEIQQgACgCmAEiA0UEQCABQYrlHDYCACABQawCNgIEQdyZFkHz5BxBAkHH6xwgARBRCyADQRxqIQVBACEAA0AgACAFKAIASARAIAIgBCADIAAQiwEQzgcQbBogAEEBaiEADAELC0F/IAIQ3wEiAEEBaiIDIABBf0gbEE8iACACEF0gAxDSBBogAhBYBUEAIQALIAEkBiAAC1MBAn8jBiEBIwZBEGokBiAAEIcPBEAgASAAKAKkARDyGkF/IAEQ3wEiAEEBaiICIABBf0gbEE8iACABEF0gAhDSBBogARBYBUEAIQALIAEkBiAAC58BAQN/IwYhAiMGQdAAaiQGIAJBCGohAyAAQQxqIgQoAgAoAhAiABCHDwRAIABBxABqIgAoAgBFBEAgAkGK5Rw2AgAgAkGVAjYCBEHcmRZBnf0cQQJBx+scIAIQUSAEKAIAKAIQIgBBxABqIQALIAMgASAAKAIAEKEPIAQoAgAoAhAiACgCpAEgAxDTCCEAIAMQoAIFQQAhAAsgAiQGIAALOAEBfyAABEAgACgCmAEsADRBeGpBGHRBGHUiAUH/AXFBBEgEQEENIAFBD3F2QQFxQQBHDwsLQQALWAECfCAFIAIgBGu3IAMgAWu3EOIGIgkQ3AciCjkDACAGIAkQ2wciCTkDACAHIAmaOQMAIAggCjkDACAAQQFGBEAgBSAFKwMAmjkDACAGIAYrAwCaOQMACwuNAgIEfwR8IwYhDiMGQRBqJAYgDkEMaiIPIAM2AgAgDkEIaiIQIAQ2AgAgDkEEaiIRIAU2AgAgDiAGNgIAIABBAUYEQCAPIBEQxAwgECAOEMQMIA8oAgAhAyAQKAIAIQQLIAcgCCAJIAoQ8BUiAAR8IAQgCmsgCiAIayIFbCADIAlrIAkgB2siBmxqtyAAt6MiEiAGt6IgCbegIRMgEiAFt6IgCregBSAHtyETIAi3CyESIAMgBCARKAIAIA4oAgAQ8BW3n0QAAAAAAABSQKIgAbciFKMhFSALIBNEAAAAAAAAUkCiIBSjOQMAIAwgArcgEkQAAAAAAABSQKIgFKOhOQMAIA0gFTkDACAOJAYLdAAgBSABNgIAIAYgAjYCACAHIAM2AgAgCCAENgIAIAMgAWshASAEIAJrIgNBACADayADQX9KG0HIAGwgAEEBdCIASARAIAAgAUEAIAFrIAFBf0obQcgAbEgEQCAIIAQgAmpBAhBOIgA2AgAgBiAANgIACwsLcAECfyMGIQEjBkHwAGokBiABIABB1N8IaigCABCAASABELgBIABB3N8IaiICKAIAIgAEQCAAEEwLQQgQTyIAEHkgAiAANgIAA0AgARDpASIABEAgABBxIQAgAigCACAAELwBGgwBCwsgARB/IAEkBgucBgELfyMGIQcjBkHAMGokBiAHQZAwaiEIIAdBiDBqIQ0gB0GAMGohDiAHQYAgaiELIAdBgBBqIQ8gB0G0MGohBiADQQBHIARBAEdxBH8gA0EANgIAIARBADYCACAAIAFyBH8gBkEANgIAAn8CQCAAENALQQNHDQAgAEEDQQAgBhDFDiEJIAYoAgAiCkUNACAKDAELIAEgACAFIAYQ5iAhCSAGKAIACyEAAn8gCUUgAEEAR3EEfwJAAkACQAJAAkACQCAAKAIAQQFrDgQBAgADBAtB09X5ACEMQYbwHCEJDAQLQdPV+QAhDEH77xwhCQwDC0GT8BwhDEHr7xwhCQwCC0HT1fkAIQxB4O8cIQkMAQsgBhDSBUEADAILAkAgACgCHCIBQQBKBH8gACgCGCEAIA4gAUF/ajYCACAOIAA2AgQgC0GAEEGe8BwgDhCoAUH/D0sEfyAGENIFQQAMBAUgBigCAAsFAkACQAJAIAAoAixBAWsOAwACAQILQeXwHCELDAMLQcvwHCELDAILIAYQ0gVBAAwDCyEACyAAKAI0IQUgACgCCCEAIA0gAjYCACANIAA2AgQgD0GAEEGA8RwgDRCoAUH/D0sEQCAGENIFQQAMAgsgBigCACIAKAIgIQogACgCJCEBIAAoAighAiAAKAIsIQAgCCAKNgIAIAggATYCBCAIIAI2AgggCCAJNgIMIAhBDkEBIAUbNgIQIAggADYCFCAIIAw2AhggCCAKNgIcIAggAjYCICAHQYAQQa7xHCAIEKgBQf8PSwR/IAYQ0gVBAAUgBCAPEGMiCkERaiAHEGMiBWogCxBjIgRqIAYoAgAiAUEIaiICKAIAaiIANgIAIAMgAEF/IABBf0obEE8iADYCACAAIA8gChBtGiAAIApqIgAgCyAEEG0aIAAgBGoiACAHIAUQbRogACAFaiIAIAEoAgQgAigCABBtGiAAIAIoAgBqIgBBwu8cKQAANwAAIABByu8cKQAANwAIIABB0u8cLAAAOgAQIAYQ0gVBAQsFIAYQ0gVBAAsLBUEACwVBAAshECAHJAYgEAuXDAIkfwZ8IwYhBiMGQbABaiQGIAZBpAFqIgRB09X5ABCFASABKAIUKAIcIRcgBkGgAWoiEkEANgIAIAZB6ABqIhhEAAAAAAAA8D85AwAgBkHgAGoiGUQAAAAAAAAAADkDACAGQdgAaiIaRAAAAAAAAAAAOQMAIAZB0ABqIhtEAAAAAAAA8D85AwAgBEHb8hwQbBogBEHT1fkAIAIQ4QQQnwMgBEHe8hwQbBogBEHT1fkAIAMQ4QQQnwMgBEHk8hwQbBogACwAVEUEQCAEQezyHBBsGgsgBkHwAGohHCAGQYwBaiEIIAZByABqIQogBkFAayELIAZBOGohDSAGQYgBaiEJIAZBIGohDiAGQfgAaiETIAZBqQFqISEgBkGoAWohIiAGQfQAaiEjIARB9fIcEGwaIAZBnAFqIh1BADYCACAGQZgBaiIeQQA2AgAgBkGUAWoiH0EANgIAIAZBkAFqIiBBADYCACABENYIIQUgAxBaISQgBkH8AGoiDEEEaiElIAVBDGohJkEAIQFBASEARAAAAAAAAPA/IQJEAAAAAAAAAAAhA0QAAAAAAADwPyErA0ACQANAIAVBABDZAg0BIAVBACAFKAIAKAIYQf8BcUGQAmoRAQAEQCAEQfnyHBBsGkEAIQFBASEACyAFQQIgBSgCACgCGEH/AXFBkAJqEQEABEAgBUECIAggCiALIA0Q6QsaIBcgCCgCACAKKAIAIAsoAgAgDSgCACAdIB4gHyAgENIpCyAFQQMQ2QIEQCAFQQMgBSgCACgCFEH/AXFBkAJqEQEAGgwBCwsgJigCACgCGCAKIAggCyANEIoPAn8gCCgCAEECRgR/QQIFAkACQAJAIAUQuQVBAWsOAgABAgsgCEEANgIAQQAMAwsgCEEBNgIAQQEMAgsgCCAHNgIAIAcLCyEQIAVBAyAJIAwgDiATEOkLGiAQIBcgJCAJKAIAIAwoAgAgDigCACATKAIAIB0oAgAiDyAeKAIAIhQgHygCACIVICAoAgAiFiAKIAsgDRDRKSAAIBAgB0dyBEAgECAPIBQgFSAWIBggGSAaIBsQ0CkgBEHw1SAgGCsDACICEOEEEJ8DIARB8NUgIBkrAwAiAxDhBBCfAyAEQfDVICAaKwMAIiwQ4QQQnwMgBEHw1SAgGysDACIrEOEEEJ8DIARB8NUgIAorAwAiKBDhBBCfAyAEQfDVICALKwMAIikQ4QQQnwMgBEGB8xwQbBoFIARB8NUgIAorAwAiKiAooSItIAKiIAsrAwAiKCApoSIpIAOioBDhBBCfAyAEQfDVICAtICyiICkgK6KgEOEEEJ8DIARBhvMcEGwaICghKSAqISgLIAUgCSAMIA4gEyAhICIgEiAjEI0PGiASKAIAIgdBAUgEQCASQQg2AgBBCCEHCyAHIAFHBEAgHCAHNgIAIAZBFEGL8xwgHBCoARogBCAGEGwaIAchAQsCfyAFQQJBAyAFKAIAKAIcQf8AcUGQBGoRAgAhJyAFQQBBAyAFKAIAKAIcQf8AcUGQBGoRAgAhFSAJQdPV+QAQhQFBACEAA0ACQCAFQQQgBSgCACgCIEH/AXFBkAJqEQEAIg8EQCAPLAAABEAgDCAPEPMVICUoAgAhFiAMKAIAIREDQCARIBZHBEAgESgCACAOEPIVBEAgCSAOEGwaIABBAWohAAsgEUEEaiERDAELCyAMELoCCwsgBUEEIAUoAgAoAhRB/wFxQZACahEBABogDxBMIAVBABDZAg0AIAVBAyAFKAIAKAIYQf8BcUGQAmoRAQBFDQELCyAAQQBKIA0rAwAiKkQAAAAAAAAAAGRxBEAgBEHT1fkAICpEAAAAAAAAWUCiIAcgAGy3oxDhBEQAAAAAAAAAQKIQnwMgBEGZ8xwQbBogBEGd8xwQbBogBCAJEKMCGiAEQaLzHBBsGgsgJwsEQCAEQanzHBBsGgsgFQRAIARBrPMcEGwaCyAJEFggECEHQQAhAAwBCwtBfyAEEN8BIgBBAWogAEF/SBsQTyIAIAQQXRDfBxogBQRAIAUgBSgCACgCBEH/A3FBogdqEQAACyAEEFggBiQGIAALzAEBBn8jBiEGIwZBIGokBiAGIQMgACgCACICRQRAIANB2+scNgIAIANBmAE2AgRBrLEWQbjrHEECQcfrHCADEFEgACgCACECCyADQRBqIQQgA0EIaiEFAkAgAiwAABC2BCIBRQRAQffrHCAFEEtBACEBA0AgACgCACECIAFBBU8EQEEBIQEMAwsgAiABaiwAACIFBH8gBCABNgIAIAQgBTYCBEGZ7BwgBBBLIAFBAWohAQwBBUEBCyEBCwsLIAAgAiABajYCACADJAYgAAuAAQEFfyMGIQEjBkEwaiQGIAAoAgAiAkUEQCABQdvrHDYCACABQaYBNgIEQayxFkG46xxBAkHH6xwgARBRIAAoAgAhAgsgAUEIaiEEIAFBDGohAyACLAAAELYEIgAEfyADIAIgABDuByADEKcJBUG97BwgBBBLQSALIQUgASQGIAULIgECfyMGIQEjBkEQaiQGIAEgABBQIAEoAgAhAiABJAYgAgslAQJ/IwYhAiMGQRBqJAYgAiAAIAFqEFAgAigCACEDIAIkBiADC0wBAn8jBiECIwZBIGokBiAAKAIIIAAoAgAiA2tBAnUgAUkEQCACIAEgACgCBCADa0ECdSAAQQhqEPEFIAAgAhCSGSACEKoFCyACJAYLywUBDn8jBiEEIwZB8BBqJAYgBEHgEGohByAEQdgQaiEMIARB0BBqIQ0gBEHAEGohAyAEQbgQaiEGIARBsBBqIQogAEEgaiILEKADKAIAIQEgC0ECEE0gATYCACAEQaAQaiIIQQI2AgACQCAEQSBqIgFBgBBB3egcIAgQqAFB/w9LBEBBACEABSAAIAEQpgQgAEE0aiEFIAEQYyEJA0AgAgJ/IAUoAgAiDiAOQX9KDQAaQeDsHEHQhB1BzgBB8OwcEAFBAAtJBEAgCiAFIAIQTSgCADYCACABQYAQQYTpHCAKEKgBQf8PSwRAQQAhAAwEBSAAIAEQpgQgAkEBaiECIAEQYyAJaiEJDAILAAsLIAYgBSgCADYCACABQYAQQY3pHCAGEKgBQf8PSwRAQQAhAAUgACABEKYEIAEQYyAJaiECIAsQoAMiBSACIAUoAgBqNgIAIAZBpukcEIUBIAggABDqGhDzFSAIKAIEIQUgCCgCACECA0AgAiAFRwRAIAIoAgAgBBDyFQRAIAYgBBBsGgsgAkEEaiECDAELCxDMFCECIABBHGoiBSgCACEJIAYQXSEKIAMgCTYCACADQYXrHDYCBCADIAI2AgggAyAKNgIMIAFBgBBBq+kcIAMQqAEhAyACEIQBAn8gA0H/D0sEf0EABSAAIAEQ5AUgDSAFKAIANgIAIAFBgBBBg+ocIA0QqAFB/w9LBH9BAAUgACABEKYEQQEhAwNAIAMgBSgCACICSARAIAwgCyADEE0oAgA2AgBBACABQYAQQaPqHCAMEKgBQf8PSw0EGiAAIAEQpgQgA0EBaiEDDAELCyALEKADKAIAIQMgByACNgIAIAdBATYCBCAHIAJBf2o2AgggByADNgIMIAFBgBBBtOocIAcQqAFB/w9LBH9BAAUgACABEKYEQQELCwsLIQAgCBC6AiAGEFgLCwsgBCQGIAALqQQCDH8CfCMGIQMjBkHAIGokBiADQbAgaiEEIANBiCBqIQIgA0GAIGohBiADQYAQaiEFIANBuCBqIQsgASgCBEGgyghqKAIAIQkgASgCJBDxFSEMIAlFIAEoAhQoAhwiB0EBSHIEQEEAIQAFIAkQvgG3RAAAAAAAAFJAoiAHtyIOoyEPIAkQpQG3RAAAAAAAAFJAoiAOoyEOIAYgAEEcaiIHKAIAQQJqNgIAIANBgBBBku0cIAYQqAEaQdPV+QAgAyAAQdQAaiINLAAAGyEIIAIgBygCACIKNgIAIAJBAjYCBCACIA85AwggAiAOOQMQIAIgCkEBajYCGCACIAg2AhwgAkEDNgIgIAVBgBBBr+0cIAIQqAFB/w9LBEBBACEABSAAQTRqIAcoAgAQuQEgACAFEOQFIAAgASAPIA4Q1SkiCiAKEGMgAhDADiEIIAIoAgAhAiAEIAcoAgA2AgAgBCACNgIEIAVBgBBBh+8cIAQQqAFB/w9LBH8gCBCEAUEABSAAIAUQpgQgBCAFEGMiBTYCACAAIAggAhCrCiAIEIQBIABBwu8cEKYEIAQgBSACakERaiICNgIAIAAgAhDSCSANLAAABH9BAQUgBkEANgIAIAFB1O8cIAsQsAoaIAkgDCAHKAIAIAYgBCALKAIAENQpBH8gACAGKAIAIAQoAgAQqwogACAEKAIAENIJIAYoAgAQTEEBBUEACwsLIQAgChBMCwsgAyQGIAAL5wYBDH8jBiEBIwZB8BBqJAYgAUHoEGohCCABQeAQaiEJIAFB2BBqIQogAUHAEGohBCABQbgQaiEGIAFBsBBqIQcgAUGgEGohAiABQZgQaiEFIAFBkBBqIQsgAUGAEGoiA0HeATYCACADQa0BNgIEIANBvgE2AgggA0HrATYCDCABQYAQQbDzHCADEKgBQf8PSwRAQQAhAAUgACABEOQFIAtBAjYCACABQYAQQcbzHCALEKgBQf8PSwRAQQAhAAUgACABEOQFIABB09X5ABDkBSAFQQQ2AgAgBUEGNgIEIAFBgBBB/vMcIAUQqAFB/w9LBEBBACEABSAAIAEQ5AUgAkEFNgIAIAJBBzYCBCACQfQDNgIIIAFBgBBBm/UcIAIQqAFB/w9LBEBBACEABSAAIAEQ5AVBgIAIEE8hBUEAIQMDQCADQYCACEcEQCAFIANqIANBAXE6AAAgA0EBaiEDDAELCyAFQYCACCACEMAOIQMgByACKAIANgIAAkAgAUGAEEGM9xwgBxCoAUH/D0sEQCADEIQBQQAhAAUgACABEKYEIAEQYyEHIAAgAyACKAIAEKsKIAIoAgAhAiADEIQBIABBwu8cEKYEIAAgB0ERaiACahDSCSAGQeECNgIAIAZB+vccNgIEIAFBgBBBxfccIAYQqAFB/w9LBEBBACEABSAAIAEQ5AUgBEHoBzYCACAEQegHNgIEIARB9AM2AgggBEHoBzYCDCAEQQg2AhAgAUGAEEHc+hwgBBCoAUH/D0sEQEEAIQAFIAAgARDkBSAAQcgAaiICLAALQQBIBEAgAigCACECCyAKIAI2AgAgAUGAEEGo/BwgChCoAUH/D0sEQEEAIQAFIAFBrvweEOUCIgJFBEAgCSABNgIAQbP8HCAJEEtBACEADAULIAJBAEECEIADGiACEP4DIgRBAEgEQCACEP0BGkEAIQAMBQsgAkEAQQAQgAMaAn8gBBBPIgNBASAEIAIQhAIgBEYhDCACEP0BGiAMCwR/IAggBDYCACAIIAQ2AgQgAUGAEEHM/BwgCBCoAUH/D0sEf0EABSAAIAEQpgQgARBjIQIgACADIAQQqwogAEHC7xwQpgQgACAEQRFqIAJqENIJQQELBUEACyEAIAMQTAsLCwsLIAUQTAsLCwsgASQGIAALCwAgABD0FSAAEEwLlQICCH8CfSMGIQMjBkHgAGokBiADQdgAaiEFIANBPGoiBBBXIAQgABCWASADQThqIgYQVyADQRxqIgggBhCSASAEEFsDQCAEEFlFBEACQAJAIAQQUyIHKAIYKAIEIgBFDQAgACgCDBDuAQ0ADAELIAMQVyADIAdBBGoQlgEgAxBbA0AgAxBZRQRAIAUgAxBTIgkoAgQQ0gEgBRBuIgdB//8DcQRAQwAAgD8gBRBrIgBBEHRBEHWyIAdBEHRBEHWylYsiC5UiDCALIAwgC14bQwAAAEBeIABBEHRBEHVBCkhyRQRAIAggCRC2BgsLIAMQVgwBCwsLIAQQVgwBCwtBACAGIAEgAhDDFiEKIAYQ7wEgAyQGIAoLgwIBC38jBiEDIwZBMGokBiAAQZjKCGoiCSgCACIERQRAIANB+uccNgIAIANBoQE2AgRBjLEWQZfoHEECQcfrHCADEFELIANBCGohBiADQSBqIgpBADYCACADQRxqIgtBATYCACADQRhqIgcQVyADQRRqIggQVwJ/IAQQ2QVBxgBIIQ0gBBDZBSEFIA0LBEAgBiAFNgIAIAZBxgA2AgRBpugcIAYQS0HGACEFCyAFQQAgBCAKIAtBACAHIAgQxhYgA0EQaiIGIARBABDFFiIFNgIAIAUEQCAEIAQgBRDgAxogBhBeCyAAEIgPIAkoAgAgASACELoMIAgQqAQgBxCoBCADJAYLQQEBfyMGIQMjBkEgaiQGIAMgAhBVQeAAEE8iAkHT1fkAQQBBACAAQf//A3EgAUH//wNxEJMHIAMgAhC7ASADJAYLxQIBC38jBiEDIwZBMGokBiADQRhqIgUgABDJASADQSBqIgcQeSAFEF1BLhCOBiIABEAgBSAAIAUQXWsQ3gFBADoAAAsgAkGYyghqIgkoAgAiAEUEQCADQfrnHDYCACADQckBNgIEQYyxFkHc5xxBAkHH6xwgAxBRIAkoAgAhAAsgABC+ASELIAkoAgAQpQEhCiADQRRqIgYQVyADQQxqIgggBRDJAQJ/IAggCiAGELUYIQwgCBBYIAxFCwRAIAsgCiAGEOEpCyADQRBqIggQVyADQQhqIgQQVyACIAYgBBDgKSAEKAIABEAgB0EAEI8CIAdBABC3AiAHIAsQjgIgByAKEKcCIAIQiA8gBBCREAUgAhCIDyAJKAIAIAYgBBC6DAsgBCABIAIQ3ykhDSAEEJIHIAgQkgcgBhDIBiAFEFggAyQGIA0LhgEBBH8gAEGQD2ohBEF/IQMDQCACQfgARwRAAkAgBCgCACACENQGIgVB0OccEMUBBEAgBUHX5xwQxQEEQCADQX9HBEAgAEEQaiABQeADbGogAkECdGoqAgAgAEEQaiABQeADbGogA0ECdGoqAgBeRQ0DCyACIQMLCwsgAkEBaiECDAELCyADCzIAAn8CQAJAAkACQAJAIAAOBAABAgMEC0EADAQLQY4CDAMLQbQBDAILQdoADAELQX8LC4wBAQN/IwYhBSMGQbAPaiQGIAUQmA0gACAFEPYVBH8gBSAFQZQPaigCACIGEOMpIQAgAgRAIAIgBUGgD2ooAgA2AgALIAEEQCABIAZB2gBsNgIACyADBEAgAyAFQZAPaigCACAAENQGNgIACyAEBEAgBCAFQZwPaigCADYCAAtBAQVBAAshByAFJAYgBwutAQIGfwJ8IwYhAiMGQUBrJAYgACACQTRqIgMgAkEwaiIFIAJBLGoiBCACQShqIgYQ5SkEQCADKAIAQdoAEE4Q5CkhB0H/ARBPIQAgAygCACEDIAUqAgC7IQggBCgCACEEIAYqAgC7IQkgAiABNgIAIAIgAzYCBCACIAc2AgggAiAIOQMQIAIgBDYCGCACIAk5AyAgAEH/AUHZ5hwgAhCoARoFQQAhAAsgAiQGIAALpAEBBH8jBiEBIwZBEGokBiABQQhqIQIgAEEMaiIDKAIAKAIQBEAgAhCZASADKAIAKAIQIgMhBCADKAKYAUUEQCABQYrlHDYCACABQTQ2AgRB3JkWQfPkHEECQcfrHCABEFELIAIgBCAAKAIYELoNEOABGkF/IAIQ3wEiAEEBaiIDIABBf0gbEE8iACACEF0gAxDSBBogAhBYBUEAIQALIAEkBiAAC1UBA38gACgCBCIBBEAgACgCICICBEBBxAAQTyIDIAIgASAAKAIUIgEoAhgiAiACIAEoAhwQ2gggAEFAaygCACAAKAJEIAAoAkggACgCTBCjEQsLIAMLzwMBEH8jBiECIwZBMGokBiACQShqIQUgAkEkaiEJIAJBIGohCiACQRxqIQsgAkEYaiEMAn8gACgCBAR/IAAsADhFBEBBACAAQQAQsgVBAEgNAhoLIAAgBRD3FSEDQX8gBSgCAEEfbCADaiINQYgBaiIOIA1B+H5IGxBPIgVBADoAACAAEOgpIQMgAEHUAGohD0EAIQACQAJAAkADQAJ/AkAgA0EEIAkgCiALIAwQogYEfyADEOcpIQdBACEEA0ACQAJAAkAgByAEaiIGLAAAIggEQCAIQSBGBEAMAgUMAwsACwwCCyAGQf4AOgAACyAEQQFqIQQMAQsLIAkoAgAhBCAPKAIAIgYgDCgCAGshCCALKAIAIRAgBiAKKAIAayEGIAIgBzYCACACIAQ2AgQgAiAINgIIIAIgEDYCDCACIAY2AhAgAiABNgIUIAUgAGoiBCAOIABrQcbmHCACEKgBGiAEEGMgAGohACAHEEwgACANSgR/QQAFDAILBQwBCwwBC0EBC0UNASADQQQgAygCACgCFEH/AXFBkAJqEQEADQALDAELIAMNAAwBCyADIAMoAgAoAgRB/wNxQaIHahEAAAsgBQVBAAsLIREgAiQGIBELywYBD38jBiEGIwZBoAFqJAYgBkH8AGohCQJAIABBBGoiDCgCAARAIAAsADhFBEAgAEEAELIFQQBIDQILIABBABD3FSECIAYgACgCIBDYAiACQX8gAkF/ShsQTyEKIAYQsgIgBkEQaiENIAohAEEBIQRBACECA0AgDSgCACIFIgEEQAJAAkACQAJAIAUoAvwBIgcOBAACAgECCyAMKAIAIAEQihsgBUGYAWoiAygCABCXARBdIQcgAygCABD5AiIIEN8BIQsgAgR/IAUoAgQtAAgEf0EAIQFBAAUgBywAAEEgRgR/QQEhASAIQQAQ3gEsAAAFQQAhAUEACwsFQQAhAUEACyEDIAEgC0gEfyAHIANqLAAABH8gBEUEQCAAQSA6AAAgAEEBaiEACyAFQeABaiEOIAEhBANAIAQgC0gEQAJ/AkAgByADaiICLAAAQSBrIgEEQCABQd4ARw0BCyAAQf4AOgAAQQEMAQsgDiAEQf//A3EQwAEQ+AMEQCAAQd4AOgAAIABBAWohAAsgCSACIAggBBDeASwAABDuByAJEKcJIQJBACEBAkACQANAIAFBB0cEQCABQQJ0QZDfCmooAgAgAkYNAiABQQFqIQEMAQsLDAELIAFBAnRBsN8KaigCACECCyAAIAJB/wFxQf4AIAJBgAJIIgIbOgAAIAJBAXNBAXELIQ8gAyAIIAQQ3gEsAABqIQMgBEEBaiEEIA9B/wFxQQBHIQIgAEEBaiEADAEFQQAhA0EAIQQMBgsAAAsABUEACwVBAAshAwwCCwwBCyADBEAgB0EBRwRAQQEhAwwCCyAFKAIEIgEtAAhFBEBBASEDDAILIAFBCxC/AQRAQQEhAwwCCyABQQoQvwEEQEEBIQMMAgsFIAUoAgQhAQsCQAJAIAFBAxC/AQ0AIAEtAAhFDQAgAUELEL8BDQAgAUEKEL8BDQAgAEEgOgAAIABBAWohAAwBCyACBEBBASECDAILCyAAQf4AOgAAQQEhA0EAIQRBASECIABBAWohAAsgBSgCBEEEEL8BBEAgBEUEQCAAQQo6AABBACEDQQAhAiAAQQFqIQALQQEhBAsgBhDPARoMAQsLIABBCjoAACAAQQA6AAELCyAGJAYgCgutCAEMfyMGIQQjBkEgaiQGIARBEGohAiAEQQxqIQogBEEIaiELIARBBGohDCAEIQgCQCAAKAIEBEAgACgCIEUEQCAAQQAQsgVBAEgEQEEAIQAMAwsLIAJB09X5ABCFASACQa/mHCABQQFqIgYQhgEgAkGy5hxBABCGASACQbLmHEEAEIYBIAJBsuYcQQAQhgEgAkGy5hxBABCGASACQbLmHCAAQUBrKAIAEIYBIAJBsuYcIAAoAkQQhgEgAkGy5hwgACgCSBCGASACQbLmHCAAKAJMEIYBIAJBtOYcEGwaIAAQ1gghA0EAIQRBACEBQQAhAANAAkADQCADQQAQ2QINAQJ/IANBAxDZAiENIAMoAgAhBSANCwRAIANBAyAFKAIUQf8BcUGQAmoRAQAaDAELCyADQQAgBSgCGEH/AXFBkAJqEQEABEAgAkG65hwgBhCGASACQbLmHCAAQQFqIgAQhgEgAkGy5hxBABCGASACQbLmHEEAEIYBIAJBsuYcQQAQhgEgA0EAIAIQiQ8gAkG05hwQbBpBACEHQQAhBEEAIQELIANBASADKAIAKAIYQf8BcUGQAmoRAQAEQCACQb3mHCAGEIYBIAJBsuYcIAAQhgEgAkGy5hwgAUEBaiIBEIYBIAJBsuYcQQAQhgEgAkGy5hxBABCGASADQQEgAhCJDyACQbTmHBBsGkEAIQdBACEECyADQQIgAygCACgCGEH/AXFBkAJqEQEABEAgAkHA5hwgBhCGASACQbLmHCAAEIYBIAJBsuYcIAEQhgEgAkGy5hwgBEEBaiIEEIYBIAJBsuYcQQAQhgEgA0ECIAIQiQ8gAkG05hwQbBpBACEHCyADQQMgCiALIAwgCBCiBhogAkHD5hwgBhCGASACQbLmHCAAEIYBIAJBsuYcIAEQhgEgAkGy5hwgBBCGASACQbLmHCAHQQFqIgcQhgEgAkGy5hwgCigCACIFEIYBIAJBsuYcIAsoAgAiCRCGASACQbLmHCAMKAIAIAVrEIYBIAJBsuYcIAgoAgAgCWsQhgEgAkGy5hwgA0EDEIwPEGUQhgEgAkGy5hwQbBogA0ECQQMgAygCACgCHEH/AHFBkARqEQIAGiADQQFBAyADKAIAKAIcQf8AcUGQBGoRAgAaIANBAEEDIAMoAgAoAhxB/wBxQZAEahECABoDQAJAIAIgA0EEIAMoAgAoAiBB/wFxQZACahEBACIFEGwaIAUQTCADQQQgAygCACgCFEH/AXFBkAJqEQEAGiADQQAQ2QINACADQQMgAygCACgCGEH/AXFBkAJqEQEARQ0BCwsgAkHCkx8QbBoMAQsLQX8gAhDfASIAQQFqIABBf0gbEE8iACACEF0Q3wcaIAMEQCADIAMoAgAoAgRB/wNxQaIHahEAAAsgAhBYBUEAIQALCyAIJAYgAAssAQF/IwYhAyMGQRBqJAYgAyABIAKMEKQBIAAgAyoCACADKgIEELUEIAMkBgs0AQJ/IwYhASMGQRBqJAYgACABQQxqIgAgAUEIaiABQQRqIAEQig8gACgCACECIAEkBiACCzsAIAEgACgCBCIAKgIUIABBGGoiASoCAJIgAEEcaiIAKgIAkzgCACACIAAqAgA4AgAgAyABKgIAOAIAC7MCAgl/AXwjBiECIwZBIGokBiACQRxqIQkgAkEYaiEDIAJBFGohBCACQRBqIQogAkEMaiEGIAJBCGohByACQQRqIQggACgCDCgCGBDtKSIFBEAgAUHq5RwgBUGmf2xB6AJqEIYBBSAAQQIgCSADIAQgChCiBhogAEECIAYgByAIIAIQ6QsEQCAGIAYoAgAgCSgCACIAayIDNgIAIAggCCgCACAAayIENgIAIAcgBygCACAKKAIAIgBrIgU2AgAgAiACKAIAIABrIgA2AgAgBCADRwRAIAFB9+UcIAAgBWu3IAQgA2u3oyILRAAAAAAAQI9AohDDA0QAAAAAAECPQKMQnwMgAUHw1SAgBbcgCyADt6KhRAAAAAAAQI9AohDDA0QAAAAAAECPQKMQnwMLCwsgAiQGC1EBAn8jBiEEIwZBMGokBiAEQSBqIQUgABB5IAQgAUE0ahBVIAQQWwNAIAQQWUUEQCAFIAQQUyACIAMQ+BUgACAFELwBGiAEEFYMAQsLIAQkBgvEEwIvfwF9IwYhAyMGQaABaiQGIANBmgFqIRggA0GQAWohAiADQYABaiEIIANBjAFqIQ4gA0HwAGohDyADQeAAaiEQIANB0ABqIREgA0HEAGohEiADQfwAaiEcIANB7ABqIR0gA0HcAGohHiADQZkBaiEfIANBmAFqISAgA0GXAWohJCADQZYBaiElIANBlQFqISYgA0GUAWohJyADQUBrISEgA0E8aiEoIANBMGohByADQSRqIRMgA0EYaiEUIANBDGohFSADIQwCQCAAQQRqIiIoAgAEQCAAKAIgRQRAIABBABCyBUEASARAQQAhAAwDCwsgGEEAOgAAIABB7eAcIBgQoREaIAJB09X5ABCFASAAQSRqIgMoAgBFBEAgAEEAEJEPCyACQfzgHBBsGiAIQgA3AgAgCEEANgIIIAhBlOEcQZThHBBjEMoCIAIgCCABQQFqIglBfxDTCSAIEFQgAkGZ4RwQbBogAygCACIDBEAgDiADEF0QkA8gAiAOEKMCGiAOEFgFIAJBqeEcEGwaCyACQbHhHCAAQUBrKAIAEIYBIAJB8NUgIAAoAkQQhgEgAkHw1SAgACgCSBCGASACQfDVICAAKAJMEIYBIAJBuuEcIAEQhgEgAkHF4RwQbBogB0EEaiEpIAdBBGohKiAAENYIIgRBxABqISsgBEEMaiEjQQEhCEEBIRlBASEaQQEhC0EBIQFBACEAA0ACQANAIARBABDZAg0BAn8gBEEDENkCIS8gBCgCACEDIC8LBEAgBEEDIAMoAhRB/wFxQZACahEBABoMAQsLIARBACADKAIYQf8BcUGQAmoRAQAEQCACQcnhHBBsGiAPQgA3AgAgD0EANgIIIA9B4+EcQePhHBBjEMoCIAIgDyAJIBkQ0wkgDxBUIARBACACEI8PQQEhAQsgBEEBIAQoAgAoAhhB/wFxQZACahEBAARAIAJB6eEcEGwaICssAAAQiQEiA0UEQCACQYHiHBBsGgsgEEIANwIAIBBBADYCCCAQQYziHEGM4hwQYxDKAiACIBAgCSAaENMJIBAQVCAjKAIAKAIQEI4PIgAEQCACQZDiHBBsGiACIAAQbBogAkGY4hwQbBoLIARBASACEI8PBSABIQMLIARBAiAEKAIAKAIYQf8BcUGQAmoRAQAEQCACQZriHBBsGiARQgA3AgAgEUEANgIIIBFBt+IcQbfiHBBjEMoCIAIgESAJIAgQ0wkgERBUIARBAiACEI8PCyAiKAIAQYTKCGooAgAEfyAEIAQoAgAoAiRB/wFxQQZqEQUABUEACyENIAJBvOIcEGwaIBJCADcCACASQQA2AgggEkHb4hxB2+IcEGMQygIgAiASIAkgCxDTCSASEFQgBEEDIA4gHCAdIB4QogYaIAQgHyAgICQgJSAmICcgISAoEI0PIQEgAkHg4hwgDigCABCGASACQfDVICAcKAIAEIYBIAJB8NUgIB0oAgAQhgEgAkHw1SAgHigCABCGASACQe7iHCAEQQMQjA8QZRCGASAYLAAABEAgAQRAIAJB+eIcEGwaIAcgARCQDyACIAcQowIaIAcQWAsgAkGD4xwgISgCABCGAQsgAkGY4hwQbBoCQCAjKAIAKAIQEI4PIgEEQCAABEAgASAAEMUBRQ0CCyACQZDiHBBsGiACIAEQbBogAkGY4hwQbBoLCwJAAkACQCAEELkFQQFrDgIAAQILIANFBEAgAkGO4xwQbBoLDAELIAMEQCACQYHiHBBsGgsLIAJB9NUgEGwaAn8gBEECQQMgBCgCACgCHEH/AHFBkARqEQIAITAgBEEBQQMgBCgCACgCHEH/AHFBkARqEQIAIS0gBEEAQQMgBCgCACgCHEH/AHFBkARqEQIAIS4gHywAAEUiBkUEQCACQZnjHBBsGgsgICwAAEUiBUUEQCACQaLjHBBsGgsDQAJAIARBBCAEKAIAKAIgQf8BcUGQAmoRAQAiAQRAIAEsAAAEQCAHIAEQkA8gAiAHEKMCGiAHEFgLCyAEQQQgBCgCACgCFEH/AXFBkAJqEQEAGiABEEwgBEEAENkCDQAgBEEDIAQoAgAoAhhB/wFxQZACahEBAEUNAQsLIAVFBEAgAkGn4xwQbBoLIAZFBEAgAkGt4xwQbBoLAkAgDUEARyIBICIoAgBBhMoIaigCACIGQQFGcQRAIA1BBGohFkEAIQVBASEKQQEhAQNAIAUgFigCACANKAIAa0EMEE5PDQIgAkG34xwQbBogE0IANwIAIBNBADYCCCATQdjjHEHY4xwQYxDKAiACIBMgCSALIAoQ6wsgExBUIAJB9NUgEGwaIAcgDSgCACAFQQxsahC1CCApKAIAIRsgBygCACEGA0AgBiAbRwRAIAYoAgAhFyAGKgIEITEgAkHp4xwQbBogFEIANwIAIBRBADYCCCAUQYHkHEGB5BwQYxDKAiACIBQgCSALIAEQ6wsgFBBUIAJBiOQcIDFDAADIQpQQZRCGASACQZjiHBBsGiACQfTVIBBsGiACIBcQbBogAkHh4xwQbBogAUEBaiEBIAZBCGohBgwBCwsgAkHh4xwQbBogBxC6AiAFQQFqIQUgCkEBaiEKDAAACwAFIAEgBkECRnEEQCANQQRqIRtBACEKQQEhBkEBIQEDQCAKIBsoAgAgDSgCACIFa0EMEE5PDQMgByAFIApBDGxqELUIIAcoAgAiBSEWICooAgAiFyAFRwRAIAJBt+McEGwaIBVCADcCACAVQQA2AgggFUGZ5BxBmeQcEGMQygIgAiAVIAkgCyAGEOsLIBUQVCACQabkHBBsGiACIBYoAgAQbBogAkGw5BwQbBogFyAFa0EDdSEXQQEhBQNAIAUgF0kEQCACQenjHBBsGiAMQgA3AgAgDEEANgIIIAxBgeQcQYHkHBBjEMoCIAIgDCAJIAsgARDrCyAMEFQgAkGI5BwgFiAFQQN0aioCBEMAAMhClBBlEIYBIAJBmOIcEGwaIAJB9NUgEGwaIAIgFiAFQQN0aigCABBsGiACQeHjHBBsGiAFQQFqIQUgAUEBaiEBDAELCyACQeHjHBBsGiAGQQFqIQYLIAcQugIgCkEBaiEKDAAACwALCwsgAkHh4xwQbBogMAsEQCACQbPkHBBsGiAIQQFqIQgLIC0EfyACQcHkHBBsGiAaQQFqIRpBAQUgAwshASAuBEAgAkHM5BwQbBogGUEBaiEZCyALQQFqIQsMAQsLIAJB1+QcEGwaQX8gAhDfASIAQQFqIABBf0gbEE8iACACEF0Q3wcaIAQEQCAEIAQoAgAoAgRB/wNxQaIHahEAAAsgAhBYBUEAIQALCyAMJAYgAAubAQEBfCAAIAE2AgBBACEBA0AgAUGABEcEQCAAQQRqIAFqRAAAAAAA4G9AIAFBEnS4RAAAAAAAAPA+okQAAAAAAADwPqJEAAAA4FG4fj+jIgIgAqJEAAAAAAAA8D+go0QAAAAAAADgP6AQWjoAACABQQFqIQEMAQsLIABB/wM2AoQEIABBADYCiAQgAEESNgKMBCAAQf//ADYCkAQLPgEDfyAAQQhqIQMDQCABIAAoAgBIBEAgAygCACABQQJ0aigCACICBEAgAhDsCyACEEwLIAFBAWohAQwBCwsLPQEBfyMGIQIjBkEQaiQGIAAoAgQhACACIAEpAgA3AgAgAiABKQIINwIIIAIgAEH/A3FBogdqEQAAIAIkBgtCAQF/IwYhAiMGQRBqJAYgACgCBCEAIAIgASkCADcDACACQQhqIgEgAikCADcCACABIABB/wNxQaIHahEAACACJAYLEgEBfyAAKAIEIgEEQCABEEwLC20BA38CQCAAKAIAIgIgASgCAEYEQCAAKAIEIQMgASgCBCEEQQAhAANAIAAgAk4EQEEBIQAMAwsgAEEBaiEBIAMgAEECdGooAgAgBCAAQQJ0aigCAEYEfyABIQAMAQVBAAshAAsFQQAhAAsLIAALIgEBfyAAKAIMIgEEQCABEPMpIAEQaCABEEwLIAAoAgAQTAstAQF/IAAQmQEgAEEANgIEA0AgAEEIaiABQRRsahCqASABQQFqIgFBAkcNAAsL7QYBAn8jBiEEIwZBEGokBiAAQQBB87QcQY61HEEAIAJBIGoiAygCABBzEH4gAEEYakEAQam1HEHBtRxBASADKAIAEHMQYCAAQShqQQhB7rUcQYm2HEEAIAMoAgAQcxB+IABBQGtBCkG0thxB4bYcQQAgAygCABBzEH4gAEHYAGpB9ANB27ccQYC4HEEAIAMoAgAQcxB+IABB8ABqRI3ttaD3xrA+Qbe4HEHXuBwgAygCABBzEGEgAEGYAWpEAAAAAAAARMBBwLkcQeS5HCADKAIAEHMQYSAAQcABakEAQZi6HEHGuhxBACADKAIAEHMQYCAAQdABakS4HoXrUbieP0GZuxxBu7scIAMoAgAQcxBhIABB+AFqRAAAAAAAADBAQYe8HEGqvBwgAygCABBzEGEgAEGgAmpBAUGGvRxBtL0cQQAgAygCABBzEGAgAEGwAmpBA0HRvRxB9L0cQQAgAygCABBzEH4gAEHIAmpEmpmZmZmZuT9Blb4cQb++HCADKAIAEHMQYSAAQfACakQzMzMzMzPDP0H1vhxBmr8cIAMoAgAQcxBhIABBmANqRJqZmZmZmck/Qbu/HEHXvxwgAygCABBzEGEgAEHAA2pEmpmZmZmZuT9B/L8cQZjAHCADKAIAEHMQYSAAQegDakQAAAAAAADgP0G2wBxB1MAcIAMoAgAQcxBhIABBkARqRDMzMzMzM9M/QfTAHEGUwRwgAygCABBzEGEgAEG4BGpEAAAAAAAAAABBvMEcQdjBHCADKAIAEHMQYSAAQeAEakSamZmZmZmpP0H2wRxBlcIcIAMoAgAQcxBhIABBiAVqRHsUrkfheoQ/QbbCHEHXwhwgAygCABBzEGEgAEGwBWpBAEHpwhxBh8McQQAgAygCABBzEH4gAEHIBWpBAEGdwxxBxMMcQQEgAygCABBzEGBBFBBPIgNCADcDACADQgA3AwggA0EANgIQIAMQ9QQgAEHYBWpBACADQQAQpwogACABNgLsBSAAQfAFaiIBIAI2AgAgAEEAOgD0BSAAQwAAAAA4AvgFIABB/AVqEJkBIABBhAZqEPUEIABBmAZqEPUEIABBADoArAYgAEGwBmoQ+SkgASgCAEUEQCAEQePBGDYCACAEQYcBNgIEQdSqFkHmwxxBAkHH6xwgBBBRCyAEJAYLmQ0BB38gABCGFiAAQcCcFjYCACAAQcSaFjYCACAAQZiXFjYCACAAQdQCakEBQffDHEGLxBxBACAAEHMiARBgIABB5AJqQQBBqMQcQbzEHEEAIAEQYCAAQfQCakEAQePEHEH5xBxBACABEH4gAEGMA2pBAUH2gx1BkcUcQQAgARBgIABBnANqIgRBAEGsxRxBwcUcQQAgARB+IABBtANqQQFB1sUcQevFHEEAIAEQfiAAQdADakSamZmZmZnJP0GGxhxBn8YcIAEQYSAAQfgDakQAAAAAAAAAAEHBxhxB28YcIAEQYSAAQaAEakTNzMzMzMzUP0H1xhxBj8ccIAEQYSAAQcgEakQAAAAAAAAAAEGpxxxBw8ccIAEQYSAAQfAEakTNzMzMzMzUP0HdxxxB98ccIAEQYSAAQZgFakQAAAAAAAD4P0GRyBxBq8gcIAEQYSAAQcAFakQAAAAAAAAWQEHRyBxB78gcIAEQYSAAQegFakEAQZ7JHEGvyRxBACABEGAgAEH4BWpBAEHNyRxB3skcQQAgARBgIABBiAZqQQFB+8kcQZHFHEEAIAEQYCAAQZgGakEAQZzKHEG/yhxBACABEGAgAEGoBmpBAEHkyhxBhMscQQAgARBgIABBuAZqQQBBpcscQcfLHEEAIAEQYCAAQcgGakEAQd3LHEH1yxxBACABEGAgAEHYBmpBAEGdzBxBscwcQQAgARB+IABB8AZqQQBBxcwcQdnMHEEAIAEQfiAAQYgHakEAQe3MHEGLzRxBACABEH4gAEGgB2pEAAAAAAAAwD9Bos0cQbnNHCABEGEgAEHIB2pEAAAAAAAAAABBys0cQevNHCABEGEgAEHwB2pEexSuR+F6lD9B/c0cQZfOHCABEGEgAEGYCGpEMzMzMzMzwz9Bq84cQcHOHCABEGEgAEHACGpEmpmZmZmZuT9B1c4cQevOHCABEGEgAEHoCGpEAAAAAAAAKEBBhc8cQZzPHCABEGEgAEGQCWpBAUGzzxxB0c8cQQAgARB+IABBqAlqQQNB7M8cQZHQHEEAIAEQfiAAQcAJakEFQavQHEHX0BxBACABEH4gAEHYCWpEuB6F61G4jj9BktEcQbXRHCABEGEgAEGACmpEAAAAAAAAAABB4tEcQf/RHCABEGEgAEGoCmpEAAAAAAAA+D9B1dIcQeLSHCABEGEgAEHQCmpEAAAAAAAANEBB+NIcQYjTHCABEGEgAEH4CmpEAAAAAAAAcD9BodMcQbvTHCABEGEgAEGgC2pEAAAAAAAABEBB3tMcQf7THCABEGEgAEHIC2pEAAAAAAAA8L9ButQcQd3UHCABEGEgAEHwC2pB5gFBl9UcQbbVHEEAIAEQfiAAQYgMakHmAUHm1RxBh9YcQQAgARB+IABBoAxqQQFBudYcQdXWHEEAIAEQYCAAQbAMakQAAAAAAAAIwEGZ1xxB0tccIAEQYSAAQdgMakEAQabYHEHJ2BxBACABEGAgAEHoDGpBAEGF2RxBpNkcQQAgARBgIABB+AxqQdPV+QBBh9ocQaDaHEEAIAEQxAIgAEGQDWpB5QFBvNocQdzaHEEAIAEQfiAAQagNakEPQfnaHEGa2xxBACABEH4gAEHADWpBB0HA2xxB3NscQQAgARB+IABB2A1qQQpBgtwcQabcHEEAIAEQfiAAQYwOakEBOgAAIABBlA5qIgIQsRYgAEGsDmoiAyIFEL4DIAVBADYCFCAAQcQOakEAQczcHEHe3BxBACABEH4gAEHcDmpBAEGG3RxBoN0cQQAgARBgIABB8A5qRDMzMzMzM9M/QcPdHEHa3RwgARBhIABBmA9qRAAAAAAAACRAQfHdHEGI3hwgARBhIABBwA9qIAQQ8ikgAEH4E2pBADYCACAAQYAUaiAAEJIWIABBgB5qQQA2AgAgAEGIHmoQmQEgAEGInghqEPkVIAIQsBYQrxYgAiEGQQgQTyIBIgJBgLEWNgIAIAJB7LAWNgIAIAJBugI2AgQgBiABNgIMQQgQTyIBIgJB2LAWNgIAIAJBxLAWNgIAIAJB5AA2AgQgAyABNgIQIAMgATYCFCADIQdBCBBPIgEiA0GwsBY2AgAgA0GcsBY2AgAgA0G5AjYCBCAHIAE2AgwgAEGQDmpBADYCACAAQYQeakEANgIAIABBnJ4IakEANgIAIABBoJ4IakEANgIAIABBpJ4IakEANgIAIABB8A1qIgBCADcDACAAQgA3AwggAEIANwMQIABBADYCGAtDACAAQZSYFjYCACAAQQA2AgQgAEEANgIYIABBADYCCCAAQX82AhwgAEEAOgAgIABBADYCFCAAQQA2AgwgAEEANgIQC/ETACAAIAE2AgAgAEEEahCYASAAQQA6AAggAEEMakEAQc+CHEHqghxBACAAKAIAEHMQYCAAQRxqQQBBloMcQamDHEEAIAAoAgAQcxBgIABBLGpBAEHGgxxB4oMcQQAgACgCABBzEGAgAEE8akEBQayEHEHEhBxBACAAKAIAEHMQYCAAQcwAakEAQemEHEGHhRxBACAAKAIAEHMQYCAAQdwAakEAQdOFHEGpgxxBACAAKAIAEHMQYCAAQewAakEAQemFHEH9hRxBACAAKAIAEHMQYCAAQfwAakEBQZuGHEG2hhxBACAAKAIAEHMQYCAAQYwBakEBQc+GHEG2hhxBACAAKAIAEHMQYCAAQZwBakEBQeiGHEG2hhxBACAAKAIAEHMQYCAAQawBakEBQYOHHEG2hhxBACAAKAIAEHMQYCAAQbwBakEBQZ2HHEG+hxxBACAAKAIAEHMQYCAAQcwBakEAQeiHHEGGiBxBACAAKAIAEHMQYCAAQdwBakEAQZOIHEGoiBxBACAAKAIAEHMQYCAAQewBakEBQcKIHEHXiBxBACAAKAIAEHMQYCAAQfwBakEBQYOJHEGbiRxBACAAKAIAEHMQYCAAQYwCakEBQbyJHEGbiRxBACAAKAIAEHMQYCAAQZwCakEAQc6JHEHliRxBACAAKAIAEHMQYCAAQawCakEAQYuKHEGiihxBACAAKAIAEHMQYCAAQbwCakEBQceKHEHfihxBACAAKAIAEHMQYCAAQcwCakEBQeyKHEHfihxBACAAKAIAEHMQYCAAQdwCakEAQYSLHEGYixxBACAAKAIAEHMQYCAAQewCakEAQbWLHEHGixxBACAAKAIAEHMQfiAAQYQDakEDQdGLHEH2ixxBACAAKAIAEHMQfiAAQZwDakEKQYyMHEGhjBxBACAAKAIAEHMQfiAAQbQDakEoQceMHEHYjBxBACAAKAIAEHMQfiAAQcwDakEUQYqNHEGZjRxBACAAKAIAEHMQfiAAQeQDakEBQciNHEHbjRxBACAAKAIAEHMQfiAAQYAEakQAAAAAAAAAQEH0jRxBjY4cIAAoAgAQcxBhIABBqARqRAAAAAAAAAAAQdKOHEHnjhwgACgCABBzEGEgAEHQBGpEAAAAAAAAAABBh48cQeeOHCAAKAIAEHMQYSAAQfgEakQzMzMzMzPTP0GcjxxBsY8cIAAoAgAQcxBhIABBoAVqRLgehetRuN4/Qc2PHEHmjxwgACgCABBzEGEgAEHIBWpEpHA9Ctej4D9Bg5AcQZaQHCAAKAIAEHMQYSAAQfAFakQAAAAAAAAAAEGwkBxBx5AcIAAoAgAQcxBhIABBmAZqRDMzMzMzM+M/QeKQHEH6kBwgACgCABBzEGEgAEHABmpEAAAAAAAA4D9Bl5EcQfqQHCAAKAIAEHMQYSAAQegGakQK16NwPQrnP0GwkRxB+pAcIAAoAgAQcxBhIABBkAdqRI/C9Shcj+o/QcmRHEHZkRwgACgCABBzEGEgAEG4B2pEAAAAAAAAAEBB9JEcQYqSHCAAKAIAEHMQYSAAQeAHakTNzMzMzMz0P0GlkhxBipIcIAAoAgAQcxBhIABBiAhqRAAAAAAAAARAQbuSHEGKkhwgACgCABBzEGEgAEGwCGpEAAAAAAAA8L9B0ZIcQeaSHCAAKAIAEHMQYSAAQdgIakQAAAAAAAAMQEH1khxB5pIcIAAoAgAQcxBhIABBgAlqRJqZmZmZmfk/QY+THEGekxwgACgCABBzEGEgAEGoCWpEzczMzMzM5D9Bu5McQdKTHCAAKAIAEHMQYSAAQdAJakQAAAAAAAACQEH9kxxBlJQcIAAoAgAQcxBhIABB+AlqRB+F61G4HtU/QbeUHEHPlBwgACgCABBzEGEgAEGgCmpEAAAAAAAACEBB7pQcQYuVHCAAKAIAEHMQYSAAQcgKakQAAAAAAADgP0GjlRxBupUcIAAoAgAQcxBhIABB8ApqRAAAAAAAAOA/QcuVHEHilRwgACgCABBzEGEgAEGYC2pEAAAAAAAA+D9B85UcQYeWHCAAKAIAEHMQYSAAQcALakSamZmZmZkBQEGxlhxByZYcIAAoAgAQcxBhIABB6AtqROxRuB6F69E/QeiWHEGBlxwgACgCABBzEGEgAEGQDGpEAAAAAAAAFEBBoZccQbmXHCAAKAIAEHMQYSAAQbgMakQAAAAAAAAAAEHalxxB7JccIAAoAgAQcxBhIABB4AxqRFK4HoXrUcg/QZqYHEGtmBwgACgCABBzEGEgAEGIDWpEAAAAAAAA8L9B0ZgcQfGYHCAAKAIAEHMQYSAAQbANakQAAAAAAAAAAEGZmRxBq5kcIAAoAgAQcxBhIABB2A1qRJqZmZmZmck/QdmZHEHumRwgACgCABBzEGEgAEGADmpEAAAAAAAA6D9BkpocQbSaHCAAKAIAEHMQYSAAQagOakEAQdKaHEHlmhxBACAAKAIAEHMQYCAAQbgOakEAQf6aHEGRmxxBACAAKAIAEHMQYCAAQcgOakEAQaibHEGRmxxBACAAKAIAEHMQYCAAQdgOakEHQbubHEHSmxxBACAAKAIAEHMQfiAAQfAOakEAQeabHEH9mxxBACAAKAIAEHMQfiAAQYgPakQAAAAAAMBXQEGSnBxBq5wcIAAoAgAQcxBhIABBsA9qRGZmZmZmZuY/QcacHEHfnBwgACgCABBzEGEgAEHYD2pEAAAAAAAANEBBgp0cQZ2dHCAAKAIAEHMQYSAAQYAQakQAAAAAAADoP0G4nRxBzZ0cIAAoAgAQcxBhIABBqBBqRM3MzMzMzOw/QeydHEHNnRwgACgCABBzEGEgAEHQEGpBCkGDnhxBnp4cQQAgACgCABBzEH4gAEHoEGpEAAAAAAAA4D9Bup4cQdKeHCAAKAIAEHMQYSAAQZARakEQQfCeHEGJnxxBACAAKAIAEHMQfiAAQagRakQAAAAAAAAAQEGlnxxBvZ8cIAAoAgAQcxBhIABB0BFqQQFB3J8cQfOfHEEAIAAoAgAQcxBgIABB4BFqQQFBi6AcQaGgHEEAIAAoAgAQcxBgIABB8BFqRJqZmZmZmck/QbigHEHOoBwgACgCABBzEGEgAEGYEmpEmpmZmZmZ2T9B86AcQYmhHCAAKAIAEHMQYSAAQcASakQAAAAAAACQP0GtoRxBwqEcIAAoAgAQcxBhIABB6BJqQQFB96EcQY2iHEEAIAAoAgAQcxB+IABBgBNqRAAAAAAAABhAQaqiHEG9nxwgACgCABBzEGEgAEGoE2pBAEHBohxB1aIcQQAgACgCABBzEGAgAEG4E2pEAAAAAAAAAABB8KIcQYmjHCAAKAIAEHMQYSAAQeATakR7FK5H4fojQEGcoxxBtqMcIAAoAgAQcxBhC0kAIABBADYCECAAQQA2AhQgAEIANwIAIABBADYCCCAAQQA7AQwgAEEYahCZASAAQQA6ABwgAEEBOgAdIABBADoAHiAAQQE6AB8L3wgBA38gABD7KSAAQYCXFjYCACAAQaieCGpBAUHRoxxB66McQQAgABBzIgEQYCAAQbieCGpBAEGzpBxBxKQcQQAgARBgIABByJ4IakEBQeOkHEH4pBxBACABEGAgAEHYnghqQQBBiqUcQZulHEEAIAEQYCAAQeieCGpEAAAAAAAA8D9Bk6YcQaemHCABEGEgAEGQnwhqQQBBwKYcQdimHEEAIAEQYCAAQaCfCGpBAUGRpxxBqKccQQAgARB+IABBuJ8IakQAAAAAAAACwEHGpxxB46ccIAEQYSAAQeCfCGpBAEHzpxxB/qccQQAgARB+IABB+J8IakEBQYmoHEGVqBxBACABEGAgAEGIoAhqQQBBoagcQbWoHEEAIAEQYCAAQZigCGpBkM4AQcSoHEHWqBxBACABEH4gAEGwoAhqQQJB46gcQfaoHEEAIAEQfiAAQcigCGpBBkGEqRxBnKkcQQAgARB+IABB4KAIakGWAUG8qRxB0KkcQQAgARB+IABB+KAIakEBQfGpHEGEqhxBACABEGAgAEGIoQhqQU5BlqocQaiqHEEAIAEQfiAAQaChCGpB0A9BvqocQdSqHEEAIAEQfiAAQbihCGpEAAAAAAAA4D9B5aocQfqqHCABEGEgAEHgoQhqRM3MzMzMzOw/QZKrHEGkqxwgARBhIABBiKIIakQzMzMzMzPDP0G9qxxBzqscIAEQYSAAQbCiCGpB2gBB5qscQf2rHEEAIAEQfiAAQciiCGpEuB6F61G4rj9B3KwcQfCsHCABEGEgAEHwoghqRAAAAAAAABRAQYutHEGirRwgARBhIABBmKMIakQAAAAAAABZQEG6rRxByK0cIAEQYSAAQcCjCGpEAAAAAAAASUBB160cQeetHCABEGEgAEHoowhqQQNB+K0cQYiuHEEAIAEQfiAAQYCkCGpBAEGdrhxBsq4cQQAgARB+IABBmKQIakEAQdCuHEHwrhxBACABEGAgAEGopAhqQQBBpK8cQbivHEEAIAEQfiAAQcCkCGpBBEHQrxxB6K8cQQAgARB+IABB2KQIakEAQZGwHEGtsBxBACABEGAgAEHopAhqQQBB7LAcQYGxHEEAIAEQYCAAQfikCGpBAEGdsRxBsLEcQQAgARBgIABBiKUIakEAQdCxHEHmsRxBACABEH4gAEGgpQhqQdAPQfyxHEGWshxBACABEH4gAEG4pQhqQRRByLIcQe2yHEEAIAEQfiAAQdClCGpEAAAAAAAAAEBB2bMcQfWzHCABEGEgAEH4pQhqQQFBnbQcQa60HEEAIAEQYCAAQYimCGoiAkEANgIAIABBjKYIakMAAAAAOAIAIABBlKYIahCqASAAQZCmCGpBADYCAEHgBhBPIQMgACAAKAIAKAIIQf8BcUEGahEFACEBIAMgABD0BiABEPopIAIoAgAhASACIAM2AgAgAQRAIAEQ9BEgARBMCyAAQaimCGpBADYCACAAQaymCGpBADYCAAvRAQEEfyMGIQQjBkEQaiQGAkAgASAEQQRBARDwAUEBRgRAIAAgBCgCABClDyABIABBBEEBEPABQQFGBEAgAkUEQCABIAAoAghBECAAKAIAEPABGgwDCyAAQQhqIQUCQANAIAMgACgCAE4NASADQQFqIQYgAiABIAUoAgAgA0EEdGogAigCACgCCEH/AHFBkARqEQIABEAgBiEDDAELCyACIAIoAgAoAgRB/wNxQaIHahEAAAwDCyACIAIoAgAoAgRB/wNxQaIHahEAAAsLCyAEJAYLaQECfyMGIQMjBkEQaiQGAkACQCAAQQxqIgQoAgAiAEUNACAAKAIAIAFMDQAMAQsgA0H5pBs2AgAgA0HRADYCBEHorxZBwqQbQQJBx+scIAMQUSAEKAIAIQALIAAgARBNIAI2AgAgAyQGCzMBAn8jBiECIwZBEGokBkEUEE8iAxCyASAAIAM2AgwgAkEANgIAIAMgASACEMAFIAIkBgvRAQEEfyMGIQQjBkEQaiQGAkAgASAEQQRBARDwAUEBRgRAIAAgBCgCABDzBSABIABBBEEBEPABQQFGBEAgAkUEQCABIAAoAghBCCAAKAIAEPABGgwDCyAAQQhqIQUCQANAIAMgACgCAE4NASADQQFqIQYgAiABIAUoAgAgA0EDdGogAigCACgCCEH/AHFBkARqEQIABEAgBiEDDAELCyACIAIoAgAoAgRB/wNxQaIHahEAAAwDCyACIAIoAgAoAgRB/wNxQaIHahEAAAsLCyAEJAYLOwEBfyAAIAFBARCCAgR/IAFBfyABKAIAIgFBAnQgAUH/////A0sbEE8iAjYCBCAAIAIgARCCAgVBAAsL1AIBB38jBiEDIwZBEGokBiADQQhqIQYCfyAAIANBDGoiBEEBEIICBH8gBCgCACICQX9MBEAgA0GjpBs2AgAgA0GsATYCBEHorxZBlaQbQQJBx+scIAMQUSAEKAIAIQILIAIEfyABIAIQgioCQAJAA0BBASAFIAQoAgBODQUaQSwQTyICQgA3AwAgAkIANwMIIAJCADcDECACQgA3AxggAkIANwMgIAJBADYCKCACQQRqEKoBIAJBGGoQ+RUgACACEJ0PRQ0BIAAgAkECahCdD0UNASAAIAZBARCCAkUNASAGKAIAIgdBAEgEQCACEOwLIAIQTAUgBwRAIAJBBGogABD+FUUNBCACQRhqIAAQgBZFDQQLIAEgBSACEIEqCyAFQQFqIQUMAAALAAsgAhDsCyACEExBAAwDCyACEOwLIAIQTEEABUEBCwVBAAsLIQggAyQGIAgLXQEEfyMGIQIjBkEQaiQGIAAgAhDlCAR/IAEgAigCACIEQQFqEE8iAzYCACAAIAMgBBD5BAR/IAMgAigCAGpBADoAACAAIAFBBGoQ5QgFQQALBUEACyEFIAIkBiAFC1gBA38gAEEANgIAQeQAEE8iAUEENgIAIAFB5ABqIQIgAUEEaiIDIQEDQCABEJIPIAFBGGoiASACRw0ACyAAIAM2AgggAEEENgIEIABBADYCDCAAQQA2AhAL+AEBBX8gAUEBSCAAQQRqIgYoAgAgAU5yRQRAQX8gAUEEIAFBBEobIgNBGGwiAUEEaiADQarVqtUASyABQXtLchsQTyIBIAM2AgAgAUEEaiEEIAMEQCAEIANBGGxqIQIgBCEBA0AgARCSDyABQRhqIgEgAkcNAAsLIABBCGohBUEAIQEDQCAFKAIAIQIgASAAKAIASARAIAQgAUEYbGogAiABQRhsahD9FRogAUEBaiEBDAELCyACBEAgAkF8aiIBKAIAIgAEQCACIABBGGxqIQADQCAAQWhqIgAQaCAAIAJHDQALCyABEEwLIAUgBDYCACAGIAM2AgALC0IBAX8gACABEIgqIAAgATYCACAAQQhqIQNBACEAA0AgACABSARAIAMoAgAgAEEYbGogAhD9FRogAEEBaiEADAELCwucAQEEfyMGIQIjBkEgaiQGIAEgAkEYaiIDQQRBARDwAUEBRgRAIAIQkg8gACADKAIAIAIQiSogAEEIaiEEQQAhAAN/An9BASAAIAMoAgBODQAaIABBAWohBSABIAQoAgAgAEEYbGoiAEEUakEBEIICBH8gACABEP4VBUEACwR/IAUhAAwCBUEACwsLIQAgAhBoBUEAIQALIAIkBiAACzsBAn8jBiECIwZBEGokBiABIAIQ2RsEfyAAIAIsAABBAEc6AAAgAEEIaiABEIoqBUEACyEDIAIkBiADC3YBBH8jBiEDIwZBEGokBgJ/IAEgA0EBQQEQxgJBAUYEfyADLAAARQRAIABBABC5AUEBDAILQRwQTyICIgRBfzYCBCAEQQhqEIcqIAIgARCLKgR/IAAgAhC5AUEBBSACEMcNIAIQTEEACwVBAAsLIQUgAyQGIAULUAEDfyAAQQhqIQMDQCABIAAoAgBIBEAgAygCACABQQJ0aigCACICBEAgAhDHDSACEEwLIAFBAWohAQwBCwsgACgCAEEASgRAIABBADYCAAsLXAEDfyMGIQIjBkEQaiQGAn8gASACQQRBARDwAUEBRgRAIAAgAigCABDtAiAAEI0qA0BBASADIAIoAgBODQIaIANBAWohAyAAIAEQjCoNAAsLQQALIQQgAiQGIAQLhgEBBX8gAUEBSCAAQQRqIgMoAgAgAU5yRQRAIAFBBCABQQRKGyIEQQF0EE8hAiAAKAIAIQUgAEEIaiIGKAIAIQFBACEAA0AgACAFSARAIAIgAEEBdGogASAAQQF0ai4BADsBACAAQQFqIQAMAQsLIAEEQCABEEwLIAYgAjYCACADIAQ2AgALC+wCAgt/A30jBiECIwZBgARqJAYgAkH4A2ohBSACQegDaiEEIAJB4ANqIQYgAkGQA2ohByACQcACaiEIIAFB//8DcSIJQRhsEOwCIQNBACEBA0AgASAJRwRAIAAgAkHAAhDyBEUEQCAGQYWdGzYCACAGQcUANgIEQbyvFkHrnhtBAkHH6xwgBhBRCyAEIAc2AgAgBCAINgIEIAQgAyABQRhsakEEaiIKNgIIIAQgAyABQRhsakEIaiILNgIMIAJBlJ8bIAQQkgJBBEcEQCAFQYWdGzYCACAFQckANgIEQbyvFkGknxtBAkHH6xwgBRBRCyADIAFBGGxqIAcsAAAiDEHjAEY6AAAgAyABQRhsaiAMQeUARzoAASADIAFBGGxqIAsqAgAiDSAKKgIAIg6TIg84AgwgAyABQRhsaiAPQwAAAD+UOAIQIAMgAUEYbGogDSAOkkMAAAA/lDgCFCABQQFqIQEMAQsLIAIkBiADC+gBAQN/IwYhAiMGQZABaiQGIAJB6ABqIQEgAkGIAWoiA0EANgIAIAAgAkHkABDyBEUEQCABQYWdGzYCACABQS42AgRBvK8WQeueG0ECQcfrHCABEFELIAJB+ABqIQEgAkHwAGoiACADNgIAIAJBqs4fIAAQkgJBAUcEQCABQYWdGzYCACABQS82AgRBvK8WQbKgG0ECQcfrHCABEFELIAJBgAFqIQEgAygCACIAQYCABE8EQCABQYWdGzYCACABQTA2AgRBvK8WQdegG0ECQcfrHCABEFEgAygCACEACyACJAYgAEH//wNxCzwBA38gAEEMEHIiAUEMQQEQxgIaIAEgAUEBaiICLQAAQQV0EO4EIgM2AgQgACADQQQgAi0AABDGAhogAQtoAQR/IwYhASMGQRBqJAZBCBByIQIgACABQQFBARDGAhogAiABLQAAIgRBAnRBBGoQTyIDNgIAIAAgA0EEIAQQxgIaIAMgAS0AAEECdGpBfzYCACAAIAJBBGpBBEEBEMYCGiABJAYgAgupAgEHfyMGIQQjBkEQaiQGIABBkAIQ7AIiAkGQAkEBEMYCGiACQQRqIgFBgAQQ7gQ2AgAgAkEIaiIFQcAAEO4ENgIAIAAgASgCAEEEQRAQxgIaIAAgBSgCAEEEQQIQxgIaIAAgBEEEaiIGQQRBARDGAhogAkEMaiIDQQA2AgBBACEBA0AgASAGKAIASARAIABBIBByIgdBIEEBEMYCGiADIAMoAgAgBxCCFjYCACABQQFqIQEMAQsLIAAgBEEEQQEQxgIaIAJBEGohA0EAIQEDQCABIAQoAgBIBEAgBSgCACABQQV2QQJ0aigCAEEBIAFBH3F0cQRAIAMgAUECdGogABCTKjYCAAUgAyABQQJ0aiAAEJIqNgIACyABQQFqIQEMAQsLIAQkBiACC7gCAQh/IwYhBCMGQSBqJAYgBEEIaiEDQciaG0EhQQFBvLYWEKwBGiABLQAIIQIgBCABKAIENgIAIAQgAjYCBEG8thZB6pobIAQQXEGamxtBFkEBQby2FhCsARpBsZsbQRlBAUG8thYQrAEaIABBFGohB0EAIQADQCAAIAEoAgAiAigCAEgEQCACQQhqIABBAnRqKAIAIQIgAUEMaiAAQQJ0aigCACIFQQxqIQYCQAJAIAUsAAANACAGKAIADQAMAQsgByAAEMwBIQggAi0AAyEJIAUtAAAhBSACLwEAIgIgBigCABDFDWshBiADIAA2AgAgAyAINgIEIAMgCTYCCCADIAU2AgwgAyACNgIQIAMgBjYCFEG8thZBy5sbIAMQXAsgAEEBaiEADAELC0EKQby2FhDdByAEJAYLXgEDfyABQYiACBDsAiICQYiACEEBEMYCGiACIAAgARCDFiIANgIAIAJBDGohBANAIAMgACgCAEgEQCAEIANBAnRqIAEQlCo2AgAgA0EBaiEDIAIoAgAhAAwBCwsgAgthAgF/AXxBwNX5ACwAAEUEQANAIABBgAJHBEAgAEEBdLdEGC1EVPshCUCiRAAAAAAAAHA/okQYLURU+yEJQKAiARDcBxogARDbBxogAEEBaiEADAELC0HA1fkAQQE6AAALC9kCAQt/IwYhAiMGQcABaiQGIAJBuAFqIQwgAkGwAWohByACQfAAaiEFIAJBvAFqIQhBEBDsAiIGIAAoAhwiBDYCDCAGIARBAnQQ7AIiCTYCCANAIAMgBEgEQCAJIANBAnRqQQA2AgAgA0EBaiEDDAELCyAAQRRqIQQgBiABEJEqIgpB//8DcTYCACAGIAEgChCQKjYCBANAIAEgAkHkABDyBARAIAcgBTYCACAHIAg2AgQCQCACQeSbGyAHEJICQQJGBEAgBCAFELQERQRAIAwgBTYCAEHqmxsgDBBLQQAhAANAIAAgCCgCAE4NAyABIAoQgRYQ+REgAEEBaiEADAAACwALIAkgBCAFEPgBIgBBAnRqKAIAIQtBACEDA0AgAyAIKAIASARAIAsgASAKEIEWEIIWIQsgA0EBaiEDDAELCyAJIABBAnRqIAs2AgALCwwBCwsgAiQGIAYL5wEBBX8jBiEEIwZBsAFqJAYgBEGQAWohAyAAQfgTaigCAARAIABBiJ4IaiABEIAWRQRAQYahGyADEEsLCyAEQZgBaiEFIARB8ABqIQYgBEGgAWohB0EAIQMDQCADQf//AUcEQCACIANBAXRqQegHOwEAIANBAWohAwwBCwsgAEEUaiEDA0ACQCABIARB5AAQ8gRFDQAgBSAGNgIAIAUgBzYCBCAEQbKhGyAFEJICQQJHDQAgAiAGQdfnHBDFAQR/IAMgBhD4AQUgA0Hw1SAQ+AELIgBBAXRqIAcoAgA7AQAMAQsLIAQkBgs7AQJ/IwYhAyMGQfADaiQGIAMQhBYgACABQQAgAkEAQQBBAEEAQQBBACADEJYQIQQgAxCgDSADJAYgBAuPAQECfyMGIQIjBkEQaiQGIABBqKgWNgIAIABBqJUWNgIAIABBCGoiAxCVBSAAQeDfCGoQsgEgAEHQ3whqQQA2AgAgAEH03whqQQA2AgAgAEH43whqQQA2AgAgAyABQZWYGxCaKgRAIAJBlZgbNgIAIAIgATYCBEGZmBsgAhBLCyAAQdzfCGpBADYCACACJAYLKAAgABCyASAAQRRqELIBIABBKGoQsgEgAEE8ahCyASAAQdAAahCyAQtzAQF/IAAQihYgAEEUaiIBQgA3AgAgAUIANwIIIABBgICA/AM2AiQgAEEoahCnBSAAQTxqIgFCADcCACABQgA3AgggAEGAgID8AzYCTCAAQdAAaiIBQgA3AgAgAUIANwIIIABBgICA/AM2AmAgAEEANgJkC2ABAX8gAEEAOgAAIABBBGoQhxYgAEHMAGoQhxYgAEGUAWoiARCyASABQRRqEKcFIAFBADYCKCABQSxqEL0GIABB3AFqIgAQsgEgAEEUahCnBSAAQQA2AiggAEEsahC9BguOAQAgAEEANgIAIABBBGoQhhYgAEHYAmoQnSogAEHAA2oQmQEgAEEANgLEAyAAQQA2AsgDIABBADYCzAMgAEECNgLQAyAAQwAAAAA4AtQDIABDAAAAADgC2AMgAEMAAAAAOALcAyAAQeADahDPGCAAQegDahCeKiAAQQA2AowGIABBADYCkAYgAEEANgKUBgs4AQF/IAEgAEEBEPkEBH8gASAAQQRqIgJBARCCAgR/IAEgAEEIaiACKAIAEIICBUEACwVBAAsiAAt0AQJ/IAAgARDtCyAAIAE2AgAgAEEIaiEEA0AgAyABSARAIAQoAgAgA0EsbGoiACACKQIANwIAIAAgAikCCDcCCCAAIAIpAhA3AhAgACACKQIYNwIYIAAgAikCIDcCICAAIAIoAig2AiggA0EBaiEDDAELCwuEAQEFfyMGIQIjBkEwaiQGIAEgAiIDQSxqIgRBBEEBEPABQQFGBH8gAxCpBSAAIAQoAgAgAxChKiAAQQhqIQVBACEAA38Cf0EBIAAgBCgCAE4NABogAEEBaiECIAUoAgAgAEEsbGogARCgKgR/IAIhAAwCBUEACwsLBUEACyEGIAMkBiAGC1YBAX8jBiECIwZBMGokBiACIAEpAgA3AgAgAiABKQIINwIIIAIgASkCEDcCECACIAEpAhg3AhggAiABKQIgNwIgIAIgASgCKDYCKCAAIAIQlQ8gAiQGC0QBAn8gACABKAIAIAAoAgBqEO0LIAFBCGohAwNAIAIgASgCAEgEQCAAIAMoAgAgAkEsbGoQoyogAkEBaiECDAELCyAAC5cBAQJ/IAFBAUYEQEECIQEFIAFBf2ogAXEEQCABEIsLIQELCyABIAAoAgQiA0sEQCAAIAEQixYFIAEgA0kEQCAAKAIMsyAAKgIQlY0QoQQhAiADQQJLIANBf2ogA3FFcQR/IAJBAUEgIAJBf2pna3QgAkECSRsFIAIQiwsLIgIgASABIAJJGyIBIANJBEAgACABEIsWCwsLC3sBAX8gAEE4EE8iBDYCACAAIAFBCGo2AgQgBEEIaiIBIAMoAgAiAykCADcCACABIAMpAgg3AgggASADKQIQNwIQIAEgAykCGDcCGCABIAMpAiA3AiAgASADKAIoNgIoIARBADYCNCAAQQE6AAggBCACNgIEIARBADYCAAsmACABIABHBEAgACgCAEEASgRAIABBADYCAAsgACABEKQqGgsgAAufAgEFfyMGIQIjBkHwAGokBiACQUBrIQMgAkEsaiIEEIoWIAFBCGohBgNAIAUgBigCAEgEQCACEKkFIAJBACAFELsGIAMgAikCADcCACADIAIpAgg3AgggAyACKQIQNwIQIAMgAikCGDcCGCADIAIpAiA3AiAgAyACKAIoNgIoIAQgAxCVDyAFQQFqIQUMAQsLIAFBAhC3BAR/IAFBAhDMAUGP2xcQxQFFBUEAC0UEQCACEKkFIAJBACAGKAIAELsGIAMgAikCADcCACADIAIpAgg3AgggAyACKQIQNwIQIAMgAikCGDcCGCADIAIpAiA3AiAgAyACKAIoNgIoIAQgAxCVDwsgACAEEKcqGiAAEJAWIAAQjxYgBBDtESACJAYLUgEBfyAAKAIAQQBKBEAgASAAQQAQlA8iAikCADcCACABIAIpAgg3AgggASACKQIQNwIQIAEgAikCGDcCGCABIAIpAiA3AiAgASACKAIoNgIoCwteAQJ/IwYhAiMGQRBqJAYgAhDxBCABQRUgAhCcDwR/IABBGGogAhCXDwR/IAFBFiACEJwPBH8gACACEJEWBUEACwVBAAsFQQALIQMgAigCBCACLAAIEPMEIAIkBiADC1gBA38gAEEANgIAQdQAEE8iAUEENgIAIAFB1ABqIQIgAUEEaiIDIQEDQCABEPkDIAFBFGoiASACRw0ACyAAIAM2AgggAEEENgIEIABBADYCDCAAQQA2AhALCwBEAAAAAAAAAAALkwEBAX8gAC0A3gIEQCAAIAAoAnQgAUESIAAoAsQFIAIQ5QUiAzYCtAEgAwRAIABB/ABqIAMQ4gQLCyAALQCuAgRAIAAoAnQgAUETIAAoAsQFIAIQ5QUiAwRAIABB/ABqIAMQ4gQLCyAALQDuAgRAIAAoAnQgAUEUIAAoAsQFIAIQ5QUiAQRAIABB/ABqIAEQ4gQLCwuiAQEEfyMGIQUjBkEQaiQGIABBjAZqIgQoAgAiAwRAIAMQ0wogAxBMC0GAChBPIgMgAEEEahCSFiAEIAM2AgAQ8wsgAxCkDwJ/IAQoAgAhBiAFQQRqIgAgARCFASAGCyAAIAIQrSogABBYIAQoAgAQow9FBEAgBSABNgIAQfv7GiAFEEsgBCgCACIABEAgABDTCiAAEEwLIARBADYCAAsgBSQGC/0CAQF/IAAoAgAiAwRAIAMgAygCACgCBEH/A3FBogdqEQAACyAAIAIQuREiAzYCAAJ/IAMEfwJ/AkAgAUUNACABQRYQmA9FDQAgAUEVEJgPRQ0AQQAMAQsgAEEYaiACEJcPBH9BAQVBAAwDCwshAyAAQcADaiACEMQHBH8gAiAAQcQDakEBEIICBH8gAiAAQcgDakEBEIICBH8gAiAAQcwDakEBEIICBH8gAiAAQdADakEBEIICBH8gAiAAQdwDakEBEIICBH8gAiAAQdQDakEBEIICBH8gAiAAQdgDakEBEIICBH8gAwR/QQAgACACEJEWRQ0KBUEAIAAgARCqKkUNCgsaIAAoAgAiASAAQeADaiABKAIAKAIsQf8AcUGsC2oRAwAgACgCACIAKAIAIgEoAjghAiAAIAAgASgCNEH/AXFBBmoRBQAgAkH/AHFBrAtqEQMAQQEFQQALBUEACwVBAAsFQQALBUEACwVBAAsFQQALBUEACwVBAAsLIgALOgEBfyAAQX86AAcgAEEAOgAIIABBfzoACSAAQQA6AAogAEEMaiIBQgA3AgAgAUIANwIIIAFCADcCEAuMBgIafwJ9IwYhBCMGQSBqJAYgAhCjFiACELAqIAQQqgEgACABQQEgBEEAEKIEBH8gAkEBaiEQIAJBAmohESACQQNqIRIgAkEEaiETIAJBBWohFCACQQdqIQkgAkEIaiEKIAJBCWohCyACQQpqIQwgAkEcaiEHIAJBBmohFSACQRRqIQggAkEgaiEGIAJBGGohDSACQQxqIQ4gAkEQaiEPIAJBJGohFiACQShqIRcgAkEwaiEYIAJBLGohGSACQcgAaiEaA0AgBSAEKAIASARAIAQgBRBNKAIAIQEgACgCACIDIAFB8ABsaiwAIARAIAJBAToAAAsgAyABQfAAbGosACEEQCAQQQE6AAALIAMgAUHwAGxqLAAiBEAgEUEBOgAACyADIAFB8ABsaiwAIwRAIBJBAToAAAsgAyABQfAAbGosACQEQCATQQE6AAALIAMgAUHwAGxqLAAlBEAgFEEBOgAACyADIAFB8ABsaiwAJgRAIBVBAToAAAsgAyABQfAAbGpBJ2ogCSAKEKQGIAMgAUHwAGxqQShqIAkgChCkBiADIAFB8ABsakEpaiALIAwQpAYgAyABQfAAbGpBKmogCyAMEKQGIAcqAgAiHiADIAFB8ABsaioCNJIhHQJAAkAgBUUiGw0AIB0gCCoCAF0NACAGKgIAIR0MAQsgCCAdOAIAIA0gBioCACIdIAMgAUHwAGxqKgI4kjgCAAsgByAeIAMgAUHwAGxqKgI8kjgCACAGIAMgAUHwAGxqQUBrKgIAIB2SOAIAIA4gAyABQfAAbGooAiw2AgAgDyADIAFB8ABsaigCMDYCACAbBEAgFiADIAFB8ABsaigCRDYCACAXIAMgAUHwAGxqKAJINgIAIBggAyABQfAAbGooAlA2AgAgGSADIAFB8ABsaigCTDYCAAsgGiADIAFB8ABsakHoAGoQowIaIAVBAWohBQwBCwsgBUEBSwRAIA4gByoCACAIKgIAkzgCACAPIAYqAgAgDSoCAJI4AgALIAVBAEcFQQALIRwgBBBoIAQkBiAcC7wBAgJ/AX0gAUEHaiAAQQdqIgIgAEEIaiIDEKQGIAFBCGogAiADEKQGIAFBCWogAEEJaiICIABBCmoiAxCkBiABQQpqIAIgAxCkBiABKgIQIgQgAEEQaiICKgIAXgRAIAAgASgCDDYCDCACIAQ4AgALIAEqAhgiBCAAQRhqIgIqAgBeBEAgACABKAIUNgIUIAIgBDgCAAsgASoCICIEIABBIGoiAioCAF4EQCAAIAEoAhw2AhwgAiAEOAIACwvyAQEJfyMGIQIjBkHQAGokBiAAQQhqIQggAkEkaiEFIAJBKGohBiACQTBqIQcDQCADIAgoAgBIBEAgACADEMwBIQQgAhCkFiABIAQgAhCxKgRAIAUgACABIAUoAgAQ1AYQ4wQ2AgAgBiAAIAEgBigCABDMASIEELQEBH8gACAEEPgBBSADCzYCACAHIAAgASAHKAIAEMwBIgQQtAQEfyAAIAQQ+AEFIAMLNgIAIAAoAgAgA0HwAGxqQSBqIgRBzABqIgkoAgAhCiAEIAIQpRYaIAkgCjYCACAAIAMQkxYLIAIQgBIgA0EBaiEDDAELCyACJAYLKQAgAEGwrxY2AgAgAEGcrxY2AgAgACABNgIEIAAgAjYCCCAAIAM2AgwL0AUCDX8CfCMGIQIjBkEgaiQGIAJBFGohCiACQRBqIQsgAkEMaiEHIAJBCGohCCAAQRxqIgVBADoAACAAQQhqIQwDQCAEIAwoAgBIBEAgCkEANgIAIAtB/wE2AgAgB0EANgIAIAhB/wE2AgAgACAEIAogCyAHIAgQ5wYgBygCACINQQBKBEAgBUEBOgAACyAAIAQQ3QIEQCADIAAgBBDZBAR/QQEFQQFBfyAAIAQQyQMbC2ohAyANQdwBSCAIKAIAIglB3AFIcQRAIAFBAWohAQUgBiANQdwBSiAJQdwBSnFqIQYLCyAAIAQQkxYgBEEBaiEEDAELCyAAIANBAEoiAzoAHSADBH9BAQUgBrciDkQAAAAAAADQP6IgAbciD2MEfyAPRJqZmZmZmak/oiAOYwVBAAsLIQEgAiEDIAAgAToAHiAAIABB1+ccELwEIgE2AiAgAQRAIANBhbsXNgIAIANBogc2AgRBjJYWQdn6GkECQcfrHCADEFELIABBJGoiCSAAQdDnHBC8BDYCACAAIABB6PoaELwENgIoIAAgAEHu+hoQvAQ2AiwgACAAQff6GhC8BDYCMCAAIABB/foaELwENgI0IAAgAEGB+xoQvAQ2AjggACAAQYr7GhC8BDYCPCAAQUBrIABBk/saELwENgIAIAAgAEGY+xoQvAQ2AkRBfyAAQRRqIgYoAgAiAUECdCABQf////8DSxsQTyIFQQAgAUECdBCMARpBACECA0AgAiAMKAIASARAIAAgAhDdAgRAIAUgACACEOkHQQJ0aiIBIAEoAgBBAWo2AgALIAJBAWohAgwBCwsgAEHIAGoiAkEANgIAIAYoAgAhBkEBIQFBACEAA0AgASAGSARAIAUgAUECdGooAgAgBSAAQQJ0aigCAEoEQCABIAkoAgBHBEAgAiABNgIAIAEhAAsLIAFBAWohAQwBCwsgBRBMIAMkBgstACAAKAIAIAFB8ABsakHoAGogAhDgARogACgCACABQfAAbGpB1ABqQQAQ8gELIQAgACABQfAAbGogAjgCPCAAIAFB8ABsakFAayADOAIAC4cBAQF/IwYhBiMGQRBqJAYgBkH/ATYCACAAIAFB8ABsaiACQQAgBhDVAToAJyAGQf8BNgIAIAAgAUHwAGxqIANBACAGENUBOgAoIAZB/wE2AgAgACABQfAAbGogBEEAIAYQ1QE6ACkgBkH/ATYCACAAIAFB8ABsaiAFQQAgBhDVAToAKiAGJAYLhwwCHn8BfSMGIQIjBkHAB2okBiACQfAGaiEcIAJB4AZqIRUgAkHQBmohESACQbAGaiEJIAJBiAZqIQcgAkHIBWohBCACQYAFaiEDIAJBgANqIQUgAkGwB2ohEiACQawHaiEGIAJBQGshCyACQagHaiENIAJBpAdqIQ4gAkGgB2ohDyACQZwHaiEQIAJBmAdqIRYgAkGUB2ohFyACQZAHaiEYIAJBjAdqIRkgAkGIB2ohGiACQYQHaiEbIAJBgAdqIRMgAkH8BmohDCACQfgGaiEUIAAQ1AoCfyABIAIiHUGAAWoiCkGAAiABKAIAKAIIQf8AcUGQBGoRAgAEfyAFIBI2AgAgCkGqzh8gBRCSAkEBRgR/IAAgEigCABCiD0EAIQIDQCACIBIoAgBIBEAgC0HX5xxBwAAQ0gQaIA1BADYCACAOQf8BNgIAIA9BADYCACAQQf8BNgIAIBZDAAAAADgCACAXQwAAAAA4AgAgGEMAAAAAOAIAIBlDAAAAADgCACAaQwAAAAA4AgAgG0MAAAAAOAIAIBNBADYCACAMIAI2AgAgFCACNgIAQQACfyABIApBgAIgASgCACgCCEH/AHFBkARqEQIABH8gAyAFNgIAIAMgBjYCBCADIA02AgggAyAONgIMIAMgDzYCECADIBA2AhQgAyAWNgIYIAMgFzYCHCADIBg2AiAgAyAZNgIkIAMgGjYCKCADIBs2AiwgAyALNgIwIAMgDDYCNCADIBM2AjggAyAUNgI8IANBQGsgHTYCACAKQZf5GiADEJICQRFGBH9BEQUgBCAFNgIAIAQgBjYCBCAEIA02AgggBCAONgIMIAQgDzYCECAEIBA2AhQgBCAWNgIYIAQgFzYCHCAEIBg2AiAgBCAZNgIkIAQgGjYCKCAEIBs2AiwgBCALNgIwIAQgDDYCNCAEIBM2AjggBCAUNgI8IApBzvkaIAQQkgJBEEYEf0EQBSAHIAU2AgAgByAGNgIEIAcgDTYCCCAHIA42AgwgByAPNgIQIAcgEDYCFCAHIAs2AhggByAMNgIcIAcgEzYCICAHIBQ2AiQgCkGA+hogBxCSAkEKRgR/QQoFIAkgBTYCACAJIAY2AgQgCSANNgIIIAkgDjYCDCAJIA82AhAgCSAQNgIUIAkgCzYCGCAJIAw2AhwgCkGg+hogCRCSAkEIRgR/QQgFIBEgBTYCACARIAY2AgQgESALNgIIIBEgDDYCDCAKQbr6GiAREJICQQRGBH9BBAUgFSAFNgIAIBUgBjYCBCAVIAs2AgggCkHI+hogFRCSAkEDRgR/QQMFIBwgBTYCACAcIAY2AgQgCkHT+hogHBCSAkECRgR/QQIFQQAMCAsLCwsLCwshHiAFQdfnHBDFAQRAIAAgBRCUFgUgAEHw1SAQpQYLIAAoAgAgAkHwAGxqIAYoAgBBAXFBAEc6ACAgACgCACACQfAAbGogBigCAEECcUEARzoAISAAKAIAIAJB8ABsaiAGKAIAQQRxQQBHOgAiIAAoAgAgAkHwAGxqIAYoAgBBCHFBAEc6ACMgACgCACACQfAAbGogBigCAEEQcUEARzoAJCAAKAIAIAJBABCWDyAAIAIgCxCmFiAAKAIAIgggAkHwAGxqQQE6ACYgCCACIA0oAgAgDigCACAPKAIAIBAoAgAQuCogFyoCACEgIAAoAgAiCCACQfAAbGogFioCADgCLCAIIAJB8ABsaiAgOAIwIBkqAgAhICAAKAIAIgggAkHwAGxqIBgqAgA4AjQgCCACQfAAbGogIDgCOCAAKAIAIAIgGioCACAbKgIAELcqIAAoAgAgAkHwAGxqIBMoAgA2AkwCQAJAIB5BA00NACAMKAIAIgggEigCAE4NAAwBCyACIQgLIAAoAgAgAkHwAGxqIAg2AkgCQAJAIB5BCE0NACAUKAIAIgggEigCAE4NAAwBCyACIQgLIAAoAgAgAkHwAGxqIAg2AlAgACACIB0gBSAeQRBLGxC2KkEBBUEACwtFDQQaIAJBAWohAgwBCwsgABC1KkEBBUEACwVBAAsLIR8gHSQGIB8LMgEBfyAAKAIAIgJBBGogASgCACIBQQRqEOoQIgBFBEAgAkEwaiABQTBqEOoQIQALIAALNgEDfwNAIAEgAkECdGogACACQQJ0aigCACIDNgIAIAJBAWohBCADQX9HBEAgBCECDAELCyACC5YBAQN/IAJBf0oEQCAAKAIAIgMgAk4EQCAAKAIEIANGBEAgABDZFSAAKAIAIQMLIABBCGohBANAIAMgAkoEQCAEKAIAIgUgA0ECdGogBSADQX9qIgNBAnRqKAIANgIADAELCyAEKAIAIAJBAnRqIAEoAgA2AgAgACAAKAIAQQFqNgIADwsLQcD4GkHQhB1B8QVB4vgaEAELyQIBBH8jBiEIIwZBEGokBiAGQeAAaiIJIAU2AgAgAUEBRiIKIANBAUZxBEAgByACKAIAEIENIAcgByAEEPgBEIENRgRAIAlBBDYCAAsLIAYgAiAGQQRqELsqNgJkIAcgBEEBEIwIIAZB3ABqIgkgByAEEPgBIgU2AgAgA0EBSgRAIAcoAgAgBUEBEJYPC0EAIQUDQCAFIAFIBEAgCgRAIAkoAgAhAwUgCCAEIAUgAUEAELQOIAcgCBBdQQEQjAggByAIEF0Q+AEhAyAIEFgLIAZBMGogBUECdGogAzYCACAFQQFqIQUMAQsLIAZBMGogBUECdGpBfzYCACAAIAIoAgAQTSgCAEUEQEEEEE8iARBXIAAgAigCABBNIAE2AgALIAAgAigCABBNKAIAQeAAQQEgBhCkGgR/QQEFIAYQTEEACyELIAgkBiALCykAIAAQVyAAQX82AgQgAEF/NgIwIABBfzYCXCAAQQA2AmAgAEEANgJkC84IARV/IwYhCiMGQbABaiQGIApBgAFqIQ8gCkH4AGohECAKQfAAaiERIApB6ABqIRIgCkHgAGohEyAKQdgAaiEUIApB0ABqIRUgCkHIAGohFiAKQUBrIRcgCkE4aiEYIApBMGohGSAKQShqIRogCkEgaiEbIApBGGohHCAKQRBqIR0gCkEIaiELIApBrAFqIQwgCkGYAWohDSAKQYQBaiEOIAFBAUoEQCAMIAQQhQEgDRDWAiAMQSAgDRCJCiANKAIAQQNGBEAgDhCqAQJ/IAMgDUEAEE0QXUEBIA5BABCiBAR/IAUgDigCACIBIgQ2AgAgBEEKSgRAQQAgAkUNAhogCyAANgIAQen4GiALEEtBAAwCC0EAIQQDQCAEIAFIBEAgBiAEQQJ0aiAOIAQQTSgCADYCACAEQQFqIQQgDigCACEBDAELCyAGIAFBAnRqQX82AgAgAyANQQEQTRBdQQEgDkEAEKIEBEAgByAOKAIAIgE2AgAgAUEKSgRAQQAgAkUNAxogHSAANgIAQen4GiAdEEtBAAwDCwJ/IA1BAhBNEF0hHiAcIAk2AgAgHgtBqs4fIBwQkgJBAUYEQCAaIA1BARBNEF02AgAgCEHKAkGk1h8gGhCoARpBAQwDCyACBEAgGyAANgIAQbDeCiAbEEsLC0EABUEACwshACAOEGgFIAIEQCAKIAA2AgBBsN4KIAoQSwtBACEACyANEM4CIAwQWAUCfwJAIAQgDBCKCSIERQ0AIBkgBTYCACAEQarOHyAZEJICRQ0AIAUoAgAiBEEBSA0AIARBCkoEQEEAIAJFDQIaIBcgADYCAEHp+BogFxBLQQAMAgtBACELAkACQANAAkAgCyAETg0AQQAgDBCKCSIERQ0AIAMgBBC0BEUNAiAGIAtBAnRqIAMgBBD4ATYCACALQQFqIQsgBSgCACEEDAELCwwBCyACBEAgFiAENgIAQeDeCiAWEEsLCyAGIAtBAnRqQX82AgAgCyAFKAIARgRAQQAgDBCKCSIEBEAgFSAHNgIAIARBqs4fIBUQkgIEQCAHKAIAIgRBAU4EQCAEQQpKBEBBACACRQ0GGiATIAA2AgBB6fgaIBMQS0EADAYLIAhBADoAAEEAIQUCQAJAA0ACQCAFIAcoAgBODQBBACAMEIoJIgRFDQAgCCAIEGNqIAQQ3wcaIAMgBBC0BEUNAiAFQQFqIQUMAQsLDAELIAIEQCASIAQ2AgBB4N4KIBIQSwsLIAUgBygCAEcEQEEAIAJFDQYaIBEgADYCAEGw3gogERBLQQAMBgtBASABQQBMDQUaQQAgDBCKCSIBBEAgECAJNgIAQQEgAUGqzh8gEBCSAg0GGgtBACACRQ0FGiAPIAA2AgBBsN4KIA8QS0EADAULCwsLIAIEQCAUIAA2AgBBsN4KIBQQSwtBAAwBCyACBEAgGCAANgIAQbDeCiAYEEsLQQALIQALIAokBiAAC0UBAX8jBiEBIwZBEGokBiAALAAJBEAgAUGj4xc2AgAgAUGjAjYCBEHAnhZBluMXQQJBx+scIAEQUQsgAEEANgIAIAEkBgtNAQJ/IAAoAgAQ8AshASAAQRg2AgBBGBDwCyICIAFHBEAgAEEEaiIAKAIAIgEEQCABEEwLIABBfyACQQJ0IAJB/////wNLGxBPNgIACwsoAQF/IAEQmRYhAiAAKAIEIAAgARCYFkECdGoiACAAKAIAIAJyNgIAC2YBBH8gABDwCyEFQQAhAANAIAIgBUgEQEEAIQMgASACQQJ0aigCACEEA0AgA0EERwRAIARB/wFxQQJ0QfAUaigCACAAaiEAIANBAWohAyAEQQh2IQQMAQsLIAJBAWohAgwBCwsgAAtCAQF/AkAgAARAA0AgAUEYTwRAQX8hAQwDCyAAIAFBAnRB0N0KaigCABDFAQRAIAFBAWohAQwBCwsFQX8hAQsLIAELtAEBBX8jBiEEIwZBEGokBiAEQQhqIQYCfyAALAAAIgNBI0YEf0EABQJAAkADQCADQf8BcUUNASADQRh0QRh1QX9KBEAgA0EYdEEYdRCWBA0DCyAFQQFqIgMhBSAAIANqLAAAIQMMAAALAAsgBCAANgIAQfz1GiAEEEtBAAwCCyAAIAVqQQA6AAAgASAANgIAIAYgAjYCACAAIAVBAWpqQZ32GiAGEJICQQFGCwshByAEJAYgBwvtAgEIfyMGIQMjBkGQAWokBiADQfAAaiEJIANB6ABqIQogA0H0AGohBCADQYABaiIFIgZBADYCACAGQQA2AgQgBRDBKiAFKAIEQQAgBSgCABDwC0ECdBCMARogACABEOABGiAAQQhqIAAoAgRBFGxqIQcgA0H4AGoiBkMAAAAAOAIAIAdBGCAGEMAFA0AgAiADQeQAEPIEBEAgBkEANgIAAkAgAyAGIAQQxSoEQCAGKAIAIgEQxCoiCEEASARAIAogATYCAEGt8RogChBLDAILIAUgCBCaFkUEQCAFIAgQwioLIAQoAgAhASAHIAgQTSABNgIACwsMAQsLIAUoAgAgBSgCBCICEMMqQRhGIgFFBEBBACEEA0AgBEEYSQRAIAUgBBCaFkUEQCAJIARBAnRB0N0KaigCADYCAEHQ8RogCRBLCyAEQQFqIQQMAQsLIABB09X5ABDgARogBxDFAwsgAgRAIAIQTAsgAyQGIAELQAEBfyMGIQMjBkEQaiQGIAMQ8QQgA0HwHEGxtwoQmw8gACABIANBAEEAIAIQmxYgAygCBCADLAAIEPMEIAMkBgtnAQV/IABBFGohAyAAQShqIQQgAEE8aiEFIABB0ABqIQYgAUEIaiEHQQAhAQNAIAEgBygCAEgEQCADEJcWIAAQlxYgBEEAELkBIAIEQCAFQQAQuQEgBkEAELkBCyABQQFqIQEMAQsLC0kBBX8gAEEIaiEFA0AgASAFKAIASARAIAIgACABEPEIIgRFaiECIAFBAWohASADIARBDUYgBEEEckEFRnJqIQMMAQsLIAMgAksLVwECfyMGIQMjBkEQaiQGIAMQ8QQgAkERIAMQlwUEfyAAIAIgAxCvKgR/IAEEQCAAIAEgAhCuKgtBAQVBAAsFQQALIQQgAygCBCADLAAIEPMEIAMkBiAEC4wBACAAQQhqIAIQ4AEaQYCYGxAUIQICQAJAIAFFDQAgASwAAEUNACAAQQRqIgAgARDgARoMAQsgAEEEaiEAIAIEQCAAIAIQ4AEaCwsgABDfAUUEQCAAQZCYGxDgARoLIAAQXSAAEN8BQX9qaiIBQa3WIBDFAQRAIAFBk5gbEMUBBEAgAEGt1iAQbBoLCwtWAQN/IABBADYCAEE0EE8iAUEENgIAIAFBNGohAiABQQRqIgMhAQNAIAEQmQEgAUEMaiIBIAJHDQALIAAgAzYCCCAAQQQ2AgQgAEEANgIMIABBADYCEAvzAwIIfwF+IwYhBCMGQTBqJAYgBEEMaiEHIAAQsxYgACABEOABGiAEQSRqIgYQ8QQgBiACIAMQmw8gBiAEQSBqIgUQ5QgEQCAAQQlqIgEgBSgCAEHoB0siAjoAACAGIAIQnRYgASwAAARAIAVBBBDyGwsgBSgCAEHoB0sEQEEAIQAFIAcQvgMgByAFKAIAIgEQigogByABNgIAAn8gBiAHKAIAIgggBygCCCIJQQAQighBCCAFKAIAIgEQ8AEgAUYEf0EAIQIDQCACQRhJIAIgBSgCAElxBEAgCCAJIAIQiggpAwBCf1UEQCAIIAkgAhCKCCkDACEMIAIhAQJAAkADQCABQQFqIgEgBSgCACIKSQRAIAggCSABEIoIKQMAQn9RDQEMAgsLDAELIAUoAgAhCgsgAyAMp2shCyABIApJBH8gCCAJIAEQiggpAwAgCCAJIAIQiggpAwB9pwUgCwshASAAQQxqIAJBFGxqIgogARChCkEAIAYgCkEAENkBIAEQ+QRFDQQaCyACQQFqIQIMAQsLIAAoAtgDRQRAIARCADcCACAEQQA2AgggBEGn7BpBp+waEGMQygIgACAEEJoPIAQQVAsgAEEBOgAIQQEFQQALCyEAIAcQxAoLBUEAIQALIAYoAgQgBiwACBDzBCAEJAYgAAvdAQIFfwF+IwYhAyMGQTBqJAYgA0EIaiECIAFCf1EEQEG+6xogAxBLBSAAIAEgACgCACgCEEEDcUGOB2oRCQAhByAAIAEgACgCACgCGEEHcUGEB2oRCAAhBEGp3RdBsd0XIAAgARDGChshBUG53RdBvt0XIAAoAhQgACgCPCABEM8GGyEGQcPdF0HT1fkAIAAgASAAKAIAKAIUQQdxQYQHahEIABshACACIAE3AwAgAiAHNwMIIAIgBDYCECACIAU2AhQgAiAGNgIYIAIgADYCHEHH6xogAhBLCyADJAYLTQICfwJ+IABCABDGCgRAIAAoAhQhASAAKAI8IQJBACEAA0AgAEEBaiEAIANCAXwhBCABIAIgAxDPBkUEQCAEIQMMAQsLBUEAIQALIAALlAMCCX8BfiMGIQMjBkFAayQGIABBOGoiCCgCAARAQbbqGiADEEsLIANBGGohBSADQRBqIQkgA0EIaiEGIANBLGohAgJ/IAEgA0EwaiIEEJ0PBH8gBC4BACIEQSpHBEAgBiAENgIAIAZBKjYCBEHN6hogBhBLQQAMAgsgASACQQEQggIEfyABIABBQGsiB0EBEIICBH8gBygCAEEATARAIAlBrekaNgIAIAlBzAI2AgRB3K4WQfHqGkECQcfrHCAJEFELIAAgAigCABCgFiAAQX8gBygCACICQQN0IAJB/////wFLGxBPIgQ2AjwgASAEQQggAhDwASACRgR/IAgoAgBBAkoEfyAAKAIEIQYgAEEIahBdIQIgACgCDCEIIAAoAhAhBCAHKAIAIQEgBSAGNgIAIAUgAjYCBCAFIAg2AgggBSAENgIMIAUgATYCEEGA6xogBRBLA38gCyAHKAIArFMEfyAAIAsQziogC0IBfCELDAEFQQELCwVBAQsFQQALBUEACwVBAAsFQQALCyEKIAMkBiAKC3EBBn8gAEEIaiIDKAIAIQEgACgCBCAAQQxqIgQoAgAiBUEBdWohAiAFQQFxBEAgAigCACABaigCACEBCyACIAFB/wFxQQZqEQUAIQYgA0EANgIAIARBADYCACAAIAAoAgAoAgRB/wNxQaIHahEAACAGCykAIABB/K4WNgIAIABB6K4WNgIAIAAgATYCBCAAIAI2AgggACADNgIMC1IBAX8gACgCACICIAAoAgRGBEAgACgCBCICBEAgACACQQF0EJ8WBSAAQQQQnxYLIAAoAgAhAgsgACACQQFqNgIAIAAoAgggAkEMbGogARCfDxoL7QEBBH8jBiEDIwZBEGokBiAAQRxqIQACfwJAAkADQCAEIAAoAgBODQIgASAAIAQQogIQ9AQNASAEQQFqIQQMAAALAAsgACAEEKICKAIEIQUgACAEEKICKAIEBEAgACAEEKICQQhqIgAgACgCAEEBajYCAAsgAgRAIAIgAigCACgCBEH/A3FBogdqEQAACyAFDAELIANCADcCACADQQA2AgggAxCZASAAIAMQ0yogAxBYIAAQsBoiACABEJgCGiAAIAIgAigCACgCCEH/AXFBBmoRBQAiATYCBCAAIAFBAEc2AgggAQshBiADJAYgBguKAgEGfyMGIQIjBkEQaiQGIAIQ8QQCfyAAKAIEIABBCGoiASgCACACEJcFBH8CQAJAAkACQAJAAkACQAJAIAEoAgBBBmsODwABAgUGBgYGAwQGBgABAgYLQQEhAwwGC0EIIQNBASEEDAULQQYhA0ECIQQMBAtBDCEDQQEhBAwDC0EIIQNBASEEDAILQQshA0EBIQQMAQtBAAwCC0HIABBPIgEiBSAEIAAgAyAAKAIMEKEWIAVBgJ0WNgIAIAEgAhDQKgR/IAEgARDPKjYCREEBBUEACwR/IAEFIAEgASgCACgCBEH/A3FBogdqEQAAQQALBUEACwshBiACKAIEIAIsAAgQ8wQgAiQGIAYL/wEBCn8CQCABEGMiAwRAIAJBAEciBgRAIAIQYyEDCyAAIAMQ1AggAEEcaiIHIAAoAhgiAzYCACAAQQRqIQggAEEIaiEJIABBEGohCiAAQRRqIQsDQCAEIANODQIgCCgCACABIAVqIAYEfyACIARqLAAABUEBCyIDEPcDIQwgCSgCACAEQQJ0aiAMNgIAIAooAgAgBEECdGpBATYCACALKAIAIARBAnRqQwAAAAA4AgAgAyAFaiEFIARBAWohBCAHKAIAIQMMAAALAAUgAEEIENQICwsgAEMAAIA/OAIgIABDAAAAADgCJCAAQwAAAAA4AiggAEEAOgA0IABBADoANgvUAQEGfyAAQRxqIQQgAEEIaiECIABBBGohBUEAIQADQCAAIAQoAgAiA0ECEE4iAUgEQCACKAIAIgEgAEECdGooAgAhBiAFKAIAIAEgAyAAQX9zIgNqQQJ0aigCABDJCiEBIAIoAgAgAEECdGogATYCACAFKAIAIAYQyQohASACKAIAIAQoAgAgA2pBAnRqIAE2AgAgAEEBaiEADAELCyADQQFxBEAgBSgCACACKAIAIAFBAnRqKAIAEMkKIQAgAigCACAEKAIAQQIQTkECdGogADYCAAsLbQEEfyAAQRxqIQEgAEEEaiECIABBCGohA0EAIQADQAJAIAAgASgCAE4EQEEAIQAMAQsCQCACKAIAIAMoAgAgAEECdGooAgAQ8QhBAWsiBARAIARBDEcNAQtBASEADAELIABBAWohAAwBCwsgAAs3AQJ/A38Cf0EAIAIgAU4NABogAkEBaiEDIAAgAkECdGooAgBBf0YEf0EBBSADIQIMAgsLCyIAC8QBAQZ/IwYhBCMGQdAAaiQGIARBCGoiA0EcaiEGIANBCGohBwJAAkADQAJAIAUgASgCAE4EQEEBIQAMAQsgAyABIAUQTRBdIAIQoQ8gBigCACIIBEAgBygCACAIENkqRQRAIAMQ2CoEQCADENcqCyAAIAMQxAZFBEAgACADENYQIAAgAxDEBkUNBQsLCyADEKACIAVBAWohBQwBCwsMAQsgBCABIAUQTRBdNgIAQb/oGiAEEEsgAxCgAkEAIQALIAQkBiAACw0AIAEQ3wEgABDfAWsL1QEBCH8jBiEDIwZBkARqJAYgA0GABGohBiADQfgDaiEHIANBiARqIQQgA0GEBGohBSABQa78HhDlAiIIBH8gAEE4aiEJQQAhAANAIANB9AMgCBCMCQRAIAMQ0AggBCADEIUBIAkoAgBBAEchASAAQQFqIgBBkM4AEIcBRSABcQRAIAcgADYCAEHt6BogBxBLCyAFIAQQyQEgAiAFEKsCIAUQWCAEEFgMAQsLIAkoAgAEQCAGIAA2AgBBg+kaIAYQSwsgCBD9ARpBAQVBAAshCiADJAYgCgs6AQF/IABBADoAByAAQX86AAggAEEAOgAJIABBfzoACiAAQQxqIgFCADcCACABQgA3AgggAUIANwIQC04AIAAgASkCADcCACAAIAEpAgg3AgggACABKQIQNwIQIAAgASgCGDYCGCAAIAEuARw7ARwgACABLAAeOgAeIABBIGogAUEgahClFhogAAunAQEEfyABLAAAIgQEQCAAIQMgBCEAA0AgAygCACIEBH8gAAVBhBAQTyIAQYACNgIAIABBhBBqIQUgAEEEaiIEIQADQCAAQQA2AgAgAEF/NgIEIABBCGoiACAFRw0ACyADIAQ2AgAgASwAAAshBiAEIQAgBkH/AXEhAyABQQFqIgEsAAAiBARAIAAgA0EDdGohAyAEIQAMAQsLIAAgA0EDdGogAjYCBAsLhAMBCX8jBiEDIwZBMGokBiADQSBqIQUgABBjIgFBBkgEf0EABSAALAAAQfwARgR/IABBAWohAiAAIAFqIQZBACEAA0ACQCACIABqIgEgBk8NACABLAAAIgRB/ABGDQAgBBC2BCAAaiEADAELCyAARSAAQR5KcgR/QQAFIAMgAiAAENIEGiADIABqQQA6AAAgBUEANgIAQQAhAkEAIQBBACEEAn8CQANAAkAgAkECTw0CAkACQCABIAZLDQAgASwAAEH8AEcNAAwBCyACQQFHDQEgASwAAEHuAEcNAUEBIQALIAJFIQcgAkEBaiECIAQgAUEBaiAFELQTIgEgBxshBCABIAggBxshCCAFKAIAIQEMAQsLQQAMAQsgASAGRgR/QSQQTyIBQgA3AwAgAUIANwMIIAFCADcDECABQgA3AxggAUEANgIgIAEgA0EeENIEGiABQQA6AB4gASAIOwEgIAEgBDsBIiABIABBAXE6AB8gAQVBAAsLCwVBAAsLIQkgAyQGIAkLiwEAAn8CQAJAAkACQAJAAkACQCABQRh0QRh1QcEAaw4wBQYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYEBgABBgYGBgYGBgYGAgYDBgsgACgCgAEMBgsgACgChAEMBQsgACgCiAEMBAsgACgCjAEMAwsgACgCkAEMAgsgACgClAEMAQtBfwsL7AQBEn8jBiEEIwZBkAVqJAYgBEGoBGohCiAEQaAEaiENIARBmARqIQ4gBEGQBGohDyAEQYgEaiEQIARBgARqIQMgBEH4A2ohCSAEIQYgBEHIBGohBSAEQbQEaiEHIARBsARqIQsCfyAALAB8BH8gAUGu/B4Q5QIiEUUEQCADIAE2AgBBqOYaIAMQS0EADAILIABBOGohEiAFQRxqIRNBACEJA0AgBkH0AyAREIwJBEAgBhDQCCAFIAIQsQUgBxCnBSACIAYQ6AwhCCAGIQMCQAJAAkACQANAIAhBAEwNAgJ/AkAgCEEBRw0AIAMsAABB3ABHDQAgA0EBaiIDLAAAIgxB3ABGBEAgAiADQQEQ9wMMAgsgEygCAEEASA0DIAAgDBDhKgwBCyACIAMgCBD3AwsiDEF/Rg0DIAUgDEMAAAAAEJQKIAdBABDpCCACIAMgCGoiAxDoDCIIQQFGBEAgAywAAEHcAEYEfyADLAABQSpGBH8gByAHKAIAQX9qENkBQQE6AAAgAiADQQJqIgMQ6AwFQQELBUEBCyEICwwAAAsACyAQQQA2AgBBx+YaIBAQSwwBCyASKAIAQQJKBEAgCyAFENgDIA4gCxBdNgIAQbDnGiAOEEsgCxBYCyAAIAUQxAZFBEAgACAFIAcQ1xkaIAAgBRDEBkUEQCANIAY2AgBB1OcaIA0QSwsLIAlBAWohCQwBCyAPIAY2AgBBl+caIA8QSwsgBxCSBCAFEKACDAELCyASKAIABEAgCiAJNgIAIAogATYCBEH65xogChBLCyAREP0BGkEBBUHq5RogCRBLQQALCyEUIAQkBiAUC6MBACABQereFxClBiAAIAFB6t4XEPgBNgKAASABQe7eFxClBiAAIAFB7t4XEPgBNgKEASABQfLeFxClBiAAIAFB8t4XEPgBNgKIASABQfbeFxClBiAAIAFB9t4XEPgBNgKMASABQfreFxClBiAAIAFB+t4XEPgBNgKQASABQf7eFxClBiAAIAFB/t4XEPgBNgKUASAAQQE6AHwgACABKAIINgIQC0sBAn8jBiEDIwZBIGokBiADENYCIAAgASADENwqBH8gAygCCCADKAIAQQRB3wAQhQUgACADIAIQ2ioFQQALIQQgAxDOAiADJAYgBAs6AQF/IABBBDYCAANAIAFBBEcEQCAAQQRqIAFBAnRqIAFBAnRBwN0KaigCADYCACABQQFqIQEMAQsLC5YBAQJ/IAEEQCAAQcQBaiABEOABGgsgAEHUE2oQ5SogACACEJkQIAMEQAJ/IAAgACgCACgCCEH/AXFBBmoRBQAhBRDzCyAFCxCkDyAAIAAoAgAoAghB/wFxQQZqEQUAIABBDGogAxCoFiAAIAAoAgAoAghB/wFxQQZqEQUAEKMPGgsgAEGMpghqIABBqKMIaisDALY4AgALSwEDfyAAQQA2AgBBwAAQTyICQUBrIQMgAiEBA0AgARCrFiABQRBqIgEgA0cNAAsgACACNgIIIABBBDYCBCAAQQA2AgwgAEEANgIQC2IBAX8gACgCACICIAAoAgRGBEAgACgCBCICBEAgACACQQF0EKUPBSAAQQQQpQ8LIAAoAgAhAgsgACACQQFqNgIAIAAoAgggAkEEdGoiACABKQIANwIAIAAgASkCCDcCCCACC1ABAX8jBiECIwZBEGokBiACIAEpAgA3AgAgAiABKQIINwIIIAAgAhDTEEF/RgRAIAIgASkCADcCACACIAEpAgg3AgggACACEOgqGgsgAiQGCxAAIAAoAgAgASgCABDFAUULpAEBBH8jBiEBIwZBIGokBiABELEWIAEQsBYQrxYgABD0BiICIAEQrhYgAEGc3whqIQMDQCAEIAMoAgBIBEAgAyAEEE0oAgAQ9AYgARCuFiAEQQFqIQQMAQsLIAEgAhCsFkEAIQIDQCACIAMoAgBIBEAgASADIAIQTSgCABD0BhCsFiACQQFqIQIMAQsLIABBtN8IaiABKAIANgIAIAEQgxIgASQGC0MBA38DQCACQQJHBEAgAUEIaiACQRRsaiIEIABBCGogAkEUbGoiA0cEQCADEMUDIAMgBBCDGBoLIAJBAWohAgwBCwsLTgAgACABIAIgAyAEIAUgBiAHIAggCSAKEKoWBH8gAEGyyAhqLQAARQRAIAAgAkEAIAogAEG0pwhqKAIAQQFGGyIAIAAQ5ioLQQAFQX8LC/8CAgZ/AXwDQCAAEJYCIgFBgAFJBEAgARCWBA0BCwsCQAJAIAFBK2sOAwABAAELIAFBLUYhBSAAEJYCIQELAkACQANAAkAgAUF/RgRAQQAhAkEBIQNBfyEBDAELIAFBChD0CyICQX9MDQIgAiAEQQpsaiEEIAAQlgIhAQwBCwsMAQsgAUEuRgRAQQAhAkEBIQMDQCAAEJYCIgFBf0YEQEF/IQEMAwsgAUEKEPQLIgZBf0oEQCAGIAJBCmxqIQIgA0EKbCEDDAELCwVBACECQQEhAwsLIAK3IAO3oyAEt6AhByABQSByQeUARgRAAkACQAJAIAAQlgIiAUEraw4DAAEAAQtBf0EBIAFBLUYbIQMgABCWAiEBDAELQQEhAwtBACECA0ACQCABQX9GBEBBfyEBDAELIAFBChD0CyIEQX9KBEAgBCACQQpsaiECIAAQlgIhAQwCCwsLIAdEAAAAAAAAJEAgAiADbLcQjQuiIQcLIAEgABDJBRogB5ogByAFGwvyAQIDfwJ+A0AgABCWAiICQYABSQRAIAIQlgQNAQsLAkACQCACQStrDgMAAQABCyACQS1GIQQgABCWAiECCyABBEAgAUEQRiACQTBGcQRAIAAQlgIiAUEgckH4AEYEQCAAEJYCIQELQRAhAwUgASEDIAIhAQsFIAJBMEYEfyAAEJYCIgFBIHJB+ABGBH8gABCWAiEBQRAFQQgLBSACIQFBAAshAwsgA6whBgNAAkAgAUF/RgRAQX8hAQwBCyABIAMQ9AsiAkF/SgRAIAUgBn4gAqx8IQUgABCWAiEBDAILCwsgASAAEMkFGkIAIAV9IAUgBBsL6hADGn8BfgF8IwYhEyMGQSBqJAYgEyELIAAQ/gMhECAAEPYLGkHY4xohBUF/IQZBACEHA0AgDEUgBSwAACIDQQBHcQRAIAVBAWohDAJAAkACQAJAAkACQAJAAkACQAJAIAJBB3EOBwABAgMEBQYHCyADQSVGBH9BACEEQX8hBkEAIQhBACEDQQEFIANBf0oEQCADEJYEBEAgABD2CxpBACECQQAhAwwLCwtBAEECIAAQlgIgA0YbIQNBAAshAgwICyADQSpGBH8gCEEBciEIQQEFIAwgBSADQVBqQRh0QRh1Qf8BcUEKSCICGyEMIANBUGogBiACGyEGIAhBBHIgCCACGyEIQQJBAyACGwshAkEAIQMMBwsgDCAFIANBUGpBGHRBGHVB/wFxQQpIIgIbIQwgBkEKbEFQaiADaiAGIAIbIQZBAkEDIAIbIQJBACEDDAYLAkACQAJAAkACQAJAIANBzABrDi8ABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFAQUABQIFBQUFAAUFBAUFBQUFAwULQQIhBEEDIQJBACEDDAoLIARBf2ohBEEDIQJBACEDDAkLIARBAWohBEEDIQJBACEDDAgLQQEhBEEDIQJBACEDDAcLQQEhBEEDIQJBACEDDAYLIARBAiAEQQJIGyIEQX4gBEF+ShshBAJ+AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADQSVrDlQLDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAcMBwwMDAwMDAwMAAwMDAwMDAwFDAwKDAwMDAwMDAgCBwcHDAEMDAwMBgMADAwJDAQMDAUMC0EAIQJB/////wchBAwMC0EAIQIMCwtBCiECDAoLQQghAgwJC0EKIQIMCAtBECECDAcLIAAQ/gMgEGusDAcLIAAQ9gsiCUEBSARAQQAhAkEBIQMMDQsgABDuKiEdIAhBAXEEQEEAIQJBACEDDA0LAkACQAJAIAQOAgABAgsgASgCAEEDakF8cSIDKAIAIRQgASADQQRqNgIAIBQgHbY4AgAMAQsgASgCAEEDakF8cSIDKAIAIRUgASADQQRqNgIAIBUgHTkDAAtBACECQQAhAyAKQQFqIQoMDAsgASgCAEEDakF8cSICKAIAIQcgASACQQRqNgIAIAhBAXFFIQMgBkEBIAhBBHEbIQYDQCAGIQIDQCACQX9qIQYgAkUEQEF/IQZBACECQQAhAwwOCyAAEJYCIglBAUgEQEEAIQJBASEDDA4LIANFBEAgBiECDAELCyAHIAk6AAAgB0EBaiEHIApBAWohCgwAAAsACyAIQQFxQQBHIgVFBEAgASgCAEEDakF8cSICKAIAIQcgASACQQRqNgIAC0EAIQ0gBiECAkACQANAAkAgAkF/aiEGIAJFDQAgABCWAiIJQYABSQRAIAlFIAkQlgRyDQMFIAlBAUgNAwsgBUUEQCAHIA1qIAk6AAALIA1BAWohDSAGIQIMAQsLDAELIAkgABDJBRoLIA1FIgIhAyAFIAJyBEBBACECDAsLIAcgDWpBADoAAEEAIQJBACEDIApBAWohCgwKCyABKAIAQQNqQXxxIg4oAgAhByABIA5BBGo2AgAgC0IANwMAIAtCADcDCCALQgA3AxAgC0IANwMYQQQhAkEAIQNBACEODAkLQQAhAkEAQQIgABCWAkElRhshAwwIC0EAIQJBAiEDDAcLIAAQ9gsiCUEBSARAQQAhAkEBIQMMBwsgACACEO8qCyEcIAhBAXEEQEEAIQJBACEDDAYLIApBAWohCiAEQQFIBEACQAJAAkACQCAEQX5rDgMAAQIDCyABKAIAQQNqQXxxIgIoAgAhFiABIAJBBGo2AgAgFiAcPAAAQX4hBEEAIQJBACEDDAkLIAEoAgBBA2pBfHEiAigCACEXIAEgAkEEajYCACAXIBw9AQBBfyEEQQAhAkEAIQMMCAsgASgCAEEDakF8cSICKAIAIRggASACQQRqNgIAIBggHD4CAEEAIQRBACECQQAhAwwHC0EAIQJBACEDDAYLIARBAkgEQCAEQQFrBEBBACECQQAhAwwHCyABKAIAQQNqQXxxIgIoAgAhGSABIAJBBGo2AgAgGSAcPgIAQQEhBEEAIQJBACEDDAYLIARB/////wdIBH8gBEECawRAQQAhAkEAIQMMBwsgASgCAEEDakF8cSICKAIAIRogASACQQRqNgIAIBogHDcDAEECBSAEQf////8HawRAQQAhAkEAIQMMBwsgASgCAEEDakF8cSICKAIAIRsgASACQQRqNgIAIBsgHD4CAEH/////BwshBEEAIQJBACEDDAULIAhBAnFFIANB3gBGcQR/QQAhA0EBIQ5BBAUgCyADQf8BcRD1C0EAIQNBBQshAgwECwJAIANBLWsiBQRAIAVBMEcNAQwEC0EGIQJBACEDQS0hEQwECyALIANB/wFxEPULQQUhAkEAIQMMAwsgA0HdAEYEQCALQS0Q9QsMAgsgA0H/AXEhAiARIQMDQCADIAJJBEAgCyADEPULIANBAWohAwwBBUEFIQJBACEDDAQLAAALAAtBACEDDAELIAZFIQ0gCEEBcUUhDyAHIQMCQAJAA0ACQCANBEAgByEDDAELIAAQlgIiBUEBSA0CIAsgBUH/AXEiEkEFdkECdGooAgAgEkEfcXZBAXEgDkYNAiAFQf8BcSEFIA8EQCADIAU6AAALIANBAWohAwwBCwsMAQsgBSAAEMkFGiAFIQkLIAcgA0YEQEEBQQIgCUEBSBshAwwBCyAPBEAgA0EAOgAAIApBAWohCgsgAyEHQQAhAwsgDCEFIAMhDAwBCwsgCyQGIApBfyAKIAxBAUdyGwslAQJ/IwYhAiMGQRBqJAYgAiABNgIAIAAgAhDwKiEDIAIkBiADC4cEAQx/IwYhBiMGQSBqJAYgBkEQaiEJIAZBDGohCiAGQQhqIQwgBkEEaiEOIAZBHGoiD0EAIAIgAxCTBjYCACAGQRhqIhAgAkEAEJ0GIgc2AgAgBxC4AyELIAZBFGoiCEEANgIAA0AgDSALSARAIAkgECgCACANQQIQnQQiBzYCACAHIAogDCAOIAYQ5QMgCSgCACAPKAIAEKcPIgdBBEoEQCAHQX9qIABsIAYoAgBBAnROBEAgCCgCACIHRQRAIAggAhC+ASACEKUBQQEQxwEiBzYCAAsgByAJKAIAEP8gCwsgCRD3ASANQQFqIQ0MAQsLIBAQqgMgDxBeIAgoAgAiAAR/IAAgACABQQgQkQYaIAkgAEEAEJ0GIgA2AgAgABC4AyEHQQAhCwNAIAsgB0gEQCAKIAkoAgAgC0ECEJ0EIgA2AgAgDCAIKAIAIAAQ5AMiADYCACAAIA4Q6AcgDBBeIAwgASAKKAIAEOQDIgA2AgAgACAGEOgHIAwQXiAGKAIAt0QAAAAAAADoP6IgDigCALdkBEAgCCgCACAKKAIAEOUHCyAKEPcBIAtBAWohCwwBCwsgCRCqAyAIKAIAIgAgChDXBSAKKAIABEAgCBBeBSACIAIgABDgAxogAyADIAgoAgAQ4AMaIAIgBBDXBSADIAUQ1wULIAgoAgAFQQALIREgBiQGIBELqAIBCH8jBiEDIwZBIGokBiABIANBGGoiASADQRRqIgYgA0EQaiIEIANBDGoiBRDlAyAEKAIAIAUoAgBKBEAgAhClASEHIAYoAgAiCSAAaiAFKAIAaiEIIAYgCSAAayIAQQAgAEEAShsiADYCACAFIAggByAIIAdIGyAAayIFNgIAIAEoAgAhASAEKAIAIQQFIAIQvgEhByABKAIAIgkgAGogBCgCAGohCCABIAkgAGsiAEEAIABBAEobIgE2AgAgBCAIIAcgCCAHSBsgAWsiBDYCACAGKAIAIQAgBSgCACEFCyADQQhqIgYgASAAIAQgBRDBAiIANgIAIANBBGoiASACIAAQ5AMiADYCACAGEPcBIAAgAxDoByABEF4gAygCACEKIAMkBiAKC5UBAQh/IwYhAiMGQRBqJAYgAiAAENgTIgA2AgAgABC+ASEGIAAQpQEhByAAEHchCCAAEHUhA0EAIQADQCAEIAdIBEBBACEBA0AgASAGSARAIAMgAWpBA3MtAAAhBSABQQFqIQEgBSAAIAAgBUgbIQAMAQsLIAMgCEECdGohAyAEQQFqIQQMAQsLIAIQXiACJAYgAEEBdAslACAAQQRqEFcgAEEIahBXIABBDGoQeSAAQQA2AgAgAEEANgIUC4YBAQF/IAAQVyAAQQRqIgEQ9SogAEEwahCZASAAQTRqEFcgAEE4ahBXIABBPGoQVyAAQUBrEFcgAEHEAGpDAACAP0MAAAAAEKQBIABBzABqQwAAgD9DAAAAABCkASAAQdQAakMAAIA/QwAAAAAQpAEgAEHcAGoQmAEgAEEAOgAdIAFBADYCAAsnAQF/IABBCGoiAiABKQEANwEAIAAgAi4BBjsBOCAAIAIuAQI7AToL7gIBDn8jBiEEIwZB0AFqJAYgBEHIAGohBSAEQUBrIQYgBEEkaiEHIARBIGohDCAEQRxqIQ0gBEEYaiEOIARBCGohCSAEQcQBaiIKEFcgBEGoAWoiDyAKEFUgAigCABC4AyEQA0AgCyAQSARAIAIoAgAgCyAFIAYgByAMEPsHIA0gBSgCAEH//wNxIAYoAgBB//8DcRChASAOIAcoAgAgBSgCAGpB//8DcSAMKAIAIAYoAgBqQf//A3EQoQEgCRCYASAJIA0oAgAiCDYCAEEgEE8iESAJIAhB//8DcSAIQRB2IA4oAgAiCEH//wNxIAhBEHZBABDBECAPIBEQoAEgC0EBaiELDAELCyAFEPYqIAZBAEEAEKEBIAQgAEH//wNxIAFB//8DcRChASAFIAYoAgAiAEH//wNxIABBEHYgBC4BACAELgECIAoQvBggByADEFUgByAFEMAMEIYCIAIQqgMgBRCtCiAKEI8DIAQkBgt1AQF/IABEAAAAAAAAAAA5AwAgAEEAOgAIIABBADoACSAAQQU2AgwgAEEFNgIQIABBlgE2AhQgAEEBNgIYIABBATYCJCAAQfQDNgIoIABBLGoQmAEgACADQQMgA0EDShsiBDYCHCAAIAQ2AiAgACABIAIQyxYLPgECfyAALgEKIQIgAEEIaiIBIAEuAQAQ9AEgASACEOIBIAAuAQ4hASAAQQxqIgAgAC4BABD0ASAAIAEQ4gELnAIBCH8jBiEHIwZBQGskBiAHQShqIQkgB0EgaiEIIAdBNGohCyAHQTBqIQwgB0EsaiEKIAdBJGoiDSABNgIAIAdBHGoiDiACNgIAIAMEQCADKAIABEAgCRBXIAgQV0EBIAMoAgAgACAJIAgQuRYgBRC+ASEBIAUQpQEhACALQQBBABChASAMIABB//8DcSABQf//A3EQoQEgCyAMIAggDSAOIAYQuBYgBigCAARAQQEgCCADKAIAELcWIAMoAgAgBCAFELYWIAoQmAEgCiANKAIAIA4oAgAQuQ8gCiAGQQAQiQwgByAGEH0gBxCUAQNAIAcQjgFFBEAgBxBwEPoqIAcQeAwBCwsFIAMQXgsgCBDaAyAJEOECCwsgByQGC9kBAQZ/IwYhByMGQSBqJAYgB0EEaiEIIAdBEGohCiAHQQxqIQsgB0EIaiEJIAMEQCADKAIABEAgCBBXIAcQV0EAIAMoAgAgACAIIAcQuRYgBRC+ASEMIAUQpQEhACAKQQBBABChASALIAxB//8DcSAAQf//A3EQoQEgCiALIAcgASACIAYQuBYgBigCAARAQQAgByADKAIAELcWIAMoAgAgBCAFELYWIAkQmAEgCSABKAIAIAIoAgAQuQ8gCSAGQQAQiQwFIAMQXgsgBxDaAyAIEOECCwsgByQGC6EHAQh/IwYhCyMGQTBqJAYgC0EkaiIKQQA2AgAgC0EgaiIJQQA2AgAgAEEUEE4hDSAAQQQQTiEOIAhBAEciEARAIAsgADYCACALIA02AgQgCyAONgIIQZjjGiALEEsgCkEAIAEgAEE8EE4iDCAMEKwOIgw2AgAgCCAMQQIQ0AIFIApBACABIABBPBBOIgwgDBCsDiIMNgIACyALQRxqIg8gDCANIA0QwgsiDTYCACAQBEAgCCANQQIQ0AIgCUEAIAwgDRDgAzYCACAPEF4gCCAJKAIAQQIQ0AIFIAlBACAMIA0Q4AM2AgAgDxBeCyACIAkoAgBBASAOEMILNgIAIAQgCSgCACAOQQEQwgs2AgAgCRBeIAtBGGoiDkEANgIAIAtBFGoiCUEANgIAIAIoAgAgDhDXBSAEKAIAIAkQ1wUgB0EARyIPBEAgByAJKAIAIA4oAgByBH9BAAUgACAKKAIAIAIoAgAgBCgCACAOIAkQ8ioLIgw2AgALIAoQXiALQRBqIgpBADYCACAGQQA2AgAgC0EMaiINQQA2AgACQAJAAkAgDigCAARAIAIQXiADQQA2AgAgCSgCAA0BIApBACABIAQoAgAQ4AM2AgAFIApBACABIAIoAgAQ4AMiATYCACAJKAIARQRAIAEgASAEKAIAEOADGiAGQQAgAigCACAEKAIAEJMGIgE2AgAgDUEAIAIoAgAgARDgAzYCACAKKAIAIQELIANBACABQQZBARDMDiIBNgIAIAEgASAKKAIAQQgQkQYaIAkoAgBFBEAgAygCACIBIAEgBCgCABDkByADKAIAIgEgASAGKAIAEOADGgsgACADKAIAIAYoAgAgAigCABCoD0UEQCACEF4LCyAJKAIARQRAIAVBACAKKAIAQQFBBhDMDiIBNgIAIAEgASAKKAIAQQgQkQYaIA0oAgAiDARAIAUoAgAiASABIAwQ5AcgDRBeCyAAIAUoAgAgBigCACAEKAIAEKgPDQIgBBBeDAILCyAEEF4gBUEANgIAIA4oAgBFDQAMAQsgEARAIAIoAgAiAARAIAggAEECENACCyAEKAIAIgAEQCAIIABBAhDQAgsgCigCACIABEAgCCAAQQIQ0AILIAMoAgAiAARAIAggAEECENACCyAFKAIAIgAEQCAIIABBAhDQAgsgBigCACIABEAgCCAAQQIQ0AILIA8EQCAHKAIAIgAEQCAIIABBAhDQAgsLCyAKEF4LIAskBgtDAQJ/IAAoAgghAiAAKAIEIAAoAgwiA0EBdWohACADQQFxBEAgACgCACACaigCACECCyAAIAEgAkH/AXFBkAJqEQEACykAIABBqK4WNgIAIABBlK4WNgIAIAAgATYCBCAAIAI2AgggACADNgIMC2oBAX8jBiECIwZBIGokBiABQRQQTiEBIAIgAEHQAGoQVSACEFsDQAJAIAIQWQRAQQAhAAwBCyACEFMiAC4BBEF/aiABTARAIAEgAC4BBkEBakwEQEEBIQAMAgsLIAIQVgwBCwsgAiQGIAALOAEBfyAAQQA2AgQgAEEANgIIIABBADYCDCAAIAG3RAAAAAAAAFlAoxCcAiICQQEgAkEBShs2AgALqgEBAX8gACABIAIgAxC6FiAAQeynFjYCACAAQSBqEJgBIAAgBzYCJCAAQShqQQAgAy8BAkH//wNqQf//A3EQoQEgAEEsaiIBEFcgAEEwaiICIAEQfSAAQcwAahBXIABB0ABqEFcgAEHYAGoQsgEgAEHsAGoQsgEgAEHUAGoiAUEANgIAIAIgBBDFBCAAIAUgBhC6D0EQEE8iCCAAQd0AQQAQ/yogASAINgIAC9ECAQF/IwYhCyMGQSBqJAYgACABIAIgAyAHIAkgCiAEEIIrIABB2KcWNgIAIAAgBUEBcToAgAEgACABt0QAAAAAAADgP6IQWjYChAEgACADLgEAIAIuAQBrNgKIASAAIAY5A5ABIABBmAFqQwAAAABDAAAAABCkASAAQaABakMAAIA/QwAAAAAQpAEgAEGoAWpDAACAP0MAAAAAEKQBIABBsAFqQwAAgD9DAAAAABCkASAAQbgBakMAAAAAQwAAAAAQpAEgAEHAAWoQsgEgAEEANgLUASAAQQA2AtgBIABB3AFqIAEgAiADEOEWIABB/AFqEFcgAEGAAmoQVyAAQYQCahBXIABBiAJqEFcgAEGMAmoiARBXIABBADYCkAIgAEGUAmogBBCBKyAAQQA2AqQCIABBADYCqAIgAEEANgKsAiALIAEQfSALIAgQxQQgCyQGC4gBACAAIAEgAiADENYJIABBwKgWNgIAIABBADYCICAAQQA2AiQgAEEANgIoIABBLGogAigBACIBQf//A3EgAUEQdiADKAEAIgFB//8DcSABQRB2EIQDIABBNGpDAACAP0MAAAAAEKQBIABBPGoiAEIANwIAIABCADcCCCAAQgA3AhAgAEEANgIYCzgBAXwgACABIAIgAxDWCSAAQcSnFjYCACAAIAG3IgREAAAAAAAAoD+iIASiEFo2AiAgAEEANgIkCz0BAn8gAEEQaiEBIABBHGohAkEAIQADQCAAIAEoAgBIBEAgAigCACAAQQJ0akEANgIAIABBAWohAAwBCwsLQgAgACABIAIgAxCoGCAAQRxqIgEoAgAiAgRAIAIQTAsgAUF/IAAoAhAiAUECdCABQf////8DSxsQTzYCACAAEIYrC/YBAQt/IwYhAiMGQRBqJAYgAkEEaiEGQSAQTyIIIAAoAgQgABB7IAAQngIQuxYgAEEMaiEJIABBCGohCgNAIAMgCSgCAEgEQEEAIQEDQCABIAooAgBIBEBBfyEEQQAhBwNAIARBAkcEQCAEIANqIQtBfyEFA0AgBUECRwRAIAYgBSABajYCACACIAs2AgAgACAGIAIQzQ8gBUEBaiEFIAAgBigCACACKAIAEMsDIAdqIQcMAQsLIARBAWohBAwBCwsgACABIAMQywNBAUoEQCAIIAEgAyAHEPgLCyABQQFqIQEMAQsLIANBAWohAwwBCwsgAiQGIAgLkAIBCn8jBiEEIwZBEGokBiAEIAAoAQw2AgAgAEEQaiEKIAFBf3MhCCACQX9qIQkgAEEUaiELIARBBGoiBkECaiEMIARBAmohBQNAIAcgCi4BAEgEQCAGIAsoAgAgBxDaAQJAIAwuAQAiDSIAQQBIBEAgAyAELgEAIAFrIAIgBS4BAGtBARCBBAUgAEH//wNxBEAgAyAIIAQuAQBqIAkgBS4BAGtBARCBBAwCCyAGLgEAIgBBAEgEQCADIAggBC4BAGogAiAFLgEAa0EBEIEEDAILIABB//8DcQRAIAMgBC4BACABayAJIAUuAQBrQQEQgQQLCwsgBCAGLgEAIA0Q6AEaIAdBAWohBwwBCwsgBCQGCzsBAX8jBiEEIwZBIGokBiAEIAAQVSAEEFsDQCAEEFlFBEAgBBBTIAEgAiADEIkrIAQQVgwBCwsgBCQGC/4BAQF/IwYhBCMGQRBqJAYgBCABKQEANwMAIAQgAS4BBCADahCOAgJAIAIgBBCNCARAIAQgASkBADcDACAEIAEuAQAgA2sQjwIgAiAEEI0IRQRAIAAgBCkDADcBAAwCCyAEIAEpAQA3AwAgBCABLgEGIANqEKcCIAIgBBCNCEUEQCAAIAQpAwA3AQAMAgsgBCABKQEANwMAIAQgAS4BAiADahC3AiACIAQQjQhFBEAgACAEKQMANwEADAILIAQgASkBADcDACAEQQRBBBCtBCACIAQQjQgEQCAAIAEpAQA3AQAFIAAgBCkDADcBAAsFIAAgBCkDADcBAAsLIAQkBgtLAQJ/IwYhASMGQRBqJAYgASAAENIBIAEQbkEQdEEQdSABEGtBEHRBEHVBARDHASECIABBBGogAS4BACABLgEGIAIQiisgASQGIAILfwEEfyMGIQMjBkHwAGokBiADIAAQgAEgAyABEGIiBBDzASADEIUCQQAhAQN/An8gASACSiEFA0BBACAFDQEaQQAgAxCEByIARQ0BGiAEIAAQYhC0A0UNAAsgAUEBaiEAIAEgAkgEfyAAIQEMAgVBAQsLCyEGIAMQfyADJAYgBguUAgEMfyMGIQQjBkEgaiQGIARBEGohCCAAIAEuAQAgAS4BAiAEQQxqIgUgBEEIaiIHELYCIAAgAS4BBCABLgEGIARBBGoiAyAEELYCIABBBGohCiAEKAIAIQsgBSgCACEMIAMoAgAhDUEAIQUgBygCACEGA0AgBiALTARAIAZBAWohByAMIQMDQAJAA0AgAyANSg0BIAAgAyAGEMsDIAJMBEAgA0EBaiEDDAELCyAIIAooAgAiCSADbEH//wNxIAkgBmxB//8DcSAJIANBAWoiA2xB//8DcSAJIAdsQf//A3EQlQIgCCABEIMKGiAIEPYBIAVqIQUMAQsLIAchBgwBCwsgBUEBdCABEPYBSiEOIAQkBiAOC/sBAQp/IAAQngIiAi4BACAAEHsiBC4BAGsgAkECaiIHLgEAIAQuAQJrQQEQxwEhBiAAKAIEIQUgAEEMaiEIIABBCGohCUEAIQIDQCACIAgoAgBIBEAgAkF/aiEKIAJBAWoiBCAFbCELQQAhAwNAIAMgCSgCAEgEQCAAIAMgAhDLAyABSgRAIAAgA0F/aiACEMsDQQBKBEAgACADQQFqIAIQywNBAEoEQCAAIAMgChDLA0EASgRAIAAgAyAEEMsDQQBKBEAgBiADIAVsIAcuAQAgC2sgBSAFQQ9BAEEAQQAQywELCwsLCyADQQFqIQMMAQsLIAQhAgwBCwsgBguXBAEUfyMGIQQjBkEwaiQGIARBJGohDSAEQSBqIQ4gBEEcaiEPIARBGGohECAAELwWIgcQiCshCCADELwWIQYgAhClASESIABBIGoiCSgCALdEAAAAAAAA2D+iEJwCIRMgAEEMaiEUIABBCGohFSAAQQRqIRFBACEAA0AgACAUKAIASARAQQAhAwNAIAMgFSgCAEgEQCAIIAMgABDLAyELIAkoAgAiBSALIBNqIgxOIAsgBUpyRQRAIA0gESgCACIFIANsIgo2AgAgDiAFIApqNgIAIA8gEiAFIABsayIKNgIAIBAgCiAFazYCACACIA0gECAOIA8Q8xYEQCAIIAMgACAMEPgLCwsgAQRAIAsgCSgCAEoEQCAGIAMgABDLA0EASgRAIBEoAgAhBSAIIAMgABDLAyEMIAYgAyAAEMsDIQogByADIAAQywMhFiAJKAIAIRcgBCAFIANsNgIAIAQgBSAAbDYCBCAEIAw2AgggBCAKNgIMIAQgFjYCECAEIBc2AhRB0d8aIAQQSwsLCyALIAkoAgBKBEAgBiADIAAQywNBAEoEQCAHIAMgABDLA0EDdCAJKAIATARAIAggAyAAQQAQ+AsLCwsgA0EBaiEDDAELCyAAQQFqIQAMAQsLIAcEQCAHIAcoAgAoAgRB/wNxQaIHahEAAAsgBgRAIAYgBigCACgCBEH/A3FBogdqEQAACyAEJAYgCAsoACAAIAMQgwwgAgRAA0AgACADEPAWDQALCyAAIAFBABCCDCAAELADC7QDAgZ/AXwjBiEEIwZBQGskBiAAIANBEGoiCBC9BCAAIANBDGoiCRC9BCAEQSBqIgcgACgCBCAAEHsgABCeAhDWCSAEIANBBGoiBRBVIAQQWwNAIAQQWUUEQCAEEFMiBigCBBC7B7dEAAAAAAAA0D+iIQogBhDpFkUgCiAKIAYoAhgQ0Re3o6JEAAAAAAAA+D9jcgRAIABBAUEBIAYQkwgFIAdBAUEBIAYQkwgLIAQQVgwBCwsgAEEkaiIGIAAgASACIAcQkCs2AgAgBxCwAyAGKAIAIAAoAiAQjyshAiABBEBBq98aIAJBAxDuBiAAIANBFGoiAUEDIAIQuwQgACAFQQwgAhC7BCAAELADIAAgBRC9BCAAIAFBDCACELsEIAAQsAMgACAJQX8gAhC7BCAAIAhBfyACELsEIAAgBUF/IAIQuwRBvd8aIAJBAxDuBgUgACADQRRqIgFBAyACELsEIAAgBUEMIAIQuwQgABCwAyAAIAUQvQQgACABQQwgAhC7BCAAELADIAAgCUF/IAIQuwQgACAIQX8gAhC7BCAAIAVBfyACELsECyAHEPsFIAQkBiACC0wBAX8jBiECIwZBIGokBiAAIAFBBGoiARC9BCACIAEQVSACEFsDQCACEFlFBEAgAEEAQQAgAhBTEK0PIAIQVgwBCwsgABCwAyACJAYL1AIBCX8jBiEDIwZB0ABqJAYgA0FAayIEQQA2AgAgA0E8aiIFQQA2AgAgA0E4aiIGEFcgA0E0aiIHEFcgA0EwaiIIEFcgAUEEaiAEIAUgBiAHIAgQvRYgAUEUaiAEIAUgBiAHIAgQvRZBzLz5ACgCAARAIAUoAgAhBSAEKAIAIQEgBxC5AiEEIAYQuQIhCSAIELkCIQogAyAFNgIAIAMgATYCBCADIAQ2AgggAyAJNgIMIAMgCjYCEEH23hogAxBLBSAEKAIAIQEgBSgCACEFCyADQRRqIQQCfyACQQBHIgkgBSABckVxBH8gBCACEJIBIAQgCBC1BkEABSABIAUgAWq3IACiEFpIBH9BACAJRQ0CGiAEIAIQkgEgBCAHELUGQQAFQQEgCUUNAhogBCACEJIBIAQgBhC1BkEBCwsLIQsgCBDvASAHEO8BIAYQ7wEgAyQGIAsLLgEBfwNAIAAEQCACIAFBAXFyIABBAUp0IQIgAEF/aiEAIAFBAXUhAQwBCwsgAgv6BgIXfwJ9IwYhGCMGQaABaiQGIBgiCkH4AGohByAAQShqIQsgAEEkaiEPIABBHGohEiAAQQxqIRMgAEEgaiEUIABBCGohDCAAQRBqIRUgAEEYaiEWIABBBGohECAAQRRqIRcDQCADQQRHBEBBACECA0AgAkH4AEcEQCAKIAJqQQA6AAAgAkEBaiECDAELCyAHEFcgByABIANBAnRqEJYBIAcQW0HT1fkAIRFBfyECQX8hBEEAIQVDAACAvyEZAkACQANAAkAgBxBZDQIgBxBTIg0oAighDgJAAkAgCygCACIGRQ0AIAYoAgAiCUUNAEEAIQgCQAJAA0AgCCAJSARAIAYgCBBNKAIAIA5GDQIgCEEBaiEIIAsoAgAiBigCACEJDAELCwwBCyALKAIAKAIAIQkLIAggCUcNAAwBCyAKIA5qIgYsAABFBEAgBkEBOgAAIA8oAgBBFGogDSgCBBDMASEGIA0qAiSMIRogGUMAAAAAXQRAIAYhESANLgEcIQIgDiEEQQEhBSAaIRkFIBlDAACAP5IgGl4EQCAFQQFqIQULCyAREGNBAUYEQCAGLAAAQVBqQRh0QRh1Qf8BcUEKSA0FCyAFQQFKDQILCyAHEFYMAQsLDAELIAVBAUYEQCAAKAIAQRBqIANB4ANsaiAEQQJ0aiIFIAUqAgBDAACAP5I4AgAgAkF/SiAEIBIoAgBGcQRAIA8oAgAQ9AYgAhCtAygCBEEQcQRAIAAoAgAiAkEQaiADQeADbGogBEECdGoiBSAFKgIAQwAAgL+SOAIAIAJBEGogA0HgA2xqIBQoAgBBAnRqIgIgAioCAEMAAIA/kjgCAAsLIAQgEygCAEYEQCAAKAIAQRBqIANB4ANsaiAMKAIAQQJ0aiICIAIqAgBDAACAP5I4AgALIAQgFSgCAEYEQCAAKAIAQRBqIANB4ANsaiAMKAIAQQJ0aiICIAIqAgBDAACAP5I4AgALIAQgFigCAEYEQCAAKAIAQRBqIANB4ANsaiAQKAIAQQJ0aiICIAIqAgBDAACAP5I4AgALIAQgFygCAEYEQCAAKAIAIgJBEGogA0HgA2xqIBAoAgBBAnRqIgQgBCoCAEMzMzM/kjgCACACQRBqIANB4ANsaiAMKAIAQQJ0aiICIAIqAgBDmpmZPpI4AgALCwsgA0EBaiEDDAELCyAKJAYLoAQCB38DfSMGIQIjBkEwaiQGIAJBEGohAyACIgVCADcDACACQgA3AwggAEEEaiEIA0AgBkEERwRAIAMgASAGQQJ0ahBVIAMQtQFFBEACQAJAIAgoAgAiAkUNACACKAIARQ0AIAMQW0EAIQIDQCACRSADEFlBAXNxBEAgAxBTKAIoIQRBACEHAkACQANAAkAgByAIKAIAIgIoAgBOBEBBACECDAELIAIgBxBNKAIAIARGDQIgB0EBaiEHDAELCwwBCyADEFMhAgsgAxBWDAELCwwBCyADEFMhAgsgAgRAIAUgBkECdGogAioCJLtEmpmZmZmZqT+iRAAAAAAAAPA/oLYiCTgCACAKIAmSIQoLCyAGQQFqIQYMAQsLAkAgCkMAAAAAXARAQQAhAkEAIQFDAAAAACEJA0AgAkEERwRAIAUgAkECdGoqAgAiC0MAAAAAXgRAIAFBAWohASALIAkgCUMAAAAAWyALIAldchshCQsgAkEBaiECDAELCyAJQwAAAD+UIAkgAUEBRhshCUEAIQIDQCACQQRHBEAgBSACQQJ0aiIBKgIAQwAAAABbBEAgASAJOAIAIAkgCpIhCgsgAkEBaiECDAELCyAKQwAAAABcIQJBACEEA0AgAiAEQQRJcUUNAiAFIARBAnRqKgIAIAqVEIUTIQkgACgCACAEQQJ0aiIBIAEqAgAgCZI4AgAgBEEBaiEEDAAACwALCyAFJAYLiQECA38DfSAAQZQPaiIDIAAqAgAiBSAAKgIEIgRdIgI2AgBBAiEBIAUgBCACGyEGIAQgBSACGyEEA0AgAUEERwRAIAAgAUECdGoqAgAiBSAEXgRAIAMgATYCACAEIQYgBSEEBSAFIAZeBEAgBSEGCwsgAUEBaiEBDAELCyAAQaAPaiAEIAaTOAIAC9EDAgp/BH0jBiEFIwZBMGokBiADQegFakEBEIsDIANB+AVqQQAQiwMgBUEgaiIGIANBosgIai0AAEEARyAAKAIEEPAOIgkoAgAQzQEgBUEYaiIKQwAAgD9DAAAAABCkASAFQRBqIgRDAAAAAEMAAIA/EKQBIAUiB0EQaiELIAUhAANAIAAQVyAAQQRqIgAgC0cNAAsgBCoCACEQIAQqAgQhEUEAIQADQCAAQQRJBEAgBi4BACEEIAYuAQQhCCAGLgECIQwgBi4BBiENIABBAnJBAkYEfyANIAwgABtBEHRBEHWyIQ4gCEEQdEEQdSAEQRB0QRB1arJDAAAAP5QhDyAGEGsFIA0gDGqyQwAAAD+UIQ4gBCAIIABBAUYbQRB0QRB1siEPIAYQbgshCEE4EE8iBCAJEIEIIARBACAKQQAgDyAOQwAAAEMgCEEQdEEQdbKVIg4gDkMAAIBCQQBBABDeCyADIAQgByAAQQJ0ahDKCSAKIBAgERC1BCAEEJEFIAQQTCAAQQFqIQAMAQsLIAkQkQUgCRBMIAEgBxCXKyACIAcQlisgARDAFiEAIAIoAgAgABC/FiALIQADQCAAQXxqIgAQnwYgACAHRw0ACyAFJAYLZwEGfyAAQQRqIgUoAgAiAkEBIAAoAggiBnQiA0gEfyACIQEDQCABIANIBEAgBSABQQFqIgQ2AgAgBiABEJUrIgIgACgCAEgEfyAEBSAEIQEMAgshAQsLQX8gAiABIANKGwVBfwsiAAsoACAAIAE2AgAgAEEANgIEIAAgAbcQjgtE7zn6/kIu5j+jmxBaNgIIC7sBAQF/IAAgAjYCACAAQSRqIgQgAzYCACAAIAE2AiggACADQRRqQYr7GhDjBDYCDCAAIAQoAgBBFGpBgfsaEOMENgIQIAAgBCgCAEEUakH9+hoQ4wQ2AhQgACAEKAIAQRRqQZj7GhDjBDYCGCAAIAQoAgBBFGpBzNsaEOMENgIIIAAgBCgCAEEUakHV2xoQ4wQ2AgQgACAEKAIAQRRqQej6GhDjBDYCHCAAIAQoAgBBFGpBrdkXEOMENgIgCzYBAn8jBiEBIwZBIGokBiAAQTBqIgAoAgAQqAIEfyABIAAQkgEgARCBAQVBAAshAiABJAYgAguuAgIHfwJ8IwYhAiMGQeAAaiQGIAJBOGoiBCABEH0gAkEoaiIBQQAgACgCJEEBdCIAELEBIAJBGGoiBkEAIAAQsQEgBBCUAUF/IQADQCAEEI4BRQRAIAQQcCIDEJ0rIQUgAygCKCIHEO8DBEAgBUEARyAHEOYEQQFzcQRAIAYgBRBiIgUuAQAgAxBiIgMuAQBrQQEQiAEgAEEASgRAIAAgAy4BACIDSARAIAEgAyAAa0EBEIgBCwsgBS4BACEACwsgBBB4DAELCyABKAIIIQBBzLz5ACgCAARAIAEQ4wEhCSAGEOMBIQogAiAANgIAIAIgCTkDCCACIAo5AxBBwd0aIAIQSwsgAEEKSAR/QQAFIAEQ4wEQWgshCCAGKAIMEIQBIAEoAgwQhAEgAiQGIAgLdgEBfyMGIQMjBkEQaiQGIAAgAigCBCACEHsgAhCeAhDOAyADIAAQeygBACICQf//A3EgAkEQdiAAEJ4CKAEAIgJB//8DcSACQRB2EIQDIAAgAykDADcBLCAAQTRqIgAgASoCABCXBCAAIAEqAgSMEJYDIAMkBgurAgEHfyMGIQQjBkHwAGokBiAEQdgAaiIHEFcgBEE8aiIJIAcQfSAEQThqIggQVyAEQRxqIgogCBB9IABBMGohBQNAIAUQ+QFFBEAgBRCHAiIGKAIoEOYEBEAgBiABEIcMIAkgBhCpAgUgCiAGEKkCCyAFEHgMAQsLIAAgCBCeKyIGIAMoAgBKBEAgAyAGNgIACyAEQeAAaiEDIAQgAhB9IAQQlAEDQCAEEI4BRQRAIAQQcCABEIcMIAQQeAwBCwsgBSACEMUEIAUQnQMgBCACEK8DIAQgBxDFBCADIAAQeygBACICQf//A3EgAkEQdiAAEJ4CKAEAIgJB//8DcSACQRB2EIQDIAMgARC7DyAAIAAoAgQgAyADEJEBEM4DIAgQqAQgBxCoBCAEJAYLwwUECH8BfgJ9BHwjBiEHIwZB4ABqJAYgB0EgaiIFQwAAAABDAACAPxCkASAHQRhqIghDAAAAAEMAAIC/EKQBIAdBEGoiCkMAAIC/QwAAAAAQpAEgB0EIaiIEQwAAgD9DAAAAABCkASAAQbgBaiILIAQpAwAiDDcCACAAQagBaiIGIAw3AgAgDKchCSAMQiCIpyEEAkACQAJAAkACQAJAIANBAWsOAwABAgMLIAUhBAwDCyAKIQQMAgsgCCEEDAELDAELIAYgBCkDACIMNwIAIAynIQkgDEIgiKchBAsgA0EBcUEARyACcyIKBH8gBiAFKgIAIAUqAgQQtQQgCyAIKgIAIAgqAgQQtQQgBioCACENIABBrAFqIgQhCCAEKgIAIQ4gBgUgCb4hDSAAQawBaiEIIAS+IQ4gBgshAiAHQShqIQUgByANIA6MEKQBIABBsAFqIgkgBykDADcCAAJAAkAgAioCAEMAAIA/XA0AIAgqAgBDAAAAAFwNAAwBCyAGIAFBFGoQpwYgBiABQQRqEKcGIAYgAUEQahCnBiAGIAFBDGoQpwYgACAGIABBjAJqIABBhAFqEKArIABB3AFqIgQgACgCBCAAEHsgABCeAhDOAyABEMIWIAAgARDsCSAAKALYASAJIAQQnysLQcy8+QAoAgAEQCACKgIAuyEPIAgqAgC7IRAgCyoCALshESAAKgK8AbshEiAFIApBAXE2AgAgBSADNgIEIAUgDzkDCCAFIBA5AxAgBSAROQMYIAUgEjkDIEHw3BogBRBLCyAHQdAAaiEBIABBpAJqIgAoAgAEQCABQeiOGjYCACABQYACNgIEQby6+QBBrt0aQQJBx+scIAEQUQtBNBBPIgEQqwQgACABNgIAIAFBACAGQQBDAAAAAEMAAAAAQwAAgD9DAACAP0MAAAAAQwAAAAAQ1gYgByQGC/MBAQZ/IwYhBSMGQTBqJAYgAEHcAWogAEEEaiIHKAIAIAAQeyIIIAAQngIiCRDOAyAAQdgBaiIGKAIAIgQEQCAEIAQoAgAoAgRB/wNxQaIHahEAAAtB2AAQTyIEIAcoAgAgCCAJEIQrIAYgBDYCACAAIAcoAgC3RAAAAAAAAOA/ohBaNgKEASADEMIWIAAgAxDsCSAAQZACaiIEEF4gBigCACADEJMrIAUgBygCACAIIAkQhSsgBCAFQcy8+QAoAgBBAEcgAiADEJIrNgIAIAYoAgAgASAALACAAUEARyADEJErIAYoAgAQsAMgBRCuESAFJAYL+wICCn8BfiMGIQcjBkEQaiQGIAIgAEogASAATiACQQBKcXEEfyAAQQBMBEAgB0Hc2ho2AgAgB0EjNgIEQYSuFkHP2hpBAkHH6xwgBxBRCyAAQQF0IQkDQCAFIAJIBEAgAyAFQQV0akEEaiEIIAMgBUEFdGoiCiELIAMgBUEFdGpBDGohDCAAIQQCQAJAA0ACQCAEIAFKDQIgC0EAIApBACAEa0EFdGogBCAFShtBjQcRGgAhDiAEIAlKIAwoAgBBAEdxBEAgDiAIKAIAIgasVQRAIAYhBAwCCwsgBEEBaiEEDAELCwwBCyAIKAIAIQQLIAggBCADIAVBBXRqKAIAajYCACAFQQFqIQUMAQsLIAIgAGshBSACQX5qIQEgAkF/aiIGIQAgAyAGQQV0aigCBCEGA0AgASAFTgRAIAEgACADIAFBBXRqKAIEIgIgBkgiBBshACABQX9qIQEgAiAGIAQbIQYMAQsLIAMgAEEFdGoFQQALIQ0gByQGIA0LfQICfwJ+IAFFIAEgAEZyBEAgAEIAQQFBAEEAQQBCABDHFgUgASgCFCAAIAFrQQV1IgNqIQIgACABKQMYIAMgA2ytfCIFIAIgAmwgASgCEEEBaiIAEE6sfSAArBCqDyABKAIErHwiBCABKAIIQQFqIAEgACACIAUQxxYLIAQLNwEBfyAAQQA2AgAgAEH/////BzYCBCAAQQE2AgggAEEMaiIBQgA3AgAgAUIANwIIIAFBADYCEAvEBwIRfwV8IwYhBCMGQfAAaiQGIARB4ABqIgtBACAAQRBqIgUQbkEQdEEQdSIHELEBIARB0ABqIgxBACAHELEBIARBMGoiASAAQcwAahCSASABEIEBIgNBAhDBBCAMIAMQYhBuQRB0QRB1QQEQiAEgARCrARpBASEIA0AgARCpBkUEQCABEIEBIgYQYiICLgEAIQkgAi4BBCECIAsgCSADEGIuAQRrQQEQiAEgDCACIAlrQQEQiAEgBkECEMEEIAEQqwEaIAYhAyAIQQFqIQgMAQsLIAsQ4wEhEiAMEOMBIhMgEiATIBJjGyEVIAtEAAAAAAAA6D8QzgEgC0QAAAAAAADQPxDOAaEhFCATIBIgEiATYxtEAAAAAAAA0D+iIRZBzLz5ACgCAEEDSgRAIAQgFDkDACAEIAg2AgggBCAWOQMQIAQgFUQAAAAAAADgP6I5AxhB/NkaIAQQSwsgBEEoaiENIARBIGohECAUIBZjBEAgCEEESyAUIBVEAAAAAAAA4D+iY3EEQCAURAAAAAAAAABAopsQWiEKIBIgE6BEAAAAAAAA4D+gEFoiDiAKayEPIAUuAQAhCSAPQQIQTiERQX8gDyAHaiIHQQV0IAdB////P0sbEE8hBiAHBEAgBiAHQQV0aiECIAYhAwNAIAMQpSsgA0EgaiIDIAJHDQALCyAKIA5qIQogARCeASARIAlrIQ4DQCABEI0BRQRAIAEQgQEQYiICLgEAIQMgAi4BBCEJIAIQa0EQdEEQdSEFIAYgDiADakEFdGohAgNAIAMgCUgEQCACIAIoAgAgBWo2AgAgA0EBaiEDDAELCyABEKsBGgwBCwsCfwJAIA8gCiAHIAYQoysiAkUiAw0AIAIoAgQgCE4NACABEJ4BQQAhAwJAAkACQAJAA0AgARCNAQ0CIAEQgQEhBQJAAkAgARCpBkUNACABQQEQyBYQYi4BACAFEGIiAi4BBGsgAhBuQRB0QRB1aiAKTA0AIAEQkAIaQQEhAwwBCyABEJ8FBEAgBRBiIgIuAQAgAUF/EMgWEGIuAQRrIAIQbkEQdEEQdWogCkoNAwsgBUEHEOgEIAVBBhDBBAsgARCrARoMAAALAAsgARCQAhoMAQsgAw0ADAELIAAQzwMLIABBBzYCMCAAQQY2AjRBAQwBC0HMvPkAKAIABEAgAwRAQafaGiAQEEsFIA0gAigCBDYCACANIAg2AgRBsNoaIA0QSwsLQQALIQAgBhBMBUEAIQALBUEAIQALIAwoAgwQhAEgCygCDBCEASAEJAYgAAvyAwEIfyMGIQQjBkHgAWokBiAEQdQAaiEIIARBOGohByAAIAFBEGoiCRC9BCAAIAFBDGoiChC9BCAEQfAAaiIGIAAQgAEgBhC4AQNAIAYQ7gMiAwRAIABBAUEAIAMQrQ8MAQsLIAggAhB9IAYQuAEDQCAGEO4DIgIEQCACKAIsRQRAIAJBAhDFAkUEQCACQQAQxQJFDQMLQcABEE8hBSAHQQBBARChASAFQQUgBxDqBSACIQMDQAJAIANFDQAgAygCLA0AIAUgAxCaAyADQQIQxQIhAwwBCwsDQAJAIAJBABDFAiICRQ0AIAIoAiwNACAFIAIQmgMMAQsLIAUQpisEQCAIIAUQqQIFIAUQnAMgBRBMCwsMAQsLQYys+QAoAgAEQCAAQQA2AjwLIAcgAUEEahBVIARBHGoiAyAJEFUgAxBbA0AgAxBZRQRAAkACQAJAAkAgAxBTIgEoAixBAmsOBQECAgIAAgsMAgsgAUEAEMEECyABEIsHIAcgAxCfARC7AQsgAxBWDAELCyAEIAoQVSAEEFsDQCAEEFlFBEACQAJAIAQQUyICKAIsIgFBBkYNACACKAIYEMgCDQAgAUECRgRAIAJBABDBBCACEIsHCwwBCyADIAQQnwEQuwELIAQQVgwBCwsgABCwAyAGEH8gBCQGC0UBAn8jBiEDIwZBEGokBiADIAEQYiIBKQEANwMAIAMgAy4BBBCPAiADIAMuAQQgAmoQjgIgACADIAEQyhYhBCADJAYgBAtFAQJ/IwYhAyMGQRBqJAYgAyABEGIiASkBADcDACADIAMuAQAQjgIgAyADLgEAIAJrEI8CIAAgAyABEMoWIQQgAyQGIAQLWAEBfyAAKAIAIQAgASgCABBiIgEuAQQgABBiIgIuAQRrIgBFBEAgAS4BACACLgEAayIARQRAIAIuAQIgAS4BAmsiAEUEQCACLgEGIAEuAQZrIQALCwsgAAvfCwEqfyMGIQQjBkHwAWokBiAEQRBqIQUgBEGAAWoiGCAAEIABIARBCGoiDyABEGIpAQA3AwAgAS4BMBC3ASEeIAEuATIQtwEhHyAPLgEAIhkhECAPLgEEIhohEiAPLgEGIQsgDy4BAiEOIA8QayEGQQMgECALEOYBIgwEQCAFIBA2AgAgBSALNgIEIAUgEjYCCCAFIA42AgwgBSAeNgIQIAUgHzYCFEGo1xogBRBLCyAEQfgAaiEbIARB8ABqISMgBEHoAGohJCAEQeAAaiElIARB2ABqISYgBEHQAGohJyAEQcgAaiEoIARBQGshKSAEQThqISogBEEoaiETIAZBEHRBEHVBBWxBf2ogAEEEaiIRKAIAIgVqIAUQTiEFIBggEiAQakECEE4gDiALakECEE4gBRCLCCACIAZBEHRBEHW3IAOiEFoiBSAFIAJIGyEGIAIgESgCAEEFbCIFIAUgAkgbISAgECAGayErIAYgEmohLCABLAByEIkBIgZBAXMhAiABLABzEIkBIgVBAXMhESAAKAIkt0QAAAAAAACgP6IQWiEhIAxBAXMhIkGBgICAeEEAIAUbIgghCUGBgICAeEEAIAYbIgYhCiACIRYgESEFAkACQANAAkADQCAYEKwRIgdFDQEgByABRg0ACyAEIAcQYikBADcDACAELgEAIhwhFCAELgEEIh0hFSAMBEAgBC4BAiEXIAQuAQYhDSATIBQ2AgAgEyAXNgIEIBMgFTYCCCATIA02AgxB4NcaIBMQSwsgHiAUSiAfIBVIckUEQCAHLgEwELcBIBBMBEAgBy4BMhC3ASASTgRAIBUgFGpBAhBOIRcgBC4BAiAELgEGakECEE4hBwJAICsgFUoiDSAXIBBKcgRAIBAgFCAhEJcCBEAgDARAQY/YGiApEEsLIAogCkGBgICAeEogByAOSHFqIQogBiAGQYGAgIB4SiAHIAtKcWohBgwCCyAcIBlOIB0gGUhyRQRAIAwEQEGh2BogKBBLCyAKIApBgYCAgHhKIAcgDkhxQR90QR91aiEKIAYgBkGBgICAeEogByALSnFBH3RBH3VqIQYLBSAMBEBB/9caICoQSwtBACECQYGAgIB4IAogByALSBshCkGBgICAeCAGIAcgDkobIQYLCyAcIBlIBEAgFiANIAQgDxDjBUEBc3IiDXEhFiANICJyRQRAQbfYGiAnEEtBACEWCwsCQCAsIBRIIg0gFyASSHIEQCASIBUgIRCXAgRAIAwEQEHb2BogJRBLCyAJIAlBgYCAgHhKIAcgDkhxaiEJIAggCEGBgICAeEogByALSnFqIQgMAgsgHCAaSiAdIBpMckUEQCAMBEBB7tgaICQQSwsgCSAJQYGAgIB4SiAHIA5IcUEfdEEfdWohCSAIIAhBgYCAgHhKIAcgC0pxQR90QR91aiEICwUgDARAQcrYGiAmEEsLQQAhBUGBgICAeCAJIAcgC0gbIQlBgYCAgHggCCAHIA5KGyEICwsgHSAaSgRAIBEgDSAEIA8Q4wVBAXNyIg1xIREgDSAickUEQEGF2RogIxBLQQAhEQsLIAhBgYCAgHhGIAZBgYCAgHhGIApBgYCAgHhGcSAJQYGAgIB4RnFxDQULCwsMAQsLDAELQYGAgIB4IQlBgYCAgHghCkGBgICAeCEIQYGAgIB4IQYLAkAgCkEBSiAGQQFKIAJycgRAIAFBAxD+BgUgFgRAIAAgASAgEKkrBEAgAUECEP4GDAMLCyABQQAQ/gYLCwJAIAUgCEEBSnIgCUEBSnIEQCABQQMQ7AQFIBEEQCAAIAEgIBCoKwRAIAFBAhDsBAwDCwsgAUEAEOwECwsgAUEgaiEFIAwEQCABKAIkIQAgG0Gg2RpBmdkaQfSpHSAFKAIAIgJBAkYbIAJBA0YbNgIAIBtBoNkaQZnZGkH0qR0gAEECRhsgAEEDRhs2AgRBqNkaIBsQSwsgBSgCAAR/QQEFIAEoAiRBAEcLIS0gGBB/IAQkBiAtC8gCAgJ/AXwgACAHQX1qQQJJOgAIIABBCWoiCCAHQQFGIAdBBEZyOgAAIABBDGoiCSAHNgIAIABBBDYCECAAQQA2AiggAEEsahCYASAAIAQgA2w2AhQgCCwAAAR/IABEAAAAAAAA8D85AwBEAAAAAAAAoD9EAAAAAAAABEAgCSgCAEEERiIEGyAGtyIKokQAAAAAAADgP6AQWiEGRAAAAAAAAARARAAAAAAAAKA/IAQbIAqiRAAAAAAAAOA/oBBaIQREAAAAAAAA8D8hCkEFBSAARAAAAAAAAOg/OQMAIAa3RAAAAAAAAKA/okQAAAAAAADgP6AQWiIEIQZEAAAAAAAA6D8hCkEECyEHIAAgBDYCHCAAIAY2AiAgACAHNgIkIAAgBSAKIAO3okQAAAAAAADgP6AQWiIDIAMgBUgbNgIYIAAgASACEMsWC8cNASR/IwYhCyMGQaACaiQGIAtBEGoiESADEGIpAQA3AwAgAy4BMBC3ASEGIAMuATIQtwEhDSALQRhqIQ9BAiAEIAIEfyARLgECBSARLgEGC0EQdEEQdSIMEOYBBEAgES4BBiEJIBEuAQQhByARLgECIQggDyARLgEANgIAIA8gCTYCBCAPIAc2AgggDyAINgIMIA8gBjYCECAPIA02AhRBqNcaIA8QSwsgC0EwaiEGIAFBFGoiGygCACIHQQ8QTiEJQQAgByABQSxqIiMuAQBsIAFBLmoiJC4BACIIQQIQTkEQdEEQdWogCEEQdEEQdRBOIghrIAggAhsgBGohCiAFQQAgB2sgByACGyAMajYCACAKIAQgCiAESBsgCWsgAUEYaiIZKAIAIgcgAUEcaiIcKAIAIAFBCGoiFSwAAEUiCBtrIQ0gCiAEIAogBEobIAlqIAFBIGoiHSgCACAHIAgbaiEKIAtBsAFqIhogABCAASABQQlqIRJBAiAEIAwQ5gEEQEHG1RpBwdUaIBUsAAAbIQkgGygCACEHIBkoAgAhCCAGQZnZGkGg2RogEiwAABs2AgAgBiAJNgIEIAYgDTYCCCAGIAo2AgwgBiAMNgIQIAYgBzYCFCAGIAg2AhhBzNUaIAYQSwsgC0GoAWohJSALQaABaiEmIAtBkAFqIRYgC0GIAWohJyALQYABaiEoIAtB4ABqIRAgC0HQAGohEyALQQhqIQYgGiANIAogDBDwAyAAQQRqIR5BACEIQQAhAAJAAkACQAJAAkADQCAIRSEXIABFIR8DQAJAIBogAhD6FiIHRQ0GIAcgA0cEQCAGIAcQYikBADcDACAGLgECIAYuAQZqQQIQTiEUIBsoAgAhCSACBEAgFCAMIAlrSA0FBSAUIAkgDGpKDQULIBQgDEggAnNFBEAgBiAREOMFRQRAIBdFBEAgCBBiIAYQtQIgHigCAEoEQCAIIQAMDAsLIB9FBEAgFyASLAAAQQBHcQRAIAAQYiAGELUCIB4oAgBKDQwLCyAUIAxrIiAgIy4BAGwgJC4BABBOIARqIg4gBy4BNE4EQCAOIAcuATZMBEAgBi4BBCIPIiEgBi4BACIpIiIgFSwAACIJGyEYQQIgBCAMEOYBBEAgBi4BAiENIAYuAQQhCiAGLgEGIQkgECAGLgEANgIAIBAgDTYCBCAQIApBEHRBEHU2AgggECAJNgIMIBAgGDYCECAQIBQ2AhQgECAONgIYQbHWGiAQEEsgFSwAACEJCyAJQf8BcQRAAkAgGSgCACAOaiAiSgRAIB0oAgAgDmogIU4NASASLAAADQwgBhBrIQogASsDACAKQRB0QRB1t6IgDregICm3ZA0MCwsgBywAcxCJAUUNBgUCQCAOIBwoAgBrICJKBEAgDiAZKAIAayAhTg0BIBIsAAANDSAGEGshCiAOtyABKwMAIApBEHRBEHW3oqEgD0EQdEEQdbdjDQ0LCyAHLAByEIkBRQ0GCwsLCwsLDAELCwJAIBggHSgCACAOakwEQCAYIA4gHCgCAGtOBEBBAiAEIAwQ5gEEQCAHKAIgIQ0gBygCJCEKIBYgCUH/AXE2AgAgFiANNgIEIBYgCjYCCEHx1hogFhBLIBUsAAAhCQsgCUH/AXFFIgkEfyAHKAIgBSAHKAIkCyIKBEAgCkECRyASLAAAcgRAIBcEQCAHIQgMBQsgCBBiIQ0gCQR/IA0uAQAFIA0uAQQLIQogByAIIBggDmsiCCAIbCAgICBsaiANLgECIA0uAQZqQQIQTiAMayIIIAhsIApBEHRBEHUgDmsiCCAIbGpJGyEIDAQLCyAfBEBBAiAEIAwQ5gFFBEAgByEADAQLQZHXGiAmEEsgByEADAMLIAsgABBiKQEANwMAAkACQCAJBEAgCy4BACAGLgEASg0BBSALLgEEIAYuAQRIDQELDAELQQIgBCAMEOYBBEBBmdcaICUQSwsgByEACwsLCwwAAAsAC0ECIAQgDBDmAUUNAiAGLgECIQMgBi4BBCECIAYuAQYhASATIAYuAQA2AgAgEyADNgIEIBMgAkEQdEEQdTYCCCATIAE2AgxBitYaIBMQSwwCCyADKAIkQQJKBEAgA0EBEOwECyAFIAIEfyAGLgEGBSAGLgECC0EQdEEQdTYCAEECIAQgDBDmAQRAQenWGiAoEEsLQQAhAAwCCyADKAIgQQJKBEAgA0EBEP4GCyAFIAIEfyAGLgEGBSAGLgECC0EQdEEQdTYCAEECIAQgDBDmAQRAQenWGiAnEEsLQQAhAAwBCyAAIAggFxshAAsgGhB/IAskBiAAC4wBAQF/IwYhBSMGQSBqJAYgABCrByAAQQhqEJgBIABBDGoQmAEgACABNgIQIAAgAjYCFCAAQQA2AhggAEEANgIcIABBADYCICAAQQE6ACQgAEEBOgAlIAAgAzYCKCAAQSxqIgEQVyAAQTBqEFcgAEEANgI0IABBADYCOCAFIAEQkgEgBSAEELUGIAUkBguhAQEDfyMGIQojBkEQaiQGIAohCUE8EE8iCCADIAQgACAFEK4rIAggASACQQAQhgwEQCAIKAIoEKYGRQRAIAkgCEEMaiAIQQhqEI8KIAkoAgAhACAGIAgQzhYiASAAQf//A3FBEHRBEHVsIAYoAgBqNgIAIAcgASAAQRB2QRB0QRB1bCAHKAIAajYCAAsFIAgQswogCBBMQQAhCAsgCSQGIAgLTAEBfyMGIQEjBkEgaiQGIAEgABCSASABEJ4BQQAhAANAIAEQjQFFBEAgARCBAUFAaygCACAAaiEAIAEQqwEaDAELCyABJAYgAEEBSgudAQEEfyMGIQcjBkHgAGokBiAEEGIQa0EQdEEQdSEIIAcgBSgCACAGKAIAIAAoAgQiCSAIIAkgCEobIAEgAiAAKAIkIAMQrCsgB0EwaiIBIAcpAwA3AwAgASAHKQMINwMIIAEgBykDEDcDECABIAcpAxg3AxggASAHKQMgNwMgIAEgBykDKDcDKCAAIAEgBCAFIAYQzRYhCiAHJAYgCgtlAQJ/IwYhASMGQfAAaiQGQcy8+QAoAgAEQEGu0hogARBLCyABQQhqIgIgABCAASACELgBA0AgAhDuAyIABEAgACgCKEEFTgRAIAAQ/wYEQCAAQQYQ6AQLCwwBCwsgAhB/IAEkBgu8AQEGfyMGIQEjBkEgaiQGIAEgAEEsaiIEEH0gARCUASAAQSBqIQUgAEEwaiEGA0AgARCOAUUEQAJAIAEQcCICKAIoEOYERQRAIAIgBSAAEP8WIAIQzhZBA04EQEEDIAIQYiIDLgEAIAMuAQIQ5gFFDQIgAkHZ0hoQmQMMAgtBzLz5ACgCAEECSgRAIAJBy9IaEJkDCyABEIcCIgMEQCADELMKIAMQTAsgBiAEEK8DCwsgARB4DAELCyABJAYLmgMBB38jBiEFIwZBMGokBiAFQSxqIgQQVyAFQShqIgZBADYCACAFQSRqIgdBATYCAEEDIQIDQCACQQxJBEAgACACQQAgASAEIAYgBxCOCCEDIAJBA2ohCCAAIAJBAyABIAQgBiAHEI4IIANqQQFIBEAgCCECDAILCwsgBBCoBCAAQdgAaiECQQAhAwNAIAMgAigCAEgEQCACIAMQTSgCACIIKAIgQQRGBEAgCEEDEP4GCyADQQFqIQMMAQsLIABB7ABqIQJBACEDA0AgAyACKAIASARAIAIgAxBNKAIAIggoAiRBBEYEQCAIQQMQ7AQLIANBAWohAwwBCwtBzLz5ACgCAARAIAcoAgAhCCAFIAYoAgA2AgAgBSAINgIEQefSGiAFEEsLIABBDEEAIAEgBCAGIAcQjggaIABBDEEDIAEgBCAGIAcQjggaIABBGUEBIAEgBCAGIAcQjggaIABBGUEEIAEgBCAGIAcQjggaIAVBCGoiASAAQSxqEH0gASAEEMUEIAAgBigCACAHKAIAELoPIAQQqAQgBSQGC4MBAQR/IwYhAyMGQfAAaiQGIABB2ABqIgUQaCAAQewAaiIGEGggAyAAEIABIAMQuAEDQCADEO4DIgQEQCAAIAQgASACEKsrBEAgBCgCIARAIAUgBBC5AQsgBCgCJARAIAYgBBC5AQsLDAELCyAFQcEAEJkHIAZB3AAQmQcgAxB/IAMkBgs+AQF/IwYhAiMGQSBqJAYgAUEEaiIBKAIABEAgAiAAKAIEEJEBEFUgAiABKAIAEJEBEIYCCyAAEKQMIAIkBgurBQEQfyMGIQcjBkGwAWokBiAHQTBqIREgB0EoaiESIAdBIGohEyAHQRhqIRQgB0FAayEMIAdBEGohCSAHQThqIQ0gB0E0aiEOA0AgCEEERwRAIAcgCEECdGpBADYCACAIQQFqIQgMAQsLIAUuAQQgBS4BAGpBAhBOIQ8gBS4BBiAFLgECakECEE4hCCAMIAAQgAEgDCAPIAhBAhCLCCAHQQhqIRUgB0EMaiEWIAdBBGohDwNAAkAgDBCsESILRQ0AIAsgAUcEQCAJIAsQYikBADcDAAJAIAUgCSACIAMgBCANIA4QzxYEQCAFIAkQvAEaIAZBwQAgCxDNAyACBEBB1tEaIBQQSyAJEJ0BC0EAIQADQCAAQQRODQIgByAAQQJ0aiIIKAIAIgoEQCAJIAoQYikBADcDACAFIAkgAiADIAQgDSAOEM8WBEAgBSAJELwBGiAGQcEAIAoQzQMgAgRAQdbRGiATEEsgCRCdAQsgCEEANgIAQX8hAAsLIABBAWohAAwAAAsABSANKAIAIhBBf0ogECAOKAIAIgpKckUEQCAHQQNBASAJLgEGIAUuAQZKG0ECdGoiCCgCACIABEAgCiAFIAAQYhC1Ak4NAwsgCCALNgIADAILIApBf0ogCiAQSnJFBEAgB0ECQQAgCS4BACAFLgEAShtBAnRqIggoAgAiAARAIBAgBSAAEGIQpgJODQMLIAggCzYCAAsLCyAHKAIARSAVKAIARXIgFigCAEVyIA8oAgBFckUNAQsMAQsLQQAhAQJAAkADQCABQQRJBEAgByABQQJ0aigCACIABEAgABBiIQAgAgRAQd3RGiASEEsgABCdAQsgBSAAEI4DDQMLIAFBAWohAQwBCwsMAQsgBhDvASACBEBB99EaIBEQSwsLIAwQfyAHJAYLtgECA38CfCMGIQIjBkEwaiQGIAJBIGoiA0EAIABBBWwQsQEgAiABEFUgAhBbA0AgAhBZRQRAIAIQUxBiIgAQbkEQdEEQdbciBUQAAAAAAAD0P6IgABBrIgBBEHRBEHW3IgZkIAZEAAAAAAAA9D+iIAVmcQRAIAMgAEEQdEEQdUEBEIgBCyACEFYMAQsLIANEAAAAAAAA6D8QzgFEAAAAAAAA4D+gEFohBCADKAIMEIQBIAIkBiAEC5QKAyh/AX4CfCMGIQUjBkHgAWokBiAFQRhqIQQgBUEQaiIGIAMQYikBACIsNwMAQQIgBi4BACAGLgECEOYBIgwEQCAEIAE2AgBBts8aIAQQSyAGEJ0BCyAFQdAAaiEPIAVByABqIRogBUFAayEbIAVBOGohHCAFQTBqIR0gBUEoaiEeIAVBIGohHyAFQfAAaiEQIAYuAQYiFCAGLgECIhVrIg0gBi4BBCIWIAYuAQAiF2siDiAOIA1IGyIYQQQQTiEgIA0gDiANIA5IG0EBdCEhIAFFISIgDSAOIAFBAnIiCEECRiIZGyIGQQIQTiEEQQEgBkEDEE4gAhshI0EBIAQgAhshJCAOIA1st59EAAAAAAAABECiEFohBCAAKAIEIgIgBCACIARKGyECIAUiB0EIaiIFICw3AwACQAJAAkACQAJAAkACQCABDgUAAgEDBAULIAUgBS4BACACaxCPAgwECyAFIAIgBS4BBGoQjgIMAwsgBSAFLgECIAJrELcCDAILIAUgAiAFLgEGahCnAgwBC0EAIQAMAQsgECAAEIABIBAgBRDzASAIQQNGISUgAUEBRiEmIANBMGohJyADQTJqISggA0HIAGohKSADQcwAaiEqIANB0ABqIStBACEAQQAhBUEAIQIDQCAQEIQHIhEEQCAHIBEQYikBADcDAAJAIBEgA0cEQCAHLgEEIAcuAQBqQQIQTiIEICcuAQAQtwFOBEAgBCAoLgEAELcBTARAIAwEQEHOzxogHxBLIAcQnQELIAcQbiISQRB0QRB1IQogBxBrIhNBEHRBEHUiCyAKIAsgCkgbICFKBEAgACALIAogCiALSBsgIEhqIQALAkACQAJAIAsgCiAKIAtIGyIJQQVsIBhIIBhBBWwgCUhyBEAgGQRAIAsgDRDfCUUNAgUgJUUNAyAKIA4Q3wlFDQMLIAxFDQdB3M8aIB4QSwwHBSAZRQ0CCwsgBy4BBiEEIAcuAQIhBiAiBH8gFyEJIAcuAQAFIAcuAQQhCSAWCyEIIBIgEyASQRB0QRB1IBNBEHRBEHVKG0EQdEEQdSAUIARBEHRBEHUiBCAUIARIGyAVIAZBEHRBEHUiBCAEIBVIG2siBiAGIAtGGyEEIAkgCGsiCEEBTgRAIAggCmshCQwCCyAMRQ0FQebPGiAdEEsMBQsgBy4BBCEEIAcuAQAhBiAmBH8gFSEJIAcuAQIFIAcuAQYhCSAUCyEIIBMgEiATQRB0QRB1IBJBEHRBEHVKG0EQdEEQdSAWIARBEHRBEHUiBCAWIARIGyAXIAZBEHRBEHUiBCAEIBdIG2siBiAGIApGGyEEIAkgCGsiCEEBTgRAIAggC2shCQwBCyAMRQ0EQebPGiAcEEsMBAsgBkEAIAlrSARAIAxFDQRB9c8aIBsQSwwECyAEICNIBEAgDEUNBEGJ0BogGhBLDAQLIAYgJEggDSALEN8JBH8gDiAKEN8JBUEAC3IEf0EABSApKgIAICoqAgAgKyoCACARRAAAAAAAAMA/RAAAAAAAAPg/EMoPCyIIQQFxt0QAAAAAAADwP6AgBreiIAlBASAJQQFKGyIEt6MhLSAMBEAgDyAtOQMAIA8gLjkDCCAPIAhBAXE2AhAgDyAGNgIUIA8gBDYCGEGh0BogDxBLCyAIIAUgLSAuZCIEGyEFIC0gLiAEGyEuIBEgAiAEGyECCwsLCwwBCwsgAyABIAIgBRDmBSAQEH8LIAckBiAAC9oCAQx/IwYhBCMGQdAAaiQGIARBIGohDCAEQRhqIQ0gBEEQaiEOIARBNGohBSAEQTBqIQYgBEEsaiEHIARBKGohCCAEQSRqIQkgARC5AkEETgRAIAUgARCSASAFEJ4BA0AgBRCNAUUEQCAFEIEBIgogBiAHIAggCRDQFiAABEAgBygCACEBIAgoAgAhCyAJKAIAIQ8gBCAGKAIANgIAIAQgATYCBCAEIAs2AgggBCAPNgIMQfrOGiAEEEsFIAcoAgAhASAIKAIAIQsLAkACQAJAIAEgC0gNACAKLAByEIkBDQAgCiwAcxCJAQ0AIAkoAgAgBigCAEgEQCADIAMoAgBBAWo2AgAgAEUNA0GhzxogDRBLBSAARQ0DQarPGiAMEEsLDAELIAIgAigCAEEBajYCACAABEBBmM8aIA4QSwwBCwwBCyAKEGIQnQELIAUQqwEaDAELCwsgBCQGCzIBAn8gACABEKsPA0AgAkEERwRAIAAgAhDFAiIDBEAgAyABEKsPCyACQQFqIQIMAQsLC80CAgZ/AX0CfyAAQQRqIgMoAgAiBQR/IABBCGoiAhBrQRB0QRB1IQEgAhBuQRB0QRB1IgYgAWpBAXQhBCABQQF0IAZIBEAgBLdEAAAAAAAA+D+iIAUQuwciAUEBSCAAKgJMIgdDAAAAAF5yBH8gAbIgB0MAAABAlJMQZQUgASADKAIAELwHQQJ0IAEQTmsLIAIQbkEQdEEQdUEBdGu3YwRAIABBABDoBSAAQQEQ5wVBAQwDCwsgAhBrQRB0QRB1IQEgAhBuQRB0QRB1QQF0IAFIBH8gBLdEAAAAAAAA+D+iIAMoAgAQuwciAUEBSCAAKgJIIgdDAAAAAF5yBH8gAbIgB0MAAABAlJMQZQUgASADKAIAELwHQQJ0IAEQTmsLIAIQa0EQdEEQdUEBdGu3YwR/IABBARDoBSAAQQAQ5wVBAQVBAAsFQQALBUEACwsLYgEBfyMGIQMjBkEgaiQGIAMgABCSASADEJ4BA0AgAxCNAUUEQCADEIEBIgAQ1QkEQCABIAEoAgBBAWo2AgALIAAQ/wYEQCACIAIoAgBBAWo2AgALIAMQqwEaDAELCyADJAYLwAIBCH8jBiECIwZBIGokBiACQQhqIQcgAkEYaiEDIAJBFGohBCACQRBqIQUgARC8K0UEQEECIAEQYiIGLgEAIAYuAQIQ5gEiCQRAIAEoAighCCACIAEoAiw2AgAgAiAINgIEQafOGiACEEsgBhCdAQsgAxBXIAEgAxC7KyAEQQA2AgAgBUEANgIAIAkgAyAEIAUQuisgCQRAIAAgBi4BAEEBaiAGLgECQQFqIAAoAgAoAghB/wBxQawMahENACAFKAIAIQAgByAEKAIANgIAIAcgADYCBEHYzhogBxBLCwJAIAMoAgAEQCABQQEQ6AUgAUEBEOcFIAQoAgAiCCAFKAIAIgBBAXRKBEAgAUEAEOgFDAILIAAgCEEBdEoEQCABQQAQ5wULBSABQQAQ6AUgAUEAEOcFCwsgAxDvAQsgAiQGC9sCAgd/An0jBiEDIwZBEGokBiADQQxqIQYgA0EIaiEHIANBBGohCCABEGIiBBBuQRB0QRB1siEJAkACQCABKgJQQwAAQECUIgogCV1FDQAgCiAEEGsiAkEQdEEQdbJdRQ0AIAJBEHRBEHUiBUECdCAEEG5BEHRBEHUiAkgEQCABQQNBAEEAEOYFIAFBAUEAQQAQ5gUMAgsgAkECdCAFTg0AIAFBAEEAQQAQ5gUgAUECQQBBABDmBQwBCyAAKAIEIgVBAhBOIQQgASAGIAcgCCADENAWIAcoAgAiAiAEaiAIKAIASCEAAkACQCACIAVBBBBOIgJIIABxDQAgASwAchCJAQ0AIAEsAHMQiQENACADKAIAIgAgAkggACAEaiAGKAIASHEEQCABQQBBAEEAEOYFIAFBAkEAQQAQ5gULDAELIAFBA0EAQQAQ5gUgAUEBQQBBABDmBQsLIAMkBgvvAQEHfyAAKAIAIABBBGoiAygCACAAQQxqIgIoAgAgAS4BABCXCCEGIAAoAgAgAEEIaiIFKAIAIAIoAgAgAS4BBhCWCCEEIAAoAgAgAygCACACKAIAIAEuAQQQlwghByAAKAIAIAUoAgAgAigCACABLgECEJYIIQUgAigCABB3IQMgAigCABB1IAMgBGxBAnRqIQIgBCEBA0AgASAFTARAIAYhAANAIAAgB0wEQCACIABqQQNzIgQsAAAiCEF/RwRAIAQgCEH/AXFBAWo6AAALIABBAWohAAwBCwsgAiADQQJ0aiECIAFBAWohAQwBCwsL2gECA38BfiMGIQUjBkEgaiQGIAVBEGoiBiAEKQEAIgg3AwAgBUEIaiIHIAg3AwAgBRB5IAIEQCAGIAAQjgIgBSADIAYQ/AsgBRC6A0UEQCAGIAUuAQQQjwILIAcgABCPAiAFIAMgBxD8CyAFELoDRQRAIAcgBS4BABCOAgsFIAYgARC3AiAFIAMgBhD8CyAFELoDRQRAIAYgBS4BAhCnAgsgByABEKcCIAUgAyAHEPwLIAUQugNFBEAgByAFLgEGELcCCwsgBiAHELwBGiAEIAYpAwA3AQAgBSQGC9cDAQV/IAAoAgAiBkECdCEFAn8gARDVCQRAIAIQa0EQdEEQdUEDdCEDIAFBAxDFAiIEBEAgAiAEEGIQtQIgBUwEQEEAIQRBAQwDCwsgAUEBEMUCIgQEQCACIAQQYhC1AiAFTARAQQAhBEEBDAMLCyAGIQQFIAEQ/wYEQCACEG5BEHRBEHVBA3QhBCABQQAQxQIiAwRAIAIgAxBiEKYCIAVMBEBBACEDQQAMBAsLIAFBAhDFAiIDBEAgAiADEGIQpgIgBUwEQEEAIQNBAAwECwsgBiEDQQAMAgsCfwJAIAFBAxDFAiIEBEAgBEEBEMUCIAFGDQELIAFBARDFAiIEBEAgBEEDEMUCIAFGDQELQQAMAQsgAhBuQRB0QRB1QQF0CyEEAkACQCABQQIQxQIiA0UNACADQQAQxQIgAUcNAAwBCyABQQAQxQIiA0UEQEEAIQNBAAwDCyADQQIQxQIgAUcEQEEAIQNBAAwDCwsgAhBrQRB0QRB1QQF0IQMLQQELIQcgAiADIAQQrQQgACgCAEEGbCEAIAIuAQAhBCABLgEwELcBIABrIgMgBEoEQCACIAMQjwILIAIuAQQhBCABLgEyELcBIABqIgAgBEgEQCACIAAQjgILIAcLXwEDfyMGIQMjBkEQaiQGIANBBGoiBEEANgIAIANBADYCACAAIAFBACACIAQgAxDoFhogBCgCACIAIAMoAgAiAWpBBUoEf0EABSABIAAgASAASBtBAEgLIQUgAyQGIAULVAEBfyMGIQIjBkEgaiQGIAIgAEHMAGoQkgEgAhCeAQJAAkADQCACEI0BRQRAIAIQgQEgAUYNAiACEKsBGgwBCwsMAQsgAhCQAhogABDPAwsgAiQGCykAIABB+K0WNgIAIABB5K0WNgIAIAAgATYCBCAAIAI2AgggACADNgIMCykAIABB0K0WNgIAIABBvK0WNgIAIAAgATYCBCAAIAI2AgggACADNgIMC9UDAQ5/IwYhBSMGQZACaiQGIAVBMGohDyAFQShqIRAgBUEgaiERIAVBGGohEiAFQRBqIQ4gBUEIaiEMIAVBOGohCCAAKAIEt0QAAAAAAADQP6JEAAAAAAAA4D+gEFohDSABEHEhCSAFQaABaiIKIAAQgAEgChCFAiAKIAIQ8wEDQCAKEJ0CIgcEQCABIAcgAxCbCARAAkAgCSAHEHEiCxC7A0UEQCALIAkQuwNFBEAgDCAJKQEANwMAIAwgCxC8ARogCCAAEIABIAgQhQIgCCAMEPMBAkACQANAAkAgCBCdAiIGRQ0CIAYgAUYgBiAHRnJFBEAgBiABIAcgDUEAEOQJRQRAIAUgBhBxIgIpAQA3AwAgBSAJEI4DRQRAIAUgCxCOA0UEQCABIAZBABCbCEUEQCAHIAZBABCbCEUNBQsLCwsLDAELCwwBCyAIEH8MAwsgAwRAIA4gDTYCAEHzyRogDhBLIAIQnQFBucoaIBIQSyABIAZBARCbCBpBwcoaIBEQSyAHIAZBARCbCBpBycoaIBAQSyAGIAEgByANQQEQ5AkaCyAIEH8MBQsLCyADBEBB0soaIA8QSyALEJ0BCyAEQcIAIAcQzQMLDAELCyAKEH8gBSQGC40DARB/IwYhBCMGQUBrJAYgBEEoaiEOIARBIGohCyAEQRBqIQggBEEIaiEPIARBMGohCSAEQSxqIQwgAxCaCEUEQCADEHEhECADQSRqIREgA0EoaiESA0ACQCAEIBApAQA3AwBBAiAELgEAIAQuAQIQ5gEiBgRAQe3IGiAPEEsgBBCdAQsgASADIAQgASgCACgCCEH/AHFBkARqEQIARQ0AIAkQVyAAIAMgBCAGIAkQxysCfyAAIAMgCSAGIAIgDBC3FyIFQQBHIgcgDCgCACINQQFIcQR/IAYEQCARKAIAIBIoAgAgBSgCJCAFKAIoEJsMIQcgAyAFEJwIIQogCCAHNgIAIAggCjYCBCAIIA02AghB/sgaIAgQSwsgACAFENEDIAAgAxDRAyADIAVBABCWByAAIAMQsQJBASEKQQEFIAcEf0EAIAZFDQIaIAsgDTYCAEGoyRogCxBLIAUQcRCdAUEABUEAIAZFDQIaQdLJGiAOEEtBAAsLCyETIAkQ7wEgEw0BCwsLIAQkBiAKC3oBAn8jBiEDIwZB8ABqJAYgAyAAEIABIAMQuAEDQCADEOkBIgQEQCAAIAEgAiAEEMgrBEAgAxD2AgsMAQsLIAEEQCABIAEoAgAoAgRB/wNxQaIHahEAAAsgAgRAIAIgAigCACgCBEH/A3FBogdqEQAACyADEH8gAyQGC7oDAQR/IwYhAyMGQRBqJAYgAUEARyACQQBHcUUEQCADQZPMGjYCACADQeMONgIEQcis+QBB9MsaQQJBx+scIAMQUQsgA0EIaiEEAkACQCABEJgIDQAgAhCYCA0ADAELIARBk8waNgIAIARB5A42AgRByKz5AEG0zBpBAkHH6xwgBBBRCwJ/AkAgAUE0aiIEKAIAIgVBAUYEQCACKAI0QQJMDQEFIAVBAkwNASACKAI0QQFHDQELQQAMAQsCQAJAIAEoAjAiBRDQAw0AIAIoAjAQ0AMNAAwBCyABKAIkIAEoAiggAigCJCACKAIoEJsMQQFIBEAgARDpBUUEQEEAIAIQ6QVFDQMaC0EAIAEQcSACEHEQtANFDQIaCwsCQAJAIAUQmQgNACACKAIwEJkIDQAMAQsgASACEJwIQQFIBEAgARDpBUUEQEEAIAIQ6QVFDQMaCyABEHEgAhBxELQDRQRAIAEgAkEAEOYJRQRAQQAgAiABQQAQ5glFDQQaCwsLCyABIAIQ4BYEfyAEKAIAQQJIBEBBASACKAI0QQJIDQIaCyAAIAEQcSACEHEQsQ8FQQALCyEGIAMkBiAGC2wAIAEoAjAQ0AMEQCACLgEGIQAgAiACEG5BEHRBEHUgAGoQpwIgAiACLgECIAIQbkEQdEEQdWsQtwIFIAIgAi4BACACEGtBEHRBEHVrEI8CIAIuAQQhACACIAIQa0EQdEEQdSAAahCOAgtBAQuvBAEQfyMGIQkjBkGgAWokBiAJQShqIREgCUEgaiESIAlBGGohDyAJQQhqIQ0gARBxIRAgCUEwaiIOIAAQgAEgDhCFAiAOIAMQ8wEgCEEUaiEUIAhBKGohFSAIQTxqIRYgCEHQAGohAyACQQJqIRcDQCAOEJ0CIgwEQCAMEJoIRQRAIAwgAUYgASAMEOAWQQFzckUEQCAJIAwQcSkBADcDACAMKAIwIgBBAXJBB0YiGARAIBAgCSAFIAYgBBDjFkUNBAsgABDlCQ0DIBAgCRCmAiIKQQAgCkEAShshCiAQIAkQtQIiC0EAIAtBAEobIgsgFy4BAGwgCiACLgEAbGohEyAHBEAgDSAKNgIAIA0gCzYCBCANIBM2AghBosgaIA0QSyAJEJ0BCyAAQQdGIQAgDBCWBSIKQQQgCkEESBshCgJAAkAgDCgCNCILQQRGBEAgBwRAIA9Bx8gaQc3IGiAAGzYCACAPIAo2AgRB08gaIA8QSwsgCCAUIAAbIgANAQUgGCALQQFyQQNGcQRAIBUgFiAAGyEAIAdFDQIgEiAKNgIAQdrIGiASEEsMAgUgB0UEQCADIQAMAwsgESAKNgIAQePIGiAREEsgAyEADAILAAsMAQtBACELA0AgCyAKTg0BIAAgExCwASALQQFqIQsMAAALAAsgBwRAIAwQ2AELCwsMAQsLQQAhAANAIABBBUcEQCAIIABBFGxqEIkEIABBAWohAAwBCwsgDhB/IAkkBgubAgEEfyMGIQYjBkEQaiQGIAZBCGohBSADIAEpAQA3AQAgARBrIQcgAyACIAEQbiIIIAcgCEEQdEEQdSAHQRB0QRB1SBtBEHRBEHUiByAHIAJIG0EGbCICIAIQrQQCQAJAAkACQAJAAkAgAA4EAAECAwQLIAMgAS4BABCPAiAFQQJBARChASAEIAUoAgA2AQAMBAsgAyABLgECELcCIAVBAUECEKEBIAQgBSgCADYBAAwDCyADIAEuAQQQjgIgBUECQQEQoQEgBCAFKAIANgEADAILIAMgAS4BBhCnAiAFQQFBAhChASAEIAUoAgA2AQAMAQsgBkH8nBo2AgAgBkHeCzYCBEGgufkAQYDfIEECQcfrHCAGEFELIAYkBguJBwENfyMGIQgjBkHAAWokBiAIQZgBaiEKIAYQcSEOIAhBkAFqIgsQeSAIQbQBaiIMEJgBIAEgDiAAKAIEIAsgDBDNKyAIQYgBaiIBIAspAwA3AwAgCEEgaiIJIAEpAQA3AQAgCSADIAQgAhCBByENQQAhAQNAIAkgAUEUbGoQqgEgAUEBaiIBQQVHDQALIAlB5ABqIRQgACAGIAwgCyACIAMgBCAFIAkQzCsgCEIANwMAIAhCADcDCCAIQQA2AhBBAkEAIA1BAEobIQsgCEEIaiEMIAhBBGohDSAIQQxqIQ8gCEEQaiEQIAYoAjAiAEEGRyAGKAI0QQNHIgFyIREgAEEHRyABciESQQAhAUH/////ByEAAkACQAJAAkADQAJAIAFBBUkEQCAIIAFBAnRqKAIAIgIgCSABQRRsaiIDKAIASARAIAMgAhBNKAIAIABIBEAgAyACEE0oAgAhAAsLIAFBAWohAQVBACECA0AgAkEFSQRAIAkgAkEUbGohAyAIIAJBAnRqIgQoAgAhAQNAAkAgASADKAIATg0AIAMgARBNKAIAIABKDQAgBCABQQFqIgE2AgAMAQsLIAJBAWohAgwBCwsgByAANgIAIAUEQCAMKAIAIQMgDSgCACEGIA8oAgAhBCAQKAIAIQEgCiAIKAIAIgI2AgAgCiADNgIEIAogBjYCCCAKIAQ2AgwgCiABNgIQIAogCzYCFCAKIAA2AhhB58caIAoQSwUgECgCACEBIAgoAgAhAiAMKAIAIQMgDygCACEEIA0oAgAhBgsgAUEASiALIAIgAWsgA2ogBGsiE2tBA0pxIAsgBCADIAFqayAGaiIBa0EDSnENAwJAAkAgEUUNACACQQBKIBNBA0pxDQYgEg0ADAELIAZBAEogAUEDSnENBgsgAEH/////B0YEf0EFIQEMAgVBACEBQf////8HCyEACwwBCwsMAwsgByAJQdAAakEAEE0oAgAiATYCACAJQTxqIgAoAgAEQCABIABBABBNKAIASgRAIAcgAEEAEE0oAgA2AgALCyAJQShqIgAoAgAEQCAHKAIAIABBABBNKAIASgRAIAcgAEEAEE0oAgA2AgALC0EEIQEMAgsgByAJQQAQTSgCADYCAEEHIQEMAQsgByAJQRRqQQAQTSgCADYCAEEGIQELIBQhAANAIABBbGoiABBoIAAgCUcNAAsgCCQGIAELsgMBD38jBiEIIwZBIGokBiAFEHEhBiAEBEBBoscaIAgQSyAGEJ0BCyAIQRhqIREgCEEIaiEKIAhBHGohDSAGEG4hByAGEGsiBiAHIAZBEHRBEHUgB0EQdEEQdUgbQRB0QRB1IRIgACgCBEEBdCEQQQUhB0EBIQ5B/////wchBgNAIAtBBEcEQCAAIAsgASACIAMgBCAFIA0QzishDCAEBEAgDSgCACEJIAogCzYCACAKIAw2AgQgCiAJNgIIQbbHGiAKEEsLIAxBBUcEQCAMIAcgDSgCACITIAZIIgkbIQcgEyAGIAkbIQYLIAtBAWohCyAOIAxBBEYiCXEhDiAPIAlyIQ8MAQsLIAYgECASQQJ0IgAgACAQSBtKBH9BAAUgDiAFKAI0IgNBBEdyBH8gBSgCMCECIA8gB0EHR3IEf0EBIAMgB0EERiIBG0EEIA8gB0EGR3IiABshBkEFIAIgARtBBiAAGwVBBCEGQQcLIgAgAkYgBiADRnEEf0EABSAFIAYQ7QMgBSAAEIAHIAUQ7QQgBARAQdjHGiAREEsgBRDYAQtBAQsFQQALCyEUIAgkBiAUC4UCAgh/AX0jBiEHIwZBMGokBiAHQSBqIggQmAEgB0EcaiIJEJgBIAcgABCRARBVIAVDAAAATzgCACAGQwAAAM84AgAgBxBbIAlBAmohCyAIQQJqIQwDQCAHEFlFBEAgCCAHEFMiABDDASgBADYCACAIIAMgBBD2AyAAQRBqIQ0gAEEUaiEOQQAhCgNAIA0uAQAQtwEgCkEQdEEQdSIASgRAIAguAQCyIg8gAWBFIA8gAl9FckUEQCAMLgEAIAUgBhCHEAsgCSAOKAIAIAAQ2gEgCSADIAQQ9gMgCCAJLgEAIAsuAQAQ6AEaIApBAWpBEHRBEHUhCgwBCwsgBxBWDAELCyAHJAYLkAEBA38CfwJAIABBCGoiAy4BACICIAFBCGoiBC4BAE4NACACIAEuATBODQBBAAwBCyAELgEAIgIgAy4BAEgEQEEAIAIgAC4BMEgNARoLIAMuAQQiAiAELgEESgRAQQAgAiABLgEySg0BGgsgBC4BBCIBIAMuAQRKBEBBACABQRB0QRB1IAAuATJKDQEaC0EBCwvpAQIFfwJ9IwYhBCMGQTBqJAYgBEEQaiIIQwAAgD9DAAAAABCkASAEQRxqIgUgAUEIaiIGLgEGsiIJOAIAIARBGGoiByAGLgECsiIKOAIAIAEoAgQiAQRAIAEgArIgA7IgCCoCACAIKgIEIAcgBRDQKyAHKgIAIQogBSoCACEJCyAJIApdBEAgBSAGLgEGsiIJOAIAIAcgBi4BArIiCjgCAAsgBEEIaiIBIAKyIAoQpAEgBCADsiAJEKQBIAAgASoCACABKgIEEOIWIARBIGoiASAEKgIAIAQqAgQQ4hYgACABELwBGiAEJAYLfAEDfyMGIQEjBkEgaiQGIAEgAEHMAGoQkgEgARCeAQNAIAEQjQFFBEAgARCBASICKAIsQQZHBEAgAigCVCAARgRAIAJBABDGBAsgARCQAhoLIAEQqwEaDAELCyABENQCBH9BAAUgAEEGNgI0IAAQzwNBAQshAyABJAYgAwthAQJ/IwYhASMGQfAAaiQGIAEgABCAASABELgBA0AgARDpASICBEAgAigCNEEGRwRAIAEQrgMgAhDTKwRAIAAgAhCxAiABEPYCBSACEJwDIAIQTAsLDAELCyABEH8gASQGCzEBA38DQCABQQRHBEAgACABEMUCIgMEQCACIAMoAihFaiECCyABQQFqIQEMAQsLIAILiwQBCn8jBiEGIwZBQGskBiAGQRBqIQggBkEcaiIDIABBzABqEJIBIAMQngEDQCADEI0BRQRAIAMQgQEiBBDVKyAHaiEHIAQQ6RYgCWohCSAEKAIoIQQgAxCrARogCkEBaiEKIAIgBEECRmohAiAFIARBAUZqIQUMAQsLIABBNGoiA0ECNgIAIABBMGoiBEEFNgIAAkAgBSACSwRAIANBADYCACAEQQE2AgAFIAIgBUsEQCADQQA2AgAgBEECNgIADAILIAFBAWpBAksEQCAAQRBqIQIgAUEASgR/IAIQbkEQdEEQdSEFQQchCyACEGsFIAIQa0EQdEEQdSEFQQYhCyACEG4LIQIgBCALNgIAQQJBASAKQQdLIgsbIAsgAkEQdEEQdUEKShsgAkEQdEEQdUEFbCAFSGohAiABQQAgAWsgAUF/ShsiBUEFSgRAIANBA0EEIAJBAkkgAUEASHEbNgIADAMLIAVBAkoEQCADQQRBAyACQQNGGzYCAAwDBSADQQI2AgALCyAHIApOBEAgA0EBNgIAIARBADYCAAsLC0ECIABBEGoiAi4BACACLgECEOYBBEAgBiAKNgIAIAYgBzYCBCAGIAk2AghBvcEaIAYQSyADKAIAIQcgBCgCACEJIAggATYCACAIIAc2AgQgCCAJNgIIQf7BGiAIEEsgABDYAQsgABDtBCAGJAYLwAEBBX8jBiEEIwZBEGokBiAEQQhqIQUgARDpBQR/IAAgARBxIAIgAxCzDwUgBCABEHEiBykBADcDACAEIAEoAiQQjwIgBCABKAIoEI4CIAAgBCACIAMQsw8hBiAEIAcpAQA3AwAgBCABKAIcEKcCIAQgASgCGBC3AiAAIAQgAiADELMPIQAgAwRAIAUgADYCACAFIAY2AgRBq8IaIAUQSyAHEJ0BIAEQ2AELIAYgACAAQQAgBmtIGwshCCAEJAYgCAvMAQELfyMGIQMjBkGQAWokBiADQSBqIgQgABCAASADQRxqIgUQVyADIAUQkgEgBBC4ASAEQSRqIQogBEEoaiELQX8hCEF/IQlBASEGA0AgBBDuAyIHBEAgCigCACIMIAhGIAsoAgAiDSAJRnFFBEAgACABIAYgAiAFEOoWIAMgBRCFECAMIQggDSEJQQEhBgsgBygCVAR/QQAFIAMgBxC2BiAGIAcoAixBAUZxCyEGDAELCyAAIAEgBiACIAUQ6hYgBRDvASAEEH8gAyQGC/ICAgd/AXwjBiEGIwZBsAFqJAYgBkHwAGohByAGQQhqIQkgBkGoAWoiCEEANgIAIAQgCBDrFiEKIAZBjAFqIgsgBRBVAn8gCCgCACIFBEAgAbdEAAAAAAAAEECiRAAAAAAAABBAIAEbIAq3Ig1jBEAgAhD2AbdEAAAAAAAAYD+iIA1jBEAgBBDUKyAHIANBDGoQVSAJIAgoAgAQgAEgBxBbIABBBGohAQNAIAcQWUUEQCAHEFMiAhCLByACEJ4IBEAgAigCVEUEQCAGIAIQYikBADcDACAGIAEoAgAiACAAEK0EIAkgBhDzASAJEJ0CBEAgAkEBOgB0IAIQpAwgCyAHEJ8BEKABCwsLIAcQVgwBCwsgCCgCABDcDyAIKAIAIgAEQCAAIAAoAgAoAgRB/wNxQaIHahEAAAsgCRB/QQEMAwsLIAUQ3A8gCCgCACIABEAgACAAKAIAKAIEQf8DcUGiB2oRAAALC0EACyEMIAYkBiAMC58BAQN/IwYhAiMGQSBqJAYgAiAAQQxqEFUgAhBbA0AgAhBZRQRAIAIQUyIAKAJEIgMEQCADKAJUIgQiAwRAIAQsAGEQiQFFBEAgACgCVEUEQCAAEJ4IBEAgASADENEDIAMgABCaAyAAIAQoAjAQ6AQgACAEKAI0EMEEIAAgAxDGBCABIAMQsQILCwsLIABBABCkDQsgAhBWDAELCyACJAYL+QMBCn8jBiEEIwZBkAFqJAYgBEEIaiEKIAQiC0EsaiEGIARBEGohBSAEQegAaiIIIAAoAgQgABB7IAAQngIQ1gkgCCACQQxqIgQQvQQgCCACQQRqIgMQvQQgC0HIAGoiByAEEFUgBxBbQQAhBANAIAcQWUUEQCAHEFMiAigCVEUEQCACEJ4IRQRAIAQgACAIIAIQsg9BAXFqIQQLCyAHEFYMAQsLIAYgAxBVIAYQW0EAIQIDQCAGEFlFBEACQCAGEFMiAxCeCARAIAcgBhCfARC7AQUgAygCVCIMIgkEQCAMLABhEIkBRQRAIAkQlgVBA0gEQCAFIAkQ6AIQkgEgBRCeAQNAAkAgBRCNAQ0AIAAgCCAFEIEBELIPRQ0AIAUQqwEaDAELCyAFEI0BBEADQCAFENQCRQRAIAUQkAIiA0EAEMYEIAUQqwEaIAAgAxD+CyACQQFqIQIMAQsLIAcgBhCfARC7ASABIAkQ0QMgCRCcAyAMEEwLDAQLCwUgACAIIAMQsg8EQCAAIAMQ/gsgByAGEJ8BELsBIAJBAWohAgwDCwtBAiADEGIiAy4BACADLgECEOYBBEBBkcMaIAsQSyADEJ0BCwsLIAYQVgwBCwtBjKz5ACgCAARAIAogBDYCACAKIAI2AgRBusMaIAoQSwsgCBD7BSALJAYLRQEBfyMGIQIjBkEgaiQGIAIgAEEUahBVIAIQWwNAIAIQWUUEQCACEFMiACgCVEUEQCAAIAEQsA8LIAIQVgwBCwsgAiQGC9IBAQZ/IwYhAyMGQfAAaiQGIANB6ABqIQZBBEEFIAAqAjhDAAAAAFsbIQcgAyAAEIABIAMQuAEDQCADEO4DIgQEQCAEKAJURQRAIAQQ1QkEQCAEQQIQrw8iAgRAQcABEE8hBSAGQQBBARChASAFQQcgBhDqBSAFIAQQmgMDQCACBEAgBSACEJoDIAJBAhCvDyECDAELCyAEQQAQrw8hAgNAIAIEQCAFIAIQmgMgAkEAEP0LIQIMAQsLIAAgByAFIAEQ/wsLCwsMAQsLIAMQfyADJAYLyQEBBn8jBiECIwZB8ABqJAYgAkHoAGohBkEFQQQgACoCOEMAAAAAWxshByACIgUgABCAASACELgBA0AgBRDuAyICBEAgAigCVEUEQCACEP8GBEAgAkEDEP0LIgQEQEHAARBPIQMgBkEAQQEQoQEgA0EGIAYQ6gUgAyACEJoDA0AgBARAIAMgBBCaAyAEQQMQ/QshBAwBCwsDQCACQQEQ/QsiAgRAIAMgAhCaAwwBCwsgACAHIAMgARD/CwsLCwwBCwsgBRB/IAUkBgu7AQEDfyMGIQQjBkEQaiQGIABBDGoiBRBeIARBAEEAIAMQvgFB//8DcSADEKUBQf//A3EQlQIgAEEANgIEIAAgBBBrQRB0QRB1NgIIIAUgBBBuQRB0QRB1QX9qIAAoAgAiBmogBhBOIAQQa0EQdEEQdUF/aiAGaiAGEE5BCBDHATYCACAAIAFBBGogAiAEIAMQ0hYgACABQRRqIAIgBCADENIWIAUoAgAQvyIhACAFEF4gBSAANgIAIAQkBgv9AwIPfwF8IwYhByMGQRBqJAYgAEUEQCAHQezAGjYCACAHQZACNgIEQZi0+QBBl+gcQQJBx+scIAcQUQsgAUEANgIAIAMgABC+ATYCACACQQA2AgAgBCAAEKUBNgIAIAAQdSEJIAAQdyEKIAMoAgAhAANAIAAgASgCACIGa7ciFEQAAAAAAADAP6IQWiEIIBREAAAAAAAA6D+iEFohBSAOIAkgCiAGIAAgCCAURJqZmZmZmbk/ohBaIgAgBSAEKAIAQQEgAhDyFiIRciEQIAQgBCgCAEF/ajYCACANIAkgCiABKAIAIAMoAgAgCCAAIAUgAigCAEF/IAQQ8hYiEnIhCCAEIAQoAgBBAWoiBTYCACAFIAIoAgAiAGu3IhREAAAAAAAAwD+iEFohCyAURAAAAAAAAOg/ohBaIQYgDCAJIAogACAFIAsgFESamZmZmZm5P6IQWiIAIAYgAygCAEEBIAEQ8RYiE3IhBSADIAMoAgBBf2o2AgAgDyAJIAogAigCACAEKAIAIAsgACAGIAEoAgBBfyADEPEWIgtyIQYgAyADKAIAQQFqIgA2AgAgESAOQQFzcSASIA1BAXNxciATIAxBAXNxciALIA9BAXNxcgRAIAUhDCAIIQ0gECEOIAYhDwwBCwsgBSAGcQR/IAckBiAQIAhxBSAHJAZBAAsLjwUCCX8BfiMGIQgjBkHgAGokBiAIQTBqIQYgBSgCAEUEQCAGQezAGjYCACAGQZ0FNgIEQZi0+QBB2MAaQQJBx+scIAYQUQsgCEHYAGohCiAIQRhqIQkgCEEIaiEGIAhBKGohDCAIQSBqIQ0gCEEQaiEOIAhBOGoiCyAFEH0DQCAJIAsQcCIFEHEpAQAiDzcDACAJIAAQjgMEQCAALgEGIgcgCS4BBkgEQCAGIA83AwAgBiAHELcCIAwgBikDADcDACAKIAwpAQA3AQAgCiABIAMgBBCBB0EASgRAIAIgAyABIAQgBhCEDCALIAZBBBCRCBCpBwsLIAAuAQAiByAJLgEASgRAIAYgDzcDACAGIAcQjgIgAC4BBiIHIAkuAQZIBEAgBiAHEKcCCyAALgECIgcgCS4BAkoEQCAGIAcQtwILIA0gBikDADcDACAKIA0pAQA3AQAgCiABIAMgBBCBB0EASgRAIAIgAyABIAQgBhCEDCALIAZBBBCRCBCpBwsLIAAuAQQiByAJLgEESARAIAYgDzcDACAGIAcQjwIgAC4BBiIHIAkuAQZIBEAgBiAHEKcCCyAALgECIgcgCS4BAkoEQCAGIAcQtwILIA4gBikDADcDACAKIA4pAQA3AQAgCiABIAMgBBCBB0EASgRAIAIgAyABIAQgBhCEDCALIAZBBBCRCBCpBwsLIAAuAQIiByAJLgECSgRAIAYgDzcDACAGIAcQpwIgCCAGKQMANwMAIAogCCkBADcBACAKIAEgAyAEEIEHQQBKBEAgAiADIAEgBCAGEIQMIAsgBkEEEJEIEKkHCwsgBRC/ByALEIcCIgUEQCAFEJwDIAUQTAsLIAsQeCALEPcCRQ0ACyAIJAYLigIBA38jBiEDIwZB8ABqJAYgA0HoAGohBSADIAIQgAEgAyAALgEAIAAuAQQgAC4BAhDwAwJAAkADQCADQQEQwAQiAgRAIAIoAjRBfWpBAkkEQCACEHEiAiAAEKYCQQBIDQMLDAELCwwBCyACLgEGIgQiAiABSgRAIAIgASAEIAAuAQJIGyEBCyAFIAAuAQAgAUH//wNxIAAuAQQgAC4BAhCVAiADIAUQ8wEDQAJAA0ACQCADEJ0CIgJFDQIgAigCNEF9akECSQRAIAIQcSICIAAQpgJBAEgEQCABIAIuAQYiBCICSARAIAQgAC4BAkgNAwsLCwwBCwsgAiEBDAELCwsgAxB/IAMkBiABC4oCAQN/IwYhAyMGQfAAaiQGIANB6ABqIQUgAyACEIABIAMgAC4BACAALgEEIAAuAQYQ8AMCQAJAA0AgA0EAEMAEIgIEQCACKAI0QX1qQQJJBEAgAhBxIgIgABCmAkEASA0DCwwBCwsMAQsgAi4BAiIEIgIgAUgEQCACIAEgBCAALgEGShshAQsgBSAALgEAIAAuAQYgAC4BBCABQf//A3EQlQIgAyAFEPMBA0ACQANAAkAgAxCdAiICRQ0CIAIoAjRBfWpBAkkEQCACEHEiAiAAEKYCQQBIBEAgASACLgECIgQiAkoEQCAEIAAuAQZKDQMLCwsMAQsLIAIhAQwBCwsLIAMQfyADJAYgAQuKAgEDfyMGIQMjBkHwAGokBiADQegAaiEFIAMgAhCAASADIAAuAQQgAC4BAiAALgEGEIoEAkACQANAIANBABCUBSICBEAgAigCNEF9akECSQRAIAIQcSICIAAQtQJBAEgNAwsMAQsLDAELIAIuAQAiBCICIAFIBEAgAiABIAQgAC4BBEobIQELIAUgAC4BACAALgECIAFB//8DcSAALgEGEJUCIAMgBRDzAQNAAkADQAJAIAMQnQIiAkUNAiACKAI0QX1qQQJJBEAgAhBxIgIgABC1AkEASARAIAEgAi4BACIEIgJKBEAgBCAALgEESg0DCwsLDAELCyACIQEMAQsLCyADEH8gAyQGIAELigIBA38jBiEDIwZB8ABqJAYgA0HoAGohBSADIAIQgAEgAyAALgEAIAAuAQIgAC4BBhCKBAJAAkADQCADQQEQlAUiAgRAIAIoAjRBfWpBAkkEQCACEHEiAiAAELUCQQBIDQMLDAELCwwBCyACLgEEIgQiAiABSgRAIAIgASAEIAAuAQBIGyEBCyAFIAFB//8DcSAALgECIAAuAQAgAC4BBhCVAiADIAUQ8wEDQAJAA0ACQCADEJ0CIgJFDQIgAigCNEF9akECSQRAIAIQcSICIAAQtQJBAEgEQCABIAIuAQQiBCICSARAIAQgAC4BAEgNAwsLCwwBCwsgAiEBDAELCwsgAxB/IAMkBiABC4UBACAEIAEpAQA3AQACfwJAAkACQAJAAkACQCAADgQAAwECBAsgBCABIAIuAQAgAxDlKxCPAgwECyAEIAEgAi4BBCADEOQrEI4CDAMLIAQgASACLgEGIAMQ4ysQpwIMAgsgBCABIAIuAQIgAxDiKxC3AgwBC0EADAELIAQQ9gEgARD2AWsLC1QBAn8jBiECIwZBMGokBiACQSBqIQMgAiABEH0gAhCUAUEAIQEDQCACEI4BRQRAIAMgACACEHAQcRDwBCADEPYBIAFqIQEgAhB4DAELCyACJAYgAQulAQECfyMGIQQjBkGQAWokBiAEQSBqIgUgARCAASAFIAAQ8wEDQCAFEJ0CIgEEQCAAIAMgARD1FgRAIAEoAjBBfWpBAkkEQCAFEK4DIAEQggcFIAFBARDtAyABQQAQgAcgARDtBAsLDAELCyAEIAIQfSAEEJQBA0AgBBCOAUUEQCAAIAMgBBBwEPUWBEAgBBCHAhCCBwsgBBB4DAELCyAFEH8gBCQGC8QEARB/IwYhBCMGQeAAaiQGIARBGGohBiAEQRBqIQogBEEIaiIHIAMoAgAiCxBxKQEANwMAQdyz+QAoAgBBAUoEQEGYvxogChBLIAcQnQFBvb8aIAYQSyAAEJ0BCyAEQdAAaiEMIARByABqIQ0gBEFAayEOIARBOGohDyAEQTBqIRAgBEEoaiERIARBIGohEiABIAAQ8wFBACEGQQAhCgNAAkACQANAAkAgARCdAiIIRQ0DAkBB3LP5ACgCAEEBSgRAQce/GiASEEsgCBDYASAHIAgQcSIFELsDBEBB5L8aIBEQSwwCCyAAIAUQuwNFBEBB9b8aIBAQSwwCCyAIKAI0QQRGBEBBisAaIA8QSwVBm8AaIA4QSwsLCyAIKAI0QX5xQQRHBEAgCEEwaiIFKAIAQQRHBEAgBCAIEHEpAQA3AwAgACAEELsDRQ0CIAUoAgBFDQIgByAEELsDBEAgARCuAyAIEIIHBSAEIAcQpgIiBUEAIAVBAEobIQkgBCAHELUCIgVBACAFQQBKGyIFIAVsIAkgCWxqIgkgBBD2AUwEQCAJIAcQ9gFMDQYLCwsLDAELCwwCCyAIIAYgBkUgCSAKSHIiBRshBiAJIAogBRshCgwBCwsgBgR/IAQgBhBxKQEANwMAQdyz+QAoAgBBAUoEQEGrwBogDRBLIAcQnQFBv8AaIAwQSyAEEJ0BCyAHIAQQvAEaIAMgB0EDEJEINgIAIAsQggcgAiAGENEDIAYQggcgARD2AkEBBUEACyETIAQkBiATC5cCAg1/AX4jBiEEIwZBQGskBiAEQTBqIQogBEEoaiIHQQA2AgAgBEE4aiILIAAQeyICLgEAIAIuAQIgABCeAiICLgEAIAIuAQIQlQIgBEEgaiIIIAEpAQAiDzcDACAEIgZBIGohDANAIAlBBEcEQCAGIQIDQCACEHkgAkEIaiICIAxHDQALQQAhA0EAIQJBfyEFA0AgA0EERwRAIAcgA2osAABFBEAgChB5IAMgAiAFQQBIIAMgCCALIAAgBiADQQN0ahDmKyINIAVIciIOGyECIA0gBSAOGyEFCyADQQFqIQMMAQsLIAcgAmpBAToAACAIIAYgAkEDdGopAwAiDzcDACAJQQFqIQkMAQsLIAEgDzcBACAEJAYL2AIBB38jBiEIIwZBQGskBiAIQThqIQogCEEQaiEHIAhBCGohCyAAQQMQkQghBiAIQRhqIgkgBRB9IAkgBhCpAiAEIAAQ8wEDQCAEEJ0CIgYEQCAHIAYQcSkBADcDAAJAIAcgABC7A0UgBigCNCIMQQJMckUEQCAJEJ0DA0AgCRD5AQ0CIAkQhwIiBhC/ByAGBEAgBhCcAyAGEEwLIAkQeAwAAAsACyAMQQRGBEAgCyAHIAAQ8AQgCCALKQMANwMAIAogCCkBADcBAAJAAkAgCiAAIAIgAxCBB0EBdCAHEPYBSA0AIAAgBxC7A0UNACAGQQUQ7QMMAQsgBigCMEEGRgR/IAcQbgUgBxBrCyEGIAcgBy4BBiAGQRB0QRB1QQIQTkEQdEEQdSIGahCnAiAHIAcuAQIgBmsQtwIgByAAIAEgAiADIAUQ4SsLCwsgBSgCAA0BCwsgCCQGC3MBAn8jBiEBIwZB8ABqJAYgAEUEQCABQQAQgAEgARC4AQNAIAEQ6QEiAgRAIAIoAjBBA0YEQCACEHEiABBuQRB0QRB1QeQATgRAIAAQa0EQdEEQdUHkAE4NAwsgARCuAyACEIIHCwwBCwsgARB/CyABJAYL/gIBEH8jBiEEIwZBMGokBiACQQA2AgAgA0EANgIAIAFBAEciDUHcs/kAKAIAQQBHcQRAIAEgAEGLwRoQiwQLIAIgACADEJ0GIgA2AgAgAAR/IAMoAgAiAAR/IAAQgAQFQQALBUEACyEOIARBIGohByAEQRxqIQggBEEYaiEJIARBFGohCiAEQRBqIQYgBEEMaiELIARBCGohDCAEQQRqIQ8DQCAFIA5IBEAgBiADKAIAIAUQ6AMiADYCACANQdyz+QAoAgBBAEdxBEAgASAAQZnBGhCLBCAGKAIAIQALIAAgByAJIAggChDgKwRAIAgoAgAgBygCACIAayIQIAooAgAgCSgCACIRayISQQEQxwEiExCpCyAGEF4gAygCACAFIBMQnA4gBiADKAIAIAUQ6AM2AgAgAigCACAFIAsgDCAPIAQQ+wcgCygCACAAaiAMKAIAIBFqIBAgEhDBAiEAIAIoAgAgBSAAEJEhCyAGEF4gBUEBaiEFDAELCyAEJAYLlAEBA38jBiECIwZB8ABqJAYgAkEIaiIDIAAQgAEgAiABKQEANwMAIAJBBEEEEK0EIAMgAhDzAUEAIQACQAJAA0ADQCADEJ0CIgRFDQIgBCgCNEF9akECTw0ACyABIAQQcRCOAwR/QQEFQQEhAAwBCyEACwwBCyAARQRAIAEgAikDADcBAAtBACEACyADEH8gAiQGIAALogEBA38jBiEEIwZBMGokBiAEQQhqIQUgAwRAIAMQpQEhBiAFIAIQfQNAIAUQ+QFFBEAgBCAFEIcCIgIQcSkBADcDACACKAIwQX1qQQJJIAEgBBDuK0EBc3IEQCAEIAAQ3wIgAyAELgEAIAYgBC4BBmsgBBBuQRB0QRB1IAQQa0EQdEEQdUEPQQBBAEEAEMsBCyACEIIHIAUQeAwBCwsLIAQkBguMAQEBfyAAQQhqIgFBACABLwEAa0H//wNxEOIBIABBDGoiAUEAIAEvAQBrQf//A3EQ4gEgAEEYaiIBQQAgASgCAGs2AgACQAJAAkACQAJAAkACQCAAQShqIgEoAgAOBQACBAEDBAtBAyEADAQLQQAhAAwDC0EEIQAMAgtBASEADAELDAELIAEgADYCAAsLJwEBf0EAIABBCGoiAC4BBGshASAAQQAgAC4BAGsQjgIgACABEI8CC84BAQR/IwYhASMGQdAAaiQGIAFBQGsiBBBXIAFBJGoiAyAEEJIBIAFBCGoiAiAAQcwAahCSASACEJ4BA0AgAhCNAUUEQCADIAIQkAIQogggAhCrARoMAQsLIAIgBBC1BgJAAkAgACwAPg0AIAAsAD8NAAwBCyABQZGrFzYCACABQdMCNgIEQbiVFkGPvhpBAkHH6xwgARBRCyAAQQhqIgMoAgAhAiADQQAgAEEMaiIDKAIAazYCACADQQAgAms2AgAgABDPAyAEEO8BIAEkBgurAwEEfyMGIQgjBkEQaiQGIAEQYiEHIAIQYiEGAkAgAygCKBDmBARAIAAgB0EBQQEQ3QkiBUUgBSADRnJFBEAgBSgCKBDvAwRAIAUgBy4BBiIHEIMDIAMgBxCDA0oEQCAFIAEQ+BYgBSEDDAQLCwtBPBBPIgUgA0EBIABBIGogARD2FiAAQSxqIAUQ9xYgAEEwahCdAyAFIQMLCwJAIAQoAigQ5gQEQEEDIAYuAQQiASAGLgECIgUQ5gEEQCAGLgEGIQcgCCABNgIAIAggBTYCBCAIIAc2AghBnb0aIAgQSyAEQbG9GhCZAwsgACAGQQFBARDeCSIBRSABIARGckUEQCABKAIoEJoFBEAgASAGLgEGIgUQgwMgBCAFEIMDSARAIAEgAhD4FkEDIAYuAQQgBi4BAhDmAUUEQCABIQQMBQsgAUHOvRoQmQMgASEEDAQLCwtBPBBPIgEgBEEEIABBIGogAhD2FiAAQSxqIAEQ9xYgAEEwahCdA0EDIAYuAQQgBi4BAhDmAQRAIAFB3r0aEJkDCyABIQQLCyADIAQQtg8gBCADELYPIAgkBgvDAgIGfwN8IwYhBCMGQTBqJAYgBEEQaiIHIABB0ABqEFUgAkEIaiIIKAIAIgC3IglEAAAAAAAAwD+iIQoDQCAAQQBKBEAgAiACEK8HIgUQrgEhAyACIAVBACADaxCIASAFIQADQAJAIABBAUwNACACIABBf2oiABCuASIGQQBMDQAgAiAAQQAgBmsQiAEgBiADaiEDDAELCyAFIQADQAJAIABBAWoiACABTg0AIAIgABCuASIGQQBMDQAgAiAAQQAgBmsQiAEgBiADaiEDDAELCyADQQpKBEAgCiADtyILYwRAQQgQTyIAQQAgBUH//wNxEPgCIAcgABCgAUHMvPkAKAIABEAgBCAFQRRsNgIAIAQgAzYCBCAEIAtEAAAAAAAAWUCiIAmjOQMIQfO8GiAEEEsLCwsgCCgCACEADAELCyAEJAYLywEBBX8jBiECIwZBQGskBiACQRxqIgMgAEEwahCSASADEJ4BA0AgAxCNAUUEQCACIAMQgQEiBkEwahCSASACEJ4BA38CfyABIAIQjQENABogAhCBASABRgR/QQAFIAIQ9QEMAgsLCyEEIAIQngEgBEUhBQNAIAIQjQFFBEAgAhCBASAARgRAIAIQkAIaIAVFBEAgAiAEEOIJCwsgAhD1AQwBCwsgBUUEQCAEIAYQtg8LIAMQ9QEMAQsLIAAEQCAAELMKIAAQTAsgAiQGC7UCAQZ/IwYhBSMGQdAAaiQGIABBEGoiBCgCACEDIAQgAigCECIEIAMgBCADSBs2AgAgAEEUaiIEKAIAIQMgBCACKAIUIgQgAyADIARIGzYCACACKAIoIgMQpgYEQCAAIAM2AigLIAVBCGohBiAFQSxqIgMgAEEsahCSASAFQRBqIgcgAkEsahCSAQNAIAcQ1AJFBEAgBxCQAiEEIAcQqwEaIAYgBBBiKQEANwMAIAMQgQEhCANAAkAgBSAIEGIpAQA3AwAgBS4BAiAGLgECTg0AIAMQnwUNACADEKsBGiADEIEBIQgMAQsLIAUuAQIgBi4BAkgEQCADIAQQtgYFIAggBEcEQCADIAQQ4gkLCwwBCwsgACABKAEAIgFB//8DcSABQRB2QQEQhgwaIAIgABD1KyAFJAYLxgQBCX8jBiEHIwZB8ABqJAYCQAJAIABBKGoiCygCACIGEJoFIggEQCACKAIoIgQQmgUNAQsgBhDvAwR/IAIoAigiBBDvAwR/DAIFQQALBUEACyEBDAELIAAoAhAgACgCFCACKAIUIAIoAhAQww9BAEgEQEEAIQEFIAFBEHRBEHUiAUEAIAFrIAFBf0obIgFBASABGyIKQQpsIgkgACgCGCIBaiACKAIYIgVIIAEgCWsgBUpyBEAgBhCmBgRAIAQQpgYEQCABIApBMmwiBGogBUggASAEayAFSnIEQEEAIQEFIAMEQCAAIAIgCCABIAVIcRsiBC4BDiIMIQYgBC4BCiEJIAQgBhCDAyECIAQgCUEQdEEQdRCDAyEEIAEgBWsiAUEAIAFrIAFBf0obIAoQTiEFIAcgAxCAASAHIAQgAiAEIAJIG0EAIAUgCBtrIAVBACAIGyAEIAIgAiAESBtqIAYQ8ANBACEBA0ACQCAHQQEQ+hYiAkUEQEEBIQEMAQsgAhBiIgIuAQYgCUEQdEEQdUoEQEEBIQEMAQsgAi4BAiIDIAxIBEBBAiECBSAAIANBEHRBEHUQgwMhAyAFQQAgCygCABCaBSIIGyADaiEEIAIuAQQiBiAEIAQgBkobIAIuAQAiAiADQQAgBSAIG2siAyADIAJIG0oiAyECIAEgA0EBc3EhAQsCQAJAAkAgAkEDcQ4DAAEAAQsMAQsMAQsMAQsLIAcQfwVBASEBCwsFQQAhAQsFQQAhAQsFQQEhAQsLCyAHJAYgAQuoAwEGfyMGIQkjBkHwAGokBiADKAIoEO8DIQsgCUHsAGoiByADIAEQgwMiCDYCACAJQegAaiIKIAMgAhCDAyIMNgIAIAcgCiAMIAhIGyAHIAogCCAMSBsgCxsoAgAhByAJIAAQgAEgCSAHIAEgAhCKBCAGQQA2AgAgAEEEaiEKA0ACQANAAkAgCSALELgPIgBFDQICQCAAEGIiBy4BAiACSARAIAcuAQYgAUoEQCAHEGtBEHRBEHUhCCAKKAIAQQF0IAhMBEAgBxBrIQggBxBuQRB0QRB1QQpsIAhBEHRBEHVIDQMLIARFDQMgACgCKBCYDEUNAwsLCwwBCwsgAyAHLgEGIAcuAQJqQQIQThCDAyEIIAsEQCAIIAcuAQRrIgBBAEgEQCAHLgEAIAhrIAYoAgBIBEAgBiAHLgEAIAhrNgIACwsFIAcuAQAgCGsiAEEASARAIAcuAQQgCGsgBigCAEoEQCAGIAcuAQQgCGs2AgALCwsgACAFIABBAEogACAFSHEbIQUMAQsLIAYoAgAhACAJEH8gCSQGIAUgAEEAIABrIABBf0obawsnAQF/IAAgAC4BAEECEE47AQAgAEECaiIBIAEuAQBBAhBOOwEAIAALXAIDfwF8IABBIGoiAy4BACIEIABBImoiAC4BACIFIAQgBRDnF7efIQYgASAALgEAtyAGo7YQlwQgASADLgEAtyAGo7YQlgMgAiABKgIAEJcEIAIgASoCBIwQlgMLTgEBfyAAEFcgACABNgIEIAAgAkEBcToACCACBEAgARDDAS4BAiEDIAEoAhQhAgUgARBiLgECIQIgASgCECEDCyAAIAI2AhAgACADNgIMC1IBAn8gAEE4aiICKAIAIAFBOGoiAygCABDcCQRAIAIoAgAgAygCABDbCQsgAEE0aiIAKAIAIAFBNGoiASgCABDcCQRAIAAoAgAgASgCABDbCQsLRQECfyAALgEOIgIgAS4BDiIDIAIgA0gbQRB0QRB1IAAuAQoiACABLgEKIgEgAUEQdEEQdSAAQRB0QRB1SBtBEHRBEHVrC+oBAQh/IwYhASMGQSBqJAYgASAAQTBqEJIBIAEQngEgAEE4aiEEIABBNGohBQNAIAEQjQFFBEACQAJAIAEQgQEiA0E0aiIGKAIARQ0AIANBOGoiBygCACIIRQ0AIAIEQCACQTRqIgIoAgAgCBDcCQRAIAIoAgAgBygCABDbCQsFIAQoAgAgCBDcCQRAIAQoAgAgBygCABDbCQsLIAEQnwUEQCAFKAIAIAYoAgAQ3AkEQCAFKAIAIAYoAgAQ2wkLCwwBCyADQaC2GhCZAyAAQb+2GhCZAyACIQMLIAEQ9QEgAyECDAELCyABJAYLsQIBA38jBiECIwZBQGskBiACQRxqIgEgAEEsahB9IAEQlAEDQCABEI4BRQRAIAEQcCIAQQAQgRcgAEEBEIEXIAEQeAwBCwsgARCUAQNAIAEQjgFFBEAgARBwEP4rIAEQeAwBCwsgARCUAQNAIAEQjgFFBEAgARBwIgAoAigQmgUEQCACIAEpAgA3AgAgAiABKQIINwIIIAIgASkCEDcCECACIAEoAhg2AhggAhB4A0AgAhD3AkUEQCACEHAiAygCKBDvAwRAIAAgAxD9KwRAIAAgAxD8KwsLIAIQeAwBCwsLIAEQeAwBCwsgARCUAQNAIAEQjgFFBEAgARBwIgAoAigQ5gRFBEAgACgCNCIDBEAgAxCEFwsgACgCOCIABEAgABCEFwsLIAEQeAwBCwsgAiQGC8QBAQV/IwYhAiMGQZABaiQGIAJBiAFqIQUgAkGEAWoiBhBXIAJB6ABqIgMgBhB9IAIgABCAASACELgBA0AgAhDpASIEBEAgAyAEEKkCDAELCyAFIAAoARQiBEH//wNxIARBEHYgACgBGCIEQf//A3EgBEEQdhCEAyAFIAEQuw8gACAAKAIEIAUgBRCRARDOAyADEJ0DA0AgAxD5AUUEQCADEIcCIgEQzwMgACABELECIAMQeAwBCwsgAhB/IAYQtQMgAiQGC58CAQR/IwYhBiMGQUBrJAYgBkEcaiEHIAZBOGohCCAAIAQgBRD6KyAEKgIAu0S8lpAPerbrP2MEf0EABSAEIAIQpwYgBCADQQRqIgUQpwYgBCADQRBqEKcGIAQgA0EMahCnBiAHIAEQfSAHEJQBA0AgBxCOAUUEQCAHEHAgBBCHDCAHEHgMAQsLIAYgAEHMAGoQfSAGEJQBA0AgBhCOAUUEQCAGEHAgBBCHDCAGEHgMAQsLIABBAEEBELoPIAggACgBFCIBQf//A3EgAUEQdiAAKAEYIgFB//8DcSABQRB2EIQDIAggBBC7DyAAIAAoAgQgCCAIEJEBEM4DIABBAEEAIAIgABCrBiAAQQFBACAFIAAQqwZBAQshCSAGJAYgCQuKAQEGfyMGIQIjBkFAayQGIAJBHGoiASAAQSxqIgQQfSACIABBzABqEH0gARCUASAAQTBqIQUgAEEgaiEGA0AgARCOAUUEQAJAAkAgARBwIgMoAigQ5gQNACADKAIwRQ0AIAMgBiAAEIAXDAELIAIgARCHAhCpAiAFIAQQrwMLIAEQeAwBCwsgAiQGC2QBAn8jBiECIwZBEGokBiACQQAgAC4BGCAALgEUa0EUEE4iA0EBahCxASAAIAEgAhD5FkHMvPkAKAIAQQFKBEAgAhDgCAsgACADIAIQ9CsgACABQQAQ+RYgAigCDBCEASACJAYLUwEBfwJAAkAgAQRAIABBxABqIgIgASgCGCIBNgIAIAAgASAAEOoETiIBOgA/IAFFDQEFIABBADoAPyAAQcQAaiECDAELDAELIAIgABDqBDYCAAsLUQEBfwJAAkAgAQRAIABBQGsiAiABKAIYIgE2AgAgACABIAAQ6wRMIgE6AD4gAUUNAQUgAEEAOgA+IABBQGshAgwBCwwBCyACIAAQ6wQ2AgALC4QCAQd/IwYhAyMGQSBqJAYgA0EQaiECIANBCGohBAJ/IABBEGoiAS4BACABLgEESgRAQbS8+QAoAgAEQEGYtBogAxBLIAAQ2AELBSAAKAIIIAEuAQBMBEAgACgCDCABLgEETgRAIABBQGsiASgCACAAEOsETARAQQEgACgCRCAAEOoETg0EGgtBAEG0vPkAKAIARQ0DGiABKAIAIQEgABDrBCEEIAAoAkQhBSAAEOoEIQYgAiABNgIAIAIgBDYCBCACIAU2AgggAiAGNgIMQb+0GiACEEsgABDYAUEADAMLC0G0vPkAKAIABEBBrrQaIAQQSyAAENgBCwtBAAshByADJAYgBwsxAQF/IAAgARCGFyABKAJEIQMgAhBwQUBrKAIAIANIBEAgAiABEMcYBSACIAEQqQcLC5oFARN/IwYhCiMGQUBrJAYgCkEkaiEGIApBCGohCyACKAIAIRIgAEEEaiETA0AgDyASSARAIAIgDxCHAygCACIMBEAgBiATEH0gBhD5AQRAIApB4LQXNgIAIApB5gA2AgRB5JUWQZSzGkECQcfrHCAKEFELIAYQlAEgCyAMQQRqEH0gCxCUAUGAgICAeCEMA0AgCxCOAUUEQAJAIAsQcCIHKAIwQQVOBEAgB0FAaygCACEIIAcoAkQhDQNAIAYQcCEDIAYQpAIhBSADKAJEIgkgCEggBUEBc3EEQCAGEHggCSEMDAELCyANIANBQGsiDigCACIFSCAJIAhIcgRAIAAgBxCcBSAGEIcsDAILIAEoAgAoAgghBCABIAMgBSAJEIMHIARB/wFxQZACahEBACEQIAggDEogCCAFSHEEQCAHEOsEIREgASgCACgCCCEEAn8gASADIAggCRCDByAEQf8BcUGQAmoRAQAhFCABKAIAKAIIIQQgASADIBEgCRCDByAEQf8BcUGQAmoRAQAhBCAUIBBBAXNyCwRAIAMgB0EAEIsMIAMgARCRBwUgESAFSCAEcQRAIAMgB0EBEIsMIAMgARCRBwsLIA4oAgAhBQsgDSAJSgRAIAYQpAJFBEAgBkEBEMwDQUBrKAIAIA1MDQMLIAcQ6gQhDiABKAIAKAIIIQQCfyABIAMgBSANEIMHIARB/wFxQZACahEBACEVIAEoAgAoAgghBCABIAMgBSAOEIMHIARB/wFxQZACahEBACEFIBUgEEEBc3ILBEAgAyAHQQAQigwgAyABEJEHDAMLIA4gCUogBXEEQCADIAdBARCKDCADIAEQkQcLCwsLIAsQeAwBCwsLIA9BAWohDwwBCwsgABDADyAKJAYLOQECfyMGIQIjBkEgaiQGIAAQVyAAQQRqIgMQVyAAQRRqEHkgAiADEH0gAiABEKkCIAAQwA8gAiQGC0sBAX8jBiEBIwZBIGokBiABIABBBGoQfSABEJQBQQAhAANAIAEQjgFFBEAgACABEHAsADwQiQFBAXFqIQAgARB4DAELCyABJAYgAAv9AQEHfyAEKAIAIQcgBSgCACIJIQggCSEGA0ACQCAEIAY2AgAgBSAINgIAA0ACQCAHIAlODQIgByEGAn8CfwJAA38CfyAGIAlODQJBASAAIAZBAnRqKAIAIANBAnRqKAIAIAEgBkECdGoiCCgCAEgNABogAiAGaiwAAAR/IAZBAWohBgwCBUEBCwsLDAELIAEgBkECdGohCEEACyEMIAYhBwNAAkAgB0EBaiIHIAlODQAgACAHQQJ0aigCACADQQJ0aigCACAIKAIATgRAIAIgB2osAAANAQsMAQsLIAwLBEAgByAGayIIIApKDQELDAELCyAIIQogByEIDAELCwvHAQEGfyMGIQUjBkEgaiQGIAVBCGoiBkEAIAAoAsABIgcQsQEDQCADIARIBEAgASADQQJ0aiEIIAIgA0ECdGohCUEAIQADQCAAIAdIBEAgCCgCACAAQQJ0aigCACAJKAIASARAIAYgAEEBEIgBCyAAQQFqIQAMAQsLIANBAWohAwwBCwsgBigCCEEATARAIAVB6I4aNgIAIAVBqAY2AgRBvLr5AEH/rxpBAkHH6xwgBRBRCyAGEK8HIQogBigCDBCEASAFJAYgCgvoAQEIfyADIAE2AgAgBCABNgIAIABBDGohCyAAQdQBaiEHQQAhACABIQkDQAJAIAsoAgAhDANAIAAgDE4NASAAIQUDQAJAIAUgAU4EQEEAIQoMAQsgBygCACAFQQJ0aigCAEUEQCACIAVqLAAABEBBASEKDAILCyAFQQFqIQUMAQsLQQEhBiAFIQADQAJAIABBAWoiACABTg0AIAcoAgAgAEECdGooAgANACAGIAIgAGotAABqIQYMAQsLIAogBiAISnFFDQALIAMgBTYCACAEIAA2AgAgBiEIIAAhCQwBCwsgAygCACAJSAuqAQEFfyMGIQIjBkFAayQGIAJBHGoiAyABQQRqEH0gAxCUAUEAIQEDQCADEI4BRQRAIAMQcCIEKAIwEOgJBEAgBBDrAiEFIAIgBBDoAhCSASACEJ4BA0AgAhCNAUUEQCADEHAQcSIELgEAIQYgACAELgEEIAZqQQIQTiAFEJ0FRQRAIAEgBBBuQRB0QRB1aiEBCyACEKsBGgwBCwsLIAMQeAwBCwsgAiQGIAELmAEBAn8jBiEFIwZBIGokBiAFIABBBGoQfSAFEJQBA0AgBRCOAUUEQCAFEHAiBhCKFyEAIAEgASgCACAAajYCACACIAIoAgBBAWo2AgAgBRCkAkUEQCAFQQEQzAMhACAGIAYoAkQgAEFAaygCABCDByEAIAMgAygCACAAajYCACAEIAQoAgBBAWo2AgALIAUQeAwBCwsgBSQGCzQBAX8jBiEBIwZBIGokBiABIABBBGoQfQNAIAEQ+QFFBEAgARCHAhogARB4DAELCyABJAYL+QEBCX8jBiECIwZBIGokBiACQRRqIgVBADYCACACQRBqIgZBADYCACACQQxqIgdBADYCACACQQhqIghBADYCACAAQQxqIQogAEHUAWohCQNAIAMgCigCAEgEQCAJKAIAIANBAnRqKAIAIgRFBEAgAkHojho2AgAgAkGaBzYCBEG8uvkAQfusGkECQcfrHCACEFEgCSgCACADQQJ0aigCACEECyAEIAYgCCAFIAcQjywgA0EBaiEDDAELCyAAIAcoAgAiBEEASiABcQR/IAUoAgAgBBBOBSAIKAIAIgFBAEoEfyAGKAIAIAEQTgVBAAsLIgE2AogBIAIkBgu+BwEafyMGIQMjBkHQAGokBiABKAIAIgYgAEEMaiIaKAIARwRAIANB6I4aNgIAIANBlgU2AgRBvLr5AEGXrRpBAkHH6xwgAxBRCyADQTBqIQ8gA0EoaiETIANBIGohFiADQRhqIRQgA0EIaiEQIANBQGshDCADQTxqIQcgAEHUAWoiF0F/IAZBAnQgBkH/////A0sbIgIQTzYCAANAIAQgBkgEQCAXKAIAIARBAnRqQQA2AgAgBEEBaiEEDAELCyAAQcABaiIRKAIAIRUgBkF/IAZBf0obEE8hDSACEE8hCSACEE8hCEF/IBVBAnQgFUH/////A0sbIRsgAEHUAGohBQNAIAsgBkgEQCABIAsQhwMoAgAiEkEARyIOBH9BAiASQRRqIgIuAQAgAi4BAhDmAQVBAAshGCAIIAtBAnRqIhkgGxBPNgIAIA0gC2oiBEEAOgAAIAkgC0ECdGpB/////wc2AgBBACEKA0AgCiAVSARAAkACQCAORQ0AIBEgChCHAygCACAYIBIgBSgCABCJF0UNACARIAoQhwMoAgAgEhCOLCECIBkoAgAgCkECdGogAjYCACAEQQE6AAAMAQsgGSgCACAKQQJ0akH/////BzYCACAYBEAgECAKNgIAIBAgCzYCBCAQIBI2AghBsa0aIBAQSwsLIApBAWohCgwBCwsgC0EBaiELDAELC0EAIQ4DQCAAIAYgDSAMIAcQjSwEQCAMKAIAIQQgBygCACECQcy8+QAoAgBBAUoEQCAUIAQ2AgAgFCACNgIEQd+tGiAUEEsLIAAgCCAJIAQgAhCMLCEFQcy8+QAoAgBBAUoEQCAWIAU2AgBBgq4aIBYQSyARIAUQhwMoAgAQkggLIAggCSANIAUgDCAHEIssQcy8+QAoAgBBAUoEQCAHKAIAIQEgEyAMKAIANgIAIBMgATYCBEGerhogExBLBSAHKAIAIQELIAggCSANIAVBf0F/IAwQiBcgByABQX9qNgIAIAggCSANIAVBASAGIAcQiBcgByAHKAIAQQFqIgQ2AgAgDCgCACECQcy8+QAoAgAEQCAPIAU2AgAgDyACNgIEIA8gBDYCCEG1rhogDxBLCyAAIAUgAiAEIAggCRCHFyAOIBEgBRCHAygCABCKLEEBSnIhDgwBCwsgFygCACgCAEUEQCAAQQBBACAaKAIAIAggCRCHFwtBACEBA0AgASAGSARAIAggAUECdGooAgAiAARAIAAQTAsgAUEBaiEBDAELCyAJEEwgDRBMIAgQTCADJAYgDgvqAQEDfyMGIQMjBkHwAGokBiADIAAQgAEgAxC4AUEAIQADQCADEOkBIgIEQAJAAkACQAJAIAIoAjAiBA4IAAICAgIAAgECCwwECyACKAI0QX1qQQRJDQEMAwsgBEF9akECSQ0ADAILIABFBEAgAhCcBSIAQQcQgAcgACAAQQAQiwwgACAAQQAQigwMAgsgAkFAaygCACAAQUBrKAIASARAIAAgAkEAEIsMCyACKAJEIAAoAkRKBEAgACACQQAQigwLDAELCyAABEAgACABEJEHQRwQTyIBIAAQiSwFQQAhAQsgAxB/IAMkBiABC44DAQl/IwYhBCMGQZABaiQGQX8gAEEMaiIJKAIAIgJBAnQiA0EEaiACQf////8DSyADQXtLchsQTyIIIAI2AgAgCEEEaiEDIAIEQCADIAJBAnRqIQUgAyECA0AgAhBXIAJBBGoiAiAFRw0ACwsgBEEgaiEKIARBHGohBiABIAkoAgAQ7QIgBEEoaiIFIAAQgAEgBRC4AQNAAkADQAJAIAUQ6QEiAkUNAgJAAkACQAJAIAIoAjAOBgACAgICAQILDAILIAIQ6AIoAgAQqAJFDQIMAQsMAQsMAQsLIAAgAhBxIgcuAQAgBy4BAiAKIAYQtgIgBCADIAYoAgBBAnRqEH0gBCACEIwEQQEhBwwBCwsCQCAHBEBBACECA0AgAiAJKAIATg0CIAMgAkECdGoiBigCAARAQRwQTyIAIAYQhRcFQQAhAAsgASAAEI0EIAJBAWohAgwAAAsACwsgAyAIKAIAQQJ0aiIAIANHBEADQCAAQXxqIgAQtQMgACADRw0ACwsgCBBMIAUQfyAEJAYgBwt2AQJ/IwYhBSMGQRBqJAYgBSADEGIpAQA3AwAgAyAAIAVBABCVCBDHDyADIAAgBUEAEJQIEMYPIAMgACAFQQEQlQgQxQ8gAyAAIAVBARCUCBDEDyADKAIYEMgCBH9BAAUgBCABIAIgAxCTCEEBCyEGIAUkBiAGC9IBAQZ/IwYhCCMGQRBqJAYgCCIDIAIQcSkBADcDACACEOsCIQUgABB7LgEAIQQgABCeAi4BACEGIAEEQCABIAMuAQAgBRCdBSIHBEAgByAFEMMEIQQLIAEgAy4BBCAFEJ0FIgEEQCABIAUQxAQhBgsLIAMuAQAhASACIAAgAxBrQRB0QRB1IAFqQQEgBEFsaiADLgECIAMuAQYgAhCQFxC0CiACIAAgAy4BBCADEGtBEHRBEHVrQQAgBkEUaiADLgECIAMuAQYgAhCQFxDtASADJAYLhAEBBX8jBiEFIwZBEGokBiAFQX82AgAgAEEQaiIGLgEAIQggBi4BBCEJIAYQayEHIAIgASAIIAkgBhBuIgEgByABQRB0QRB1IAdBEHRBEHVIG0EQdEEQdSAAEOsCIAAoAgggACgCDCADIAQgBRDcFiEBIAAgACgCMCABENgWNgJIIAUkBgvBAgEIfyMGIQYjBkEQaiQGIAAoAgAgAEEEaiIHKAIAIABBDGoiBSgCACACEJcIIQIgACgCACAHKAIAIAUoAgAgAxCXCCEIIAAoAgAgACgCCCAFKAIAIAQQlgghCSACIAhGBH9BAAUgBSgCABB3IQNBAUF/IAIgCEgbIQpBACEEQQAhByAFKAIAEHUgAyAJbEECdGoiCyACakEDcy0AACEDA0ACQCADIQUCfwJAAkADQCACIAhGDQQgCyACIApqIgJqQQNzLQAAIQMgAQRAIAYgAjYCACAGIAk2AgQgBiADNgIIIAYgBTYCDEG/qBogBhBLCyAFIANLDQEgBSADTw0CIARBAWohBCADIQUMAAALAAsgB0EEagwBCyAHQQFqCyEHDAELCyAAKAIAIgAgBGxBBBBOIAAgB2xqCyEMIAYkBiAMC78CAQl/IwYhBiMGQRBqJAYgACgCACAAKAIEIABBDGoiBSgCACACEJcIIQggACgCACAAQQhqIgIoAgAgBSgCACADEJYIIgcgACgCACACKAIAIAUoAgAgBBCWCCIJRgR/QQAFIAUoAgAQdyIEQQFBfyAHIAlIGyIKbCELQQAhAkEAIQMgBSgCABB1IAQgB2xBAnRqIgQgCGpBA3MtAAAhBQNAIAcgCUcEQCAEIAtBAnRqIgwgCGpBA3MtAAAhBCABBEAgBiAINgIAIAYgByAKajYCBCAGIAQ2AgggBiAFNgIMQb+oGiAGEEsLIAUgBEsEQCADQQRqIQMFIAUgBEkEQCACQQFqIQIFIANBAWohAwsLIAcgCmohByAEIQUgDCEEDAELCyAAKAIAIgAgAmxBBBBOIAAgA2xqCyENIAYkBiANC3EBA38jBiEFIwZBEGokBiAFIAIQcSkBADcDACACQTBqIgYoAgAQmQgEQCAFIAIoAhwQpwIgBSACKAIYELcCBSAFIAIoAiQQjwIgBSACKAIoEI4CCyAAIAEgBSAGKAIAEJkIIAMgBBCSFyEHIAUkBiAHC0MAIABCADcCACAAQgA3AgggAEEQahDIDyAAQTBqEMgPIABB0ABqEMgPIABB8ABqEJQXIABBkAFqEJQXIABBAToAsAELhAEBAn8jBiECIwZBEGokBgJAAkACQCABRSIDBEAgAkHOpRo2AgAgAkGcAzYCBEGYq/kAQaCmGkECQcfrHCACEFFBABCYCEUNAQUgARCYCA0CDAELDAILIAEQcRD2AUEASgRAIABBMGogARCxAgUgA0UNAQsMAQsgARCcAyABEEwLIAIkBgvcAgIGfwF+IwYhBCMGQTBqJAYgBEEIaiEDIARBEGohBSABRSICBH8gBEHOpRo2AgAgBEG2AzYCBEGYq/kAQaCmGkECQcfrHCAEEFFBABDoAgUgARDoAgsoAgAEQCABQSxqIgYoAgAiAkEATARAIANBzqUaNgIAIANBvgM2AgRBmKv5AEGwphpBAkHH6xwgAxBRIAYoAgAhAgsgAqxCAYYhCEEBIQIDQCACBEAgBSABEOgCEJIBIAUQngFBgICAgHghAwJAAkADQAJAIAUQjQEEQEEAIQIMAQsgBRCBARBiIQYgA0GAgICAeEcEQCAIIAYuAQAiAiADa6xTDQMLIAYuAQQhAiAFEKsBGiACIAMgAyACSBshAwwBCwsMAQsgASADIAJqQQIQThCXFyEHIAAgARCWFyAHIQFBASECCwwBCwsgACABEJYXBSACRQRAIAEQnAMgARBMCwsgBCQGC3wBAX8jBiECIwZBEGokBgJAAkAgAQRAIAAoAgQgACgCCCABEIwMRQ0BBSACQc6lGjYCACACQYwDNgIEQZir+QBBoKYaQQJBx+scIAIQUSAAKAIEIAAoAghBABCMDEUNAQsgAEEQaiABELECDAELIAEQnAMgARBMCyACJAYLXQEDfyMGIQEjBkFAayQGIAAQnAUiAkEAEMkPIAFBHGoiAyACEOgCEJIBIAEgABDoAhCSASABEJ4BA0AgARCNAUUEQCADIAEQgQEQ6QQgARCrARoMAQsLIAEkBiACC2MBAXwgASAAbLdEmpmZmZmZqT+iIQMgALdEMzMzMzMz0z+iIAIQYiIAEGtBEHRBEHW3YwR/IAG3RJqZmZmZmdk/oiAAEG5BEHRBEHW3YwR/IAMgABD2AbdjBUEACwVBAAsiAAulBAEKfyMGIQMjBkHgAWokBiADQQhqIQcgA0HwAGoiCCAAEIABIAgQuAEgCEEoaiELA0AgCBDpASIEBEAgASALKAIAQQJ0aigCACEFIAMgBBBxIgopAQA3AwAgBBDrAiEGIAUgAy4BACAGEJ0FIQIgBSADLgEEIAYQnQUhBSACBEAgBCADLgEAIAIgBhDDBGsiAkEAIAJBAEobEJsXCyAFBEAgBCAFIAYQxAQgAy4BBGsiAkEAIAJBAEobEJoXCyAHIAAQgAEgByADLgEAIAMuAQIgAy4BBhCKBCAEQZQBaiEJA0AgB0EBEJQFIgIEQCACKAJIQXdqQQNJBEAgAhBxLgEEIgYgAy4BACICSARAIAQgCSgCACIFIAJBEHRBEHUgBkEQdEEQdWsiAiAFIAJIGxCbFwsLDAELCyAHIAMuAQAgAy4BAiADLgEGEIoEIARBmAFqIQkDQCAHQQAQlAUiAgRAIAIoAkhBd2pBA0kEQCACEHEuAQAiBiADLgEEIgJKBEAgBCAJKAIAIgUgBkEQdEEQdSACQRB0QRB1ayICIAUgAkgbEJoXCwsMAQsLIARBARDeAiICBEAgBCACEHEuAQIgCi4BAmsiAkEAIAJBAEobEJkXBSAEQf////8HEJkXCyAEQQAQ3gIiAgRAIAQgCi4BAiACEHEuAQJrIgJBACACQQBKGxCYFwUgBEH/////BxCYFwsgBxB/DAELCyAIEH8gAyQGC14BAn8jBiEBIwZB8ABqJAYgASAAQRBqEIABIAEQuAEDQCABEOkBIgAEQCAAQQEQ3gIiAgRAIAAgAjYChAELIABBABDeAiICBEAgACACNgKIAQsMAQsLIAEQfyABJAYLpQIBCX8jBiEDIwZB8ABqJAYgA0EIaiEEIAEoAjRBBkYEQEEBIQAFIAEQcSEFIAAoAgRBAXQiAiAFLgEGaiEGIAUuAQIgAmshByAEIABBMGoQgAEgAUHkAGohCCABQegAaiEJQQAhAANAAkAgAEECTwRAQQAhAAwBCyAEIABFIgoEfyAFLgEEBSAFLgEAC0EQdEEQdSAHIAYQigQDQAJAIAQgChCUBSICRQ0AIAIoAjRBBkYEQCACIAFGBEAgA0HOpRo2AgAgA0HKBzYCBEGYq/kAQf2lGkECQcfrHCADEFELIAIoAmggCCgCAE4gAigCZCAJKAIATHFFDQEgAiABEJkMBEBBASEADAQLCwwBCwsgAEEBaiEADAELCyAEEH8LIAMkBiAAC/cCAwl/AX4BfCMGIQMjBkEwaiQGIAAoAkgQ7gFFBEAgA0HOpRo2AgAgA0HcBjYCBEGYq/kAQY2mGkECQcfrHCADEFELIANBCGoiBSAAEOgCIgcQkgEgABBxIggQbkEQdEEQdSEBAn8CQCAAQSBqIgYoAgAiAEEKbCABSgR/IAcQuQJBCkgEf0EBBSAGKAIAIQAMAgsFDAELDAELIACsQgKGIQogALdEAAAAAAAA4D+iIQsgBRCeAUF/IQRBfyEAA0AgBRCNAUUEQCAFEIEBEGIiAi4BBCEBAkAgBEF/RwRAIAIuAQAgBGsiAkEASARAIAYoAgCsQgKGQQAgAmusVQRAIAEgBCAEIAFIGyEBDAMLCyACIAAgAiAAShshAEEBIAogAqxTDQQaCwsgBRCrARogASEEDAELCyAIEG5BEHRBEHUhASAGKAIAQRRsIAFIBH9BAAUgBxC5AkEUSgR/QQAFIABBf0YgCyAAt2RyCwsLIQkgAyQGIAkLrAEBBH8jBiECIwZBQGskBiACQRxqIgMgAEHMAGoQkgEgAiABQcwAahCSASADEJ4BIAIQngEDQAJAIAMQjQENACACEI0BDQAgAxCBASEBIAIQgQEhACABKgJIIAEqAkwgASoCUCAARAAAAAAAANA/RAAAAAAAAABAEMoPIQAgAxCrARogAhCrARogBCAAQQFzQQFxaiEEIAUgAEEBcWohBQwBCwsgAiQGIAUgBEsLRgACfwJAIAAoAjBBBkYNACABKAIwQQZGDQAgAUEgaiEBIABBIGoMAQsgAUEsaiEBIABBLGoLIgAoAgAgASgCABDfCUEBcwurAQEIfyMGIQIjBkHwAGokBiACIABBEGoQgAEgAhC4AUEAIQBB/////wchA0GAgICAeCEEA0ACQANAIAIQ6QEiAUUNASABKAJIEO4BRQ0ACyABIAAgBCABEHEiBS4BBiIHSCIIGyEAIAEgBiADIAUuAQIiAUoiBRshBiABIAMgBRshAyAHIAQgCBshBAwBCwsgAARAIAAQ4wkLIAYEQCAGEOMJCyACEH8gAiQGC5cDAgp/AX4jBiEEIwZB8ABqJAYgBCAAQRBqEIABIAQQuAEgAEGwAWohCSAAQQxqIQoDQCAEEOkBIgAEQCAAKAJIQQZGBEAgACgChAEiCCIGBEAgCCgCSEEBRgRAIAYQcSICEG4hBSAAEHEiARBuQRB0QRB1QQF0IAVBEHRBEHVMBEAgAS4BBCABLgEAakECEE4hBSACLgEEIAIuAQBqQQIQTiEDIAksAAAEfyADIAIuAQAiAyABLgEAIgEgA0EQdEEQdSABQRB0QRB1SBtBEHRBEHUiA2shASAFIANrBSACLgEEIgcgAS4BBCIBIAFBEHRBEHUgB0gbQRB0QRB1IgcgA2shASAHIAVrC7dEzczMzMzM9D+iIAG3ZEUEQCAAIAYQpiwEQCAAIAYQpSwEQCAAKAIgrEIDfiAAKAKUAaxZBEAgAhBuQRB0QRB1rCELIAgoApgBrEIDfiALVwRAIAAoAowBIgIgACgCkAFIBEAgAiAKKAIAQQF0TARAIAAQ4wkLCwsLCwsLCwsLCwwBCwsgBBB/IAQkBgvSAQEEfyMGIQIjBkHwAGokBiACIABBEGoQgAEgAhC4AQNAIAIQ6QEiAQRAIAEoAkgiAEEFSiAARXJFBEAgASgChAEiA0EARyABKAKIASIAQQBHcQRAIAMoAkhBBkYEQCAAKAJIQQZGBEAgARDRDwsLCwsMAQsLIAIQuAEDQCACEOkBIgEEQCABKAJIQQZGBEAgASgCiAEiAyEAIAEoAoQBIgQEQCAAQQBHIAQoAkhBBkdxBEAgAygCSEEGRwRAIAEQ4wkLCwsLDAELCyACEH8gAiQGC3MBA38jBiEBIwZB8ABqJAYgASAAQRBqEIABIAEQuAEgAEEEaiEDA0AgARDpASICBEAgAigCSBDuAQRAIAMoAgCsQgGGIAIoAiCsWQRAIAIQpCxFBEAgACACEKMsRQ0ECyACENEPCwsMAQsLIAEQfyABJAYLggEBAX8gAC4BACABLgEAayICQQAgAmsgAkF/ShtBFEgEfyAALgEEIAEuAQRrIgJBACACayACQX9KG0EUSAR/IAAuAQYgAS4BAmsiAkEAIAJrIAJBf0obQQVIBH9BAQUgAS4BBiAALgECayIAQQAgAGsgAEF/ShtBBUgLBUEACwVBAAsLoAEBA38jBiEDIwZBQGskBiADQSRqIgIgABBVIANBCGoiACABEFUgAhBbA0AgAhBZRQRAIAIQUxCRASEBIAAQWwJAAkACQANAIAAQWQ0CIAMgABBTIgQQkQEpAQA3AwAgASADEKssDQEgABBWDAAACwALIAQgARCeBSACEJ8BIgEEQCABEEwLDAELIAAgAhCfARCgAQsgAhBWDAELCyADJAYL0gEBB38jBiEEIwZB0ABqJAYgBEEEaiEGIARBQGshByAEQSRqIgUgAEEEahB9IARBCGoiCCADEFUgCBDrBxogBRCUASABQf//A3EhCiACQf//A3EhAwNAIAUQjgFFBEAgBiAFEHAiACACEMMEQf//A3EgChChASAEIAAgARDEBEH//wNxIAMQoQFBGBBPIgkQjQwgByAGKAIAIgBB//8DcSAAQRB2IAQoAgAiAEH//wNxIABBEHYQhAMgCSAHEJ4FIAggCRCgASAFEHgMAQsLIAQkBgtBAQJ/IAAoAhAiAaxCA34gACgCDCICrFMEQCAAQQI2AhQFIABBFGohACABIAJKBEAgAEEBNgIABSAAQQM2AgALCwu7AQEGfyABEJ8XIQQCQCAAKAIEIgIEfyACQX9qIgUgAnFFIgcEfyAFIARxBSAEIAJJBH8gBAUgBCACEIcBCwshBiAAKAIAIAZBAnRqKAIAIgAEfwNAIAAoAgAiAEUEQEEAIQAMBAsgACgCBCIDIARGBEAgACgCCCABRg0EBSAHBEAgAyAFcSEDBSADIAJPBEAgAyACEIcBIQMLCyADIAZHBEBBACEADAULCwwAAAsABUEACwVBAAshAAsgAAuOAQECfyMGIQMjBkHwAGokBiADQegAaiEEIAEgAhCOAwRAQQEhAAUgBCABIAIQogUgAyAAQRBqEIABIAMgBBDzAQNAAkAgAxCdAiIERQRAQQAhAAwBCyAEEHEiACABEI4DBEAgACACEI4DBEAgBCgCSBDsBUUEQEEBIQAMAwsLCwwBCwsgAxB/CyADJAYgAAuyAgEKfyMGIQMjBkHwAGokBiADQegAaiEIIAEQhQcEfyABEHEiBSACEOUEBH8gCCAFIAIQogUgAEEQaiEJIABBMGohCiABQSBqIQtBACEAQQAhAUEAIQUDQCAHQQJJBEAgAyAKIAkgBxsQgAEgAxCFAiADIAgQ8wEDQAJAA0ACQCADEJ0CIgZFDQIgBhBxIAIQlAdEMzMzMzMz4z9kRQRAIAYoAkgiBBDsBUUNAQsMAQsLIABBAWohACABIARBBkYEf0EBIQRBAQUgBBDkBAR/QQEhBEEBBSAGKAKYASALKAIAQQpsIgFKIQQgBigClAEgAUoLC2ohASAFIARqIQUMAQsLIAMQfyAHQQFqIQcMAQsLIAUgAEECEE4iAEogASAASnIFQQALBUEACyEMIAMkBiAMC7wBAQZ/IwYhAiMGQfAAaiQGIAIgAEEQahCAASACIAEuAQAgAS4BBCABLgEGEPADQQAhAANAAkAgAEUhBgJAAkADQAJAIAJBABDABCIDRQ0EIAMoAiBBAnQhBCABLgEGIQcgAxBxIgUuAQIgB2sgBEoNBCADKAJIIgRBBkYNAiAEEOQEDQIgBgRAIAMhAAwBCyAFIAAQcRCJCA0BDAQLCwwBCyABIAUuAQYQpwJBACEACwwBCwsgAhB/IAIkBgt7AQN/IwYhBCMGQfAAaiQGIARBCGoiBSAAQTBqEIABIAUQhQIgBSACEPMBA0AgBRCdAiICBEAgAigCSBDkBARAIAMgAhBxIgYQuwNFBEAgACACIAEQsSwEQCAEIAMgBhCiBSADIAQpAwA3AQALCwsMAQsLIAUQfyAEJAYLnwEBBX8jBiEEIwZB8ABqJAYgBEEIaiEFIABB0ABqIQcgAEEwaiEIQQAhAANAIABBAkkEQCAFIAggByAAGxCAASAFIAIQ8wEDQCAFEJ0CIgYEQCAGKAJIEOwFRQRAIAYQcSIGIAEQlAdEMzMzMzMz4z9kBEAgBCADIAYQogUgAyAEKQMANwEACwsMAQsLIAUQfyAAQQFqIQAMAQsLIAQkBgs6AQF/IwYhAyMGQRBqJAYgAyABKQEANwMAIAAgASADIAIQtCwgACABIAMgAhCzLCAAIAIQsiwgAyQGC5kCAgV/AXwDQCAEIAJIBEAgASAEQQJ0aigCACEGIARBAWohBCAGIAMgBiADShshAwwBCwsgA0EDSAR/QQAFRM3MzMzMzNw/RGZmZmZmZtY/IANBBUobIAO3oiEIQQAhAwNAIAMgAkgEQCABIANBAnRqIgQgCCAEKAIAt2U2AgAgA0EBaiEDDAELC0EBIQVBfyEEQQAhAwNAIAUgAkgEQCABIAVBf2pBAnRqKAIABEAgBCAFIAEgBUECdGooAgAbIQYFIARBf0YEQEF/IQYFIARBfyABIAVBAnRqKAIARSIHGyEGIAMgBSAEayIEIAMgBCADShsgBxshAwsLIAVBAWohBSAGIQQMAQsLIAAoAgSsQgGGIAOsUwsiAAuHAgEJfyMGIQIjBkFAayQGIAJBCGohBCACIAEQkQEpAQA3AwAgACACLgEAIAIuAQIgAkEwaiIGIAJBLGoiBRC2AiAAIAIuAQQgAi4BBiACQShqIgMgAkEkaiIHELYCIABBHGohCCAHKAIAIQcgBigCACEGIAMoAgAhCSAFKAIAIgMhBSAAQQhqIgooAgAgA2whAwNAIAUgB0wEQCAGIQADQCAAIAlMBEAgBCAIKAIAIAAgA2pBAnRqEJIBIAQQngEDQCAEEI0BRQRAIAQQgQEgAUYEQCAEEJACGgsgBBD1AQwBCwsgAEEBaiEADAELCyAFQQFqIQUgCigCACADaiEDDAELCyACJAYLnwEBA38jBiEDIwZB8ABqJAYgACgCACgCBCECIAMgACkBCDcDACADIAEgAmsQjwIgAyACIAFqEI4CIANBCGoiAiAAKAIAEIABIAIQhQIgAiADEPMBQQAhAANAAkADQANAIAIQnQIiBEUNAiAEKAJIEO4BRQ0ACyAEEHEiBC4BACABTg0ACyAAIAQuAQQgAUpqIQAMAQsLIAIQfyADJAYgAAufAQEDfyMGIQMjBkHwAGokBiAAKAIAKAIEIQIgAyAAKQEINwMAIAMgASACaxC3AiADIAIgAWoQpwIgA0EIaiICIAAoAgAQgAEgAhCFAiACIAMQ8wFBACEAA0ACQANAA0AgAhCdAiIERQ0CIAQoAkgQ7gFFDQALIAQQcSIELgECIAFODQALIAAgBC4BBiABSmohAAwBCwsgAhB/IAMkBiAAC9kBAQR/IwYhAyMGQRBqJAYCQAJAIABBJGoiAigCAEEBTA0AIAAoAhBBAUwNAAwBCyADQYqhGjYCACADQcQCNgIEQbCtFkHppBpBAkHH6xwgAxBRCwJAAkADQCABIAIoAgBODQEgAUEBaiEEIAAgAiABEE0oAgAQuSxBAEoEf0EABSAEIQEMAQshAAsMAQsgAEEQaiECQQAhAQNAIAEgAigCAE4EQEEBIQAMAgsgAUEBaiEEIAAgAiABEE0oAgAQuCxBAEoEf0EABSAEIQEMAQshAAsLIAMkBiAAC9gCAQd/IwYhBCMGQfAAaiQGIAAQqRcgBCAAKAIEEIABIAQQhQIgBCAAQQhqIgUQ8wEgAEEkaiECIABBEGohAwNAIAQQnQIiAQRAIAEQhQcEQCACIAEQ6wIQsAELIAEQzA8EQAJ/IAMhByABQRBqIgEuAQAhBiAHCyABLgEEIAZqQQIQThCwAQsMAQsLIAMoAgBBA0gEQEEAIQAFIAIoAgBBA0gEQEEAIQAFIAMQiQQgAhCJBCADEJAMIAIQkAwgBS4BACEBIANBABBNIAFBEHRBEHU2AgAgBS4BBCEBIAMgAygCAEF/ahBNIAFBEHRBEHU2AgAgBS4BAiEBIAJBABBNIAFBEHRBEHU2AgAgBS4BBiEFIAIgAigCAEF/ahBNIAVBEHRBEHU2AgAgAxCQDCACEJAMIAAQqBcgABCnFyAAIAAQuiwiAEEBcToAOAsLIAQQfyAEJAYgAAufAQEDfyMGIQIjBkEQaiQGIAJBCGohAyAAIAEQohcEQANAIAEQ9gEhBCAAIAEQohdFBEAgAkGKoRo2AgAgAkG8BjYCBEGwrRZBmKUaQQJBx+scIAIQUQsgARD2ASAESARAIANBiqEaNgIAIANBvQY2AgRBsK0WQZ6lGkECQcfrHCADEFELIAEQ9gEgBEoNAEEBIQALBUEAIQALIAIkBiAAC7YCAQh/IwYhBCMGQfAAaiQGIAJFBEAgBEGYsxc2AgAgBEGHCzYCBEGExPkAQbuzF0ECQcfrHCAEEFELIABB9N8IaigCALdEAAAAAAAA4D+itrsQwwO2EGUhCiAEQQhqIgUgAEHU3whqKAIAEIABIAUQhQIgBSACEHEiAC4BACAALgEEIAEEfyAALgECBSAALgEGC0EQdEEQdRDwA0H/////ByEGA0ACQANAAkADQAJAIAUgARDABCIDRQ0EIAMgAkcEQCADKAJIEJsFDQELDAELCyADEHEiByAAELUCIgggCkoNAiAHIAAQ5QQEQCABBEAgBy4BAiAALgECTA0CBSAHLgEGIAAuAQZODQILCwwBCwsgAyAJIAggBkgiAxshCSAIIAYgAxshBgwBCwsgBRB/IAQkBiAJC2YBAn8jBiECIwZB8ABqJAYgAiAAKAIEEIABIAIQhQIgAiABEPMBQQAhAQNAIAIQnQIiAARAIAMgABCFB0EBcWohAyABIAAQzA9BAXFqIQEMAQsLIAIQfyACJAYgAUECSyADQQJLcQtuAQJ/IwYhAiMGQRBqJAYCQAJAIAFBf0wNACAAEOcEIAFMDQAMAQsgAkGKoRo2AgAgAkH7ADYCBEGwrRZBuaIaQQJBx+scIAIQUQsgAEEQaiIAIAFBAWoQTSgCACAAIAEQTSgCAGshAyACJAYgAwvWAgEHfyMGIQIjBkHwAGokBiACQegAaiEEIAIgACgCBBCAASACEIUCIAIgAEEIaiIBLgEAIAEuAQQgAS4BBhDwAyAAQcwAaiEGAkADQAJAIAJBABDABCIDRQ0AIAMQhQdFDQAgAS4BACEFIAMQ6wIhByAEIAUgAS8BBkEBakH//wNxIAEuAQQgB0H//wNxEJUCIAQQa0EQdEEQdSEFIAYoAgBBAXQgBUgNAiAAIAQQzg9BAEoNAiABIAMQ6wIQpwIMAQsLCyACIAEuAQAgAS4BBCABLgECEPADAkADQAJAIAJBARDABCIDRQ0AIAMQhQdFDQAgBCABLgEAIAMQ6wJB//8DcSABLgEEIAEvAQJB//8DakH//wNxEJUCIAQQa0EQdEEQdSEFIAYoAgBBAXQgBUgNAiAAIAQQzg9BAEoNAiABIAMQ6wIQtwIMAQsLCyACEH8gAiQGCzIBAX8gABCGB0EBSgR/IAAQ5wRBAUoEfyAAEIYHIQEgABDnBCABbEEFSgVBAAsFQQALC5wDAQ1/IwYhAiMGQaABaiQGIAJBhAFqIgMQ+QMgAkHwAGoiBBD5AyACQQhqIgUgACgCABCAASAFEIUCIAUgAEEIahDzASAAQdQAaiEJQf////8HIQZBgICAgHghBwNAAkADQCAFEJ0CIgFFDQEgASgCSBDuAUUNAAsgARBxIgEuAQIgAS4BBk4EQCACQYqhGjYCACACQaQDNgIEQbCtFkHgohpBAkHH6xwgAhBRCwJ/IAEuAQIhDSABLgEGIQsgARBrQRB0QRB1IQggCSgCACAITgRAIAEQa0EQdEEQdbdEmpmZmZmZyb+iRAAAAAAAAOA/okQAAAAAAADgP6AQWiEIIAEuAQIgCGsiDCABLgEGIAhqIgFIBEAgAyAMELABIAQgARCwAQsLIA0iAQsgBiAGIAFKGyEGIAsiASAHIAcgAUgbIQcMAQsLIAMoAgAEQCAEKAIABEAgAxCJBCAEEIkEIAMgBCAAQSRqIgAQoxcgAEEAEE0gBjYCACAAIAAoAgBBf2oQTSAHNgIACwsgBRB/IAQQaCADEGggAiQGC4sCAQZ/IwYhASMGQaABaiQGIAFBhAFqIgMQ+QMgAUHwAGoiBBD5AyABQQhqIgUgACgCABCAASAFEIUCIAUgAEEIahDzAQNAIAUQnQIiAgRAIAIoAkgQ7gEEQCACEHEiBi4BACAGLgEETgRAIAFBiqEaNgIAIAFB8gI2AgRBsK0WQa6kGkECQcfrHCABEFELIAIoAiy3RDMzMzMzM9M/okQAAAAAAADgP6JEAAAAAAAA4D+gEFohAiADIAYuAQAgAmsQsAEgBCAGLgEEIAJqELABCwwBCwsgAygCAARAIAQoAgAEQCADEIkEIAQQiQQgAyAEIABBEGoQoxcLCyAFEH8gBBBoIAMQaCABJAYLrAIBBn8jBiEEIwZBIGokBiAEQQhqIQYgBCIHQRBqIQUCQAJAIAFBAEggASACSnINACAAEIYHIAJMDQAMAQsgB0GKoRo2AgAgB0HqATYCBEGwrRZBqqEaQQJBx+scIAcQUQsCQAJAIANBAEgNACAAEOcEIANMDQAMAQsgBkGKoRo2AgAgBkHsATYCBEGwrRZB6qEaQQJBx+scIAYQUQsgBRB5IABBJGohCCAAQRBqIQlBACEEA0AgASACTARAIAUgCCABEE0oAgAQtwIgBSAIIAFBAWoiBhBNKAIAEKcCQQAhAQNAIAEgA0wEQCAFIAkgARBNKAIAEI8CIAUgCSABQQFqIgEQTSgCABCOAiAEIAAgBRDOD0EASmohBAwBCwsgBiEBDAELCyAHJAYgBAucBgMOfwF+AXwjBiEEIwZBEGokBiAEQQhqIgsgASkBACIRNwMAIAQgETcDACABLgEGIAEuAQJqQQIQTiEIIAAgAS4BACABLgEEIAggAEEIaiIMKAIAQQIQTmtBARDgCSEFIAQgACABLgEAIAEuAQQgDCgCAEECEE4gCGpBABDgCRCnAiACQcwAaiEPIAJBQGshDkEKIQZB/////wchAwNAAkAgBSADRg0AIAQgBRC3AiAEEGtBEHRBEHUhAwJAIAwoAgAgA0wEQCACIAQQkQwgAhDQDwRAIAe3RGZmZmZmZuY/oiACEOcEt2UEQCAPKAIAt0QAAAAAAAAEQKIhEgJAAkAgDigCACIDIAlIIAO3RJqZmZmZmfE/oiAKt2ZFckUNACACQQAQqhdBAUoEQCASIAJBABDPD7dkDQELDAELIAsgBRC3AiAOKAIAIQpBASENIAcgAhDnBCIJIAkgB0gbIQcLQQohBiAOKAIAIQkMAwsLIAZBAkgNAiAGQX9qIQYLCyAAIAEuAQAgAS4BBCAFIgNBARDgCSEFDAELCyANBH8gACABLgEAIAEuAQQgDCgCAEECEE4gCGpBABDgCSEFIAQgCy4BAhC3AiACQTxqIQhBgICAgHghA0EAIQ1BACEJQQohBkEAIQoDQAJAIAMgBUYNACAEIAUQpwIgBBBrQRB0QRB1IQMCQCAMKAIAIANMBEAgAiAEEJEMIAIQ0A8EQCAHt0RmZmZmZmbmP6IgAhDnBLdlBEAgAhCGB0F/aiEDIA8oAgC3RAAAAAAAAARAoiESAkACQCAIKAIAIgYgCUggBrdEmpmZmZmZ8T+iIA23ZkVyRQ0AIAIgAxCqF0EBSgRAIBIgAiADEM8Pt2QNAQsMAQsgCyAFEKcCIAgoAgAhDSAHIAIQ5wQiCiAKIAdIGyEHQQEhCgsgCCgCACEJQQohBgwDCwsgBkECSA0CIAZBf2ohBgsLIAAgAS4BACABLgEEIAUiA0EAEOAJIQUMAQsLIAoEfyALELoDBH9BAAUgAiALEJEMIAIQ0A8LBUEACwVBAAshECAEJAYgEAtHAQJ/IwYhAyMGQRBqJAYgACABEL4sBH8gAyABKQEANwMAIAAgAxC8LAR/IAIgAxCRDCACELssBUEACwVBAAshBCADJAYgBAtVAQF/IABBADYCACAAQQA2AgQgAEEIahB5IABBEGoQ+QMgAEEkahD5AyAAQQA6ADggAEE8aiIBQgA3AgAgAUIANwIIIAFCADcCECAAQf////8HNgJUC1UBAX9B2AAQTyICEMcsIAIgACgCADYCACACIAAoAgQ2AgQgAiAAKAIQNgJUIAAgASACEMYsRQRAIAAgASACEMUsRQRAIAIQqxcgAhBMQQAhAgsLIAILygIBCH8jBiEFIwZB0AJqJAYgBUH4AGohCCAFQRBqIQcgBUEIaiEKIAVB4AFqIgkgARCAASAJELgBA0AgCRDpASIEBEAgBCgCSEEGRgRAIAQQ4wkLDAELCyAIIABBkAFqEIABIAgQuAEDQCAIEKoGIgQEQCAEEJEBIQsgByABEIABIAcgCxDzAUEAIQQDQAJAA0AgBxCdAiIGRQ0BIAYoAkgQ7gFFDQALIAUgBhBxKQEANwMAIAUgCxCUB0QzMzMzMzPjP2QEQCAHEK4DIAQEQCAEIAYgAxCWBwUgBiEECwsMAQsLIAQEQCABIAQQcSIGLgEAIAYuAQIgBSAKELYCIAQgACgCACACIAooAgBBAnRqKAIAELQPIAQQ0Q8gBEEHEIAHIARBAxDtAyAEEO0EIAEgBBCxAgsgBxB/DAELCyAIEH8gCRB/IAUkBgvWAwENfyMGIQIjBkGQAmokBiACQRBqIQEgABCPDC4BACAAEI4MIgwuAQBrIgdBAEwEQCABQc6lGjYCACABQaoNNgIEQZir+QBBv6UaQQJBx+scIAEQUQsgAkEIaiEKIAJBOGohBCACQRhqIQVBfyAHQQJ0IAdB/////wNLGxBPIQggAkGgAWoiCSAAQZABahCAASAJELgBIABBEGohDQNAIAkQqgYiCwRAIAogCxCRASkBADcDAEEAIQEDQCABIAdIBEAgCCABQQJ0akEANgIAIAFBAWohAQwBCwsgBCANEIABIAQQhQIgBCAKEPMBA0AgBBCdAiIBBEAgASgCSBDuAQRAIAEoAjRBBkcEQCACIAEQcSkBADcDACACIAoQlAdEMzMzMzMz4z9jDQMgBSABEOgCEJIBIAUQngFBACEGA0AgBRCNAUUEQCAFEIEBEGIiAS4BACEDIAEuAQQhASAGIAMgBiADShshAwNAIAMgAUgEQCAIIAMgDC4BAGtBAnRqIgYgBigCAEEBajYCACADQQFqIQMMAQsLIAUQqwEaIAEhBgwBCwsLCwwBCwsgACAIIAcQtixFBEAgCRDrBSALEEwLIAQQfwwBCwsgCBBMIAkQfyACJAYLxwEBB38jBiEBIwZBkAFqJAYgAUGMAWoiBRBXIAFB8ABqIgIgBRCSASABQQhqIgMgAEGQAWoiBhCAASADELgBA0AgAxCqBiIHBEAgASAHEJEBIgQpAQA3AwAgACAEIAEQtSwgARC6A0UEQEEYEE8iBBCNDCAEIAEQngUgAiAEEOkECyADEOsFIAcQTAwBCwsgBhCwAyACEKgIIAIQngEDQCACEI0BRQRAIAYgAhCQAhDhCSACEPUBDAELCyADEH8gBRDvASABJAYL4QMBCH8jBiEDIwZBwAFqJAYgA0EIaiEEIANBlAFqIgYgARBVIANB+ABqIgEgAhBVIANBEGoiCSAAQfAAahCAASAJELgBIAAQjwwuAQIgABCODEECaiIKLgEAayIIQQBMBEAgBEHOpRo2AgAgBEG2CjYCBEGYq/kAQe2lGkECQcfrHCAEEFELIANBsAFqIQQgCEF/IAhBf0obEE8hBwNAIAkQqgYiAARAQQAhAgNAIAIgCEgEQCAHIAJqQQA6AAAgAkEBaiECDAELCyAAEJEBIQAgBhDVCBogBhBbA0AgBhBZRQRAIAMgBhBTEJEBKQEANwMAIAQgAyAAEPAEIAQuAQIhAgNAIAIgBC4BBkgEQCAHIAIgCi4BAGtqQQE6AAAgAkEBaiECDAELCyAGEFYMAQsLIAMQeSADIAAuAQAQjwIgAyAALgEEEI4CQQEhBQNAIAUgCEgEQCAHIAVqIQICQAJAIAcgBUF/amoiACwAAA0AIAIsAAAEQCADIAUgCi4BAGoQtwIgACwAAA0BCwwBCyACLAAARQRAIAMgBSAKLgEAahCnAiADELoDRQRAQRgQTyIAEI0MIAAgAxCeBSABIAAQoAELCwsgBUEBaiEFDAELCwwBCwsgBxBMIAkQfyADJAYLiQIBBn8jBiECIwZB8AFqJAYgAkHQAWoiByABEFUgAkHoAGoiBiAAQRBqIgAQgAEgBhC4AQNAIAYQ6QEiAwRAIAMsAIABEIkBRQRAIAMoAkhBBkYEQCADEHEhAUEYEE8iBRCNDCAFIAEQngUgA0EBEMsPIAIgABCAASACIAEuAQAgAS4BBCABLgECEPADQQAhAQNAAkADQAJAIAJBARDABCIERQ0CIAQsAIABEIkBRQRAIAQQhQdFDQELDAELCyAEKAJIQQZHDQAgBSAEEHEQngUgBEEBEMsPQQEhAQwBCwsgAQRAIAcgBRCgAQUgA0EAEMsPIAUQTAsgAhB/CwsMAQsLIAYQfyACJAYLggMBC38jBiEBIwZB4AFqJAYgAUEIaiEFIAAoAhQhCSABQfAAaiIDIABB8ABqIgoQgAEgAxC4AQNAIAMQqgYiBgRAIAYoAhRBAUYEQEEAIQgDQCABIAYQkQEpAQA3AwAgCSABLgEGaiECIAAQjwwuAQIhBCABLgECIAlrIQcgABCODC4BAiELIAEgBCACIAIgBEobEKcCIAEgCyAHIAcgC0gbELcCIAUgChCAASAFIAEQ8wFBACEHA0ACQANAAkADQAJAA0ACQANAIAUQoRciAkUNByACIAZGDQALIAIQkQEiBCABEJQHRM3MzMzMzOw/Zg0AIAIoAhRBAkcNAQwCCwsgBiAEEJ4FIAUQ6wUgAxD2AiACEExBASEIDAELCyAEIAEQ5QQEQCABIAQQuwNFDQELDAELCyAGIAQQngUgBRDrBSADEPYCIAIQTEEBIQdBASEIDAELCyAFEH8gBw0ACyAIBEAgAxDrBSAKIAYQ4QkgAxD2AgsLDAELCyADEH8gASQGC9IBAQZ/IwYhAiMGQZABaiQGIAJBCGohAyACQfAAaiIEIAEQVSAEEFsgAEEQaiEHA0AgBBBZRQRAIAIgBBBTIgUQkQEpAQA3AwAgAyAHEIABIAMQhQIgAyACEPMBQQAhAEEAIQEDQAJAA0AgAxCdAiIGRQ0BIAYoAkgiBkEGRwRAIAAgBkEBRmohAAwBCwsgAUEBaiEBDAELCyAAIAFyBEAgBSABNgIMIAUgADYCECAFEK4sBSAEEJ8BIgAEQCAAEEwLCyADEH8gBBBWDAELCyACJAYLZgEDfyMGIQQjBkEQaiQGA0AgAyAAKAIcSARAIAEgA0ECdGooAgAiBQRAIAQQVyAFIAAoAhQiBSADbCAFIANBAWoiA2wgBBCtLCAEIAIQrCwgBBCSDAUgA0EBaiEDCwwBCwsgBCQGCwsAIAAQkwwgABBMC1IBBH8gAEEQaiIBENMPIABBMGoiAhDTDyAAQdAAaiIDENMPIABB8ABqIgQQrxcgAEGQAWoiABCvFyAAEJMMIAQQkwwgAxDdCCACEN0IIAEQ3QgLSwEDfwNAIAFBBEcEQCAAQdwAaiABQQJ0aiICKAIAIgMEQCADELIXBEAgAkEANgIAIABB7ABqIAFqQQA6AAALCyABQQFqIQEMAQsLCywAIAFBBUYgAEEFRiAAIAFGcnIEfyAAEOUJBH9BAAUgARDlCUEBcwsFQQALC/kBAQZ/IwYhBSMGQdAAaiQGIAVBCGohBiAFQQxqIQMgBUEoaiIEIAIQkgEgBBCeASABQQFzIQcCQAJAAkADQAJAIAQQjQEEQEEBIQAMAQsgBBCBASIBIABBABDmCUUEQCADIAQpAgA3AgAgAyAEKQIINwIIIAMgBCkCEDcCECADIAQoAhg2AhggAxCeAQNAIAMQjQFFBEAgAxCBASICIAFHBEAgASACQQAQmwgiCCAHckUNBiAIRQ0HCyADEPUBDAELCwsgBBD1AQwBCwsMAgtBzJoaIAUQSyACEHEQnQFB6ZoaIAYQSyABEHEQnQELQQAhAAsgBSQGIAALtwEBBH8jBiEDIwZBQGskBiADQQRqIQYgABDvASADQSRqIgQgARCsBiADQQhqIgUgAhCsBiAEEJ4BA0AgBBCNAUUEQCAGIAQQgQEiAjYCACADQQA2AgACQAJAIAUQ1AINAANAAkAgAyAFEIEBIgE2AgAgBRCfBQ0AIAMgBhD+D0EATg0AIAUQqwEaDAELCyABRQ0AIAMgBhD+Dw0ADAELIABBwgAgAhDNAwsgBBCrARoMAQsLIAMkBgvyAQEGfyMGIQMjBkHgAGokBiADQThqIQQgA0EcaiEFIAFBAXMhBwJAA0ACQCAEIAIQkgEgBBCeAQJAAkACQANAIAQQjQENBiAFIAQQgQEiBkHUAGogBkHYAGogARsQkgEgBRCeAQNAIAUQjQFFBEAgBRCBASIIIABGDQMgAyACEJIBIAMQngEDQCADEI0BRQRAIAggAxCBAUYNBiADEPUBDAELCyAFEPUBDAELCyAEEPUBDAAACwALIAQQkAIaIAYgByAAEKYFDAELIAMQkAIaIAggByAAEKYFCyACKAIAIgZFDQAgBhCoAkUNAQsLCyADJAYLhAEAIAAoAkggARCfDARAIABBASACIAMQuRcgAEEAIAIgAxC5FwUgAUEPRgRAIABBASAAQdQAaiIBENUPIABBACAAQdgAaiICENUPIAEoAgAiAwRAIAMQqAJFBEAgAEEBIAEQ1A8LCyACKAIAIgEEQCABEKgCRQRAIABBACACENQPCwsLCwvOAQEGfyMGIQMjBkEgaiQGIANBEGoiBEEAIAEQsQEgA0EAIAEQsQEgAEHIAGoiBigCACEBIABB7ABqIQcgAEEAEN4CIQIDQCACBEAgAigCSCEFIAcoAgAgAigCbEYEQCAEIAIoAmRBARCIASADIAIoAmhBARCIAQsgAkEAEN4CIQIgBSABIAUgAUobIQEMAQsLIAYgATYCACAAQQAQ3gIhAANAIAAEQCAAIAE2AkggAEEAEN4CIQAMAQsLIAMoAgwQhAEgBCgCDBCEASADJAYLnwECBH8BfSMGIQEjBkEgaiQGIAEgAEHMAGoQkgEgAEEsaiAAQSBqIAAoAjAQ0AMbKAIAsiEFQQAhAANAIAEQ1AJFBEAgARCQAiIDEGIiAi4BBiEEIAIuAQIhAiAABEAgACADIASyIAJBEHRBEHWyIAUQ5w8FQagBEE8iACADIASyIAJBEHRBEHWyIAUQqQwLIAEQqwEaDAELCyABJAYgAAvtAwEIfyMGIQcjBkHQAGokBiAHQRhqIQkgB0EQaiEKIAdBCGohDSAHQShqIQYgB0EkaiELIAdBIGohDCAAQeEAaiIILAAARQRAIAhBAToAACAGIAUQVQJAAkAgAEEBEN4CIgVFDQAgBSgCXCIIBEAgACAINgJcIAggABC8FwwCC0G0vPkAKAIARQ0AQfiVGiAHEEsgABDYASAFENgBCyAGEI0DIAYQWyAAQeQAaiEIQQAhBQNAAkAgBhBZDQAgBSAIKAIARg0AIAYQViAFQQFqIQUMAQsLQcy8+QAoAgBBAUoEQCANQayWGkGklhogBUEBcRs2AgBBsZYaIA0QSyAAENgBCyAGEFkEQEG0vPkAKAIABEAgCiAIKAIANgIAIAogBTYCBEHClhogChBLCwsgBhBZBEAgCUGRqxc2AgAgCUHwCjYCBEG4lRZB4ZYaQQJBx+scIAkQUQsgBhBTIQkgBhBZRQRAIABB6ABqIgooAgAgCCgCAEcEQCAAKAJIQQhyQQtHBEAgCxBXIAwQVwNAAkAgBhBZDQAgBSAKKAIASg0AIAYQUyABIAIgAyAEIAsgDBChDCAGEFYgBUEBaiEFDAELCyAJIAsgDBDWDyAMEJIHIAsQyAYLCwsgACAJNgJcIAkgABC8FwsLIAckBgtVAQF/IAAQ6wIhAiABIAEQ6wIgAmpBAhBOIgIQwwRBFBBOIAAgAhDDBEEUEE5BARCXAgR/IAEgAhDEBEEUEE4gACACEMQEQRQQTkEBEJcCBUEACyIAC0wBAn8gACgCCCABQRBqIgIuAQBKBH9BAAUgASgCCCAAQRBqIgMuAQBKBH9BAAUgASgCDCADLgEESAR/QQAFIAAoAgwgAi4BBE4LCwsL6QQBCn8jBiEFIwZB0ABqJAYgABBwIgtBEGouAQIiBCEHIAAQpAJFBEAgAEEBEMwDQRBqLgEGIgYhAyAGQRB0QRB1IARBEHRBEHVKBEAgAyEHBSAGQRB0QRB1IARBEHRBEHVIBEAgAyAHakECEE4hBwsLCyAFQThqIQQgBUE0aiEGIAVBGGohAyAFQUBrIgpB/////wc2AgAgBUE8aiIIQYGAgIB4NgIAIAsgCCAKEOoJGgNAAkAgABDxAyAAEHAhCSAAEKQCDQAgCSAIIAoQ6gkNAQsLIARB/////wc2AgAgBkGBgICAeDYCACAJIAYgBBDqCRogBCgCACAIKAIAIghIBEAgAyAAKQIANwIAIAMgACkCCDcCCCADIAApAhA3AhAgAyAAKAIYNgIYA0ACQCADEPEDAn8gAxBwIQwgAxCkAg0BIAwLIAYgBBDqCQ0BCwsDQAJAIAAQeCAAEHAiAyALRg0AIAMgBiAEEOoJDQELCyAAEPEDCyAAQQEQzAMiBBBxLgEGIgYhAyAAEKQCRQRAIAAQcEEQai4BAiAGQRB0QRB1SgRAIAAQcEEQai4BAiADakECEE4hAwsLIAEgB0H//wNxEPQBIAEgBCAIIAcQpAVB//8DcRDiASACIANB//8DcRD0ASACIAQgCCADEKQFQf//A3EQ4gFBzLz5ACgCAARAIAAQpAJFBEAgAi4BACEAIAQgCigCACADEKQFIQEgBEEQai4BBCECIAQoAgwhBCAFIAc2AgAgBSADNgIEIAUgADYCCCAFIAE2AgwgBSACNgIQIAUgBDYCFEHolBogBRBLCwsgBSQGC+cEAQp/IwYhBSMGQdAAaiQGIAAQcCIJQRBqLgEGIgQhByAAEPcCRQRAIABBfxDMA0EQai4BAiIGIQMgBkEQdEEQdSAEQRB0QRB1SARAIAMhBwUgBkEQdEEQdSAEQRB0QRB1SgRAIAMgB2pBAhBOIQcLCwsgBUE4aiEGIAVBNGohBCAFQRhqIQMgBUFAayIIQf////8HNgIAIAVBPGoiC0GBgICAeDYCACAJIAsgCBDpCRoDQAJAIAAQeCAAEHAhCiAAEPcCDQAgCiALIAgQ6QkNAQsLIAZB/////wc2AgAgBEGBgICAeDYCACAKIAQgBhDpCRogBCgCACAIKAIAIghKBEAgAyAAKQIANwIAIAMgACkCCDcCCCADIAApAhA3AhAgAyAAKAIYNgIYA0ACQCADEHgCfyADEHAhDCADEPcCDQEgDAsgBCAGEOkJDQELCwNAAkAgABDxAyAAEHAiAyAJRg0AIAMgBCAGEOkJDQELCyAAEHgLIABBfxDMAyIEQRBqIgYuAQIiCSEDIAAQ9wJFBEAgABBwQRBqLgEGIAlBEHRBEHVIBEAgABBwQRBqLgEGIANqQQIQTiEDCwsgASAHQf//A3EQ9AEgASAEIAggBxCkBUH//wNxEOIBIAIgA0H//wNxEPQBIAIgBCAIIAMQpAVB//8DcRDiAUHMvPkAKAIABEAgABD3AkUEQCAEIAsoAgAgAxCkBSEAIAIuAQAhASAEKAIIIQIgBi4BACEEIAUgBzYCACAFIAM2AgQgBSAANgIIIAUgATYCDCAFIAI2AhAgBSAENgIUQaiVGiAFEEsLCyAFJAYL3gEBB38jBiECIwZBMGokBiACQQhqIQQgAkEMaiEDIAAoAgAEfyADIAAQfSACIAMQcBBxKQEANwMAIAIQbiEGIAMQcCgCSCEHIAMQlAEDQCADEI4BRQRAIAIgAxBwEHEQvAEaIAMQeAwBCwsgByEDQcy8+QAoAgAEQEHnlRogBBBLIAIQnQELQeAAEE8iBEHT1fkAIAIuAQAgAi4BAiACLgEEIAIuAQYQkwdBEBBPIgUgAiADEKMMIARBBGogBRBQQQEgBkEQdEEQdSAEIAAgARC+FwVBAAshCCACJAYgCAtrAQN/An8gASgCACEEIAAoAgBBEGoiABC5DCEBIARBEGoiAgsQuQwhAwJ/AkAgASACLgECTgRAIAEgAi4BBkwNAQsgAyAALgECTgRAIAMgAC4BBkwNAQsgAyABawwBCyAAEMIGIAIQwgZrCwupAQEEfyAAKAJwIgQgAxCdCCEFIAEoAnAiBiADEJ0IIgcgBSAFIAdIGyEFIAAoAiAgBCADEOsJIQQgASgCICAGIAMQ6wkiAyAEIAQgA0gbIQMgASgCdCAAKAJ0aiEEAn8CQCACIAEoAnggACgCeGoiACAFEJcCRQ0AIAIgBCADEJcCRQ0AQQEMAQsgAkEBdCIBIAAgBRCXAgR/IAEgBCADEJcCBUEACwsiAAurCQIafwJ8IwYhAyMGQfABaiQGIANB4ABqIRAgA0HYAGohDCADQdAAaiENIANByABqIREgA0FAayESIANBOGohEyADQTBqIRQgA0EoaiEVIANBIGohFiADQRhqIRcgA0HkAGohCCADQbgBaiIEIAIQfSAEEJQBIANB1AFqIgkgBCkAADcAACAJIAQpAAg3AAggCSAEKQAQNwAQIAkgBCgAGDYAGCABIAkQwBchAiADQZwBaiIHIAQpAgA3AgAgByAEKQIINwIIIAcgBCkCEDcCECAHIAQoAhg2AhggA0GAAWoiBiAEKQIANwIAIAYgBCkCCDcCCCAGIAQpAhA3AhAgBiAEKAIYNgIYA0AgBUEGRwRAAkACQCAFQQJJDQAgBBCOAQ0AIAVBA0YEQCAGIAQpAgA3AgAgBiAEKQIINwIIIAYgBCkCEDcCECAGIAQsABg6ABgLIAMgBUECdGogBBBwNgIAIAQQeAwBCyADIAVBAnRqQQA2AgALIAVBAWohBQwBCwsgA0EIaiEYIANBDGohGSADQXxqIRogA0EUaiEOIANBBGohGwNAIBgoAgAiBQRAAkACQCAZKAIAIgtFIgoNACAFIAsgABDCF0UEQCAAIAIgAxDYD0UEQCAAIAIgGhDYDwRAIAsgAiAAEJ0MDQQLIAAgAiAbENgPRQ0CIAUgAiAAEJ0MRQ0CCwsMAQsgCCAHKQIANwIAIAggBykCCDcCCCAIIAcpAhA3AhAgCCAHKAIYNgIYQQAhAkQAAAAAAAAAACEdRAAAAAAAAAAAIR4DQCAIEHAiCyAFRwRAIB4gCygCeLegIR4gHSALKAJ0t6AhHSAIEHggAkEBaiECDAELCwJAIAIEQCAdIAK3Ih2jRAAAAAAAAOA/oBBaIQsgHiAdo0QAAAAAAADgP6AQWiEPQcy8+QAoAgAEQEHqkRogFxBLAkAgCgRAQYSSGiAWEEsFQZOSGiAVEEtBACECA0AgAkEGRg0CAkAgAyACQQJ0aigCACIKBEAgCigCdCEcIAooAnghCiANIBw2AgAgDSAKNgIEQdeSGiANEEsFQdfnHCAUEEsgAgRAIAMgAkF/akECdGooAgAiCgRAIApBABDeAgRAQa6SGiATEEsgCkEAEN4CENgBBUG+khogEhBLCwwDCwtBwpMfIBEQSwsLIAJBAWohAgwAAAsACwsgDCALNgIAIAwgDzYCBEHukhogDBBLCyAIIAcpAgA3AgAgCCAHKQIINwIIIAggBykCEDcCECAIIAcsABg6ABgDQCAIEHAiAiAFRg0CIAIgCxDZDyACIA8Q2g9BzLz5ACgCAARAQYSTGiAQEEsgAhDYAQsgCBB4DAAACwALCyAHIAYpAgA3AgAgByAGKQIINwIIIAcgBikCEDcCECAHIAYsABg6ABggCSAGKQAANwAAIAkgBikACDcACCAJIAYpABA3ABAgCSAGKAAYNgAYIAEgCRDAFyECC0EBIQUDQCAFQQZHBEAgAyAFQX9qQQJ0aiADIAVBAnRqKAIANgIAIAVBAWohBQwBCwsgBBCOAQRAIA5BADYCAAUgDiAEEHA2AgAgBBB4CyAGEHgMAQsLIAMkBgvtCAMWfwF+AXwjBiEKIwZB0AFqJAYgCkFAayEPIApBOGohGiAKQRhqIQ0gCkEIaiEQIApB+ABqIQ4gCkH0AGohFSAKQdgAaiEXIAEuAQIgAC4BAmshFiAKQbABaiIHIAMQfSAHEJQBIApBlAFqIhJBDGohEQNAIAcQjgFFBEAgBxBwIggQ6AIiCygCAEUEQCAKQZGrFzYCACAKQZwLNgIEQbiVFkGJkBpBAkHH6xwgChBRCyASQQAgCBBxIgkQa0EQdEEQdRCxAQJ/IAkQayEcIA4gCxCSASAOEIEBEGIuAQIhGyAOEKsBGiAbQRB0QRB1IQsDQCAOEKkGRQRAIBJBACAOEIEBEGIuAQIiCSALayILayALIAtBAEgbQQEQiAEgDhCrARogCSELDAELCyAIIBIQ4wFEAAAAAAAA4D+gEFo2AnAgBxCkAgRAIAggFhDaDyAIIBYQ2Q8FIAdBARDMAyEJIAggCCgCGCAJKAIYaxDaDyAIIAgoAhwgCSgCHGsQ2Q8LQcy8+QAoAgAEQCAIENgBIBIQ4wEhHiAIKAJ0IQsgCCgCeCEJIBAgHjkDACAQIAs2AgggECAJNgIMQaGQGiAQEEsLIBEoAgAQhAEgBxB4IBhBAWohGCAcQRB0QRB1IgkLIBMgEyAJSBshEwwBCwsgGARAIAIgFiADEOMsIBIgBRBVIA4gBhBVIBUQVyAXIBUQfSATQQNsIRAgBxCUAQNAIAcQ+QFFBEAgFyAHEIcCIgwQjAQgBxB4AkACQCAHEPkBDQAgDEH4AGoiAygCACAQSg0AIAwgBxBwIAIQwhdFDQBBzLz5ACgCAARAIAcQ+QFFBEAgBxBwIREgAygCACELIBEoAnQhCSARKAJ4IQYgDCgCICEFIBEoAiAhAyAPIAwoAnQ2AgAgDyALNgIEIA8gCTYCCCAPIAY2AgwgDyAFNgIQIA8gAzYCFEGykRogDxBLCwsMAQsCQCAHEPkBRQRAIAxB+ABqIhMoAgAgEEwEQCAHEHAhFCAHEKQCBH9BAAUgB0EBEMwDCyEIQcy8+QAoAgAEQCAMKAJ0IRggEygCACERIBQoAnQhGSAUKAJ4IQsgDEEgaiIFKAIAIQkgFEEgaiIDKAIAIQYgCAR/IAgoAiAFQQALIRYgDSAYNgIAIA0gETYCBCANIBk2AgggDSALNgIMIA0gCTYCECANIAY2AhQgDSAWNgIYQdiQGiANEEsFIAxBIGohBSAUQSBqIQMLIAUoAgAiBiADKAIAIgMQwRcEQCADrEIDfiIdIBMoAgAiBaxVBEAgBqxCA34gDCgCdKxVBEAgCARAIAMgCCgCICIDEMEXBEAgA6xCA34gFCgCeCIDrFUEQCAdIBQoAnSsVyADIAVKckUNCAsLCyAXIAcQhwIQjAQgBxB4Qcy8+QAoAgAEQEGUkRogGhBLCwsLCwsLCyAAIAEgFSAEEMMXIgMEQCAOIAMQuwEgEiADKAIYELsBCyAXIBUQrwMLDAELCyAVELUDCyAKJAYL7AMBDn8jBiEHIwZB4ABqJAYgB0HcAGohCiAHQUBrIQsgB0EkaiEMIAdBCGohDSAAQRBqIgYQnQMgAEEsaiEOIABBMGohDwNAIAYQ+QFFBEAgChBXIAsgChB9QQAhCQNAAkACQCAGEIcCIggoAjBBBUYNACAIKAJIIgUQ7gEEQCAFQQZHDQELDAELQQEhCQsgCEEANgJcIAYQeCALIAgQqQIgCEEAEN4CIQUCQAJAIAYQ+QENACAFRSAFIAYQcEdyDQAMAQsgBhD5AQRAQQAhBQUgBhBwIQUgCBBxIRAgBRBxIREgCCgCSCISIAUoAkgiCBCfDARAIBIQ5AQEQEEAIQUFIAgQ5AQEQEEAIQUFIBEuAQIgEC4BBkoEQEEAIQUFIAlFBEAgEC4BAiARLgEGSgRAQQAhBQsLCwsLBUEAIQULCwsgBUEARyAGEPkBQQFzcQ0ACyAJBEAgASACIAMgCiAEIA4gDxDkLAUgASACIAogBBDDFyIJBEAgDCAPEFUgDCAJELsBIA0gDhBVIA0gCSgCGBC7AQsLIAoQtQMMAQsLIAYgAEEMahCvAyAAQQA2AgggAEEsahCaAiAAQTBqEJoCRwRAIAdB5Y8aNgIAIAdBjQE2AgRBmK0WQbOPGkECQcfrHCAHEFELIAckBgsQACAABEAgABCgDCAAEEwLC5YBAQN/IwYhAiMGQSBqJAYgABDrAiEDIAIgARCSASACEJ4BIABByABqIQQDQAJAIAIQjQENACACEIEBIQEgBCgCAEEORwRAIAEoAkhBDkcEQCABIABBABDeAkYNAiABKAIcIAEoAhhqQQIQTiADSA0CCwsgAhD1AQwBCwsgAhCNAQRAIAIgABC2BgUgAiAAEOIJCyACJAYLrQMBCX8jBiEIIwZB4ABqJAYgCEHcAGoiDBBXIAhBQGsiByAMEFUgByAFEIYCIAcQjQMgCEEkaiIKIAUQVSAIQSBqIgUQVyAIQRxqIgkQVyAIIABBBGoQfSAIEJQBQQAhAANAIAgQjgFFBEAgCBBwIgtBQGshDQNAAkAgBxC1AQ0AIAcQUyIGKAIEIg4EQCAOKAJEIA0oAgBKDQELIAcQnwEaIAYgASACIAMgBCAFIAkQoQwgBgRAIAYQoAwgBhBMCyAHEFYMAQsLQTQQTyIGQQAQ1w8gCiAGEKABIAAgBiAAGyEAAkACQCAHELUBDQAgBxBTIgZFDQAgBigCBCALENwsRQ0AIAYgCzYCBCAKIAcQnwEQoAEgBxBWIAAgBSAJENYPQQAhAAwBC0E0EE8iBiALENcPIAogBhCgAQsgCBB4DAELCwNAIAcQtQFFBEAgBxCfASIGIAEgAiADIAQgBSAJEKEMIAYEQCAGEKAMIAYQTAsgBxBWDAELC0E0EE8iAUEAENcPIAogARCgASAAIAEgABsgBSAJENYPIAkQkgcgBRDIBiAMEMQXIAgkBgtGAQJ/IwYhASMGQSBqJAYgASAAEFUDQCABEFNBBGoiAkEAIAIvAQBrQf//A3EQ4gEgARBWIAEQ/wFFDQALIAAQpgwgASQGC/kCAwh/AX4CfCMGIQMjBkHQAGokBiADQRBqIgggASkCuAEiCzcDACADQQhqIgRDAACAP0MAAAAAEKQBIAunIQkgC0IgiKchBiACQQRqIgooAgAiBygCDEEHRgRAIAFBsAFqIgYqAgBDAAAAAFsEQCAEIAYpAgA3AwAFIARDAAAAAEMAAIC/EKQBCyACIAQQ5A8gA0MAAIA/QwAAAAAQpAEgCCADKQMAIgs3AwAgC6chCSALQiCIpyEGCyADQRhqIQUgA0FAayEHIAQgASoCqAEgASoCrAEQtQQgACAEKQMANwIAIAQgBCoCBIwQlgMgAiAEELEYIAIgCBCwGEHMvPkAKAIABEAgAigCGCEBIAooAgAiACgCDCEAIAMgAhDmAiADKgIAuyEMIAcgAhDmAiAHKgIEuyENIAUgATYCACAFIAA2AgQgBSAMOQMIIAUgDTkDECAFIAm+uzkDGCAFIAa+uzkDIEGUjhogBRBLIAoQwwEQnQELIAMkBgvTAwMMfwF+AnwjBiEDIwZB8ABqJAYgAQRAIABBmAFqIgQpAgAhDyAEIABBoAFqIgQpAgA3AgAgBCAPNwIABSAAQaABaiEECyADQcgAaiELIANBCGohBSADQdAAaiIHIAIQVSAHEFsgA0EoaiIIQQxqIQ0gA0E4aiIJQQxqIQ5BASEMA0AgBxBZRQRAIAcQUyIKKAIYIQIgAQRAIAJBBGoiBigCABDpLCACIAYoAgAQkQEpAQA3ARALIAIgBBDkDyACIAEQtBggAiAEKQIANwJUIAJBBGoiBiAMNgIUIAsgACACEOosIAlBACAGEMMBIgYQbkEQdEEQdRCxASAIQQAgBhBrQRB0QRB1ELEBIAsgCkEEaiAJIAgQxhcgBSAKEOwBEH0gBRCUAQNAIAUQjgFFBEAgCyAFEHAQ1AEgCSAIEMYXIAUQeAwBCwsgCRDjASEQIAgQ4wEhESACIBBEAAAAAAAA4D+gEFogEUQAAAAAAADgP6AQWhDTF0HMvPkAKAIAQQFKBEAgAkHcAGoiAi4BACEKIAIuAQIhAiADIAo2AgAgAyACNgIEQfaNGiADEEsLIA0oAgAQhAEgDigCABCEASAHEFYgDEEBaiEMDAELCyADJAYLsQMBE38jBiEDIwZBwAFqJAYgA0EIaiEJIANBEGohBiADQbgBaiIFEFcgA0GcAWoiEiAAQYQCahB9IANBmAFqIgcQVyADQTBqIgggAEHcAWoQgAEgCBC4ASAAQdQBaiETIABBFGohDCAAQRhqIQ0gAEEkaiEOIABB/AFqIQ8gCEEoaiEQIABBBGohFEF/IREDQCAIEOkBIgoEQCAQKAIAIgQgEUcEQCAAIAcgBRDFFyAEIRELIBMoAgAgBEECdGooAgAiBCALRwRAIARFBEAgA0Hojho2AgAgA0GYCzYCBEG8uvkAQdKOGkECQcfrHCADEFELIAQgDCANIA4oAgAgDyAFEOgsQcy8+QAoAgAEQCAUKAIAIBAoAgAiFWwhCyAJIBU2AgAgCSALNgIEQYWPGiAJEEsLIAQhCwsgCigCSEEORgRAIBIgChCMBAUgCiAHEOcsCwwBCwsgACAHIAUQxRcgBiAFEFUDQCAGELUBRQRAIAYQnwEiACAMIA0gDigCACAPIAEgAhChDCAABEAgABCgDCAAEEwLIAYQVgwBCwsgCBB/IAcQ7wEgBRDEFyADJAYLtAMCDH8BfSMGIQMjBkHwAWokBiADQQhqIQYgA0HMAWoiCCACEFUgA0GwAWoiCSABEFUgA0GsAWoiBxBXIANBkAFqIgogBxB9IANBKGoiBCAAEIABIAQQuAEDQCAEEOkBIgEEQCAKIAEQqQICQAJAIAEoAjAiAhDoCQ0AIAJBBUYEQCABEJYFQQFKDQELIAEQvwcMAQsgAyABEHEpAQA3AwAgASgCLCELIAEoAiAhDCABENosIg1FBEAgARC/BwwBC0HgABBPIgVB09X5ACADLgEAIAMuAQIgAy4BBCADLgEGEJMHQRAQTyIBIANBB0EBIAJBBkYiDhsQowwgBUEEaiABEFBB4AAQTyICIAUQ3Q8gBiACEOwBEH0gBiANEKkCIAIgDgR/IAJBJGoiASALsiIPOAIAIAIgAxBuQRB0QRB1sjgCICADEG4FIAJBJGoiASAMsiIPOAIAIAIgAxBrQRB0QRB1sjgCICADEGsLQRB0QRB1QQFqsjgCKCAPQwAAAABbBEAgAUMAAIA/OAIACyAJIAUQuwEgCCACELsBCwwBCwsgABCwAyAEEH8gBxC1AyADJAYL5gEBBX8jBiEDIwZBQGskBiADQSRqIQEgA0EIaiECIABBHGohBSAAKAIMIAAoAghsIQQDQCAEQX9qIQAgBEEASgRAIAEgBSgCACAAQQJ0ahCSAQNAIAEQnwVFBEAgARCBASEEIAIgASkCADcCACACIAEpAgg3AgggAiABKQIQNwIQIAIgASgCGDYCGCACEPUBA0AgAhCpBkUEQCACEIEBIARGBEAgA0Gm4Bo2AgAgA0GJBTYCBEG8uvkAQfOWGkECQcfrHCADEFELIAIQ9QEMAQsLIAEQ9QEMAQsLIAAhBAwBCwsgAyQGC7cCAQl/IwYhASMGQZABaiQGIAFBIGohBSABQRhqIQcgAUEQaiEIIAFBCGohBiABQShqIgQgAEHcAWoQgAEgBBC4ASAAQdQBaiEJIARBKGohAANAIAQQ6QEiAgRAIAJBARDeAiIDBEAgA0EAEN4CIAJHBEAgASACELsXELkCNgIAQYWXGiABEEsgAhDYASAGIAMQuhcQuQI2AgBBpJcaIAYQSyADENgBQceXGiAIEEsgA0EAEN4CBEAgA0EAEN4CENgBBUHllxogBxBLCwsgA0EAEN4CIAJHBEAgBUHojho2AgAgBUHQCjYCBEG8uvkAQeuXGkECQcfrHCAFEFELBSACQQAQ3gIEQCACIAkoAgAgACgCAEECdGooAgBBBGoQjwdBAXRBAXIQ2SwLCwwBCwsgBBB/IAEkBgutBgITfwF8IwYhASMGQcABaiQGIAFBMGohECABQShqIREgAUEYaiEKIAFBEGohEiABQQhqIRMgASIOQTRqIQUgAUHQAGoiDCAAEIABIAwQuAEDQCAMEOkBIgYEQCAGKAJIEOwFBEBBAiAGEHEiBy4BACAHLgECEOYBIQtBACEAQQAhAUEAIQRBACEIA0AgCEECSQRAIAUgCAR/IAYQuxcFIAYQuhcLEJIBIAUQngEDQAJAIAUQjQENACAFEIEBKAJIEOwFDQAgBRD1AQwBCwsCQCAFEI0BBEAgBRCeAQNAIAUQjQENAiAFEIEBIgIoAkgiAxDuAQRAIANBBkcEQCACEHEhAyALBEBBl54aIA4QSyAHEJ0BQb+eGiATEEsgAxCdAQsgAy4BACAHLgEATgRAIAMuAQQgBy4BBEwEQCACIAAgAEUgAyAHELUCIgIgAUhyIgMbIQAgAiABIAMbIQEgCCAEIAMbIQQLCwsLIAUQ9QEMAAALAAsLIAhBAWohCAwBCwsgAARAIAsEQEHUnhogEhBLIAAQcRCdAQsgBEEARyEPIAAhAUEAIQJBACEGQQAhCEEAIQ1B//8BIQRBACEHQQAhAwNAAkAgASEJIAMhAQNAIAFBCEkgCUEAR3FFDQEgCSgCSBDuAUUEQCAJIQYMAgsgAUEBaiEDIA0gCRBxIgIQa0EQdEEQdWohDSAJIA8Q3gIiAUUEQEEAIQlBACECIAMhAQwBCwsgAiABEHEQtQIiAiAHSgRAIAEhBiANIAMQTiEIIAIhBwUgAiAEIAIgBEgbIQQLIAi3RAAAAAAAAOA/oiAHtyIUYwRAIAS3RAAAAAAAAABAoiAUYwRAIAEhAiADIQEMAgsLIAEhAgwBCwsgCwRAIAogATYCACAKIAc2AgQgCiAENgIIIAogCDYCDEHsnhogChBLIAYEQEGnnxogERBLIAYQcRCdAQsLQQAgBiABQQhIIgEgAkVxGyEEIAEEQANAIABFIAAgBEZyDQUgAEEIEMcEIAAQ7QQgCwRAQbSfGiAQEEsgABBxEJ0BCyAAIA8Q3gIhAAwAAAsACwsLDAELCyAMEH8gDiQGC2kBAX8jBiECIwZB8ABqJAYgAiAAEIABIAIQuAEDQCACEOkBIgAEQCAAKAIwQQVGBEAgAhCuAyAAQQEQ7QMgAEEAEIAHIAAQ7QQgABCXDCAAEJwDIAAQTAsMAQsLIAEQlgwgAhB/IAIkBguxAgEIfyMGIQEjBkGgAWokBiABQQhqIQMgAUEQaiEEIAFB+ABqIgUgAEGMAmoQfSAFEJQBIABB3AFqIQcDQCAFEI4BRQRAIAUQcCIALQAmRQRAIAMgABCxFyABIAMpAwA3AwAgAUEAIAMQa0EQdEEQdRCtBCAEIAcQgAEgBBCFAiAEIAEQ8wFBACEAQQAhBgJAAkADQAJAA0ACQANAAkAgBBCdAiICRQ0GIAIoAkgiCEEGRg0EIAgQ7gEEQCACKAIYIgIgAy4BAk4NAwUgAigCMEEBRg0BCwwBCwsgAiAAIAMgAhBxELsDGyEADAELCyAGIAIgAS4BBkxyIQYMAQsLDAELIABFIAZBAXNyRQRAIAcgABDRAyAAEJwDIAAQTAsLIAQQfwsgBRB4DAELCyABJAYL4QEBBX8jBiEEIwZBEGokBiAAEKIsIABBEGoiBSACEKEsIAAgBRCcFyAAEKosIAAQnhcgABCpLCAAEJ4XIARBCGoiBRBXIAAgAiAFENAsIAAgBRDPLCAFIABB8ABqEK4XIAAQziwgBEEEaiIGEFcgACAGEM0sIAQQVyAAIAYgBBDMLCAEIABBkAFqEK4XIAAQ0g8gABDLLCAAENIPAn9Bsqr5AC0AAEUhCCAAEMosIAhFCwRAIAAQrBcgABDSDyAAEKwXCyAAIAEgAiADEMksIAQQkgwgBhCSDCAFEJIMIAQkBgvQAgEHfyMGIQMjBkGQAWokBiAAIAEQnBcgA0EgaiIGIAEQgAEgBhCFAiAGELgBIABBBGohByAAQQhqIQgDQCAGEOkBIgIEQCACKAIwBEAgAhBxEPYBQQFOBEAgAhCcBSEEIAIoAkgiARDkBARAIABBMGogBBCxAgwECyABEO4BRQRAIABBEGogBBCxAgwECyADIAIQ6AIQkgEgAxCeAUEAIQEDQCADEI0BRQRAIAMQgQEhBQJAIAcoAgAgCCgCACAFEKAsBEAgBSgCLEEGRwRAIAUoAihFDQIgBCAFEJoDDAILIAFFBEAgAhCcBSIBQQYQ7QMLIAEgBRCaAwsLIAMQqwEaDAELCyAEEM8DIAQQnywhAiAAIAQQniwgACACEJ0sIAEEQCABEM8DIAAgARCcLAsLCwwBCwsgAEEQaiIAEMoXIABBABDJFyAGEH8gAyQGC0sAIABBEGogASACIAMQzgMgAEEwaiABIAIgAxDOAyAAQdAAaiABIAIgAxDOAyAAQfAAaiABIAIgAxDOAyAAQZABaiABIAIgAxDOAwtoAQR/IwYhASMGQfAAaiQGIAEgAEHcAWoQgAEgARC4ASAAQSRqIQIgAEHUAWohAyABQShqIQQDQCABEOkBIgAEQCAAIAIoAgAgAygCACAEKAIAQQJ0aigCABC0DwwBCwsgARB/IAEkBgu+AgEKfyMGIQIjBkGQAWokBiACQegAaiIEIABBzABqEH0gBBCUASAAQSBqIQcgAEHcAWohBgNAIAQQjgFFBEAgBBBwIgMoAigQ5gQEQCADEGIiCC4BACEBIAMQwwEiCS4BACIFIAEgBSABQRB0QRB1SBsiCkEQdEEQdSEAIAMoAiAgBSABIAFBEHRBEHUgBUgbQRB0QRB1aiIDIABGBEAgCkEQdEEQdUEASgRAIABBf2ohAQUgACIBQQFqIQALBSAAIQEgAyEAC0ECIAcgASAILgECIAAgCS4BAhCTFyIAQQ0QxwQgAiAGEIABIAIQhQIgAiAAEHEQ8wECQAJAAkADQCACEJ0CIgFFDQEgASgCSBDsBUUNAAsMAQsgBiAAELECDAELIAAQnAMgABBMCyACEH8LIAQQeAwBCwsgAiQGC8kBAQZ/IwYhASMGQZABaiQGIAFBiAFqIQIgAUHoAGoiAyAAQYwCahB9IAMQlAEgAEEgaiEFIABB3AFqIQQDQCADEI4BRQRAIAIgAxBwELEXQQEgBSACLgEAIAIuAQIgAi4BBCACLgEGEJMXIgBBDBDHBCABIAQQgAEgARCFAiABIAIQ8wECQAJAAkADQCABEJ0CIgZFDQEgBigCSBDsBUUNAAsMAQsgBCAAELECDAELIAAQnAMgABBMCyABEH8gAxB4DAELCyABJAYLnwMCEH8BfCMGIQIjBkGwAWokBiACQRhqIQ0gAkEIaiEHIAJBIGohBCACQYgBaiIGIAFBDGoQVSAGEFsgAEHcAWohCCAAQZQCaiEOIABBpAJqIQ8gAEEEaiEQA0AgBhBZRQRAIAYQUyIDKAJURQRAIAIgAxBiIgopAQA3AwBBAiACLgEAIAIuAQIQ5gEhCyACIBAoAgAiACAAEK0EIAQgCBCAASAEEIUCIAQgAhDzAUEAIQVBACEAA0ACQANAIAQQnQIiCUUNASAJEJoIDQALIABFIA4gCiAJIA8oAgAgCxCaLCIRIAVIciEMIBEgBSAMGyEFIAkgACAMGyEADAELCwJAAkAgAEUNACAAKAIgt0QAAAAAAAD4P6IiEiAFt2RFDQAgCwRAIAcgBTYCACAHIBI5AwhBgagaIAcQSyAKEJ0BQbGoGiANEEsgABDYAQsgCCAAENEDIAAgAxCaAyAIIAAQsQIgAyAAEMYEIAMgACgCNBDBBCADIAAoAjAQ6AQMAQsgA0EAEOgECyAEEH8LIAYQVgwBCwsgARCWDCACJAYL7QUBGX8jBiEBIwZBkAJqJAYgAUEwaiENIAFBKGohDiABQSBqIQ8gAUEYaiEQIAFBEGohESABQQhqIRIgAUE4aiEEIAFBoAFqIgUgAEHcAWoiCxCAASAFELgBIABB1AFqIRMgAEGIAWohFCAFQShqIRUgAEHUAGohFgNAIAUQ6QEiAARAIAAQmghFBEAgEygCACAVKAIAQQJ0aigCACEGIAEgABBxIgcpAQA3AwBBASABLgEAIAEuAQIQ5gEiCARAQd6oGiASEEsgABDYAQsgABDrAiECIAYgAS4BACACEJ0FIgNBAEcgBiABLgEEIAIQnQUgA0ZxRQRAIAgEQEH9qBogERBLCwwDCyABIAMgAhDDBBCPAiABIAMgAhDEBBCOAiAEIAsQgAEgBBCFAiAEIAEQ8wEgAEEwaiEXIABBDGohGCAAQQhqIRlBACEGA0ACQANAAkACQAJAA0AgBBCdAiICRQ0FAkAgAiAARwRAIAIQmghFBEAgAhBxIQMgCARAQZOpGiAQEEsgAhDYAQsgAy4BBCABLgEATgRAIAMuAQAgAS4BBEwEQCAAIAIQmQxFDQcgFygCACACKAIwEJoMRQ0HIBgoAgAgAy4BAEgEQCACKAIIIAcuAQRKDQULIBkoAgAgAy4BBEwNBiACKAIMIAcuAQBODQYLCwsLCwwAAAsACyAUKAIAIgy3RAAAAAAAAOA/oiADLgEAIgkgBy4BACIKIAogCUgbQRB0QRB1IAMuAQQiCiAHLgEEIgkgCiAJSBtBEHRBEHVrt2QNASAMIAcQbkEQdEEQdUoNASAMIAMQbkEQdEEQdUoNASAIBEBB26kaIA4QSwsMAgsgCARAQfepGiANEEsLDAELCyAIBEBBuKkaIA8QSyAAENgBIAIQ2AELIAQQrgMgBkUEQCAFEK4DIAQQ9gILIAAgAiAWKAIAEJYHQQEhBgwBCwsgBgRAIAsgABCxAiAFEPYCCyAEEH8LDAELCyAFEH8gASQGC90FARZ/IwYhASMGQaACaiQGIAFBOGohByABQTBqIRAgAUEoaiERIAFBIGohDiABQRBqIQggAUEIaiESIAFBtAFqIQkgAUGwAWohCiABQcgAaiELIAFBuAFqIgYgAEHcAWoiDxCAASAGELgBIABB1AFqIRMgAEEkaiEUIAZBKGohFQNAAkADQCAGEOkBIgNFDQEgAyAWRiADKAIwQQVIcg0ACyATKAIAIBUoAgBBAnRqKAIAIQIgCUF/NgIAIApBfzYCACADIBQoAgAgAiAJIAoQlywgCSgCACIEQQBKBEAgCSAEQX9qIgQ2AgALIAkgBEECEE4iBTYCACAKIAooAgBBAhBOIgw2AgAgDCAFQQFqRgRAIAMQ6wIhDSABIAMQcSkBADcDAEECIAEuAQAgAS4BAhDmASIEBEBBpKoaIBIQSyADENgBCyACIAUQkRciBQRAIAEgBSANEMQEQQJqEI8CIAIgDBCRFyICBEAgASACIA0QwwRBfmoQjgIgCyAAEIABIAQEQCABLgECIQUgAS4BBiEMIAEuAQQhDSAIIAEuAQA2AgAgCCAFQRB0QRB1NgIEIAggDTYCCCAIIAxBEHRBEHU2AgxByaoaIAgQSyADENgBCyALIAEQ8wECQAJAAkADQCALEIQHIgJFDQEgAhBiIgIgARCOA0UNAAsMAQsgBhCuAyABLgEEIAEuAQBqQQIQTiECIAQEQCAOIAI2AgBB6aoaIA4QSyADENgBCyADIAIQlxciAgRAIAQEQEH/qhogERBLIAMQ2AEgAhDYAQsgDyACELECBSAEBEBBjasaIBAQSwsgAyEWCyAPIAMQsQIgBhD2AgwBCyAEBEAgAi4BACEDIAIuAQIhBCACLgEGIQUgAi4BBCECIAcgAzYCACAHIARBEHRBEHU2AgQgByACNgIIIAcgBUEQdEEQdTYCDEGiqxogBxBLCwsgCxB/CwsLDAELCyAGEH8gASQGC6gDAQl/IwYhBCMGQSBqJAYgBEEIaiIDELIBAkAgAEHcAWoiCCADEJQsBH8gACgC6AEgAEEMaiIJKAIARwRAIARB6I4aNgIAIARBrQQ2AgRBvLr5AEGjrBpBAkHH6xwgBBBRCyAAQcABaiEBIABB1ABqIQZBASEHA0BBACECA0AgAiAJKAIASARAIAMgAhCHAygCACIFBEAgBRCNFwRAIAUgBxCMFyIFBEAgBSABIAYoAgAQwg8LCwsgAkEBaiECDAELCyAHIAEoAgBFcQRAQQAhBwwBCwtBzLz5ACgCAARAIABByqwaEMEPCyAAIAEgARCLF0HMvPkAKAIABEAgAEHcrBoQwQ8LIAAgAyABEIsXIAggBigCABCTLCICBEAgAiABIAYoAgAQwg8LQcy8+QAoAgAEQCAAQe2sGhDBDwsgACgCwAFFIgFFBEAgACAAIAMQkiwQkSwLIAFBAXMhAEEAIQEDQCABIAMoAgBODQIgAyABEIcDKAIAIgIEQCACEJAsIAIQnQ0gAhBMCyABQQFqIQEMAAALAAVBAAshAAsgAxBoIAQkBiAAC9cBAQV/IwYhAiMGQfAAaiQGIAIgABCAASACELgBIAFB1ABqIQYDQCACEOkBIgQEQAJAIAEgBBBxIgVBAUEAEN0JIgAEQCAAKAIoIgMQ7wNFBEAgASAFQQBBABDdCSIARQ0CIAAoAighAwsgAxDvAwRAIAQgABCFLAsLCwJAIAEgBUEBQQAQ3gkiAARAIAAoAigiAxCaBUUEQCABIAVBAEEAEN4JIgBFDQIgACgCKCEDCyADEJoFBEAgBCAAEIQsCwsLIAQgBigCABCRBwwBCwsgAhB/IAIkBgtNACAAIAIgBCAFIAMQzBcgACAGEIMsIABBIGogAEEsaiAAEIkMIAAQvw8gABCCLCAAIAEgAiADIAcgCBCBLARAIAYgBxCALCAAEP8rCwtHACAAQQBBACABIAAQqwYgAEEBQQAgAkEEaiAAEKsGIANDAACAPxCXBCADQwAAAAAQlgMgBEMAAIA/EJcEIARDAAAAABCWAwvSAQEHfyMGIQEjBkGQAWokBiABQYwBaiEEIAFBiAFqIQUgAUGEAWoiBhBXIAFB6ABqIgIgBhB9IAEgABCAASABELgBA0AgARDpASIDBEAgAiADEKkCDAELCyAEQQAgABCeAiIHLwEAa0H//wNxIAAQeyIDLgECEKEBIAVBACADLwEAa0H//wNxIAcuAQIQoQEgACAAKAIEIAQgBRDOAyACEJ0DA0AgAhD5AUUEQCACEIcCIgMQ8isgACADELECIAIQeAwBCwsgARB/IAYQtQMgASQGC2kAIAIQ2QkgAUEEahDZCSABQRBqENkJIAFBDGoQ2QkgAUEUahDZCUE0EE8iARCrBCABQQBBACAAQaQCaiIAKAIAQwAAAABDAAAAAEMAAIC/QwAAgD9DAAAAAEMAAAAAENYGIAAgATYCAAvEAQEFfyMGIQMjBkEwaiQGIANBIGohAiADQRxqIgQQVyADIAQQfSAAQTBqIgEQnQMDQCABEPkBRQRAIAEQhwIhBSABEHggBRDwKyADIAUQ7gkMAQsLIAEgBBDFBCABEJ0DIAIgABB7KAEAIgFB//8DcSABQRB2IAAQngIoAQAiAUH//wNxIAFBEHYQhAMgAi4BACEBIAJBACACLgEEaxCPAiACQQAgAWsQjgIgACAAKAIEIAIgAhCRARDOAyAEEKgEIAMkBgtOAQJ/IwYhASMGQSBqJAYgASAAQcwAahCSASABEJ4BA0AgARCNAUUEQCABEIEBIgIoAlQgAEYEQCACQQAQxgQLIAEQqwEaDAELCyABJAYLSwECfyAAQTBqIgEQnQMgARCUAQNAIAEQjgFFBEAgARBwKAIoEOYERQRAIAEQhwIiAgRAIAIQswogAhBMCwsgARB4DAELCyAAELADC34BBH8jBiEBIwZBQGskBiABQSBqIgIgAEEUahBVIAFBBGoiBCAAQQRqEFUgAhBbA0AgAhBZRQRAIAIQUygCVARAIAQgAhCfARC7ASADQQFqIQMLIAIQVgwBCwtBzLz5ACgCAARAIAEgAzYCAEGxvhogARBLCyAAEJYMIAEkBgvpAwELfyMGIQQjBkHQAWokBiAEQQhqIQIgBEGwAWoiCSABEFUgBEGsAWoiCBBXIARBkAFqIgogCBB9IARBKGoiBiAAEIABIAYQuAEDQCAGEOkBIgMEQCADKAI0IQsCQAJAAn8gAygCMCIHQX1qQQJJBH8gAiADEOgCEJIBIAIQngEDQCACEI0BRQRAIAkgAhCBARCgASACEKsBGgwBCwtBAAUgB0UNAiACIAMQ6AIQkgEgAhCeAUEAIQEDQCACEI0BRQRAIAIQgQEiBSgCKARAIAUgBxDoBCAFKAIsQQZHBEAgBSALEMEECwUgBSgCBBC8B0UEQCAEQfycGjYCACAEQYcHNgIEQaC5+QBB1r4aQQJBx+scIAQQUQsgBUEAEMYEIAIQkAIaQQEhAQsgAhCrARoMAQsLIAFBAXFBAEcLIQwgB0UNASADEOgCKAIARQ0BIAwLBEAgBhCuAyADEM8DIAAgAxCxAiAGEPYCCwwBCyACIAMQ6AIQkgEgAxCXDCAKIAMQjAQgBhCuAyACEJ4BA0AgAhCNAUUEQCACEIEBIgFBBGoiAygCABC8B0UEQCADKAIAIgMiBQRAIAUQ1wIgAxBMCyABEMoEIAEQTAsgAhCrARoMAQsLCwwBCwsgBhB/IAgQtQMgBCQGC3gBBH8jBiEDIwZBkAFqJAYgA0GEAWoiBBBXIANB6ABqIgYgBBB9IAMgARCAASADELgBA0AgAxDpASIFBEACQAJAIAUoAjAOBQABAQAAAQsgBiAFEKkCIAMQrgMLDAELCyAAIAEgBCACEO8rIAMQfyAEELUDIAMkBguLAgECfyMGIQsjBkEQaiQGIABBIGoiDCAENgIAIABBJGoiBCAHNgIAIABBKGoiByAFNgIAIAAQsAMgACADEIMMIAYEQCAAIAMQ8BYaCyAAIAFBABCCDCAEKAIAIAMgAiAMKAIAEN8rIAQoAgAgA0EEaiADQQxqIgUQ7xYgBCgCACADQRBqIAUQ7xYgABCwAyAAIAMQgwwgACABQQEQggwgACABIAJBASADIAggCSAKEO4WQQJGBEAgCyAIEJoCNgIAQaXBGiALEEsgABCwAyAAIAMQgwwgACABQQEQggwgACABIAJBACADIAggCSAKEO4WGgsgDEEANgIAIARBADYCACAHQQA2AgAgCyQGC70CAgt/AX4jBiEDIwZB8AFqJAYgA0EYaiEKIANBEGohBCADQQhqIQcgA0EgaiEGIANBiAFqIgggABCAASAIELgBA0AgCBDuAyIJBEAgBCAJEGIpAQAiDTcDACAEEGtBEHRBEHUhAiAEEG5BEHRBEHVBA3QgAkwEQCAHIA03AwAgByACQQNsIgIgAhCtBAJ/QQIgBC4BACAELgECEOYBIQwgBiAAEIABIAYgBxDzAUEAIQUDQAJAA0AgBhCEByICRQ0BIAIgCUYNAAsgAyACEGIpAQA3AwAgAxBrQRB0QRB1IgIgBSAFIAJIGyEFDAELCyAMCwRAIAogBTYCAEHL2RogChBLIAQQnQELIAW3RAAAAAAAAPw/oiAEEGtBEHRBEHW3YwRAIAkgARCwDwsgBhB/CwwBCwsgCBB/IAMkBgt0AQJ/IwYhAyMGQSBqJAYgABCwAyADQRxqIgQQVyAAIAEgBBCnKyAAIAFBBGoQvQQgAyAEEH0DQCADEPkBRQRAIAMQhwIiARCFDCAAIAFBABDJFiAAIAFBARDJFiACIAEQsQIgAxB4DAELCyAEELUDIAMkBgstAQF+IAIgAEGgAWoiACkCADcCACABIAApAgAiAzcCACABIANCIIinvowQlgMLuQcBCX8jBiEMIwZB4AFqJAYgAyADIABBkAJqIg0oAgAQ5AcgAEHYAWoiDigCACACIABB3AFqIgoQii0gDigCACAAQYACaiILEIktIABBACAAQYQBaiIQKAIAIABBkAFqIhErAwAgAhDMFyAAIAIQ7AkgDigCACABIABBsAFqIg8gAiANKAIAIABBpAJqIg0oAgAgACwAgAFBAEcgAEGUAmogCCAKIAsQiC0gARCqCiIIRQRAIAMgAEGoAWoiEiAPIAYgCiALEMsXIA8gCiADEIctIAMgEiAPIAYgCiALEMsXCyAKIABBiAJqIgYQhi0gAhCFLSAAEIQtIAxBxAFqIgMgCxB9IAMQlAEDQCADEI4BRQRAIAMQcBCDLSADEHgMAQsLIAsQtQMgDigCACIDBEAgAyADKAIAKAIEQf8DcUGiB2oRAAALIA5BADYCACACIAQgBRCyGCACQRhqIgUoAgAsAB0QiQEiCwRAIAAQgi0gACACIAYQgS0gChCALQsgDEEIaiEEIAxBEGohAwJAIAgEQCAAIAIQxxcgCiAHIAkQ7SwFIAEQkhAEQCAAIAIQ7AkgACAAQYwCaiAGIAIgECgCACARKwMAIAogAEGYAWoiCCAAQaABahD+LEE0EE8iARCrBCABQQAgCCANKAIAQwAAAABDAAAAAEMAAIA/QwAAgD9DAAAAAEMAAAAAENYGIA0gATYCAAUgACAGIAIgAEGYAWogAEGgAWoQ/ywLIAAgAhDsCSAKIAAQ/SwgABD8LEUEQEHJjRogDBBLIAoQ3A8MAgsgABCwAyAAQQBBACAGIAAQqwYgAEEBQQEgAkEEaiAAEKsGIAogAEHUAWoiASgCABDbDyAAEPssIAogASgCABDbDyAAEPosIAAgAhD5LCAAEPgsIAAQ9ywgCiABKAIAENsPIAAQ9iwgACgCrAIiAQRAIAEgCiAAKALUASABKAIAKAIMQf8AcUGQBGoRAgAaC0GuufkALQAABEAgAxCbLCADIAAoAgQgABB7IAAQngIQ9SwgAyAAKAIkNgIAIAMgBSgCACwAHRCJAUEBc0EBcToAsAEgAyAKEPQsIAMgCiAAKALUASAAKAJUEPMsIAMQ0iwLIAAQ8iwgCiACEPEsIAoQyhcgChDwLCAKQQEQyRcgABDvLCAKEO4sIAAgAhDHFyAAIAcgCRDsLAtBzLz5ACgCAARAIAcQmgIhASAJEJoCIQIgBCABNgIAIAQgAjYCBEHXjRogBBBLCyAAIAsgCRDrLAsgDCQGC/IJAwt/AX0EfCMGIQgjBkGAAWokBiAIQQhqIQogCEH4AGoiDEEANgIAIAhB9ABqIhBBATYCACAIQfAAaiINEFcgCEHsAGoiDxBXIAhB/ABqQQBBABChASAAQZjKCGoiCSgCAEUEQCAKQarLGTYCACAKQZkCNgIEQdysFkGTyxlBAkHH6xwgChBRCyAAQYqnCGoiCi0AAARAIABBqMoIaiAJKAIAQfraGhCLBAsgAEGwyghqIhIoAgAgAEGCyAhqLQAAQQBHIAkoAgAgDCAQIAcgDSAPEMYWIABBqMoIaiEHIAotAAAEQCAHIAkoAgBBh9saEIsECyAGIAkoAgAgBxDFFjYCACAKLQAABEAgByAJKAIAQY/bGhCLBAsgARCSEEUEQCANEKgECyAIQRBqIQcgAEHYyghqIAkoAgAgAiAFELoMIAhB0ABqIgIgBRBVIAUoAgAQqAJFBEAgB0Gqyxk2AgAgB0GyAjYCBEHcrBZBmNsaQQJBx+scIAcQUQsgCEEoaiEOIAhBIGohESAIQRhqIQUgCEHMAGohByAIQThqIQkgCCACEFMiCigCGEEEahDDASkBADcDACAKQSRqIQsCfwJAIBIoAgAiAkHGAEYEfyALKgIAIhNDAAAgQZQQjAIiAkG5f2pBmRJJBH8gBSACNgIAQa/bGiAFEEsMAgVBxgALBQwBCwwBCyALKgIAIRMgAgshBQJAIBNDAAAAQGAEQEGwAhBPIgIgCyoCABBlIAggCBCRASAFIABBksgIai0AAEEARyAAQaDJCGorAwAgDSAPIAwoAgAgECgCABCDKyACIAEgBigCACAKEKIrIABBuN8IaigCACIFBEAgBSAKIAUoAgAoAghB/wFxQZACahEBABoLIAcQVyABQQVGIABB4sgIai0AAHIEf0EBBSAAQdLICGotAAAEfyABEK4PBH8gAEH4yAhqKwMAIAogBxCUKwVBAAsFQQALCyEFIARBAEcgA0EARyABEJcQcXEEQCAJEKoBAkAgAyAARwRAIABBFGogA0EUaiIMIAkQxBYgAEGc3whqIQtBACEGA0AgBiALKAIATg0CIAsgBhBNKAIAQRRqIAwgCRDEFiAGQQFqIQYMAAALAAsLIAkgByAEIAMQwxYaIAFFBEAgAiACKAIAKAIEQf8DcUGiB2oRAAAgCRBoIAcQ7wFBACECDAMLIAQgBEGUD2ooAgAiAUECdGoqAgC7IRZBACEGIABB4McIaiILKwMAIhVEAAAAAAAAAECiIRQDQCAGQQRHBEAgBiABRwRAIBYgBCAGQQJ0aioCALuhIhcgFGMEQCAXIRQLCyAGQQFqIQYMAQsLIANBFGogBEGYD2ooAgAiABDUBiEEAn8CQCAAIAMoAkhGDQAgACADKAJMRg0AIAAgAygCUEYNAEHM2xogBBDFAUUNAEHV2xogBBDFAUUNAEGY+xogBBDFAUUNAEEADAELIAJBAToAgAEgCysDACEVQQELIQACfyAUIBVjBEACQCAARQRAIAFBAkYgBUEBc3FFDQEgESAUOQMAQdzbGiAREEtBAAwDCwsgBxC5AiEAIA4gFDkDACAOIAA2AgggDiABNgIMQZ7cGiAOEEsLIAELIQAgCRBoBUEAIQALIAcQ7wEgAiAKIAUgABChKyAHEO8BBUEAIQILCyAPEKgEIA0QqAQgCCQGIAILSwEBfyAAQRhqIgFCADcCACABQgA3AgggAUIANwIQIAFCADcCGCABQgA3AiAgAUIANwIoIAFCADcCMCABQgA3AjggAUFAa0EANgIAC/oBAQZ/IwYhAyMGQfAAaiQGIANB1ABqIgQgARBVIANBOGoiARBXIANBHGoiBRBXIAMgAhBVIAQQWwNAIAQQWUUEQCAEEFMhAkHgABBPIgcgAhDdDyAFIAdBBGoQlgEgASACEMAMEJYBIAEQWwNAIAEQWUUEQCABEJ8BIQhB+AAQTyIGIAgQoQUgACAGEM0XIAUgBhCgASABEFYMAQsLIAUgB0EMahCWASABIAIQuxgQlgEgARBbA0AgARBZRQRAIAEQnwEhBkH4ABBPIgIgBhChBSAAIAIQzRcgBSACEKABIAEQVgwBCwsgAyAHEKABIAQQVgwBCwsgAyQGC8QFARN/IwYhAiMGQUBrJAYgAEEYaiILKAIAIgEEQCABEEwLIAJBNGohCSACQSBqIQUgC0F/IABBEGoiCi4BACIBQQNsIAFB1arVqgVLGxBPNgIAIAJBEGoiBkIANwMAIAZCADcDCCACQgA3AwAgAkIANwMIIAJBMGoiDCAAKAEMIgM2AgAgAkEsaiIHIAM2AgAgAkEoaiIDIABBFGoiCCgCACABQX9qENoBIAcgAy4BACADLgECEM0EGiADIAgoAgAgCi4BAEF+ahDaASAHIAMuAQAgAy4BAhDNBBogAyAHKAIANgIAQX4hAANAIABBAkcEQCAKLgEAIAgoAgAgAEEBIAMgBiACEOEPIABBAWohAAwBCwsgA0ECaiENIAdBAmohDiAFQQRqIQ8gCUECaiEQIAxBAmohEUEAIQEDQCABIAouAQAiAEgEQCAAIAgoAgAgAUECakEBIAMgBiACEOEPIAgoAgAiACABENUNIQQgCSAAIAEQ2gECfwJ/AkAgBiAEQQJ0aigCACIAQQFKDQAgAEEBRgRAIAYgBEF/akEEEP4EQQJ0aigCAEECRgRAIAYgBEEBakEEEP4EQQJ0aigCAEECRg0CCwtBACEAQQAMAQsgAiAEQQJ0aigCACAAIAkvAQAEfyARLgEABSAMLgEAC0EQdEEQdWxrCyETIAVB/wA2AgAgEwtBgX8gBRDVAUH/AXEhBCALKAIAIhIgAUEDbGogBDoAACAFQf8BNgIAIBIgAUEDbGogAEEAIAUQ1QE6AAEgBSADLgEAIAcuAQBrsiANLgEAIA4uAQBrshCkASAFKgIAIA8qAgAQ6Q0hACALKAIAIAFBA2xqIAA6AAIgCi4BACAIKAIAIAFBfmpBfyAHIAYgAhDhDyAJIAgoAgAgARDaASAMIAkuAQAgEC4BABDoARogAUEBaiEBDAELCyACJAYLyggBHX8jBiEDIwZBMGokBiADQRhqIQsgA0EUaiEQIANBJGohFCADQSBqIREgA0EcaiESIANBEGohEyADQQxqIQogA0EIaiEIIANBBGohBSADIQcgAhB8QQhGBEAgAhB1IQ4gAhB3IQwgAhC+ASEPIAIQpQEhCSAAENcMIRUgAEEYaiIWKAIAIgMEQCADEEwLIBZBfyAAQRBqIhkuAQAiA0EDbCADQdWq1aoFSxsQTzYCACALIAAoAQwiAzYCACAQEJgBIAtBAmohFyAOIAwgA0H//wNxQRB0QRB1IAkgA0EQdkEQdEEQdWsgDyAJIBAQzxcgEUECaiEaIBJBAmohGyAAQRRqIRwgFEECaiEdIApBAmohGANAIA0gGS4BAEgEQCAUIBwoAgAgDRDaASARIAsuAQAgFy4BABChASALIBQuAQAgHS4BABDoARogEiALLgEAIBcuAQAQoQEgExCYASAOIAwgCy4BACAJIBcuAQBrIA8gCSATEM8XIAogECATEM4XIAhBADYCAAJ/An8CQCAaLgEAIgMgGy4BACIERw0AIBguAQAiAEEAIABrIABBf0obQQF0IAouAQAiAEEAIABrIABBf0obSA0AQX9BASAVIBEuAQAiACASLgEAIgZKIh5zGyEEIAVBADYCACAHIAkgA2siAzYCACAOIAwgBCAGIAAgHhtBEHRBEHUiBiADIAkgCCAFIAcQ4A8aIAMhAANAIA4gDCAEIAYgAEEBaiIAIAkgCCAFIAcQ4A8NAAsgAyEAA0AgDiAMIAQgBiAAQX9qIgAgCSAIIAUgBxDgDw0ACyAFKAIAQQIQTiABayAEbCADIAcoAgBrIAgoAgAiAGxqDAELIBEuAQAiACASLgEARgR/IAouAQAiBkEAIAZrIAZBf0obQQF0IBguAQAiBkEAIAZrIAZBf0obSAR/QQAhAEEABSACEHUgCSAEIAMgAyAESBtBEHRBEHVrIAxsQQJ0aiEGIAVBADYCACAHIAA2AgAgBkF/QQEgFSADIARKcxsiBCAAIA8gCCAFIAcQ3w8aIAAhAwNAIAYgBCADQQFqIgMgDyAIIAUgBxDfDw0ACyAAIQMDQCAGIAQgA0F/aiIDIA8gCCAFIAcQ3w8NAAsgASAFKAIAQQIQTmsgBGwgBygCACAAayAIKAIAIgBsagsFQQAhAEEACwshHyAFQf8ANgIAIB8LQYF/IAUQ1QFB/wFxIQQgFigCACIDIA1BA2xqIAQ6AAAgBUH/ATYCACADIA1BA2xqIABBACAFENUBOgABIBUEfyAFIAoQzhggCiAFKAIAIgA2AgAgFigCACEDIABB//8DcSEEIABBEHYFIAouAQAhBCAYLgEACyEAIAMgDUEDbGogAEEQdEEQdbcgBEEQdEEQdbcQ4ga2uxCdEkH/AXFBQGtBgAIQ/gQ6AAIgECATKAIANgIAIA1BAWohDQwBCwsLIAckBgvMBAMGfwV9A3wjBiEGIwZBgAFqJAYgBkHkAGoiBSABEFUgBkHIAGoiByACEFUgBkEsaiIBIAMQVSAGQRBqIgIgBBBVIAZBAEHYBBCxASAFEFsgAEHkDmohBCAAQcAPaiEJA0AgBRBZRQRAIAUQUyIIEGIiAxBrQRB0QRB1IQogBCgCACAKSgRAIAcgBRCfARCgAQUgCCgCGBDRF7chECADEGshCCADEG5BEHRBEHUgCEEQdEEQdWy3IREgCSsDACARoiAQZQRAIAEgBRCfARCgAQsLIAUQVgwBCwsgBRBbA0AgBRBZRQRAIAYgBRBTEGIQa0EQdEEQdUEBEIgBIAUQVgwBCwsgBiAAQZAQaisDABDOAbYiDLsiEEQAAAAAAAD0P6JEAAAAAAAAAECim7YhCyAMQwAAAD+UjiEOQZCV+QArAwAgEKKbIRIgARCNAyABEFsDQCABEFlFBEAgARBTEGIQa0EQdEEQdbIiDSALXgRAIAIgARCfARCgAQUgDiANXwRAIAUgARCfARCgAQsLIAEQVgwBCwsgErYhDSAGEO0FIAUQWwNAIAUQWUUEQCAFEFMQYhBrIQMgBRBTIQQgA0EQdEEQdSEHIA4gA0EQdEEQdbIiD14EQCABIAUQnwEQoAEFIA8gC14gBBBiEG5BEHRBEHWyIA1ecgRAIAIgBRCfARCgAQUgBiAHQQEQiAELCyAFEFYMAQsLIAYgAEG4EGorAwAQzgG2u0RVVVVVVVXlP6K2IQsgBigCDBCEASAGJAYgCyAMIAsgDF4bCzkBAX8jBiEDIwZBEGokBiADIAE4AgAgAyACOAIEIAAoAgQgAxC4DCAAIAEgAhDjDyAAEKQMIAMkBgsjAQJ9QX8gACgCACoClAEiAiABKAIAKgKUASIDXSACIANeGwuHAgMJfwJ9AXwjBiECIwZB4ABqJAYgAkHQAGohBCACQdQAaiEFIAJBzABqIgYgADgCACACEKAIIAJBMGoiAyABENQBEFUgAxBbA0AgAxBZRQRAIAMQUygCGBDIAkUEQCADEFMQYiIHLgEAIQkgBy4BAiEKIAUgBy4BBCAJakECEE5B//8DcSAKEKEBIAIgBRCKByAIQQFqIQgLIAMQVgwBCwsgAiAAuyAEEPMXIQ0gASAAIAQqAgAiCyANtiIMEOIXQZay+QAtAAAEQCAIQbiv+QAoAgBKBEAgAiAGIAQQrQy2IQwgBioCACEAIAQqAgAhCwsLIAEgACALIAwQ8A8gAhCnCCACJAYL1AMDDX8CfQF8IwYhByMGQdAAaiQGIAUEQCAAKgKUAbshFSAHIAAqApwBuzkDACAHIBU5AwggByABNgIQQYKLGiAHEEsLIAdByABqIQ0gB0EwaiEIIAdBIGohCSAHQRhqIQYgAUEfdUECcUF/aiEKAn9BACABayABIAFBAEgiDBuyIAJeBH8gBQRAQaKLGiAGEEsLQQEFIAwEf0EAIAQQpAINAgVBACAEEPcCDQILGiABQQF0IANqIQsgAUF/SiEOIABBoAFqIQ8gCiEAAkACQAJAA0AgDCAEIABB/wFxEMwDIhAqApwBIhOOEGUiBiADSHEEQCALIAZIDQIFIA4gBiADSnEgCyAGSnENAgsCQAJAIAYgA0YiESALIAZGIgZyBEAgDyoCACIUIBAqAqABIgJfDQUgACAKaiEAIBFFDQEFIAAgCmohAAwBCwwBCyAGRQ0ECyAAIAQQkAdIDQALDAILQQEgBUUNAxogCSADIAFqIAZrNgIAIAkgE7s5AwhBt4saIAkQS0EBDAMLQQEgBUUNAhogCCATuzkDACAIIBS7OQMIIAggArs5AxBB1YsaIAgQS0EBDAILQQAgBUUNARpB/4saIA0QS0EACwshEiAHJAYgEgu8AQEFf0EAIAJrIQUDQAJAIAEgBiIDQQJ0aigCACEEA0ACQCABIANBAnRqIAVBf2oiBTYCACADQQFqIgYgAk4NAiAAIAZBAnRqKAIAIAEgBkECdGooAgAiB04EQCAAIANBAnRqKAIAIARIDQELIAYhAyAHIQQMAQsLQQEhBANAIARBACAFa0ggA0F/SnEEQCABIANBAnRqIAQ2AgAgA0F/aiEDIARBAWohBCAFQQFqIQUMAQsLQQEhBQwBCwsLyAQBCH8gASAAaiIFt0H4kvkAKwMAo5sQWiEMAn8gBSACSAR/A0AgByAASARAIAMgB0ECdGooAgAgCmohCiAHQQFqIQcMAQsLQQAhBQNAIAUgAUgEQCAFQQFqIQUgAyAHQQJ0aigCACAKaiEKIAdBAWohBwwBCwtBASEJIAMoAgAhAUEAIQUDQCAJIAdJBEAgBSAJIAMgCUECdGooAgAiCCABSiIGGyEFIAlBAWohCSABIAggBhshAQwBCwsgCiABayEIQQAhBgNAIAYgAEgEQCAEIAZBAnRqIAggDBBOIAFqNgIAIAZBAWohBgwBCwtBACEIIAohAANAIAYgByACTg0CGiAAIAMgCEECdGooAgBrIAMgB0ECdGooAgAiCWohCiAFIAcgCSABSiIFGyIAIAhKBEAgASAJIAUbIQUgCEEBaiEBBSAIQQJqIQsgAyAIQQFqIgFBAnRqKAIAIQUgASEAA0AgCyAHTARAIAAgCyADIAtBAnRqKAIAIgkgBUoiCBshACALQQFqIQsgBSAJIAgbIQUMAQsLCyAEIAZBAnRqIAogBWsgDBBOIAVqNgIAIAZBAWohBiABIQggBSEBIAAhBSAKIQAgB0EBaiEHDAAACwAFQQAhACADKAIAIQEDfyAGIAJIBH8gAyAGQQJ0aigCACEFIAZBAWohBiAFIABqIQAgBSABIAUgAUgbIQEMAQVBAAsLCwshAyAAIAFrIQADQCADIAJIBEAgBCADQQJ0aiAAIAwQTiABajYCACADQQFqIQMMAQsLC84DAgh/AX0jBiEHIwZB4ABqJAYgB0EYaiEKIAdBEGohCyAHQTxqIgkgABDsARB9IAdBIGoiCBBXIAdBCGoiABB5IAMgAmshAyAHQwAAgD8gASABlEMAAIA/kpEiDpUgAYwgDpUQpAEDQCAGIANMBEAgBSAGQQJ0akEANgIAIAZBAWohBgwBCwsgCRCUAQNAIAkQjgFFBEAgCCAJEHAQ1AEQlgEgCBBbA0AgCBBZRQRAIAAgCBBTEGIpAQA3AwAgACAHEN8CIAAuAQQhDCAALgEAIQ0gAC4BAiACayIGQQBIIAYgA0pyBEAgC0HG+xk2AgAgC0GkBjYCBEHMs/kAQYmMGkECQcfrHCALEFELIAUgBkECdGoiBiAGKAIAIAxBEHRBEHUgDWsiDGo2AgAgAC4BBiACayIGQQBIIAYgA0pyBEAgCkHG+xk2AgAgCkGoBjYCBEHMs/kAQYmMGkECQcfrHCAKEFELIAUgBkECdGoiBiAGKAIAIAxrNgIAIAgQVgwBCwsgCRB4DAELCyAEIAUoAgAiADYCAEEBIQIDQCACIANMBEAgBCACQQJ0aiAFIAJBAnRqKAIAIABqIgA2AgAgAkEBaiECDAELCyAHJAYLrgECA38BfSMGIQMjBkHQAGokBiAAEHkgA0EIaiIFEHkgA0EsaiIEIAEQ7AEQfSADQRBqIgEQVyADQwAAgD8gAiAClEMAAIA/kpEiBpUgAowgBpUQpAEgBBCUAQNAIAQQjgFFBEAgASAEEHAQ1AEQlgEgARBbA0AgARBZRQRAIAUgARBTEGIpAQA3AwAgBSADEN8CIAAgBRC8ARogARBWDAELCyAEEHgMAQsLIAMkBgtoAQN/IwYhAyMGQRBqJAYgACgCACICRQRAQcyVFkGPiRpBAkEAIAMQUSAAKAIAIQILIAAgAigCACIBNgIIIAAgAQR/IAAgASgCADYCBCABKAIEBSAAQQA2AgRBAAsiAjYCDCADJAYgAQuKAgMEfwN9AXwjBiECIwZB0ABqJAYgAkEoaiIEIAAQ7AEQfUHmsvkALQAABEAgACgCGEEEahDDASIALgEAIQEgAC4BBiEAIAIgATYCACACIAA2AgRBtIoaIAIQSwsgAkEIaiEBIAQQlAEDQCAEEI4BRQRAIAQQcCIDKgKAASIGIAMqAnwiB5MhBUHmsvkALQAABEAgASADQZwBaiIAKgIAuzkDACABIAe7OQMIIAEgBrs5AxAgASAFuyIIOQMYQduKGiABEEsFIANBnAFqIQAgBbshCAsgAyAAKgIAIgUgCLYiBkMAAIC+lJIgBSAGQwAAQD+UkhDmDyADQQA6AAggBBB4DAELCyACJAYL7gEBBX8jBiECIwZBIGokBiAAKAIAIgFFBEBB6JUWQduGGkECQQAgAhBRIAAoAgAhAQsgAkEQaiEDIAJBCGohBCABKAIABEAgAEEIaiIFKAIAIgEEQCAAIAE2AgwgAEEBOgAYIAEoAgAhAQUgACgCBCEBIAAsABEEQCAAIAE2AhQLCyAFIAE2AgAgAUUEQEHslRZB24YaQQJBACAEEFELIABBBGoiBCgCAEUEQCAFKAIAIQEgAyAANgIAIAMgATYCBEGQrRZB24YaQQJB7bsXIAMQUQsgBCAFKAIAIgAoAgA2AgAFQQAhAAsgAiQGIAAL3AUDCn8JfQN8IwYhBiMGQbABaiQGIAZBpAFqEJgBIAZBiAFqIg0QVyACIAOTIhMgAiAAEHAiByoCgAEiEpOTIBMgEiACXRsiECAHKgJ8IhEgA5OTIBAgESADXhshECAFBEBBlq/5AC0AAARAIAYgA7s5AwAgBiACuzkDCCAGIBG7OQMQIAYgErs5AxggBiAEuzkDICAGIBC7OQMoQceFGiAGEEsLCyAGQdAAaiEJIAZBMGohCiAEQwAAgL+SIRUgA7shGiACuyEbIAS7IRkgByEIA0ACQCAAEKQCRQRAIAAQeCAAEHAiB0H8AGoiDioCACIRIAJfBEAgB0GAAWoiDyoCACISIANgBEAgByAIIBIgCCoCgAEiFF4bKgKAASIWIAcgCCARIAgqAnwiF10bKgJ8IhiTIARfBEAgBQRAQZav+QAtAAAEQCAKIBe7OQMAIAogFLs5AwggCiARuzkDECAKIBK7OQMYQf6FGiAKEEsLCyAHIBggFhDmDyANIAcQ1AEQlgEgDSAIENQBEIYCIA1B1wAQygggABDxAyAAEIcCIgwEQCAMELQGIAwQTAsgABB4QwAAgL8hECAPKgIAIRILIAtBASAQIBVgRSATIAIgEpOTIBMgEiACXRsiESAOKgIAIhQgA5OTIBEgFCADXhsiESAVYEVyGyELIBEgECARIBBeIgwbIRAgByAIIAwbIQggBQRAQZav+QAtAAAEQCAJIBo5AwAgCSAbOQMIIAkgFLs5AxAgCSASuzkDGCAJIBk5AyAgCSARuzkDKCAJIBC7OQMwQaCGGiAJEEsLCwsLCyAAEKQCDQAgByoCfCACX0UNACAHKgKAASADYA0BCwsDQCAAEHAgCEcEQCAAEPEDDAELCwJAQZiU+QArAwAgGaIiGSATIBCTu2MEQEHWsfkALQAABEAgC0UgGSAQu2RxRQ0CBSALDQILQQIhCwsLIAEgCDYCACAGJAYgCwuRCAMOfwR9AnwjBiEDIwZBwAFqJAYgA0HwAGohCSADQeAAaiEKIANB2ABqIQ0gA0FAayEHIANBMGohCyADQSBqIQwgA0EYaiEOIANBnAFqIgUgATgCACADQaABaiIIIABBBGoQVSADQYABaiIEIAAQ7AEiBhB9IAAQnC0CQAJAQaav+QAtAABFDQAgBhCPBwRAIABB5rL5AC0AAEEARyACcRDVFwwBCwwBCyAAIAVBBEEBQQAQ7QkgBhCPBwRAIAAgBSoCABDWF0Gmr/kALQAARQRAIABB5rL5AC0AAEEARyACcRDVFwsgBBCoDCAAQSRqIQ8gAkEBcyECA0AgBBBwIgUqAoABIRMgBUGcAWoiECoCALsiFkHAlPkAKwMAIA8qAgC7oiIVRAAAAAAAANA/oqG2IQEgFUQAAAAAAADoP6IgFqC2IRQCQCAFKgJ8IhEgAV4EQEHmsvkALQAARSACcgRAIBG7IRYFIAMgFjkDACADIBG7IhY5AwggAyABuzkDEEGdhxogAxBLC0EBIQADQANAAkAgAEUEQCABIREMBQsgBBCkAgRAIAEhEQwFCyAEQQEQzAMiACoCgAEiEiABXgR/IAAqAnwgAV5FDQFB5rL5AC0AAEUgAnJFBEAgDiAAKgKcAbs5AwBByocaIA4QSwsgBBB4IAggBRDUARCWASAIIAAQ1AEQhgIgBBCHAiIABEAgABC0BiAAEEwLIAQQ8QNBAQVBAAshAAwBCwtB5rL5AC0AAEUgAnIhBiASIBFdBH0gBkUEQCAAKgKcAbshFSAMIBK7OQMAIAwgFTkDCEHihxogDBBLCyASBSAGRQRAIAAqApwBuyEVIAsgFjkDACALIBU5AwhBlIgaIAsQSwsgEQshAUEAIQAMAAALAAsLAkAgEyAUXQR9Qeay+QAtAABFIAJyBEAgE7shFgUgByAQKgIAuzkDACAHIBO7IhY5AwggByAUuzkDEEHNiBogBxBLCyAUIQFBASEAA0ADQAJAIABFDQQgBBD3Ag0EIARBfxDMAyIAKgJ8IhIgAV0EfyAAKgKAASABXUUNAUHmsvkALQAARSACckUEQCANIAAqApwBuzkDAEH3iBogDRBLCyAEEPEDIAggBRDUARCWASAIIAAQ1AEQhgIgBBCHAiIABEAgABC0BiAAEEwLIAQQeEEBBUEACyEADAELC0HmsvkALQAARSACciEGIBIgE10EfSAGRQRAIAAqApwBuyEVIAogErs5AwAgCiAVOQMIQeKHGiAKEEsLIBIFIAZFBEAgACoCnAG7IRUgCSAWOQMAIAkgFTkDCEGUiBogCRBLCyATCyEBQQAhAAwAAAsABSATCyEBCyAFIBEgARDmDyAEEPEDIAQQpAJFDQALCwsgAyQGC7oDAgp/AXwjBiEFIwZB4ABqJAYgBUEUaiEJIAVBCGohCiAFEHkgBUE8aiIDIAAQ7AEQfSAFQSBqIgwgAEEEahBVIAMQkAcEQCAFIAAgARCaLSAFLgECQX9qIQcgBS4BBkEBaiEGIAMQlAEDQCADEI4BRQRAIAMQcCoCnAGOEGUhBCADEHggBiAEQQFqIAYgBEobIQYgByAEQX9qIAcgBEgbIQcMAQsLIAYgB2siBEEBaiEIIARBAE4EQCAJIAgQsgYgCiAIELIGIAAgASAHIAYgCigCACIEIAkoAgAiCxCZLSAAQSBqIgYqAgC7Ig1EAAAAAAAA4D+imxBaIA1EAAAAAAAA6D+imxBaIAggBCALEJgtIAQgCyAIEJctIAMQlAEDQCADEI4BRQRAIAMQcCIAKgKcAY4QZSEEIAAgCyAEIAdrQQJ0aigCACAGKgIAQwAAAD+UIAQgAyACEJYtBEAgDCADEHAQ1AEQhgIgAxCHAiIABEAgABC0BiAAEEwLCyADEHgMAQsLIAMQlAEDQCADEI4BRQRAIAwgAxBwENQBEIYCIAMQeAwBCwsgChC6AiAJELoCCwsgBSQGC+MBAQV/IwYhBSMGQUBrJAYgBUEcaiIHIAE4AgAgBUEgaiIGIABBBGoiCBBVIAUgABDsASIJEH0gACABENYXIAAgAUH2svkALQAAQQBHIARxEKAtIAAgASAEEJ8tIAYgCBCWASAFIAkQrwMgBRCUAQNAIAUQjgFFBEAgBiAFEHAQ1AEQhgIgBRB4DAELCyAAIAdBAUEAQQAQ7QkgBiAIEJYBIAYgAEEUahCGAiAAIAdBAkEBQQEQ7QkgBiAIEJYBIAYgAEEMahCGAiAGIABBEGoQhgIgACAHQQNBAEEAEO0JIAUkBgtMAQF/IwYhASMGQSBqJAYgASAAEOwBEH0gAEEAQQBBAUEBEO0JIAEQnQMgARCUAQNAIAEQjgFFBEAgARBwENgXIAEQeAwBCwsgASQGC4oBAQF/IABBADoACSAAQQA6AAogAEEMaiIBQgA3AgAgAUIANwIIIAFCADcCECABQgA3AhggAUIANwIgIAFCADcCKCABQgA3AjAgAUIANwI4IAFBQGtCADcCACAAQfwAaiIBQgA3AgAgAUIANwIIIAFCADcCECABQgA3AhggAUIANwIgIABBfzYCpAELkwECA38CfSMGIQMjBkFAayQGIANBHGoiBCAAQRBqEFUgAyABEJEBEFUgAyADEFMQpQMQlgEgAxC1AQR9QwAAAAAFIAMQWwNAIAMQWUUEQEEIEE8iBSADEFMQ0RoQnwcgBRDFEEH4ABBPIgEgBRChBSAEIAEQoAEgAxBWDAELCyAAKgIkIAQgAhDZFwshByADJAYgBwtQAQJ/IwYhASMGQTBqJAYgAUEIaiICIAAoAgAQVSABEHkgAhBbA0AgAhBZRQRAIAEgAhBTEGIQvAEaIAIQVgwBCwsgACABKQMANwEEIAEkBguSAQEBfCAAIAIQ1AE2AgAgAEEEahB5IABBEGoQoAggAEFAa0MAAAAAQwAAAAAQpAEgAEHIAGpDAAAAAEMAAAAAEKQBIABB0ABqEL4DIABEAAAAAAAAAAA5A4ABIABBADoAiAEgABClLSAAIAFEAAAAAAAAqD+iIgM5A2ggACABRAAAAAAAALg/ojkDcCAAIAM5A3gLMwAgASgCACEBQX8gACgCABBiLgEAIgAgARBiLgEAIgFKIABBEHRBEHUgAUEQdEEQdUgbC7gBAQJ/IwYhBCMGQSBqJAYgACADNgIAIABBBGoiBRCyASAAIAE2AhggACACQQFxOgAcIABBADoAHSAARAAAAAAAAAAAOQMgIAAgA0EgaiICKgIAuzkDKCAAQTBqIgFCADcDACABQgA3AwggBCAAKAIAEOwBEH0gBBCUAQNAIAQQjgFFBEAgBBBwENQBQdcAEPgMQZABEE8iACACKgIAuyAEEHAQpi0gBSAAELkBIAQQeAwBCwsgBCQGC4kBAQJ/IwYhBCMGQSBqJAYgACACKQIANwIAIABBCGoiBSABNgIAIABBDGoiAhCyASAEIAMQVSAEEFsDQCAEEFlFBEAgBBBTIgEoAhgoAgQiAAR/IAAoAgwQ7gFBAXMFQQALIQNBwAAQTyIAIAUoAgAgAyABEKgtIAIgABC5ASAEEFYMAQsLIAQkBgvLBQERfyMGIQEjBkFAayQGIAFBIGohAyABQQRqIQIgASIJQTRqIQYgAUE4aiIKIAAQ0gEgCi4BACEHIAoQbiIEQRB0QRB1IQsgCi4BAiIBIQ8gAEEEaiIIKAIABEAgBEEQdEEQdaxCA4YgABC7B6xTBEAgASEABSADEKoBIAIgCi4BBjYCACADIAtBAWogAhDIByACIAgQVSACEFsgCUECaiEBIAZBAmohBANAIAIQWUUEQCAJIAIQUyIAEMMBKAEANgIAIABBEGohCCAAQRRqIQxBACEAA0AgACAILgEAELcBSARAIAEuAQAhBSADIAkuAQAgB2sQTSgCACAFQRB0QRB1SgRAIAEuAQAhBSADIAkuAQAgB2sQTSAFQRB0QRB1NgIACyAGIAwoAgAgABDaASAJIAYuAQAgBC4BABDoARogAEEBaiEADAELCyACEFYMAQsLIA9BAWohEUEAIQBBACEIA0AgACALTARAAkACQCADIAAQTSgCACAPRg0AIAMgABBNKAIAIBFGDQAMAQsgCEEBaiEICyAAQQFqIQAMAQsLQQAhBiAKLgEGIgAhB0EAIQEgACEFA0ACQCAGIQQgASEMA0ACQCAEIAtODQIgAyAEEE0oAgAhAkEBIQEDQAJAIAEgBGoiBiALSg0AIAMgBhBNKAIAIAJHDQAgAUEBaiEBDAELCyACIBFKBEAgAkEBaiENIAEhDgNAAkAgDiAEaiIQIAtKDQMgAyAQEE0oAgAgAkcEQCADIBAQTSgCACANRw0BCyAOQQFqIQ4MAQsLIAcgDUoNASADIBAQTSgCACANSg0BCyAAIQcgBiEEIAIhACABIQwMAQsLIAAhByACIgAgBSAAIAVIIAxBACAMQQBHIAcgDUZxGyAOaiAISnEbIQUMAQsLIA8gBSAFIAouAQZGG0H//wNxIQAgAxBoCwUgASEACyAJJAYgAAsyAQF/IwYhAyMGQRBqJAYgAyABIAIQ7BcgA0EIaiIBIAMpAgA3AgAgACABEOsXIAMkBgsqAQF/IABBPGoiASAAQQhqLgECOwEAIAAoAgQiAARAIAEgABCqLTsBAAsL4gUCDH8EfCMGIQIjBkHwAGokBiACQcwAaiEEIAJByABqIQsgAkEIaiEDIABBEGoiBxDyDyACQRBqIggQrgQgAkHQAGoiBSAAKAIAEFUgBRBbA0AgBRBZRQRAIAUQUyEJIAFFBEAgCRCsLQsgCRBiIgwuAQAhCiAEIAwuAQQgCmpBAhBOIgZB//8DcSAJQTxqIgouAQAQtwFB//8DcRChASAHIAQgDBBuQRB0QRB1QQIQTkEQdEEQdRCrLSAIIAa3IAouAQAQtwG3EN8KIAUQVgwBCwsgBBCYASALEJgBIABBgAFqIgUgByAEIAsQ8Q85AwAgAyAEKAIAIgFB//8DcSIKIAFBEHYiARDBAyAAQUBrIgkgAykDADcCACADIAsoAgAiBkH//wNxIAZBEHYQwQMgAEHIAGoiDCADKQMANwIAIAUrAwAgACsDeGQEQCAHEN8XBEAgB0EDQQMgBCALEOgXIg4gBSsDAEQAAAAAAADgP6JjBEAgBSAOOQMAIAMgBCgCACIBQf//A3EiCiABQRB2IgEQwQMgCSADKQMANwIAIAMgCygCACIGQf//A3EgBkEQdhDBAyAMIAMpAwA3AgAFIAQoAgAiAUH//wNxIQogAUEQdiEBCwsLIAJBQGshBiACQewAaiIHIAsgBBCPCiADIAcuAQAgBy4BAhDBAyACIAogARDBAyADKgIAIAMqAgQgAioCACACKgIEELMGuyEOIABBiAFqIgFBADoAACAAQQAgA0QAAAAAAAAAACAOEO4PIAAQiAeZRBgtRFT7Iek/ZAR/IAIgCCsDACIPIAgrAwgiECAIKwMQIhEQ+wogCSACKQMANwIAIAZDAACAPyAIEOwPthCkASACIAkqAgAgACoCRCAGKgIAIAYqAgQQ6AogDCACKQMANwIAIAUgCCAIEOwPIg4gDyAQIBEgDhDrDxDeFzkDACABQQA6AABBAAUgASwAAEEARwshDSACJAYgDQuwAgIHfwJ8IABBCGohCSACIQgCQAJAA0ACQCAEQQFqIQcDQCAIIARrIgJBAkgEQCAEIQUMAgsgAkECRg0DIAMoAgAQgQ4gABDeAyACEMgBIARqIAQQ6Q8gByEGIAghAiAEIQUDQAJAA0ACQANAIAYgAk4NAyAJKAIAIgogBkEDdGorAwAiCyAKIAVBA3RqKwMAIgxjDQEgCyAMYQRAIAZBAWohBgwBCwsgACACQX9qIgIgBhDpDwwBCwsgACAFIAYQ6Q8gBkEBaiEGIAVBAWohBQwBCwsgBSABSgRAIAUhCAwBCwsgAiABTARAIAIhBAwCCwsLDAELIAQgAUghASAJKAIAIgAgBEEDdGorAwAgACAHQQN0aisDAGMEfyAHIAQgARsFIAQgByABGwshBQsgBQuVAQEDfyACQX9KBEAgACgCACIDIAJOBEAgACgCBCADRgRAIAAQmRkgACgCACEDCyAAQQhqIQUDQCAFKAIAIQQgAyACSgRAIAQgA0EDdGogBCADQX9qIgNBA3RqKQIANwIADAELCyAEIAJBA3RqIAEpAgA3AgAgACAAKAIAQQFqNgIADwsLQcD4GkHQhB1B8QVB4vgaEAEL5AMBDn8jBiEDIwZBMGokBiADQRhqIQQgAyIGQRRqIQggA0EQaiEJIANBCGohCyAAKAIEIgMgACgCACICayEMIAQgAiADELEBIAFBABDyASAAQQxqIQogBCgCDCEHQQEhAwNAQQAhBUEAIQRBACECA0AgBSAMSARAIAUgBCAKKAIAIAVBAnRqKAIAIAcgBUECdGooAgBrIg0gAkoiDhshBCAFQQFqIQUgDSACIA4bIQIMAQsLIAJBAEoEQCAHIARBAnRqIAI2AgAgBiAEIAJstzkDACAIIAI2AgAgCSACNgIAQQEhAgNAIAIgBGoiBSAMSARAIAJBAWohAiAFIAooAgAgByAJIAggBhDcFw0BCwsgCSAKKAIAIARBAnRqKAIANgIAQQEhAgNAIAQgAmsiBUF/SgRAIAJBAWohAiAFIAooAgAgByAJIAggBhDcFw0BCwsgCCgCACIEIANKIAEoAgAiAkEDSHIEQCACQQNGBEAgAUECEPIBC0EAIQMDQAJAIAMgASgCAE4NACABIAMQZCgCACAESA0AIANBAWohAwwBCwsgCyAGKwMAIAS3oyAAKAIAt6C2IAQQ4AwgASALIAMQry0gARClBygCACEDCwwBCwsgASgCACEPIAcQhAEgBiQGIA8LNAEBfCAAKwMAIgMgASsDAGMEQCABIAM5AwAgACsDACEDCyADIAIrAwBkBEAgAiADOQMACwuXAwIMfwF8IwYhAiMGQfAAaiQGIAJB1ABqIgUQvgMgAEHQAGoiCRDFAyACQSBqIgdEAAAA4P//70c5AwAgAkEYaiIIRAAAAOD//+/HOQMAIAJBOGoiBiAAKAIAEFUgBhBbIAFBBGohCiACQShqIgRBBGohCwNAIAYQWUUEQCAGEFMiDBBiIg0uAQAhAyAEIA0uAQQgA2qyQwAAAD+UIAwuATwQtwGyEKQBIAIgASoCACAKKgIAIAQqAgAgCyoCABCzBrsiDjkDACAFIA4QiQcgAiAHIAgQsS0gBhBWDAELCyAEIAcrAwAgAEHoAGoiASsDACIOoxCcAiAIKwMAIA6jEJwCQQFqELEBIAUoAgAhAEEAIQMDQCADIABIBEAgBCAFIAMQZCsDACABKwMAoxCcAkEBEIgBIANBAWohAwwBCwsgAhC+AyAEIAIQsC0aIAIoAgAhAEEAIQMDQCADIABIBEAgCSABKwMAIAIgAxBkKgIEu6IQiQcgA0EBaiEDDAELCyACELcDIAQoAgwQhAEgBRC8BSACJAYLsAICB38CfSAAQQhqIQkgAiEIAkACQANAAkAgBEEBaiEHA0AgCCAEayICQQJIBEAgBCEFDAILIAJBAkYNAyADKAIAEIEOIAAQ3gMgAhDIASAEaiAEEOoPIAchBiAIIQIgBCEFA0ACQANAAkADQCAGIAJODQMgCSgCACIKIAZBAnRqKgIAIgsgCiAFQQJ0aioCACIMXQ0BIAsgDFsEQCAGQQFqIQYMAQsLIAAgAkF/aiICIAYQ6g8MAQsLIAAgBSAGEOoPIAZBAWohBiAFQQFqIQUMAQsLIAUgAUoEQCAFIQgMAQsLIAIgAUwEQCACIQQMAgsLCwwBCyAEIAFIIQEgCSgCACIAIARBAnRqKgIAIAAgB0ECdGoqAgBdBH8gByAEIAEbBSAEIAcgARsLIQULIAULRQEDfyMGIQIjBkEQaiQGIAAoAgAhAyACQQE2AgAgAEEAIAEgA0F/aiADIAFKGyABQQBIGyIBIAMgAhCzLSEEIAIkBiAEC6gBAwV/AX0DfCMGIQIjBkEQaiQGIABBBGoiAy4BACEFIAFBBGoiBC4BACEGIAAgBC4BBCIEIAMuAQQiAyAEQRB0QRB1IANBEHRBEHVIG0EQdEEQdSAGIAUgBSAGSBtBEHRBEHVqskMAAAA/lCIHuyIIEJ8IIQkgAiAHIAkgASAIEJ8IoEQAAAAAAADgP6K2EKQBIAAgAhDdFyABIAIQ3RegIQogAiQGIAoL9gICB38DfCMGIQIjBkGAAWokBiACQdgAaiEFIAIgACABIABBKGoiBisDACACQUBrIgMgAkEgaiIEIAJB8ABqIgcQ7Q8iCjkDAAJAIAcoAgAiCEEBSgRAIAIgACABIAYrAwBEAAAAAAAA8D8gCLejRAAAAAAAAPA/oKMgA0EIaiAEQQhqQQAQ7Q85AwggAiAAIAEgBisDAEQAAAAAAADwP0QAAAAAAADwPyAHKAIAt6OhoyADQRBqIARBEGpBABDtDzkDEEEBIQEDQCABQQNGDQIgAiABQQN0aisDACIJIApjBEAgAyADIAFBA3RqKwMAOQMAIAQgBCABQQN0aisDADkDACACIAk5AwAgCSEKCyABQQFqIQEMAAALAAsLIAMrAwAiCUQAAAAAAAAAAGQEQCAGIAk5AwAgACAEKwMAIgs5AzAgACAKOQM4IAAoAhhBAEoEQCAFIAk5AwAgBSALOQMIIAUgCjkDEEGVgRogBRBLCwsgAiQGC5QCAgh/AXwjBiEEIwZBIGokBiAEQQhqIgMQqgEgAEEEaiECA0AgBSACKAIASARAIAIgBRBNKAIAIgYQiAeZRBgtRFT7Iek/ZEUEQCAGEJEBIQggBSEBAkACQANAIAFBAWoiASACKAIAIgdIBEAgCCACIAEQTSgCABCRARDlBEUNAQwCCwsMAQsgAigCACEHCyABIAdIBEAgAiABEE0oAgAiARCIB5lEGC1EVPsh6T9kRQRAIAMgBiABELUtthD4BgsLCyAFQQFqIQUMAQsLIAMoAgAiAQRAIAAgAyADIAFBAhBOELQtEE0qAgC7Igk5AyggACgCGEEBSgRAIAQgCTkDAEG4ghogBBBLCwsgAxCHBCAEJAYLmwECB38BfSMGIQMjBkEQaiQGIAIQvAUgAEEEaiEEIAFBBGohBSADQQRqIQZBACEAA0AgACAEKAIASARAIAQgABBNKAIAIgcQkQEiCC4BACEJIAMgCC4BBCAJarJDAAAAP5QiCiAHIAq7EJ8IthCkASACIAEqAgAgBSoCACADKgIAIAYqAgAQswa7EIkHIABBAWohAAwBCwsgAyQGC5kCAgh/AnwjBiEBIwZBQGskBiABQTBqIgIgACsDICIJENwHtiAJENsHthCkASABQRhqIgMQvgMgACACIAMQuC0gAygCACIGQQJIBH9BAAUgABC3LSAAIAMQti0gAEEoaiIHKwMARAAAAAAAAKg/oiEJQQEhBEEAIQIDQCAEIAZIBEAgAyAEQX9qEGQrAwAgAyAEEGQrAwChmSIKIAlkBEAgAkEBaiECIAogBysDAKGZIAllBEAgBUEBaiEFCwsgBEEBaiEEDAELCyAAKAIYQQBKBEAgASAHKwMAOQMAIAEgBjYCCCABIAU2AgwgASACNgIQQdeAGiABEEsLIAK3RAAAAAAAANA/oiAFt2MLIQggAxC8BSABJAYgCAs0AQF/IAAgAhCyLSAAQdAAaiIDKAIABEAgACABIAJEAAAAAAAAAAAgA0EAEGQrAwAQ7g8LC0ABAn0gASAAEIgHEI8LtiICIABEAAAAAAAAAAAQnwi2IgMgAEGAAWoiACsDALYQ8A8gASACIAMgACsDALYQ4hcLwwEDBH8CfQF8IwYhAiMGQSBqJAYgACgCACEBIAArAygiB0QAAAAAAAAAAGQEQCAHtiIGIAFBIGoiAyoCACIFIAUgBl4bIgUgAUEkaiIEKgIAXQRAIAQgBTgCAAsgAyAGOAIAIAEgACsDMLY4AiwgASAHRM3MzMzMzPQ/orY4AigLIAIgARDsARB9IABBBGohAUEAIQADQCAAIAEoAgBIBEAgASAAEE0oAgAgAhBwELstIAIQeCAAQQFqIQAMAQsLIAIkBgu5AwIJfwJ8IwYhByMGQRBqJAYgB0EIaiEEIAAsABxFBEAgAEEgaiECIAAsAB1FBEAgAiABOQMACyAAQRhqIggoAgBBAEoEQCAHIAIrAwA5AwBBuv0ZIAcQSwsgBCACKwMAIgEQ3Ae2IAEQ2we2EKQBIABBBGohAwNAIAUgAygCACICSARAIAMgBRBNKAIAIgIgCCgCACAEELotIAgoAgBBAUoEQCACEOEXCyAFQQFqIQUMAQsLAkAgAkEDTgRAIAAQuS0EQEEBIQYgA0EAEE0oAgAgBBCqDCAAQShqIgkrAwAgAEEwaiIKKwMAIgEQ7w8hC0EAIQADQCAGIAMoAgAiBUgEQCAGIAAgAyAGEE0oAgAgBBCqDCAJKwMAIAorAwAiARDvDyIMIAtjIgIbIQAgBkEBaiEGIAwgCyACGyELDAELCyAAIQIDQCACQQFqIgIgBUgEQCADIAIQTSgCACAIKAIAIAQgCSsDACABEOAXIQEgAygCACEFDAELCyAKKwMAIQEDQCAAQQBMDQMgAyAAQX9qIgAQTSgCACAIKAIAIAQgCSsDACABEOAXIQEMAAALAAsLCwsgByQGC+oBAgd/AXwjBiECIwZBMGokBiACQRBqIQMgACwAHAR/QQAFIAMQvgMgAEEEaiEFIABBGGohBgNAIAQgBSgCAEgEQCAFIAQQTSgCACIHIAEQrS0EQCADIAcQiAcQiQcLIAYoAgBBAUoEQCAHEOEXCyAEQQFqIQQMAQsLIAMoAgAEf0QYLURU+yEJQCADEKsMIQlBAQVBAAshASAAIAk5AyAgAEEdaiIAIAE6AAAgBigCAEEASgRAIAIgCTkDACACIAE2AghBsoMaIAIQSyAALAAAIQELIAMQvAUgAUH/AXFBAEcLIQggAiQGIAgLOgEBfyMGIQIjBkEgaiQGIAIgABCRARBVIAIQWwNAIAIQWUUEQCACEFMgARDkFyACEFYMAQsLIAIkBgvTBQEKfyMGIQQjBkHwAGokBiAEQQhqIQUgBEHgAGohBiAEQdgAaiEJIARB0ABqIQcgBBB5IARBQGsiChCOByAEIAEQ0gEgBEHoAGoiCCABENIBIAgQbiEMIAogBC4BAiAELgEGQQFqELAGGiAABEAgCCABENIBIAguAQAhCCAGIAEQ0gEgBi4BAiEGIAkgARDSASAJLgEEIQkgByABENIBIAcuAQYhByAFIAg2AgAgBSAGNgIEIAUgCUEQdEEQdTYCCCAFIAc2AgwgBSACQRB0QRB1Igg2AhBBnfwZIAUQSwUgAkEQdEEQdSEICyAEQSBqIQYgASAKEL8tQQAhBSAELgECIQEDQCABIAhIBEAgASAELgEGTARAIAogARCuASIJIAUgCSAFShshBQsgAUEBaiEBDAELCyAIIANBEHRBEHUiCWohA0EAIQEDQCADIAJBEHRBEHUiB04EQCACQRB0QRB1IAQuAQJOBEAgAkEQdEEQdSAELgEGTARAIAogBxCuASIHIAEgByABShshAQsLIAJBAWpBEHRBEHUhAgwBCwsgBC4BBiEHQQAhAiADQQFqQf//A3EhAwNAIANBEHRBEHUgB0EQdEEQdUwEQCADQRB0QRB1IQsgA0EQdEEQdSAELgECTgRAIAogCxCuASILIAIgCyACShshAgsgA0EBakEQdEEQdSEDDAELCyAABEAgBiAFNgIAIAYgATYCBCAGIAI2AghB2vwZIAYQSwsgBEEwaiEAIAEgBXIgAnJFBEAgBC4BBiEGIAAgBC4BAjYCACAAIAY2AgQgACAINgIIIAAgCTYCDEHk/BkgABBLIAoQ4AgLAn8CQCAFIAFBAXQiAEwNAEGgmPkAKwMAIAxBEHRBEHW3oiAFt2NFDQBBAQwBCyACIABKBH9BoJj5ACsDACAMQRB0QRB1t6IgArdjBUEACwshDSAKKAIMEIQBIAQkBiANC28BA38jBiEDIwZBQGskBiADQThqIgUQVyADQRxqIgQgABCRARBVIAMgBRBVIAQQWwNAIAQQWUUEQEEgEE8iACAEEFMgASACEKsYIAMgABCgASAEEFYMAQsLQQgQTyIAIAUQtAggBRCPAyADJAYgAAstAQF9IAIqAgAgAF4EQCACIAA4AgALIAEqAgAiBCADKgIAXgRAIAMgBDgCAAsL/wECCH8BfSMGIQUjBkEwaiQGIAVBJGoiBhCYASAFQSBqIgkQmAEgBUEEaiIHIAAQkQEQVSADQwAAAE84AgAgBEMAAADPOAIAIAcQWyAGQQJqIQoDQCAHEFlFBEAgBiAHEFMiABDDASgBADYCACAAQRBqIQsgAEEUaiEMQQAhCANAIAsuAQAQtwEgCEEQdEEQdSIASgRAIAYuAQCyIg0gAWBFIA0gAl9FckUEQCAKLgEAIAMgBBCHEAsgBSAMKAIAIAAQ2gEgCSAFKAIAIgA2AgAgBiAAQf//A3EgAEEQdhDoARogCEEBakEQdEEQdSEIDAELCyAHEFYMAQsLIAUkBgvDBAIPfwR9IwYhBCMGQUBrJAYgBEE4aiEJIARBNGohCiAEQTBqIQ8gBEEsaiEQIARBKGoiERCYASAEQSRqIhIQmAEgBEEIaiIHEFcgAEEIaiIIEG5BEHRBEHWyIAOVjhBlIgVB//8DcSEGAkAgBUEQdEEQdUEBSgRAIAAoAgQEQCAIEG5BEHRBEHVBAWqyIAVBEHRBEHWylSEUIAZB//8DakH//wNxIQAgCC4BBLIhAwNAIABBEHRBEHVBf0wNAyAJQwAAAE84AgAgCkMAAADPOAIAIAcgASkCADcCACAHIAEpAgg3AgggByABKQIQNwIQIAcgASwAGDoAGCADIBSTIRMDQCAHEFMiBSgCBCATIAMgDyAQEMMtIAcQViAPKgIAIBAgCSAKEMItIAUgAhBTRw0ACyAJKgIAIhUgCioCACIWXQRAIBOOEGUhBSAEIAguAQAiBiAFIAZBEHRBEHUgBUEQdEEQdUobIBWOEGUQoQEgESAEKAIAIgY2AgAgBCADjRBlIBaNEGUQoQEgEiAEKAIAIgs2AgAgC0EQdiEMIAZBEHYhDSAAQf//A3EEQEH4ABBPIgUiDhBXIA5BCGoQeSAOQRBqEHkgDhCBGCAEIAZB//8DcSANIAtB//8DcSAMEIQDIAUgBCkDADcBCCAFIAw7ATggBSANOwE6IAIgBRDtBwUgBCAGQf//A3EgDSALQf//A3EgDBCEAyAIIAQpAwA3AQALCyAAQX9qQRB0QRB1IQAgEyEDDAAACwALCwsgBCQGCzEBAX8gAEEIaiICIAFBCGoQvAEaIAAgAhCsDCABQRhqIgAgACgCAEGAgICABHI2AgALmwIBCH8jBiEEIwZB8ABqJAYgBEEIaiIHEHkgBEHIAGoiAxBXIARBLGoiBRBXIARBEGoiBiAAEOwBEH0gBCABIAKMEKQBIAYQlAEgAEEkaiEIA0AgBhCOAUUEQCADIAYQcBDUARCWASADEFsDQCADEFlFBEAgByADEFMiABBiIgkpAQA3AwAgBSADKQIANwIAIAUgAykCCDcCCCAFIAMpAhA3AhAgBSADLAAYOgAYA0ACQCADEJcDDQAgByADQQEQjAMiChBiEOUERQ0AIAAgChDFLSAHIAkpAQA3AwAgAxBWDAELCyAAIAUgAyAIKgIAu0QAAAAAAADgP6JB6JT5ACsDAKK2EMQtIAMQVgwBCwsgBhB4DAELCyAEJAYL1wQDEH8BfQF8IwYhBCMGQbABaiQGIARBMGohCiAEQShqIQ4gBEEgaiEIIARBGGohCSAEQRBqIgYQeSAEQYgBaiIFEFcgBEHsAGoiDyAAQQhqEFUgBEHQAGoiECAAQRRqEFUgBEE0aiIHIAAQ7AEQfUGokvkAKwMAIABBJGoiCyoCALuiRAAAAAAAAOA/oBBaIQwgBEMAAIA/IAEgAZRDAACAP5KRIhSVIAGMIBSVEKQBIAQqAgAhASAEKgIEIRQgBEEIaiIAIAIgA4wQpAEgACABIBQQtQQgBxCUASAAKgIAIQEgACoCBCECA0AgBxCOAUUEQCAFIAcQcCIAENQBIg0QlgEgBRBbIABBnAFqIREDQCAFEFlFBEAgBiAFEFMiABBiIhIpAQA3AwAgBhBuQRB0QRB1tyEVQdCS+QArAwAgCyoCALuiIBVjBEAgAEEEaiITKAIAIgBFBEAgCUHG+xk2AgAgCUGPDjYCBEHMs/kAQa37GUECQcfrHCAJEFEgEygCACEACyAAIAEgAhDBLSEAQday+QAtAABBAEcgACARKgIAEGUgCyoCALtEAAAAAAAA5D+iEFoQwC0EQCAPIAUQnwEQoAFB1rL5AC0AAARAQeP7GSAIEEsgCCAAENIBIAgQnQFB9/sZIA4QSyAGEJ0BCwUgEiAMIA0Q5RdB6K/5ACgCAEoEQCAQIAUQnwEQoAFB1rL5AC0AAARAIAogBiAMIA0Q5Rc2AgBB/PsZIAoQSyAGEJ0BCwsLIAAQ1wIgABBMCyAFEFYMAQsLIAcQeAwBCwsgBCQGC/kCAgd/AnwjBiEDIwZB0ABqJAYgA0EQaiEBIANBLGoiBCAAEOwBEH0gBBCUASADQQxqIQYDQCAEEI4BRQRAIAEgBBBwIgUQ1AEQVSABEFtBACECA0AgARBZRQRAIAEQUxBiEGtBEHRBEHUhACABEFYgACACIAIgAEgbIQIMAQsLIANBACACQQFqELEBIAEQWwNAIAEQWUUEQCABEFMQYhBrIgBBEHRBEHVBB0oEQCADIABBEHRBEHVBARCIAQsgARBWDAELCyADEOMBIQkgARBbIAm2u0QAAAAAAADgP6IhCEEAIQADQCABEFlFBEACQCAIIAEQUyICEGIQa0EQdEEQdbdkBEAgAARAIAIgACAFEOMXDQILIAEQlwNFBEAgAiABQQEQjAMgBRDjFw0CCyACKAIEIgciAgRAIAIQ1wIgBxBMCyABEJ8BIgIEQCACEMoEIAIQTAsFIAIhAAsLIAEQVgwBCwsgBigCABCEASAEEHgMAQsLIAMkBgtAAAJAIAAoAgAEQCAAQQRqIgAQWwNAIAAQWQ0CIAAQUygCCCABRwRAIAAQVgwBCwsgABCfASIABEAgABBMCwsLC/4CAhB/AXwjBiEFIwZBMGokBiAFQRBqIQkgAEEUaiIOEMUDIAUiBkEkaiIIIAIoAQA2AgAgCCABLgEAIAFBAmoiDy4BABDNBBogACAILgEAIAhBAmoiEC4BABD5GbsiEzkDKCATnxCcAiEMIAZBIGoiCkECaiERQQAhAkEAIQUDQCADIAAoAgBIBEAgCiAAIAMQZCgBADYCACAKIAEuAQAgDy4BABDNBBogCC4BACILIBAuAQAiByAKLgEAIgQgES4BACISEOcXIQ0CQAJAIANBAEdBACALIAcgBCASEJ4MIgdrIAcgB0EASBsiCyACSnFFDQAgDSAFayIEQQAgBGsgBEF/ShsiBCAAIAMQZCgCBCAMbE4EQCAEIAAgA0F/ahBkKAIEIAxsTg0BCwwBCyAGIAe3IAAgAxBkKAEAIgJB//8DcSACQRB2EO8XIAkgBikDADcDACAJIAYpAwg3AwggDiAJEO4XIAshAiANIQULIANBAWohAwwBCwsgBiQGC4MHAhR/AX4jBiEDIwZBoAFqJAYgA0HIAGohBSADQUBrIgcQeSADQThqIgwQeSADQYABaiIIIAAQ1AEQVSADQeQAaiINIAgpAgA3AgAgDSAIKQIINwIIIA0gCCkCEDcCECANIAgoAhg2AhggA0EIaiIKEKAIIAMgCBCbAyAHIAMpAwAiFzcDACACIAcuAQA2AgBBASEJA0AgCBD/AUUEQCADIAgQmwMgCUEBaiEJIAMpAwAhFwwBCwsgByAXNwMAIAEgCUGAsPkAKAIAEE4iAEEBIABBAUobIgA2AgAgCSAAEGYhDkF/IABBA2wiAEEDdCAAQf////8BSxsQTyELQcKu+QAtAAAEQCAHLgEAIQYgBy4BAiEEIAEoAgAhACAFIAk2AgAgBSAGQRB0QRB1NgIEIAUgBDYCCCAFIAA2AgwgBSAONgIQQY76GSAFEEsLIANB4ABqIQ8gA0HcAGohECAOQQF2IRNBACEEA0AgBCATRwRAIAMgDRCbAyAEQQFqIQQMAQsLIAlBf2ohFUEAIQZBASEFIAQhAANAAkAgChDyDyAEIA5qIhEgE2shFCACIAVBAnRqIRIgBiEEA0ACQCAEIBFOBEAgBCAJSCAFIAEoAgBGcUUNAQsgByAIEJsDIAcuAQIhBiADIAcuAQQgBy4BAGpBAhBOQf//A3EgBhChASAKIAMQigcgBEEBaiIEIBRGIAQgFUZyBEAgEiAHLgEANgIACwwBCwsgCiAPIBAQrQwaIAsgBUEDbCIGQX1qQQN0akQAAAAAAAAAADkDACALIAZBfmpBA3RqIA8qAgC7OQMAIAsgBkF/akEDdGogECoCALs5AwAgBSABKAIATg0AIAoQ8g8gESAOaiISIBNrIREgAiAFQQFqIhZBAnRqIRQDQAJAIAAgEk4EQCAAIAlIIBYgASgCAEZxRQ0BCyAMIA0QmwMgDC4BAiEGIAMgDC4BBCAMLgEAakECEE5B//8DcSAGEKEBIAogAxCKByAAQQFqIgAgEUYgACAVRnIEQCAUIAwuAQA2AgALDAELCyAKIA8gEBCtDBogCyAWQQNsIgZBfWpBA3RqRAAAAAAAAAAAOQMAIAsgBkF+akEDdGogDyoCALs5AwAgCyAGQX9qQQN0aiAQKgIAuzkDACAFQQJqIgUgASgCAEwEQCAEIQYgEiEEDAILCwsgChCnCCADJAYgCwu6BwQOfwF+AX0BfCMGIQQjBkGQAWokBiAEQRhqIQUgBEEQaiIGEHkgBEEIaiIHEHkgBEH0AGoiCCAAENQBIgkQVSAEQdgAaiIKIAgpAgA3AgAgCiAIKQIINwIIIAogCCkCEDcCECAKIAgoAhg2AhggBEE4aiINIgsQVyALQQRqIgwQVyAMIAsQlgEgBCIMIAgQmwMgBiAEKQMAIhI3AwAgAyAGLgEANgIAIAJBATYCACAJEJoCIQRBwq75AC0AAARAIAYuAQAhCSAGLgECIQsgBSAENgIAIAUgCUEQdEEQdTYCBCAFIAs2AghB3foZIAUQSwsgDEEoaiEOAkACQCAEQYCw+QAoAgBMDQAgBEGYsPkAKAIASA0AIAoQWyAAQYgBaiEPIABBjAFqIRBBACEEAkACQANAIARBgLD5ACgCACIFSARAIAcgChCbAyANIAcuAQKyIA8qAgAgBy4BBCAHLgEAardEAAAAAAAA4D+itpSTIBAqAgCTIAQQ5hcgChBZDQIgBEEBaiEEDAELCwwBCyADIAcuAQQ2AgRBACEBDAILQQAhAANAIAAgBUECEE5IBEAgDCAIEJsDIABBAWohACAMKQMAIRJBgLD5ACgCACEFDAELCyAGIBI3AwAgAUEkaiERQQAhCUEAIQEDQCAHIAoQmwNBgLD5ACgCAEECEE4hBSANQQRqIgsQjQMgCyAFQf8BcRCCCioCBCETAkACQEHYlvkAKwMAIBEqAgC7oiIUIBO7YwR/QQEhBQwBBSAUIBOMu2MEf0F/IQUMAgVBAAsLIQUMAQtBASEBCyAFIAlHBEAgAEGYsPkAKAIASgRAIAYuAQAhACACIAIoAgAiCUEBajYCACADIAlBAnRqIAA2AgBBACEACwsgDSAEQYCw+QAoAgBrEMktIAYgCBCbAyANIAcuAQKyIA8qAgAgBy4BBCAHLgEAardEAAAAAAAA4D+itpSTIBAqAgCTIAQQ5hcgAEEBaiELIARBAWohBCAKEFlFBEAgBSEJIAshAAwBCwsgBy4BBCEFIABBmLD5ACgCAE4gAigCACIAQQFGckUEQCACIABBf2oiADYCAAsgAyAAQQJ0aiAFQRB0QRB1NgIAQcKu+QAtAAAEQCAGLgECIQAgBi4BBCEDIA4gAigCADYCACAOIANBEHRBEHU2AgQgDiAAQRB0QRB1NgIIQYn7GSAOEEsLDAELIAgQ9QMgBiAIEFMQYikBADcDACADIAYuAQQ2AgRBACEBCyANQbUCEIIDIAwkBiABCy8BAX8gAEEEaiICKAIAIQADQCAAEHkgAiACKAIAQQhqIgA2AgAgAUF/aiIBDQALC0oBA38gAEEANgIAQSAQTyICQSBqIQMgAiEBA0AgARDpFyABQQhqIgEgA0cNAAsgACACNgIIIABBBDYCBCAAQQA2AgwgAEEANgIQC0sBA38gAEEANgIAQcAAEE8iAkFAayEDIAIhAQNAIAEQmAEgAUEQaiIBIANHDQALIAAgAjYCCCAAQQQ2AgQgAEEANgIMIABBADYCEAu0AgIHfwJ8IABBCGohCSACIQgCQAJAA0ACQCAEQQFqIQcDQCAIIARrIgJBAkgEQCAEIQUMAgsgAkECRg0DIAMoAgAQgQ4gABDeAyACEMgBIARqIAQQ8w8gByEGIAghAiAEIQUDQAJAA0ACQANAIAYgAk4NAyAJKAIAIgogBkEEdGorAwgiCyAKIAVBBHRqKwMIIgwQhgoNASALIAxhBEAgBkEBaiEGDAELCyAAIAJBf2oiAiAGEPMPDAELCyAAIAUgBhDzDyAGQQFqIQYgBUEBaiEFDAELCyAFIAFKBEAgBSEIDAELCyACIAFMBEAgAiEEDAILCwsMAQsgBCABSCEBIAkoAgAiACAEQQR0aisDCCAAIAdBBHRqKwMIEIYKBH8gByAEIAEbBSAEIAcgARsLIQULIAULPAEDfyAAQRRqIgMoAgAhBEEAIQADQCACIARIBEAgACADIAIQ1QMrAwggAWRqIQAgAkEBaiECDAELCyAAC6EBAgN/AnwgAEEUaiIBKAIAIgMEfANAIAIgA0gEQCABIAIQ1QMrAwhEAAAAAAAAAABjBEAgASACENUDKwMImiEEIAEgAhDVAyAEOQMICyACQQFqIQIMAQsLIAEgASADQQNsQQQQThDxFxDVAysDCCEEIAArAygiBUQAAAAAAAAAAGQEfCAEIASiIAWjBUQAAAAAAAAAAAsFRAAAAAAAAAAACwvbAQIIfwF8IwYhBCMGQTBqJAYgBEEQaiEGIABBFGoiCRDFAyAAIAEqAgAgAUEEaiIKKgIAEJ8JuzkDKCAEQSBqIghBBGohCwNAIAUgACgCAEgEQCAIIAAgBRBkKAEAIgdB//8DcSAHQRB2EMEDIAEqAgAgCioCACAIKgIAIAsqAgAQswa7IgwgAmZFIAwgA2VFckUEQCAEIAwgACAFEGQoAQAiB0H//wNxIAdBEHYQ7xcgBiAEKQMANwMAIAYgBCkDCDcDCCAJIAYQ7hcLIAVBAWohBQwBCwsgBCQGC2oDAX8BfQJ8IABBDGoiAyAAKwMAIgYgAUEQdEEQdbciBaIgBaIgAyoCACAAQQhqIgAqAgAiBCABQRB0QRB1spSTu6AgAkEQdEEQdbegtjgCACAAIAS7IAZEAAAAAAAAAECiIAWiobY4AgALzQYCF38FfSMGIQgjBkHAAWokBiAIQagBaiELIAhBkAFqIRAgCEH4AGohESAIQegAaiETIAhBCGoiDRCvDCAEQf8BcSEVIAhBBGohFiANQRBqIRcgDUEYaiEYIAhBBGohGSAIQQRqIRogBCEOA0AgCSABSARAIA4gAiAJaiIbLAAARgR/IBJBAWoFAkAgDiAERyASQQJKcQRAIA0QrwwgCiEHA0AgByAJSARAIAAgB0EDdGoiBi4BACEMIAggBi4BBCAMardEAAAAAAAA4D+itiAGLgECshCkASANIAgqAgC7IBYqAgC7EK4MIAdBAWohBwwBCwsgDUEBEPYXIBcrAwC2IR4gGCsDALYhH0HCrvkALQAABEAgEyAeuzkDACATIB+7OQMIQYP4GSATEEsLQQAhBkEAIQdBASEMA0ACQCAGDQAgDCAJaiIPIAFKIhwgCiAMayIGQX9KIhRBAXNxDQAgFAR/IAIgBmosAAAgBEYEfyAAIAZBA3RqIgYuAQAhFCAIIAYuAQQgFGq3RAAAAAAAAOA/orYgBi4BArIQpAEgCCoCACIgIB6UIB+SIBkqAgAiIZMhHUHCrvkALQAABEAgESAduzkDACARICC7OQMIIBEgIbs5AxBBnPgZIBEQSwsgByAdIAVdIB2MIAVdcXIhB0EBBUEACwVBAAshBiAcRQRAIAIgD0F/aiIPaiwAACAERgRAIAAgD0EDdGoiBi4BACEPIAggBi4BBCAPardEAAAAAAAA4D+itiAGLgECshCkASAIKgIAIiAgHpQgH5IgGioCACIhkyEdQcKu+QAtAAAEQCAQIB27OQMAIBAgILs5AwggECAhuzkDEEGc+BkgEBBLC0EBIQYgByAdIAVdIB2MIAVdcXIhBwsLIAxBAWohDAwBCwsgBwRAQcKu+QAtAAAEQCAAIApBA3RqIgcuAQAhBiAHLgECIQcgCyASNgIAIAsgBDYCBCALIA42AgggCyAGNgIMIAsgBzYCEEHP+BkgCxBLCyADIA5BAnRqIgcgBygCACASazYCAANAIAogCU4NAyACIApqIBU6AAAgCkEBaiEKDAAACwALCwsgCSEKIBssAAAhDkEBCyESIAlBAWohCQwBCwsgCCQGC9IBAwV/BH0BfEMAAABPIQogAC4BACEGA0AgBCABSARAIAAgBEEDdGoiBS4BACEIIAMgBEECdGogAiAGtyAFLgEEIAhqQQF1Iga3Ig0Q9Q8gDLugtiIMIAUuAQKyuyACIA0QqgKhtpIiCzgCACAEQQJLBEAgCSADIARBfWpBAnRqKgIAIgmMIAkgCUMAAAAAXRuTIQkLIARBf2ogByAEQQFLIAuMIAsgC0MAAAAAXRsgCZIiCSAKXXEiBRshByAJIAogBRshCiAEQQFqIQQMAQsLIAcLYgEBfyAEKAIAIQUDQCAFIAFKBEAgACAFQQFqQQJ0aiAAIAVBAnRqKAIANgIAIAVBf2ohBQwBCwsgBCAEKAIAQQFqNgIAIAAgAUECdGogAjYCACAAIAFBAWpBAnRqIAM2AgALwQYDCX8BfQJ8QdKt+QAsAAAhCQJAAkACQANAIAdBCk8NAiABIAdBAnRqIQpBACEGA0AgBkEKSQRAAkAgCigCACIIBEAgASAGQQJ0aigCACILBEAgBCAIEK4BIAVKBEAgCUH/AXFFIg5FBEAgAyALQQJ0aigCACIMIAMgCEECdGooAgAiDSAMIA1IGyACIAtBAnRqKAIAIgwgAiAIQQJ0aigCACINIA0gDEgbTA0ECyALsiIPIAiylbsiEEQzMzMzMzPzP2QgEETNzMzMzMz8P2NxDQcLCwsLIAZBAWohBgwBCwsgB0EBaiEHDAAACwALIAQgCBCuAbdEAAAAAAAA4D+iIRAgCCEFA0AgBUEBaiEHQQAhBgNAAkAgBkEKTwRAQQAhBgwBCwJAIAEgBkECdGooAgAgB0YEQCAORQRAIAMgC0ECdGooAgAiCSADIAhBAnRqKAIAIgogCSAKSBsgAiALQQJ0aigCACIJIAIgCEECdGooAgAiCiAKIAlIG0wNAgsgDyAHspW7IhFEMzMzMzMz8z9kIBFEzczMzMzM/D9jcQRAIBAgBCAHEK4Bt2MEQEEBIQYgByEFDAQLCwsLIAZBAWohBgwBCwsgBg0ACyAFsiEPIAQgCxCuAbdEAAAAAAAA4D+iIRAgCyEFA0ACQEEAIQYDQAJAIAZBCk8NAgJAIAEgBkECdGooAgAiByAFSgRAIA5FBEAgAyALQQJ0aigCACIJIAMgCEECdGooAgAiCiAJIApIGyACIAtBAnRqKAIAIgkgAiAIQQJ0aigCACIKIAogCUgbTA0CCyAHsiAPlbsiEUQzMzMzMzPzP2QgEUTNzMzMzMz8P2NxBEAgECAEIAcQrgG3Yw0DCwsLIAZBAWohBgwBCwsgByEFDAELCyAAIA84AiwgACAFsiAPkzgCNAwBCyAEIAEoAgAiAhCuAbdEAAAAAAAA4D+iIRADQCACQQFqIQNBASEFA0ACQCAFQQpPBEBBACEFDAELIAEgBUECdGooAgAgA0YEQCAQIAQgAxCuAbdjBEBBASEFIAMhAgwCCwsgBUEBaiEFDAELCyAFDQALIABDAAAAADgCNCAAIAKyQwAAgL8gAhs4AiwLC6gBAQh/QSBBDEHSrfkALQAAGyEIQf////8HIQQDQCAFQQpHBEBBACEDQQAhAgNAIAJByAFHBEACQCAAIAIQrgEiBiAAIAMQrgFKBEAgBiAETgRAIAIgCUogBiAERnFFDQILIAIhAwsLIAJBAWohAgwBCwsgACADEK4BIgQgB2ohByABIAVBAnRqIANBACAEIAcgCBBOShs2AgAgBUEBaiEFIAMhCQwBCwsLwgUDC38EfQF8IwYhBiMGQbANaiQGIAZB8AxqIQggBkGgDWoiCUEAQcgBELEBAn8gAEEsaiIKKgIAIRQgBkHQBmoiDUEAQaAGEIwBGiAGQTBqIg5BAEGgBhCMARogA7JDAACAPpQhESACtyEVQQAhAgNAIAwgBEgEQCABIAxBA3RqIgcuAQAhA0EIQQEgBSAHLgEEIANqIhBBAhBOIgu3EKoCtiITIAcuAQKyk4tDAAAAQF9B0q35AC0AAEEAR3EbIQ8gBy4BBrIgE5O7RAAAAAAAAOA/oBBaIQMgESAHEGtBEHRBEHWyXQRAQcCP+QArAwAgFaIgA7djBEBB0K/5ACgCACADSARAIAkgAyAPEIgBIANByAFIBEAgCyAOIANBAnRqIgcoAgBKBEAgByALNgIACyAQQQFKBEAgDSADQQJ0aiIDKAIAIgdFIAsgB0hyBEAgAyALNgIACwsLCwsgDyACaiECCyAMQQFqIQwMAQsLAn8CQEGYj/kAKwMARAAAAAAAAPA/ZA0AQeKt+QAtAAANACAEDAELIAILt0SamZmZmZm5P6IQWiEDQcKu+QAtAAAEQCAIIAQ2AgAgCCACNgIEIAggAzYCCEGh9RkgCBBLCyAGQYgNaiEEIAZBgA1qIQIgCSAGENktQcKu+QAtAAAEQEEAIQEDQCABQQpJBEAgBiABQQJ0aigCACEFIAIgATYCACACIAU2AgRByfUZIAIQSyABQQFqIQEMAQsLQcKTHyAEEEsLIAZBkA1qIQEgACAGIA0gDiAJIAMQ2C1Bwq75AC0AAARAIAEgCioCALs5AwBB1vUZIAEQSwsgBkGYDWohACAKKgIAIhFDAAAAAF0EQEHCrvkALQAABEAgACARuzkDAEHp9RkgABBLCwsgFEMAAAAAXkULBEAgCiAKKgIAjDgCAAsgCSgCDBCEASAGJAYL6QMDBH8FfQJ8IwYhCCMGQRBqJAYgCEEAQawCELEBIANBAUoEQCACtyEPA0AgByADRwRAIAQgASAHQQN0aiIGLgEEIAYuAQBqQQIQTrcQqgIhECAGLgEGtyAQoUQAAAAAAADgP6AQWiEGQcCP+QArAwAgD6IgBrdjBEBB0K/5ACgCACAGSARAIAggBkEBEIgBCwsgB0EBaiEHDAELCyAIKAIIQQNKBEAgCEQAAAAAAADQPxDOARBaIgJBAUgEQCAIRAAAAAAAAOA/EM4BEFohAgsLBSABLgEGtyAEIAEuAQQgAS4BAGpBAhBOtxCqAqFEAAAAAAAA4D+gEFohAgsgArIiCiAFkiENIAogBZMhDkEAIQJDAAAAACEFQQAhB0EAIQYDQCAGIANIBEAgBCABIAZBA3RqIgkuAQQgCS4BAGpBAhBOtxCqAiEPIA0gCS4BBrcgD6G2IgtdBEAgB0EBaiEHIAwgC5IhDAUgDiALXQRAIAJBAWohAiAFIAuSIQULCyAGQQFqIQYMAQsLIAUgArKVIAogAkEAShsiBSAAQSxqIgEqAgCUIQogASAKOAIAIAAgDCAHspUgBZNDAAAAACAHQQBKGzgCNCAKQwAAAABbBEAgAUMAAIC/OAIACyAIKAIMEIQBIAgkBgvyAwIJfwF9QQJBASAAQQRqIgooAgAiBCgCACACSiIFGyAFIAQgACgCACIIQQJ0aigCACADSBsiBQRAQX8gBSAIaiIFQQFqIgZBAnQgBkH/////A0sbEE8hCUF/IAVBBHQgBUH/////AEsbEE8hByAEKAIAIgYgAkoEfyAJIAI2AgAgB0QAAAAAAAAAADkDACAHIAG2Ig04AgggByAAIAQoAgC3EKoCIA0gCigCACICKAIAIgSylLuhtjgCDCAAKAIAIQhBAQUgBCECIAYhBEEACyEFIABBCGohC0EAIQYDQCAJIAVBAnRqIAQ2AgAgBiAISARAIAcgBUEEdGoiBCALKAIAIAZBBHRqIgwpAwA3AwAgBCAMKQMINwMIIAZBAWoiBCEGIAVBAWohBSACIARBAnRqKAIAIQQMAQsLAkACQCACIAhBAnRqKAIAIgQgA0gEQCAHIAVBBHRqRAAAAAAAAAAAOQMAIAcgBUEEdGogAbYiDTgCCCAHIAVBBHRqIAAgBLcQqgIgDSAKKAIAIgIgACgCAEECdGooAgCylLuhtjgCDCAJIAVBAWoiBEECdGogA0EBajYCACAAIAQ2AgAgAg0BBSAAIAU2AgAMAQsMAQsgAhBMCyALKAIAIgAEQCAAEEwLIAogCTYCACALIAc2AgALC+UCAgd/An0jBiEJIwZBIGokBgNAIAcgBUgEQCAJIAdBAnRqQwAAAAA4AgAgB0EBaiEHDAELCyAAQdwAaiENQQAhBwNAIAsgAkgEQCABIAtBA3RqIQggAyALai0AACIKIAZGBEBBACEIBSAJIApBAnRqIgogCC4BArcgDSAILgEEIAguAQBqQQF1txCqAqEgCioCALugtjgCACAMQQFqIgohCCAHIAogDCAHSBshBwsgC0EBaiELIAghDAwBCwsgAEMAAIC/QwAAgD8gB0ECShs4AixBACEBQQAhAgNAIAIgBUgEQAJAIAIgBkcEQCAEIAJBAnRqKAIAIgNFBEAgCSACQQJ0akMAAAAAOAIADAILIAkgAkECdGoiByoCACADspUhDiAHIA44AgAgAyABSiEHIA5DAAAAwF8EQCAOIA8gBxshDyADIAEgBxshAQsLCyACQQFqIQIMAQsLIAAgDzgCOCAJJAYLhggDEX8DfQJ8IwYhESMGQTBqJAYgEUEgaiEOIBFBCGohD0EBIRIDQAJAA0ACQCAEKAIAIgxBf2ohBSASIQ0DQCANIAVODQMgACADIA1BAnRqKAIAIhMgAyANQX9qQQJ0aigCACIHardEAAAAAAAA4D+iIhogAyANQQFqIhJBAnRqKAIAIgogE2q3RAAAAAAAAOA/oiIZEPUPtiIWjCAWIBZDAAAAAF0bIAFeRQRAIBIhDQwBCwsDQCAIQQFqIQUgAiAIQQJ0aigCACIJIAdIBEAgBSEIDAELCyAIIQUgCSEGA0AgBUEBaiEHIAYgE0gEQCACIAciBUECdGooAgAhBgwBCwsgBSEHIAYhCwNAIAdBAWohBiALIApIBEAgAiAGIgdBAnRqKAIAIQsMAQsLIAxBFkoEQEGyrvkALQAABEBBjvYZIBEQSwsFIAcgCGtBgLD5ACgCACIQQQNsIgZODQFBsq75AC0AAARAIA4gCDYCACAOIAU2AgQgDiAHNgIIIA4gEDYCDEHn9hkgDhBLCwsMAQsLIAcgCCAGQQIQTiIGIAUgCGsiBSAGIAVKG2prIQUgByAGIAUgBiAFShtrIgwgCEEBdGpBAxBOIQUgDCAHQQF0akEDEE4hFSAJQQF0IAIgDEECdGooAgAiBmq3RAAAAAAAAAhAo7YhFyACIAdBAnRqKAIAQQF0IAZqt0QAAAAAAAAIQKO2IRgDQCACIAVBAnRqKAIAIgayIBdeIAUgCGsgEEpxBEAgBUF/aiEFDAELCwNAAkAgBrIiFiAXXUUNACAMIAVrIBBBAhBOTA0AIAVBAWoiBiEFIAIgBkECdGooAgAhBgwBCwsgBUF/aiIGIAUgFiAXkyAXIAIgBkECdGooAgCyk14bIQogFSEFA0ACQCACIAVBAnRqKAIAIgayIBheRQ0AIAUgDGsgEEECEE5MDQAgBUF/aiEFDAELCwNAIAayIhYgGF0gByAFayAQSnEEQCAFQQFqIgYhBSACIAZBAnRqKAIAIQYMAQsLIAVBf2oiByAFIBYgGJMgGCACIAdBAnRqKAIAspNeGyEJQbKu+QAtAAAEQCAAIBogGRD1DyEZIAIgCkECdGoiCygCACACIApBf2pBAnRqIgYoAgBqQQIQTiEKIAIgCUECdGoiBygCACACIAlBf2pBAnRqIgUoAgBqQQIQTiEJIA8gEzYCACAPIBk5AwggDyAKNgIQIA8gCTYCFEG39hkgDxBLBSACIApBf2pBAnRqIQYgAiAKQQJ0aiELIAIgCUF/akECdGohBSACIAlBAnRqIQcLIAMgDSALKAIAIAYoAgBqQQIQTiAHKAIAIAUoAgBqQQIQTiAEENctQQEhFAwBCwsgESQGIBQLxAkBDX8jBiEHIwZBkAFqJAYgB0HgAGohCyAEIAAoAgBBf2o2AgAgACADQX9qQQJ0aigCACERAkBBACADIAJBAkgbIgJBA0oEQCACQX9qIQxBACECQQAhA0EBIQYDQAJAIAEgCEECdGohCiAGIQUDQAJAIAUgDEggAkEWSCIGcUUNAiAFQQFqIQYCQCABIAVBf2pBAnRqKAIAIg0gASAFQQJ0aigCACIJSgRAIAkgASAGQQJ0aigCAEwEQCAJIAooAgBBf2pOBEAgBSADIAkgASADQQJ0aigCAEgbIQMMAwsgAgRAIAcgAkF/akECdGooAgAgCEYEQCAFIQMMBAsLIAcgAkECdGogCDYCACAFIQMgAkEBaiECCwsLIA0gCUgEQCAJIAEgBkECdGooAgBODQELIAYhBQwBCwsCQCAJIAEgA0ECdGooAgBBAWpKBEAgAgRAIAcgAkF/akECdGooAgAgA0YNAgsgByACQQJ0aiADNgIAIAJBAWohAgUgBSAIIAkgCigCAEobIQULCyAFIQgMAQsLAkAgASAFQQJ0aigCACIJIAooAgAiCkF/akgEQCACBEAgByACQX9qQQJ0aigCACAIRg0CCyAGRQ0DIAcgAkECdGogCDYCACACQRVGBEBBFiECDAQLIAcgAkEBakECdGogBTYCACACQQJqIQIMAwsLAkAgCSABIANBAnRqKAIAIgxBAWpKBEAgAgRAIAcgAkF/akECdGooAgAgA0YNAgsgBkUNAyAHIAJBAnRqIAM2AgAgAkEVRgRAQRYhAgwECyAHIAJBAWpBAnRqIAU2AgAgAkECaiECDAMLCyACQQBKBEAgBiAHIAJBf2pBAnRqKAIAIg0gA0ZxBEAgAkEBaiEPIAcgAkECdGohAiAJIApKBEAgAiAFNgIABSACIAg2AgALIA8hAgwDCyAGIA0gCEZxBEAgAkEBaiEQIAcgAkECdGohAiAJIAxIBEAgAiAFNgIABSACIAM2AgALIBAhAgsLBUEAIQILCyACQQBKQcKu+QAtAABBAEdxBEAgACAHKAIAIgNBAnRqKAIAIQUgASADQQJ0aigCACEGIAsgAzYCACALIAU2AgQgCyAGNgIIQaT3GSALEEsLIAdB8ABqIQggEUEBaiEOQQEhBgNAIAYgAkgEQCABIAcgBkECdGooAgAiCUECdGoiDCgCACIFIAEgByAGQX9qQQJ0aigCACILQQJ0aigCACINakECEE4hCiALQQFqIQMCQCANIAVIBEADQCADIAlODQIgASADQQFqIgVBAnRqKAIAIApMBEAgBSEDDAELCwUDQCADIAlODQIgASADQQFqIgVBAnRqKAIAIApOBEAgBSEDDAELCwsLIAQgBkECdGogACADQX9qIgVBAnRqIgooAgBBAmogACADQQJ0aigCAGogACALQQJ0aigCAGogACAJQQJ0aiIDKAIAakEEEE4iCzYCAEHCrvkALQAABEAgAygCACEDIAwoAgAhDCAKKAIAIQogCCAGNgIAIAggCTYCBCAIIAM2AgggCCAMNgIMIAggBTYCECAIIAo2AhQgCCALNgIYQcH3GSAIEEsLIAZBAWohBgwBCwsgBCAGQQJ0aiAONgIAIAckBiAGC2QBBH8DQCAGIAFIBEAgAiAGaiwAACADRgRAIAAgBkEDdGoiCC4BACEJIAQgB0ECdGogCC4BBCAJakEBdTYCACAFIAdBAnRqIAguAQI2AgAgB0EBaiEHCyAGQQFqIQYMAQsLIAcLrAQCCX8BfSMGIQgjBkFAayQGIAhBKGohDCAIQRhqIQogCCIPQThqIQ0gCEE0aiEOQQAhCANAIAhBBkcEQCAEIAhBAnRqQQA2AgAgCEEBaiEIDAELCyAAIAEgBSAHENYtIQUgAkEBNgIAIA1DAAAAADgCACAOQwAAAAA4AgAgBSEJQX8hCANAIAkgAUgEQCAHIAlBAnRqKgIAIRFBwq75AC0AAARAIAAgCUEDdGoiCy4BACEQIAsuAQIhCyAKIAk2AgAgCiAQNgIEIAogCzYCCEH39xkgChBLCyADIAlqIBEgDyAIIAYgDSAOIAIQ9RciCDoAACAEIAhBAnRqIgsgCygCAEEBajYCACAJQQFqIQkMAQsLIA1DAAAAADgCACAOQwAAAAA4AgAgBCAEKAIAQX9qNgIAIAUhCEF/IQUDQCAIQX9KBEAgByAIQQJ0aioCACERQcKu+QAtAAAEQCAAIAhBA3RqIgkuAQAhCiAJLgECIQkgDCAINgIAIAwgCjYCBCAMIAk2AghB9/cZIAwQSwsgAyAIaiARIA8gBSAGIA0gDiACEPUXIgU6AAAgBCAFQQJ0aiIJIAkoAgBBAWo2AgAgCEF/aiEIDAELCyACKAIAIQdBACECQQEhBQNAIAUgB0gEQCACIAUgBCAFQQJ0aigCACAEIAJBAnRqKAIASBshAiAFQQFqIQUMAQsLQYKu+QAtAAAEQCAAIAEgAyAEIAIgBhDVLQsgDyQGIAILiggDDH8KfQF8IwYhByMGQbACaiQGIAdBwAFqIQ4gB0HgAGohDCAHIglBnAJqIQogB0GoAmoiEBCYASAALgEAIhEhCyAAIAFBf2pBA3RqIg8uAQQiDSEHAkACQCAERQ0AIAQoAgAiCEEDSA0AIAcgC2u3RJqZmZmZmbk/oiIdIBG3oCAEKAIEIgcoAgS3Yw0AIA1BEHRBEHW3IB2hIAcgCEF/akECdGooAgC3ZA0AIAUgBBClBRogCkEAIAAuAQK3IAQgAC4BBLcQqgKhEFoQoQEgECAKKAIAIgA2AgAgBSAAQf//A3EgAEEQdhD0FwwBC0GirvkALQAARQRAIAkgAC4BAEF/ajYCAEEAIQgDQCAIIAFIBEAgACAIQQN0aiIHLgEAIQQgAiAIQQJ0aiAHLgEEIARqQQIQTjYCACADIAhBAnRqIAcuAQI2AgAgCEEBaiEIDAELCyAJIA8uAQRBAWo2AgQgCiAJQQEgAiADIAFBARD0DyAFIAoQpQUaIAoQ+gUgAUECSgRAIAMoAgC3IAUgAigCALcQqgKhtiEaQQAhB0EAIQggAygCBLcgBSACKAIEtxCqAqG2IRNBACEEQQIhCwNAIAsgAUcEQCADIAtBAnRqKAIAtyAFIAIgC0ECdGooAgC3EKoCobYhGyATIBqTIhWMIBUgFUMAAAAAXRsgBl0EfSATIBuTIhWMIBUgFUMAAAAAXRsgBl0EfSAHQQFqIRICQAJAIAdBAUoEfSAXIBZdRSAWIBNgRXIEQCAXIBZeRSAEQRVIIBYgE19xRXINAgUgBEEVTg0CCyAMIARBAnRqIAg2AgAgDiAEQQJ0aiAWOAIAIARBAWohBAwBBSAHBH0MAgUgEyIUCwshGQwBCyATIBQgEyAUXhshGSATIBggEyAYXRshFAsgEiEHIAAgC0F/akEDdGouAQQhCCAWIRcgFCEYIBkhFCATBSAWCwUgFgshHCATIRkgHCEWIBshEyALQQFqIQsgGiEVIBkhGgwBCwsgFCAYkyAGu0QzMzMzMzPzP6K2IhdeBEAgGCAXkiEYIBQgF5MhFCAVIQZBACEHQQEhAANAIAcgBEgEQAJAIA4gB0ECdGoqAgAiEyAYXiATIBRdcgRAIABBAUcEQCATIAYgF5JeIBMgBiAXk11yRQRAIAYgGF4gEyAGXnFFBEAgBiAUXSATIAZdcUUNBAsgCSAAQX9qQQJ0aiAMIAdBAnRqKAIANgIAIBMhBgwDCwsgCSAAQQJ0aiAMIAdBAnRqKAIANgIAIBMhBiAAQQFqIQALCyAHQQFqIQcMAQsLIAkgAEECdGogDy4BBEEBajYCACAKIAkgACACIAMgAUEBEPQPIAUgChClBRogChD6BQsLCwsgCSQGC6QDAwx/An0BfCMGIQUjBkHwAGokBiAFQdgAaiEJIAVB1ABqIQwgBUHIAGohBiAFQeAAaiIOEJgBIAVBGGoiChCgCCAALgEAIQ8gACABQX9qQQN0ai4BBCEQA0AgCyABSARAIAAgC0EDdGoiDS4BACEHIA0uAQIhCCAGIA0uAQQgB2pBAhBOQf//A3EgCBChASAKIAYQigcgC0EBaiELDAELCyAKIAS7IhMgDBDzFxogCSAPIgc2AgAgCSAQIgg2AgQgBUQAAAAAAAAAADkDACAFIBM5AwggBSAMKgIAIhG7OQMQIAZBASAJIAUQ+QkgAyAGEKUFGiAGEPoFIAIEQCACKAIAIgFBAkoEQCAIIAdrt0SamZmZmZm5P6IiEyAHt6AgAigCBCIAKAIEt2YEQCAItyAToSAAIAFBf2pBAnRqKAIAt2UEQCADIAIQpQUaIAZBACAIIAdqt0QAAAAAAADgP6K2IhIgBJQgEZK7IAIgErsQqgKhEFoQoQEgDiAGKAIAIgA2AgAgAyAAQf//A3EgAEEQdhD0FwsLCwsgChCnCCAFJAYLgAMCB38DfCMGIQgjBkFAayQGIAhBGGoiCSAAENQBEFUgCEEIaiIKQQBBrAIQsQEgCRC1AQR/QQAFIAkQWyABt0QAAAAAAADQP6IhDEEAIQBBACEBA0AgCCAJEJsDIAIgBkEDdGoiByAIKQMANwEAIAwgBxBrIgVBEHRBEHW3YwRAIAogBUEQdEEQdUEBEIgBCwJ/AkAgBkUNACAMIAcQa0EQdEEQdbdjDQAgCRBZDQAgBxBrIQUgBxBuQRB0QRB1tyENQZiP+QArAwAiDiANoiAFQRB0QRB1t2QEQCAHEG4hBSAOIAcQa0EQdEEQdbeiIAVBEHRBEHW3ZARAIAZBAWohBkEADAMLCyAAIAFBAWoiBSABIABIGyEAIAUMAQsgBkEBaiEGQQALIQEgCRBZRQ0ACyADIABBvK35ACgCAEo6AAAgBCAGNgIAIAooAghBAUoEfyAKRAAAAAAAANA/EM4BEFoFIAIQa0EQdEEQdQsLIQsgCigCDBCEASAIJAYgCwsqACAAQQA2AgAgAEEANgIEIABBADYCCCABBEAgACABEKUNIAAgARDNLQsLMgEBfyAAQQRqIgIoAgAhAANAIABBADYCACACIAIoAgBBBGoiADYCACABQX9qIgENAAsLwQUDBX8IfQV8A0AgBSABSARAIAAgBUECdGooAgAiBCoCNCELIAQqAiwhDCALQwAAAABeBEAgA0EBaiEDIAggC5IhCCAJIAySIQkFIAZBAWohBiAKIAySIQoLIAcgBCoCOCIMQwAAAABdIgRqIQcgDSAMkiANIAQbIQ0gBUEBaiEFDAELCwJ9AkAgA0EATA0AIAMgBkhB8q35AC0AAEEAR3ENACAJIAOyIgqVIgkgCCAKlZIhCCAJu0QzMzMzMzPzP6IiECAIu2QEfSAQtgUgCAshCyAJDAELIAogBrKVIgkhCyAJu0RmZmZmZmbmP6K2CyEIAn0CQCAHRQ0AQfKt+QAtAABBAEchAyAHIAFBAhBOSCADcQ0AIA0gB7KVDAELIAhDAAAAv5QLIQ4gCEMAAAAAXgRAIAIoAhggCyAOkyAIlTgCLAsgCLsiEESamZmZmZnJP6K2IQ8gCEMAAIC+lCENIBBEMzMzMzMz6z+iIREgEERmZmZmZmbyP6IhEiALuyIQRDMzMzMzM+s/oiETIBBEZmZmZmZm8j+iIRQgCyAIkyEMQQAhBQNAIAUgAUgEQCAAIAVBAnRqKAIAIgZBCWoiAkEAOgAAIAZBNGoiBCoCACAGQSxqIgMqAgAiCZW7RJqZmZmZmck/YwRAIBEgCbsiEGVFIBIgEGZFcgRAIBMgEGVFIBQgEGZFcgRAIAQgDCAJlCALlSIKOAIAIAMgCSAKkyIJOAIAIAJBAToAAAUgBCAJIAiTIgo4AgAgAyAIOAIAIAJBAToAACAIIQkLBSAEIAw4AgAgAyAIOAIAIAwhCiAIIQkLIAogD10EQCAEIAm7RN22bdu2bds/orY4AgALCyAGQThqIgIqAgAgDV4EQCACIAlDAAAAv5QgDiARIAm7IhBlRSASIBBmRXIbOAIACyAFQQFqIQUMAQsLIAgQZQvfAwIJfwF9A0AgBSADSARAAkAgAiAFQQJ0aigCACIGQSxqIgoqAgAiDUMAAAAAXQRAIAZB3ABqIQcgBkHgAGohCyAFQX5qIQgDQAJAIAhBf0wEQEEAIQkMAQsgAiAIQQJ0aigCACIEKgIsQwAAAABdRQRAIAcoAgAgCygCACAEQdwAahD4FwRAQQEhCQwCCwsgCEF/aiEIDAELCyAFIQQDQAJAIARBAWoiBCADTgRAQQAhBwwBCyACIARBAnRqKAIAIgwqAixDAAAAAF1FBEAgBygCACALKAIAIAxB3ABqEPgXBEBBASEHDAILCwwBCwsgCQRAIAAgASAGQQIgAiAIQQJ0aigCAEHcAGoQoQggCioCACENCyANQwAAAABdRSAHQQFzckUEQCAAIAEgBkECIAIgBEECdGooAgBB3ABqEKEIIAoqAgAhDQsgDUMAAAAAXQRAIAkEQCAAIAEgBkEBIAIgCEECdGooAgBB3ABqEKEIDAMLIAcEQCAAIAEgBkEBIAIgBEECdGooAgBB3ABqEKEICwsLCyAFQQFqIQUMAQsLQQAhAANAIAAgA0gEQCACIABBAnRqKAIAQSxqIgEqAgAiDUMAAAAAXQRAIAEgDYw4AgALIABBAWohAAwBCwsL8AEBBX8jBiEEIwZBMGokBiAEQQxqIgMgARDsARB9IAMQkAciBQRAIAQgBRD5FyADEJQBIAQoAgAhBgNAIAMQjgFFBEAgBiAHQQJ0aiADEHA2AgAgAxB4IAdBAWohBwwBCwsgACABIAYgBRDoLQJAAkBB0q75AC0AAA0AQfax+QAtAAANACAAIAEgAhCCGAwBCyABQTBqIgAgBiAFIAEQ5y0iA7IiAjgCACADQQFIBEAgACABKgIkQwAAAD+UIgI4AgALIAJB0K/5ACgCALIiAl0EQCAAIAI4AgALCyAEELoCBSABIAEoAiQ2AjALIAQkBgvyAQIGfwF9IwYhAyMGQUBrJAYgA0EkaiIEIAEQ7AEQfSADQQhqIgcQVyAEEJQBA0AgBBCOAUUEQCAAIAEgBBBwIgVBAkEAEKEIIAZBAEcgBUEsaiIIKgIAIglDAAAAAF9xBEAgACABIAVBAiAGEKEIIAgqAgAhCQsgCUMAAAAAXgR/IAVB3ABqBSAHIAUQ1AEQlgFBsq75AC0AAARAIAcQUxBiLgEAIQggBxBTEGIuAQIhBiADIAg2AgAgAyAGNgIEQbD0GSADEEsLQQALIQYgBBB4DAELCyAAIAEgAhDpLSABKAIYIAEqAjAQZRDoBCADJAYL2AEBA38jBiECIwZBEGokBiACAn8CQCAAIAEgAkEMaiIEQX8gABDUARCaAkEBaiIBQQJ0IAFB/////wNLGxBPIgMQzC1FDQBBlrL5AC0AAA0AQaay+QAtAAANACAAIAQgAxDLLSEBIAQoAgAMAQsgAyADIAQoAgBBAnRqKAIANgIEIARBATYCAEEYEE8iAUQAAAAAAAAAADkDACABIAAqAogBuzkDCCABIAAqAowBuzkDEEEBCyADIAEQ+QkgAEHcAGogAhClBRogAhD6BSABEEwgAxBMIAIkBgvpAwMGfwN9AXwjBiEFIwZBQGskBiADEKYNIQRBiJH5ACsDACINIASyIAAqAiwiCpW7ZARAIA0gCruiRAAAAAAAAOA/oJwQWiEECyADEL0RIQZB4JD5ACsDACINIAayIAqVu2MEQCANIAq7opwQWiEGCyAFQSBqIQggBUEQaiEHA0AgBCAGTARAIAMgBBCuASAJaiEJIARBAWohBAwBCwtBuJD5ACsDACAKuyINokQAAAAAAADgP6CcEFohBEGQkPkAKwMAIA2inBBaIQMgCCAAENQBEFUgByAEIANBAWoQsQEgCBBbIASyIQwgA7IhCiAAQZQBaiEEA0AgCBBZRQRAIAgQUyIAKAIYEMgCRQRAIAAQYiIGLgEAIQMgBCoCACAGLgEEIANBEHRBEHVqskMAAAA/lCABlJIgBi4BArKTIgsgDGBFIAsgCl9FckUEQCAHIAu7RAAAAAAAAOA/oJwQWkEBEIgBCwsgCBBWDAELCyAHIAcQrwciABCuASEDQQAgAGtBAEEAIAMgArJBsJH5ACsDAEHYkfkAKwMAoLaUIAMgCWqyXhsiAEEAShshAkHGsfkALQAABEAgBSACNgIAIAUgCTYCBCAFIAA2AghB+vMZIAUQSyAHEOAICyAHKAIMEIQBIAUkBiACC6ICAQh/QQEgAWsgAmohCiADQSxqIQtBfyEFQf////8HIQIDQCAIIApIBEACfyAAIAggAWoiBhCuASIHQQBKBH8gByACSCEJIARBDEgEQCADIARBAnRqIAY2AgAgByACIAkbIQIgBCAFIAkbIQUgBEEBagwCCyAJBH8gBAUDQCAFQQtIBEAgAyAFQQJ0aiADIAVBAWoiBUECdGooAgA2AgAMAQsLIAsgBjYCACAHIAJGBH9BCyEFIAQFQQEhBCAAIAMoAgAQrgEhAkEAIQUDfyAEQQxGBH9BDAUgBCAFIAAgAyAEQQJ0aigCABCuASIGIAJIIgcbIQUgBEEBaiEEIAYgAiAHGyECDAELCwsLBSAECwsiBiEEIAhBAWohCAwBCwsgBAu/BAMMfwN9AnwjBiEEIwZB4ABqJAYgABD9FyEGIABBLGohBUHGsfkALQAABEAgACoCNLshEyAAKgI4uyEUIAQgBSoCALs5AwAgBCATOQMIIAQgFDkDEEGP8BkgBBBLCyAEQUBrIQcgBEE4aiEKIARBMGohCyAEQShqIQwgBEEgaiENIARBGGohDiAFKgIAIhAgAUHoj/kAKwMAtiISEPoXIQggECABIAKSIhEgEhD6FyEJAkACQAJAAkACQCAGDgQAAgIBAgsgAEE4aiIFKgIAQwAAAABgBEAgBSADIAGVIBCUOAIACyAQIQEMAwsMAQsgBkEBRiIPIAggCXJxDQAgBkECRiIGIAhxDQAgDwRAQcax+QAtAAAEQEH28BkgDRBLIAUqAgAhEAsgACACIAGVIBCUOAI0IBAhAQwCCyAGBH0gAEEBOgAJQcax+QAtAABBAEchBiAJBEAgBgRAQZTxGSAMEEsLIAUgATgCACAAIAI4AjQgACADOAI4DAMLIAYEQCAQIBFdIBAgAV5xBEBBnvEZIAsQSwVBqvEZIAoQSwsLIAAgAiARlSAFKgIAIgKUIhA4AjQgBSACIBCTIgI4AgAgACADIAGVIAKUOAI4IAIFIBALIQEMAQtBxrH5AC0AAARAQd/wGSAOEEsLIAUgATgCACAAIAI4AjQgACADOAI4C0HGsfkALQAABEAgACoCNLshEyAAKgI4uyEUIAcgAbs5AwAgByATOQMIIAcgFDkDEEHL8RkgBxBLCyAEJAYLbAEBfyMGIQIjBkEgaiQGIAIgAEH4AGoQVSACELUBBEAgAiABEK8FBSACEFsDQAJAIAIQWQ0AIAIQUxBiLgEAIAEQYi4BAEoNACACEFYMAQsLIAIQWQRAIAIgARC7AQUgAiABEIcFCwsgAiQGC84DAQd/IwYhBSMGQYABaiQGIAVBCGohBiAFQfwAahCYASAFIAAQYikBADcDACAFQeAAaiILIAQQVSAFQdAAaiIJIAUuAQAgBS4BBEEBahCxASAFQUBrIgggBS4BACAFLgEEQQFqELEBIAVBMGoiCiAFLgEAIAUuAQRBAWoQsQEgBUEUaiIHEFcgAEEEaiIEKAIAIgBFBEAgBkG47xk2AgAgBkG5ATYCBEHMpvkAQZzvGUECQcfrHCAGEFEgBCgCACEACyAFQRBqIQYgByAAEJEBEJYBIAcQWwNAIAcQWUUEQCAHEFMgASACIAMgCiAIIAkQ/xcgBxBWDAELCyAFLgEAIQADQCAAQRB0QRB1IAUuAQQiBEgEQCAIIABBEHRBEHUiARCuAUEASgRAIAFBAWpB//8DcSEBA0ACQCABQRB0QRB1IARBEHRBEHVODQAgCCABQRB0QRB1EK4BQQBMDQAgAUEBakEQdEEQdSEBDAELCyAGIAAgARChASAGKAIAIQRBCBBPIgAgBEH//wNxIARBEHYQ9w8gCyAAEKABIAEhAAsgAEEBakEQdEEQdSEADAELCyAKKAIMEIQBIAgoAgwQhAEgCSgCDBCEASAFJAYLxwMDBn8DfQN8IwYhAiMGQSBqJAYgARBiIgMuAQAhBCADLgEEIQEgAiAAEH0gAhD5AQRAQQAhAQUgAUEQdEEQdSAEQRB0QRB1akECEE5B//8DcSEHIAIQcCEAIAIQlAEgB0EQdEEQdbchC0MAAADPIQlBACEBA0ACQCAAQdwAaiIFIAsQqgIgAEE4aiIEKgIAu6AgAy4BBrdkRQ0AIAIQjgENACADLgEGtyAFIAsQqgKhIAQqAgC7oLYhCSACEHggACEBIAIQcCEADAELCwNAAkAgAEHcAGoiBiALEKoCIABBLGoiBSoCALugIABBNGoiBCoCALugIAMuAQK3ZkUNACACEI4BDQAgBiALEKoCIAUqAgC7oCAEKgIAu6C2IQogAy4BBrIiCCAKIAggCl0bIQggAy4BArchDCAGIAsQqgIgACoCOLsiDaAgDGMEfSAIIAMuAQKykwUgCLsgBiALEKoCIA2gobYLIQggAhB4IAggCSAIIAleIgQbIQkgACABIAQbIQEgAhBwIQAMAQsLIAlDAAAAAF0EQCAGIAsQqgIgBSoCALugIAQqAgC7oCADLgECt6EgCbtkBEAgACEBCwsLIAIkBiABC+QEAgx/AX0jBiECIwZB8ABqJAYgAhB5IAJB6ABqIgkQVyACQeQAaiIKEFcgAkHgAGoiAxBXIAJB3ABqIgcQVyACQUBrIgQgCRBVIAJBJGoiCCAAQQhqEFUgAkEIaiIFIAoQVQJAIAAQ7AEiCygCAARAIAgQWwNAIAgQWUUEQCACIAgQnwEiABBiKQEANwMAIAsgABDxLSIGRQ0DIAAgBkHcAGogBioCLCINQciE+QArAwAgDbuitiAJEPAtIAQgCRCWASAEEFsDQCAEEFlFBEAgBBBTLgEEIQEgBBBTLgEGIAFBEHRBEHVrQYy1+QAoAgAiDEEBakoEQCAAIAEgDLdEAAAAAAAA4D+gtiADIAcQ9gkgAygCAARAQfgAEE8hAEEIEE8iASADELQIIAAgARChBSAFIAAQoAELQQAgBBBTLgEGQYy1+QAoAgC3RAAAAAAAAOA/oLYgAyAHEPYJIAMoAgAEQEH4ABBPIQBBCBBPIgEgAxC0CCAAIAEQoQUgBiAAEO8tC0EAIQALIAQQnwEiAQRAIAEQTAsgBBBWDAELCyAHKAIABEBBACACLgEEQYy1+QAoAgC3RAAAAAAAAOA/oLYgAyAHEPYJIAMoAgAEQEH4ABBPIQZBCBBPIgEgAxC0CCAGIAEQoQUgBSAGEKABCwsgAARAIAAoAgQiBiIBBEAgARDXAiAGEEwLIAAQygQgABBMCyAIEFYMAQsLIAUQtQFFBEAgBRCNAyAFEFsDQCAFEFkNAyAIIAUQnwEQoAEgBRBWDAAACwALCwsgBxCPAyADEI8DIAoQ2gMgCRDuAiACJAYLdgECfyMGIQMjBkEgaiQGIAMgARDsARB9IAMQnQMgAxCUAQNAIAMQjgFFBEAgAxBwENQBKAIABEAgAxBwIAEQ6y0FIAMQhwIiBARAIAQQtAYgBBBMCwsgAxB4DAELC0GGsvkALQAABEAgACABIAIQ6i0LIAMkBgvxAgMJfwF9AXwjBiEDIwZB4ABqJAYgA0EYaiEGIANBOGohBCADQTBqIQcgA0EgaiEFIAArAyAQjwshDSADQdgAakMAAIA/QwAAAAAQpAEgAQRAIAIgACgCACANtiIMEPMtBSAGIAAoAgAiASgCGEEEahDDASkBADcDACAEIAEQ7AEQfSAEEJQBIAdBBGohCCADQQhqIQkgA0EQaiEKA0AgBBCOAUUEQCAEEHAhASAHIAYuAQA2AgAgCCAGLgEENgIAIANEAAAAAAAAAAA5AwAgCSABQYgBaiILKgIAuzkDACAKIAEqAowBuzkDACAFQQEgByADEPkJIAFB3ABqIAUQpQUaIAUQ+gUgBSAAKAIAKAIYEL4FIAIgASAFIAsqAgAgACgCACoCJBBlEPgPIAQQeAwBCwsgDbYhDAsgAiAAKAIAIAwQghggACgCACIBKAIYIAEqAjAQZRDoBEGWpvkALQAABEAgACgCABDyLQsgAyQGC2kCAn0BfCMGIQEjBkEQaiQGIAAsABxFBEAgAgRAIAAoAgAQyC0LIAFDAACAP0MAAAAAEKQBIAArAyAQjwshBSAAKAIAIAW2IAEqAgAiAyABKgIEIgQQxy0gACgCACADIAQQxi0LIAEkBgsuAQF+IAAgARBiKQEAIgI3AQAgACACNwEIIAAgATYCFCAAIAE2AhAgAEEBNgIYC1YBAX8jBiECIwZBMGokBiACIAEpAgA3AgAgAiABKQIINwIIIAIgASkCEDcCECACIAEpAhg3AhggAiABKQIgNwIgIAIgASkCKDcCKCAAIAIQhBggAiQGC0IBAn8gACABKAIAIAAoAgBqEPoPIAFBCGohAwNAIAIgASgCAEgEQCAAIAMoAgAgAkEwbGoQ9y0gAkEBaiECDAELCwtEAQN/IAAoAgQhAyAAQQhqIQIDQCACKAIAIgEgA0cEQCACIAFB4H5qIgE2AgAgARCAEAwBCwsgACgCACIABEAgABBMCwuuAQEEfyAAKAIAIQUgAUEEaiEDIABBBGoiBCgCACECA0AgAiAFRwRAIAMoAgBB4H5qIAJB4H5qIgIQ+w8gAyADKAIAQeB+ajYCAAwBCwsgACgCACECIAAgAygCADYCACADIAI2AgAgBCgCACECIAQgAUEIaiIEKAIANgIAIAQgAjYCACAAQQhqIgAoAgAhAiAAIAFBDGoiACgCADYCACAAIAI2AgAgASADKAIANgIAC3sBAn8gAEEMaiIFQQA2AgAgACADNgIQIAEEQCABQZmz5gxLBEBBCBAOIgMQ1wcgA0HI1BY2AgAgA0GolBZBlgIQDQUgAUGgAWwQTyEECwsgACAENgIAIAAgBCACQaABbGoiAjYCCCAAIAI2AgQgBSAEIAFBoAFsajYCAAuWAQEFfyMGIQIjBkEgaiQGIAAoAgQgACgCACIDa0GgARBOIgZBAWoiBUGZs+YMSwRAEAQFIAIgBSAAKAIIIANrQaABEE4iBEEBdCIDIAMgBUkbQZmz5gwgBEHMmbMGSRsgBiAAQQhqEPstIAJBCGoiBCgCACIDIAEQ+w8gBCADQaABajYCACAAIAIQ+i0gAhD5LSACJAYLC68DAQZ/IwYhBCMGQZABaiQGIAFFBEAgBEG97hk2AgAgBEHlAzYCBEGAu/kAQfzuGUECQcfrHCAEEFELIARBCGohAiABKgIsQwAAAABeRQRAIAJBve4ZNgIAIAJB5gM2AgRBgLv5AEGL7xlBAkHH6xwgAhBRCyAEQRBqIQIgBEFAayEDIAAgATYCnAEgAUEGNgIQIARB8ABqIgUgARDUARBVIAUQWyAAQYgBaiEBIABB8ABqIQYDQCAFEFlFBEAgBRBTIgcoAhgQyAIEf0EABSAHKAIsQQZHCwRAIAMQ+Q8gAyAFEFMQ9i0CQAJAIAEoAgBFDQAgAyABEL8QEP0PRQ0AIAEQvxAgAxCIGAwBCyACIAMpAgA3AgAgAiADKQIINwIIIAIgAykCEDcCECACIAMpAhg3AhggAiADKQIgNwIgIAIgAykCKDcCKCABIAIQhBgLIAIgBRBTEGIpAQA3AwAgAhBrIgdBEHRBEHVBA2wgAhBuQRB0QRB1SgRAIAYgB0EQdEEQdbIQjAcLCyAFEFYMAQsLIAYQrQYgACAGRAAAAAAAAOw/EI0HOAIIIAQkBgtTACAAQwAAAAA4AgAgAEMAAAAAOAIEIABBEGoQ7wkgAEEoahDvCSAAQUBrEO8JIABB2ABqEO8JIABB8ABqEO8JIABBiAFqQQQQhRggAEEANgKcAQuTAgEDfyAAKAKIAUECTwRAAkAgAEEEaiICKgIAQwAAAABeBEBBAiEBA0AgASAAKAKIAU8NAiACKgIAIAAgAUF+ahDCASAAIAFBf2oiAxDCARDyCQRAIAIqAgAgACADEMIBIAAgARDCARDyCQRAIAAgAxD0CQsLIAFBAWohAQwAAAsABUECIQEDQCABIAAoAogBTw0CIAAgAUF+ahDCASAAIAFBf2oiAhDCARCJGCAAIAIQwgEgACABEMIBEPIJBEAgACACEPQJCyABQQFqIQEMAAALAAsACyAAQQAQwgEgAEEBEMIBEM0CKAIAEOwEIAAgACgCiAFBf2oQwgEgACAAKAKIAUF+ahDCARDNAigCABDsBAsLJwAgAEEANgIAIABBMBBPNgIIIABBBDYCBCAAQQA2AgwgAEEANgIQC20BAX8gACgCACIEIAAoAgRGBEAgACgCBCIEBEAgACAEQQF0EIcYBSAAQQQQhxgLIAAoAgAhBAsgACAEQQFqNgIAIAAoAggiACAEQQxsaiABOAIAIAAgBEEMbGogAjgCBCAAIARBDGxqIAM2AggLugIDBX8BfQJ8IwYhBiMGQRBqJAYgBiEFIAAsAABFBEAgBUG97hk2AgAgBUGKATYCBEGAu/kAQbLuGUECQcfrHCAFEFELIABBBGoiBCgCACIDIQAgAbsiCUQAAADMzMzsP6IhCANAAkAgAiADTg0AIAggBCACEKICKgIAu2RFDQAgAkEBaiECIAQoAgAhAwwBCwsgCUQAAACamZnxP6IhCANAIABBAEoEQCAIIAQgAEF/aiIDEKICKgIAu2MEQCADIQAMAgsLCyACIABIBH8gACEDIAIFIAQoAgAhA0EACyECQQAhAANAIAIgA0gEQCAHIAQgAhCiAigCCLIgAZQgBCACEKICKgIElCAEIAIQogIqAgCVkiEHIAQgAhCiAigCCCAAaiEAIAJBAWohAgwBCwsgBSQGIAcgALKVC/EEAg9/A30jBiEDIwZBEGokBiADQQhqIQkgAEFAayIEEPEJIABBEGoiBRDxCSAAQdgAaiIKEPEJIABBKGoiCxDxCSAAQfAAaiIGEPEJIAAoAogBBEAgAEEAEP8PIQcgAEEAEKMIEGUhCCAGIABBABDCARBrQRB0QRB1shCMByAAQQhqIQwgAEEEaiEPQQEhAgNAIAIgACgCiAFJBEAgACACEKMIEGUiECAIayENIAAgAkF/aiIIEK4GIAAgAhCuBhCmAiEOIAYgACACEMIBEGtBEHRBEHWyEIwHAkAgDCoCALtEAAAAAAAA4D+iIA23YwRAIAUgDbIiEhCMByALIA5BACAOQQBKG7IiExCMByAAIAIQ/w8EfyABRQRAIAdFBEBBASEHDAQLIA8qAgAiESASk4sgEUPNzMw9lF1FBEBBASEHDAQLCyAEIBIQjAcgACAIEIYYRQRAIAAgAhCGGEUEQCAKIBMQjAcLC0EBBUEACyEHCwsgECEIIAJBAWohAgwBCwsgBBCtBiAFEK0GIAoQrQYgCxCtBiAGEK0GIAwgBkQAAAAAAADsPxCNBzgCACAAIAUoAgQEfSAEKAIEQQJIBH0gACAFELIMIhE4AgAgEUMAAAAAXkUEQCADQb3uGTYCACADQZsFNgIEQYC7+QBB2+4ZQQJBx+scIAMQUQsgC0QAAAAAAADAPxCNBwUgACAEELIMIhE4AgAgEUMAAAAAXkUEQCAJQb3uGTYCACAJQZ8FNgIEQYC7+QBB2+4ZQQJBx+scIAkQUQsgCkQAAAAAAADAPxCNBwsFIABDAAAAADgCAEMAAAAACzgCDAsgAyQGC6IBAQR/IABBiAFqIQFBACEAA0AgAyABKAIASARAIAEgAxCRAigCLEUEQCAAIANHBEAgASADEJECIQIgASAAEJECIgQgAikCADcCACAEIAIpAgg3AgggBCACKQIQNwIQIAQgAikCGDcCGCAEIAIpAiA3AiAgBCACKQIoNwIoCyAAQQFqIQALIANBAWohAwwBCwsgASgCACAASgRAIAEgADYCAAsLcgECfwNAIAEgACgCiAFJBEAgACABEMIBLAAoEIkBBEAgACACEMIBIAAgARDCARCIGCAAIAEQwgFBATYCLCAAQYgBaiACEJECQQAQ7AQgACABQX9qEMIBQQAQ8wkFIAEhAgsgAUEBaiEBDAELCyAAEIQuC+UEAwV/AX0CfCMGIQQjBkEQaiQGIARBCGohAyAAKgIEIga7RAAAAAAAAOA/oiEHA0AgASAAKAKIAUkEQAJAIAAgARCxA0UEQAJAAkAgAQRAIAAgAUF/aiICELEDBEAgASAAKAKIAUF/akkEQCAAIAFBAWoQsQMEQCAAIAEQsQwMBwsLCyADIAAgARCjCLsiCCAHoRBaQQAgByAIoBBaQQEQlQIgAyAAIAIQwgEQsAy7RJqZmZmZmbk/ZEUEQCAAIAIQsQMNAiAEIAAgARDCASkBADcDACAEIAAgAhDCARC8ARogBiAEEG5BEHRBEHWyXkUNAgsFIAMgAEEAEKMIuyIIIAehEFpBACAHIAigEFpBARCVAgwBCwwBCyABIAAoAogBQX9qSQRAIAMgACABQQFqIgIQwgEQsAy7RJqZmZmZmbk/ZA0BIAAgAhCxA0UEQCAEIAAgARDCASkBADcDACAEIAAgAhDCARC8ARogBiAEEG5BEHRBEHWyXg0CCwsgACABELEMCwsLIAFBAWohAQwBCwtBACECA0AgAiAAKAKIAUkEQAJAIAAgAhCxAwRAIAIEfyAAIAJBf2oiARCxAwR/IAYgACABEMIBIAAgAhDCARDyCSIBQQFzBUEAIQFBAAsFQQAhAUEACyEDIAIgACgCiAFBf2pJBEAgACACQQFqIgUQsQMEQCADIAYgACACEMIBIAAgBRDCARDyCSIFQQFzciEDIAEgBXIhAQsLIAMgAUEBc3JFBEAgACACEPQJDAILIAEgA0EBc3JFBEAgACACEIoYCwsLIAJBAWohAgwBCwsgBCQGC5UJAwt/AX0BfCMGIQIjBkEgaiQGIAJBEGohBSACQQhqIQcgAiEIAkAgACgCiAFBAkkEf0EABSAAQQRqIgYqAgBDAAAAAFsEf0EABQNAIAEgACgCiAFPDQMCQCAAIAEQsQNFBEAgACABEMIBEM0CKAIAIQsgASAAKAKIAUF/akkEfyAAIAFBAWoiAhCxAwR/IAAgAhCjCLsgBioCALtEAAAAAAAA+D+iobYhDEEAIQMDQCAMIAAgARDCAS4BBLJeBEAgDCAGKgIAkyEMQQEhAwwBCwsgBSAMEGUgACABEMIBLgECIAwgBioCAJIQZSAAIAEQwgEuAQYQlQIgBxB5IAEhAgJ/AkACQANAIAJBf0wNAiAAIAIQsQMNASAFIAAgAhDCARCMGEUNASAIIAcgACACEMIBEKIFIAgQa0EQdEEQdbIhDCAGKgIAQ83MjD+UIAxeRQ0BIAcgACACEMIBELwBGiACQX9qIQIMAAALAAsgBSAAIAIQwgEQ/Q9FDQBBACEDIAAgAhCxA0EBcwwBCwJAAkACQAJAIAEgAmsOAgABAgtBASEDQQAMAwsMAQsgAkEBaiEDIAEhAgNAIAIgA0oEQCAAIAIQwgFBARDzCSACQX9qIQIMAQVBASEDQQAMAwsAAAsACyADRQRAIAAgARD0CQsgACABEMIBEG5BEHRBEHW3IQ0gBioCALtEAAAAAAAA4D+iIA1mBEAgBSAAIAEQwgEQvAEaIAAgARDCASAFEIsYCyAAIAEQwgFBABDzCSAAIAEQsQxBASEDQQALBUEAIQNBAAsFQQAhA0EACyECIAEEQCAAIAFBf2oiBBCxAwRAIAAgBBCjCCEMIAYqAgC7RAAAAAAAAPg/oiAMu6C2IQxBACEJIAAgARDCASEEA0AgDCAELgEAsl0EQCAMIAYqAgCSIQxBASEJIAAgARDCASEEDAELCyAFIAwgBioCAJMQZSAAIAEQwgEuAQIgDBBlIAAgARDCAS4BBhCVAiAHEHkgASEEA0ACQCAEIAAoAogBTw0AIAAgBBCxAw0AIAUgACAEEMIBEIwYRQ0AIAggByAAIAQQwgEQogUgCBBrQRB0QRB1siEMIAYqAgBDzcyMP5QgDF5FDQAgByAAIAQQwgEQvAEaIARBAWohBAwBCwsCQAJAIAQgACgCiAFPDQAgBSAAIAQQwgEQ/Q9FDQAgAiAAIAQQsQNBAXNyIQIMAQsCQAJAAkACQCAEIAFrDgIAAQILQQEhAwwDCwwBCyABIQMDQCADQQFqIgMgBEkEQCAAIAMQwgFBARDzCQwBBUEBIQMMAwsAAAsACyAJRQRAIAAgARD0CQsgACABEMIBEG5BEHRBEHW3IQ0gBioCALtEAAAAAAAA4D+iIA1mBEAgBSAAIAEQwgEQvAEaIAAgARDCASAFEIsYCyAAIAEQwgFBABDzCSAAIAEQsQxBASEDCwsLIAMgAkEBc3JFBEAgACABEIoYCyAAIAEQwgEQzQIoAgAgC0YEQCAAIAEQwgEsACgQiQFFDQILQQEhCgsLIAFBAWohAQwAAAsACwshCgsgCCQGIAoL/AYDCX8DfQJ8IwYhBiMGQTBqJAYgBkEIaiEEIAZBBGohAQJAIABBQGsiAygCBARAIAAgAxCyDCIKOAIAIABBnAFqIgcoAgAgCjgCFCAEIABB2ABqIgVEAAAAAAAAwD8QjQciDDgCACABIAAqAgAiCyAAKgIIkyIKOAIAIAZDAAAAADgCACAHKAIAIgIgBiABIApDAAAAAF0bIgEgBCABKgIAIAxdGygCACIBNgIkIAIgATYCTCACIAsgAb6TOAI8IABBEGooAgQiAbJDMzOzPpQgAygCBCIDsl4EQCACQQY2AhAMAgsgAkEBQQUgAbdEAAAAAAAA6D+iIAO3Yxs2AhAgAiALOAIgIAIgCzgCUCAFEI4YIAuSu0QAAAAAAADgP6IQWiEBIAcoAgBBQGsgATYCACAAKgIAu0QAAAAAAADQP6IgBRCOGLugIQ0gBUQAAAAAAADsPxCNB7siDiANIA0gDmMbEFohAyAHKAIAIgEgAzYCRCABQUBrKAIAIANqIQUgASoCLBBlIQkgAEGIAWohAgNAIAggACgCiAFJBEAgAiAIEJECKAIcIAcoAgAiASgCREoEQCACIAgQkQIoAhwhAyAHKAIAIgEgAzYCRAsgCEEBaiEIDAELCyAJIAVBAhBOIgMgAyAJShshBSABQUBrKAIAIAEoAkRqQQIQTiECIAEgASoCLBBlIgMgAiACIANKGzYCSCABQQA6AAogBCABQdgAahBVQQgQTyIBIABBABCuBi4BAEEAEPgCIAQgARCgAUEBIQIgAEEAEK4GLgEEIQEDQCACIAAoAogBSQRAAkACQCAAIAJBf2oiAxCxAw0AIAAgAhCxAw0ADAELIAAgAxCuBiAAIAIQrgYQpgIgBUoEQEEIEE8iAyABQQFqQf//A3FBABD4AiAEIAMQoAEDQCAAKgIAIAGyIgqSIAAgAhDCAS4BALJdBEAgACoCACAKkhBlIQFBCBBPIgMgAUEBakH//wNxQQAQ+AIgBCADEKABDAELCyAAIAIQwgEuAQAhAQsLQQgQTyIDIAEgACACEK4GLgEAakECEE5B//8DcUEAEPgCIAQgAxCgASAAIAIQrgYuAQQhASACQQFqIQIMAQsLQQgQTyIAIAFBAWpB//8DcUEAEPgCIAQgABCgAQUgAEMAAAAAOAIAIAAoApwBQQY2AhALCyAGJAYLFgAgACABQQFxOgAgIAAgAkEBcToAIQuDAgIGfwN8IwYhAiMGQUBrJAYgAkEwaiEEAkAgACgCiAEEQCAAKAKcASIFKAIQIQMgBSoCFLshCCAFKAJEIQYgBSoCULshCSAFKAJIIQcgBSoCLLshCiACIAE2AgAgAiADNgIEIAIgCDkDCCACIAY2AhAgAiAJOQMYIAIgBzYCICACIAo5AyhBmO0ZIAIQS0EAIQMDQCADIAAoAogBTw0CIAAgAxCxA0EBcSEGIAAgAxD/D0EBcSEHIAAgAxDCASgCGCEBIAQgAzYCACAEIAY2AgQgBCAHNgIIIAQgATYCDEGD7hkgBBBLIAAgAxDCARCdASADQQFqIQMMAAALAAsLIAIkBgu3AgEIfyMGIQEjBkEwaiQGAkAgAEEEaiIGKAIAQQBKBEAgAEEMaiIHKAIABEAgAEEIaiEIA0AgBSAAKAIATg0DIAcoAgAiAygCACgCCCECIAEgCCgCACAFQTBsaiIEKQIANwIAIAEgBCkCCDcCCCABIAQpAhA3AhAgASAEKQIYNwIYIAEgBCkCIDcCICABIAQpAig3AiggAyABIAJB/wBxQawLahEDACAFQQFqIQUMAAALAAsLCyAAQQhqIgMoAgAiAgRAIAIQTAsgA0EANgIAIABBADYCACAGQQA2AgAgAEEMaiICKAIAIgMEQCADIAMoAgAoAgRB/wNxQaIHahEAAAsgAkEANgIAIABBEGoiACgCACICBEAgAiACKAIAKAIEQf8DcUGiB2oRAAALIABBADYCACABJAYLQAEDfyAAKAIAIgIEQCAAQQRqIgMoAgAhAQNAIAEgAkcEQCABQeB+aiIBEIAQDAELCyADIAI2AgAgACgCABBMCwtfAQR/IwYhASMGQRBqJAZB/uwZIAEQSyAAQQRqIQIgAEEIaiEDQQAhAANAIAAgAygCACACKAIAIgRrQaABEE5JBEAgBCAAQaABbGogABCKLiAAQQFqIQAMAQsLIAEkBgtGAQN/IABBBGohASAAQQhqIQJBACEAA0AgACACKAIAIAEoAgAiA2tBoAEQTkkEQCADIABBoAFsahCILiAAQQFqIQAMAQsLC00BBH8gAEEEaiECIABBCGohA0EAIQADQCABIAMoAgAgAigCACIEa0GgARBOSQRAIAAgBCABQaABbGoQhy5yIQAgAUEBaiEBDAELCyAAC0YBA38gAEEEaiEBIABBCGohAkEAIQADQCAAIAIoAgAgASgCACIDa0GgARBOSQRAIAMgAEGgAWxqEIYuIABBAWohAAwBCwsLRgEDfyAAQQRqIQEgAEEIaiECQQAhAANAIAAgAigCACABKAIAIgNrQaABEE5JBEAgAyAAQaABbGoQhS4gAEEBaiEADAELCwsyAQJ/IAAoAgQiASAAKAIIIgJGBH9BAAUgAiABa0GgARBOIAAoAhRBAWogACgCEGpLCwuQAwEHfyMGIQQjBkHgAWokBiAEQagBaiEFIARBCGohBiAAIAJB//8DcUEQdCABQf//A3FyNgEAIABBCGohAiAAQQxqIQogAEEYaiEIIABBHGohCSAAQQRqIgdCADcCACAHQgA3AgggB0IANwIQIAdBADYCGCAEQcQBaiIBIAMQVSABEFsDQCABEFlFBEAgARBTIgAQ7AEoAgAEQCAAKgIwQwAAAABeRQRAIARBve4ZNgIAIARB5gc2AgRBgLv5AEHp7hlBAkHH6xwgBBBRCyAAEJMYCyABEFYMAQsLIAEQWwNAIAEQWUUEQCAFIAEQUxDsARB9IAUQlAEDQCAFEI4BRQRAIAYQ/i0gBiAFEHAQ/S0gAigCACIAIAooAgBGBEAgByAGEPwtIAIoAgAhAAUgACAGEPsPIAIgAigCAEGgAWoiADYCAAsgAEHgfmooAogBIgBBAkkEQCAIIAgoAgBBAWo2AgALIAAgCSgCAEsEQCAJIAA2AgALIAYQgBAgBRB4DAELCyABEFYMAQsLIAQkBgv5AQEJfyMGIQMjBkFAayQGIANBIGoiBRBXIANBHGoiBhBXIAMgBhBVA0AgCSABSARAIAAQnwEiBCgCGBDIAiEHIARBBGoiCigCACIIQQBHIQsCQAJAIAcEQCALBEAgBSADEFMQkQEQlgEgBRD1AyAFIAooAgAQkQEQhgIgCigCACIHIghFDQIgCBDXAiAHEEwMAgsFIAsEQCADIAgQoAEMAgsLIAQNAAwBCyAEEMoEIAQQTAsgABBWIAlBAWohCQwBCwtBHBBPIgEgBkEBEL8GIAIEQCABQQNBARDWAQsgABD/AQRAIAFBBEEBENYBCyAGEOECIAMkBiABCzoBAX8jBiECIwZBIGokBiACIAAQkQEQVSACEFsDQCACEFlFBEAgAhBTIAEQkhggAhBWDAELCyACJAYLKAEBfUEBIAAqAgAgASoCAJMiAkMAAAAAXUEfdEEfdSACQwAAAABeGwvmBwIQfwN9AkAgAEEMaiITKAIABEBBLBBPIQ0gAEEEaiEQQQEhCAJAAkACQANAIAhBCksNASAEIAhBBHRqKAIMRQ0CIAQgCEEEdGooAghBAEwNAiANIAhBAnRqIgcgBCAIQQR0aiIJRAAAAAAAAOA/EM4BtiIVOAIAIAkQrwciCyEFA0ACQCAVIAVBf2oiBrKTIAFdRQ0AIAUgACgCAEwNACAAIAYQrgEiCiAAIAUQrgFKDQAgCiAEIAYQrgFrIgVBAEoEQCAJIAYgBRCIASAEIAYgBRCIASAHKgIAIRULIAYhBQwBCwsgCyEFA0ACQCAFQQFqIgayIBWTIAFdRQ0AIAYgECgCAE4NACAAIAYQrgEiCiAAIAUQrgFKDQAgCiAEIAYQrgFrIgVBAEoEQCAJIAYgBRCIASAEIAYgBRCIASAHKgIAIRULIAYhBQwBCwsgCEEBaiEIDAAACwALIAhBf2ohBgwBCyAIQX9qIgZFBEAgBCAAKAIAIBAoAgAQsAYaQQAhBgsLIARBDGohFAJAAkADQCAQKAIAIgggACgCACISayEJQQAhBUEAIQ4DQCAOIAlIBEACQCATKAIAIA5BAnRqKAIAIBQoAgAgDkECdGooAgBrIgdBAEoEQCASIA5qIgqyIRdDAAAATyEWQQAhEUEBIQ8DQCAPIAZMBEAgFyANIA9BAnRqKgIAkyIVjCAVIBVDAAAAAF0bIhUgFl0hDCAVIBYgDBshFiAPIBEgDBshESAPQQFqIQ8MAQsLIBYgAl4EQCARBEAgByAFSiANIBFBAnRqKgIAIhUgA5QgF10gFSADlSAXXnJxRQ0DBSAHIAVMDQMLIAchBSAKIQsLCwsgDkEBaiEODAELCyAGQQpIIAVBAEpxRQ0CIAQgBkEBaiIKQQR0aiIMIBIgCBCwBkUNASANIApBAnRqIgggC7I4AgAgDCALIAUQiAEgBCALIAUQiAEgCyEFA0ACQCAIKgIAIhUgBUF/aiIHspMgAV1FDQAgBSAAKAIATA0AIAAgBxCuASIJIAAgBRCuAUoNACAJIAQgBxCuAWsiBUEASgRAIAwgByAFEIgBIAQgByAFEIgBCyAHIQUMAQsLIAshBQNAAkAgBUEBaiIHsiAVkyABXUUNACAHIBAoAgBODQAgACAHEK4BIgkgACAFEK4BSg0AIAkgBCAHEK4BayIFQQBKBEAgDCAHIAUQiAEgBCAHIAUQiAEgCCoCACEVCyAHIQUMAQsLIAggDEQAAAAAAADgPxDOAbY4AgAgBkEJSARAIAohBgwBBSAKIQYMAwsAAAsACyANEExBACEGDAILIA0QTAsLIAYLggIBCH8jBiEFIwZBEGokBiABQQJIIABBDGoiCCgCAEVyRQRAIAUgACgCACAAQQRqIgIoAgAQsQEgAigCACAAKAIAayEGA0AgAyAGSARAQQEhBCAIKAIAIgkgA0ECdGooAgAgAWwhAgNAIAQgAUcEQCADIARrIgdBf0oEQCAJIAdBAnRqKAIAIAEgBGtsIAJqIQILIAQgA2oiByAGSARAIAkgB0ECdGooAgAgASAEa2wgAmohAgsgBEEBaiEEDAELCyAFIAAoAgAgA2ogAhCIASADQQFqIQMMAQsLIAAgBSgCCDYCCCAIKAIAIAUoAgwiACAGQQJ0EG0aIAAQhAELIAUkBgvlCgMGfwh9BXwjBiEIIwZBkAJqJAYgCEGAAmoiCUEAIAEQsQEgCEHwAWoiB0EAIAEQsQEgAEEUaiIKQwAAAAA4AgAgACAJIAcgACoCLCINIAAqAhgiEEHghvkAKwMARAAAAAAAAPA/oCANu6IgELtjGyIOIA4gDiAAKgIcIg0gDSAOXhsiFJJDAAAAP5QiEyACEIMQBH0gCUQAAAAAAADoPxDOASAJRAAAAAAAANA/EM4BobYhECAHRAAAAAAAAOg/EM4BIAdEAAAAAAAA0D8QzgGhtiEPIAdEAAAAAAAA4D8QzgG2BSABskMAAABAlCEPQxe30TghECAOCyESIAhBIGohAiAJEO0FIAcQ7QUgACAJIAcgDiATQQAQgxAEQCAJRAAAAAAAAOg/EM4BIAlEAAAAAAAA0D8QzgGhtiERIAdEAAAAAAAA6D8QzgEgB0QAAAAAAADQPxDOAaG2IQ0gBgRAIAdEAAAAAAAA4D8QzgEhFSAIIA67OQMAIAggEbs5AwggCCANuzkDECAIIBU5AxhB+uUZIAgQSwsgEyAHRAAAAAAAAOA/EM4BtiIOXgRAIAAgCSAHIA4gDkEAEIMQBEAgCUQAAAAAAADoPxDOASAJRAAAAAAAANA/EM4BobYhESAHRAAAAAAAAOg/EM4BIAdEAAAAAAAA0D8QzgGhtiENIAYEQCAHRAAAAAAAAOA/EM4BIRUgAiAOuzkDACACIBG7OQMIIAIgDbs5AxAgAiAVOQMYQcPmGSACEEsLIAdEAAAAAAAA4D8QzgEaCwsFIAGyQwAAQECUIQ1DF7fROCERCyAIQUBrIQJB+qj5AC0AAARAIAIgBDYCACACIAU2AgQgAkHYADYCCCACIA27OQMQIAIgEbs5AxggAiAPuzkDICACIBC7OQMoIAJBxABB0wBBzQAgECANlCAPIBGUXxsgDyABsiIOXiANIA5ecRs2AjBBjucZIAIQSwUgAbIhDgsgCEHYAWohBCAIQcABaiEFIAhBoAFqIQEgCEGAAWohAiAIQfgAaiELIA8gDl4gDSAOXnEEfyAAQQA2AhBB+qj5AC0AAARAQcKTHyALEEsLQQAFIBAgDZQgDyARlF8EfyAGBEAgAiANuzkDACACIBG7OQMIIAIgD7s5AxAgAiAQuzkDGEHN5xkgAhBLCyAJRAAAAAAAAOg/EM4BIAlEAAAAAAAA0D8QzgGhtiEQIAdEAAAAAAAA6D8QzgECfCAHRAAAAAAAANA/EM4BIRkgB0QAAAAAAADgPxDOAbYhEiAZC6G2IQ9BAAUgBgRAIAEgDbs5AwAgASARuzkDCCABIA+7OQMQIAEgELs5AxhBn+gZIAEQSwtBAQshASAPuyEVIBC7IRZB+qj5AC0AAARAIAUgFTkDACAFIBY5AwggBSASuyIXOQMQQe3oGSAFEEsgAyoCMCENQcCF+QArAwAgFqIgFWQEf0GYhfkAKwMAIA27IhiiIBVkBH9BxgBB0ABBuIv5ACsDACAYoiAXZBsFQdAACwVB0AALIQIgBCAPIBCVuzkDACAEIA8gDZW7OQMIIAQgAjYCEEGR6RkgBBBLCyAAAn8CQEHAhfkAKwMAIBaiIBVkRQ0AQZiF+QArAwAgAyoCMLsiFqIgFWRFDQBBuIv5ACsDACAWoiASu2RFDQBBAgwBC0EECzYCECAKIBI4AgAgACAJRAAAAAAAAOA/EM4BtjgCTCAUIAoqAgAiDZIQZUECEE4hAiAAQUBrIA0QZSACIA0gArJdGyICNgIAIAAgAjYCRCAAIA04AlAgACACNgJIIAAgAToACkEBCyEMIAcoAgwQhAEgCSgCDBCEASAIJAYgDAvZCAMUfwJ9AnwjBiEEIwZB8AJqJAYgBEGgAmohByAEQZgCaiEOIARBkAJqIQ8gBEGIAmohECAEQYACaiERIARB+AFqIRIgBEHoAWohCiAEQeABaiENIARBsAFqIQUgBEHYAWoiCxB5IARB0AJqIgYgABDUARBVIARBwAJqIghBACABELEBA0AgBCADQQR0ahCOByADQQFqIgNBC0cNAAsgBEGwAWohFkHYjPkAKwMAIABBLGoiCSoCALuiRAAAAAAAAPg/oBBaIRQCQCAGELUBRQRAIAYQUxBiLgEEIRUgBhBWIBVBEHRBEHUhAwNAIAYQ/wENAiAGEFMiDCgCGBDIAkUEQCALIAwQYikBADcDACALLgEAIANrIgMgAUgEQCAIIANBARCIAQsgCy4BBCEDCyAGEFYMAAALAAsLIAgoAggEf0GAiPkAKwMAIAkqAgC7IhmitiEYQdiH+QArAwAgGaK2IRcgCCAUEJguQQAhAQNAIAggGCAXQeiF+QArAwC2IAQQly4iAyABSiADQQpIcQRAIAMhAQwBCwsgA0EBSAR/QQAFQQAhAQNAIAEgA0cEQCAFIAFBAnRqIAQgAUEBaiIBQQR0akQAAAAAAADgPxDOAbY4AgAMAQsLIAIEQCANIAM2AgBBs+kZIA0QS0EAIQEDQCABIANIBEAgBSABQQJ0aioCALshGSAEIAFBAWoiAUEEdGooAgghDCAKIBk5AwAgCiAMNgIIQcXpGSAKEEsMAQsLQcKTHyASEEsLIAUgA0EEQdQAEIUFQbCH+QArAwAgCSoCALsiGaK2IRhB6Ir5ACsDACAZorYhF0EAIQEDQAJAIAEgA04NACAFIAFBAnRqKgIAIBhdRQ0AIAFBAWohAQwBCwsCQCABBEAgACAFIAFBf2pBAnRqKAIANgIkA0ACQCABIANODQAgBSABQQJ0aioCACAXXUUNACABQQFqIQEMAQsLIAEgA0cEQCAAIAUgAUECdGooAgA2AiAMAgsgAgRAQfXpGSAQEEsLIABB6IX5ACsDACAYu6K2OAIgBSACBEBBzekZIBEQSwsgA0EBSgRAIAAgBSgCADYCJCAAIAUoAgQ2AiAFIAAgGDgCJCAAIAUoAgA2AiALCwtBiIf5ACsDACAJKgIAu6K2IRdBACEBA0ACQCABIANODQAgBSABQQJ0aioCACAXXUUNACABQQFqIQEMAQsLIAACfyABBH8gACAFIAFBf2pBAnRqKAIANgIcIAUgAUECdGogASADRw0BGiACBEBBwuoZIA4QSwsgCQUgAgRAQZ3qGSAPEEsLIAAgFzgCHCAFCwsoAgAiATYCGCACBEAgACoCILshGiAAKgIcuyEZIAcgACoCJLs5AwAgByAaOQMIIAcgGTkDECAHIAG+uzkDGEHn6hkgBxBLC0EBCwVBAAshASAWIQADQCAAQXxqKAIAEIQBIABBcGoiACAERw0ACyAIKAIMEIQBIAQkBiABC8cBAQN/IwYhASMGQTBqJAYgARB5IAFBKGoQeSABQQhqIgIgABDUARBVAkAgAhC1AUUEQCABIAIQUxBiKQEANwMAIAIQWwNAIAIQWUUEQCABIAIQUxBiELwBGiACEFYMAQsLIABB6ABqIgMgAS4BAEF2aiABLgEEQQpqELAGGiAAIAEvAQBB9v8DajsBDCAAIAEvAQRBCmo7AQ4gAhBbA0AgAhBZDQIgAhBTKAIEIgAEQCAAIAMQlS4LIAIQVgwAAAsACwsgASQGC/4BAQV/IwYhBCMGQTBqJAYgBEEIaiIGIAAQ7AEQfSAGEJQBQQEhBwNAIAYQjgFFBEAgBhBwIgNBLGoiBSoCAEMAAAAAXkUEQCAEQefjGTYCACAEQfcCNgIEQfCp+QBBi+8ZQQJBx+scIAQQUQsgAxCbLgJAAkAgA0Hgi/kAKwMAIAUqAgC7opsQWiIFIAIQmi5FDQAgAyAFQbSn+QAoAgBBAWogACABIAcgAhCZLkUNACADKgIUQwAAAABbBEAgAygCJCEFIAMgAygCIDYCUCADIAU2AkwLDAELIANDAAAAADgCFCADQQA2AhALIAYQeCAHQQFqIQcMAQsLIAQkBgvNAgEJfyMGIQIjBkHQAGokBiACQRBqIQogAkHMAGoiA0EANgIAIAJByABqIgVBADYCACACQcQAaiIEQQA2AgAgAkFAayIGQQA2AgAgAkE8aiIHQQA2AgAgAkE4aiIIQQA2AgAgAkE0aiIJQQA2AgAgACADIAUgBCAGIAggCSAHEJQYIAMoAgAhACAEKAIAIQMgCCgCACEEIAIgATYCACACIAA2AgQgAiADNgIIIAIgBDYCDEGP5BkgAhBLQeqn+QAtAAAEQCADIAByIARyBEBBp+QZIAoQSwsLIAJBKGohBCAGKAIAIQEgCSgCACEDIAJBGGoiACAFKAIAIgU2AgAgACABNgIEIAAgAzYCCEGy5BkgABBLQfqn+QAtAAAEQCABIAVyIANyBEBBp+QZIAQQSwsLIAJBMGoiACAHKAIANgIAQcXkGSAAEEsgAiQGC8sEAwR/A30DfCMGIQMjBkEgaiQGIANBGGoiBEMAAAAAOAIAIAAqAhwhByAAQRRqIgYqAgAhCCABBEAgASgCBCEFCyADIgFBHGohAyAIIAcgByAIXhshBwJ/AkBBuqn5AC0AAA0AIAUEQCAFKAIMEO4BRQ0BCyAAIABB6ABqIAAuAQwgAC4BDiAHQwAAQECUIAiSQwAAgD6UIAYgBCADIABB2ABqQZyn+QAoAgAgAkYQhhAiB7shCkHwrPkAKAIAIQICQEGgifkAKwMAIAYqAgAiCLsiC6IiDCAKZARAIAJBA3EiBUEDRgRAIAAsAApBAEcgBCoCACIJQwAAoEFeckUEQCAHQwAAAABbIAlDAAAgQV5xRQ0DCwtB+Ij5ACsDACALoiAKZARAIAAsAAlFBEAgBUEDRyAEKgIAQwAAoEFecgRAIABBATYCEEEBDAYLCwsgAEECNgIQQQIMAwsLIAwgCmVFIAJBA3FBA0cgBCoCAEMAAKBBXnIgAy4BAEEASnJBAXNxBEAgAEEANgIQQQAMAgsgAEEQaiEAQdCI+QArAwAgC6IgCmQEfyAAQQQ2AgBBBAUgAEEDNgIAQQMLDAELQdCI+QArAwAgCLuitiEHIABBAzYCEEEDCyEAQfqo+QAtAAAEQCAEKgIAuyEKIAEgByAIlbs5AwAgASAKOQMIIAECfwJAAkACQAJAAkAgAEEBaw4EAgMAAQQLQbjfGQwEC0G13xkMAwtBvt8ZDAILQbvfGQwBC0HW5BkLNgIQQdnkGSABEEsLIAEkBgtYAQR/AkAgACgCACIBBEAgASgCACEDIAFBADYCACAAQQA2AgAgAyEAA0AgAEUNAiAAKAIAIQQgACgCBCIBBEAgARCvBiABEEwLIAAQTCAEIQAMAAALAAsLC8sDAwh/AX0CfCMGIQkjBkHQAGokBiAJQRBqIQ0gCUEIaiEMIAlBMGoiDiAGEFUgCUEUaiIHIAAQVSAHEFtD//9/fyEPQQAhBgNAIAcQWUUEQCAHEFMiCysDKCIQIA+7IhFjBEAgCygCDEH//wNxIgYhCCAQtiEPBSAQIBFhBEAgCygCDEH//wNxIQYLCyAHEFYMAQsLIAVBEHRBEHUiCiAEQRB0QRB1IgdqIAZB//8DcWpBEHRBEHUhCyAHIAprIAhB//8DcWpB//8DcSEKA0AgCyAKQRB0QRB1IgdOBEADQCAKQRB0QRB1IAEuAQQiBkoEQCAJIAIQuAIgASAJKQMANwEADAELCyAGQRB0QRB1IAdrIgggByABLwEAayIGIAggBkEQdEEQdUgbIQZBMBBPIgggCkEAIAZB//8DcSADIAQgBSAAEIQQIAgoAhAEQCAGQYCAAnEEQCAMQc3hGTYCACAMQZgDNgIEQayt+QBBu+IZQQJBx+scIAwQUQsgDSAHNgIAQcS0FkHH4hkgDRBcIA4gCBCgASAIQQE6AAQgCEEGaiIGIAYuAQBBAWo7AQAFIAgQTAsgCkEBakEQdEEQdSEKDAELCyAJJAYLRwAgABBXIAAgAUEQdEEQdTYCDCAAQQA2AhAgAEEEaiIBQQA2AgAgAUEAOwEEIABBGGoiAEIANwMAIABCADcDCCAAQgA3AxAL2g8DJX8CfgR8IwYhCyMGQZACaiQGIAtBgAJqISAgC0EoaiEdIAtBIGohHiALIglBGGoiFBB5IAlBEGoiDxB5IAlBCGoiGBB5IAlB4AFqIgYQVyAJQcQBaiIVEFcgCUGoAWoiBxBXIAlBjAFqIhAgBBBVIAlBiAFqIh8QVyAJQewAaiINIB8QrAYgAkEDIAJBEHRBEHVBA0obIhdB//8DcSIRQX1qQQIQTkH//wNxQQIgF0H//wNxQQdIGyEZIAYgACkCADcCACAGIAApAgg3AgggBiAAKQIQNwIQIAYgACwAGDoAGCAJQdAAaiIIIAYQuAIgFCAIKQMAIio3AwAgFC4BACEEIBlBEHRBEHUhDkEBIQIDQCACQRB0QRB1IAFBEHRBEHVIBEAgCCAGELgCIAJBAWpBEHRBEHUhAiAIKQMAISoMAQsLIBQgKjcDACAULgEEIRogESAOayEhQQQQTyIFEFcgByAFEJYBQQEgEWsgDkEBdGogBEH//wNxIA5qIgRBEHRBEHUiEmoiC0H//wNxIQIDQCASIAJBEHRBEHVOBEBBMBBPIhsgAhChLiAHIBsQoAEgAkEBakEQdEEQdSECDAELCyANIAUQogggBiAAKQIANwIAIAYgACkCCDcCCCAGIAApAhA3AhAgBiAALAAYOgAYIAggBhC4AiAUIAgpAwAiKjcDACAOIBFqISQgISAaakEQdEGAgHxqQRB1ISUgAUEQdEEQdUF/aiEiIBogDmshJiAXQRB0QRB1tyEuQQAhAEQAAADg///vRyEsQQAhAkEBIRZBACERAkACQANAAkBBBBBPIhwQVyAHIBwQlgEgBEEQdEEQdSEEIAtBEHRBEHUgIWoiG0EQdEEQdSEjA0AgEUEQdEEQdSABQRB0QRB1SCAjIBQuAQRKcQRAIAggBhC4AiAUIAgpAwAiKjcDACARQQFqQRB0QRB1IREMAQsLIBUgBikCADcCACAVIAYpAgg3AgggFSAGKQIQNwIQIBUgBiwAGDoAGCAPICo3AwAgCCAVELgCIBggCCkDACIrNwMAICQgBGoiJ0EQdEEQdSEoQX8hBEF/IQsgESEFIBtB//8DcSEKA0AgKCAKQRB0QRB1IgxIICUgDEhyRQRAIApBEHRBEHUgGkghEyAFIRIDQAJAIBMgEkEQdEEQdSABQRB0QRB1SHFFDQAgCkEQdEEQdSAPLgEETA0AIA8gKzcDACAIIBUQuAIgEkEBakEQdEEQdSESIAgpAwAhKwwBCwsgGCArNwMAAn8CQCAPLgEAIgUgDmogDE4NACATIA8uAQQgDmsgDEpxRQ0AICIgEkEQdEEQdUoEQCAKQRB0QRB1IBguAQBODQELQciO+QArAwAgLqIiLSAMIAVrt2MEQCAtIA8uAQQgDGu3Yw0BCyADIAwQrgFB//8DcSETQTAQTyIFIApBASATIBYgFyAZIA0QgQEQhBAgBQwBCwJ/IApBEHRBEHUgDy4BACIFTCAMIAVBEHRBEHVrIA5KckUEQCAMIAVB//8DcWtB//8DcQwBCyAPLgEEIgUgCkEQdEEQdUoEfyAFQRB0QRB1IAxrIA5KBH9BAAUgIiASQRB0QRB1SgRAQQAgCkEQdEEQdSAYLgEATg0DGgsgBUH//wNxIAxrQf//A3ELBUEACwshE0EwEE8iBSAKQQAgEyAWIBcgGSANEIEBEIQQIAULIRMgBSgCEARAIAcgBRCgASAmIAxMBEAgBUEBOgAFIAUrAygiLSAsYwRAIAoiBCELIAUhACAtISwgFiECBSAtICxhBEAgCiAEIAxBf2ogBEEQdEEQdUYbIQQLCwsFIBMQTAsgEiEFIApBAWpBEHRBEHUhCgwBCwsgHCgCAARAIAtBEHRBEHVBAWoiCyAEQRB0QRB1IgRIBEAgBxBbIAsgBGpBAhBOQRB0QRB1IQQDQAJAIAcQWQ0AIAcQUygCDCAERg0AIAcQVgwBCwsgBxBTKAIMIARGBEAgBxBTIQALCwUgAA0BAn8gDRCBASEpIAkgKjcDACAgIAkpAgA3AgAgCCAGKQAANwAAIAggBikACDcACCAIIAYpABA3ABAgCCAGKAAYNgAYICkLICAgCCAWIBcgGSAcEKAuQQAhAAsgDSAcEKIIICMgGk4NAiAWQQFqQRB0QRB1IRYgJyEEIBshCwwBCwsMAQsgAEUEQCAeQc3hGTYCACAeQbwCNgIEQayt+QBBueEZQQJBx+scIB4QUUEAIQALCyANEJ4BA0AgDRCNAUUEQCAHIA0QgQEQlgEgBxBbA0ACQCAHEFkNACAHEFMgAEYNACAHEFYMAQsLIAcQUyAARgRAIBAgBxCfASIAEK8FIAAoAhAhAAsgDRCrARoMAQsLIAAEQCAdQc3hGTYCACAdQdYCNgIEQayt+QBB6+EZQQJBx+scIB0QUQsgCUEwaiEAIBAQtQEEQCAAQc3hGTYCACAAQdcCNgIEQayt+QBB/+EZQQJBx+scIAAQUQsgCUE4aiEAIBAQ9QMgEBBTKwMYIiwgLKIgAkEQdEEQdbejISwgEBBTKwMgICyhRAAAAAAAAAAAYwRAIBAQUysDICEtIBAQUysDGCEuIAAgLTkDACAAIC45AwggACACQRB0QRB1NgIQQZPiGSAAEEsLIB8Qny4gEBBTKwMgICyhIS8gHxDvASAJJAYgLwu1BAQLfwF+AX0BfCMGIQsjBkGwAWokBiALQThqIRMgC0EwaiESIAtBKGohFCALQRBqIQ8gC0GUAWoiDCAAENQBEFUgC0H4AGoiEBBXIAtBCGoiERB5IAtB9ABqIg4QVyALQdgAaiINEFcgC0E8aiIVIAcQVSAGQQA7AQAgDBC1AQR9IAVBADsBACAEQwAAIEGUBSAMEFtBACEHA0AgCyAMELgCIAspAwAhFiAHQQFqQRB0QRB1IQcgDBBZRQ0ACyARIBY3AwAgECAMKQIANwIAIBAgDCkCCDcCCCAQIAwpAhA3AhAgECAMLAAYOgAYIAwgByAEEGUgASACIANBqI35ACsDACAAKgIsu6K2IAUgDiAJIAoQtQwhGCAIBEAgES4BBCECIBEuAQYhASAOEJoCQX9qIQAgDyACQRB0QRB1NgIAIA8gAUEQdEEQdTYCBCAPIAA2AgggDyAYOQMQQdjiGSAPEEsgDSAOEJYBIA0QWwNAIA0QWUUEQCANEFMsAAQEQEGw4RkgFBBLCyASIA0QUygCDDYCAEG04RkgEhBLIA0QVgwBCwtBwpMfIBMQSwsgDSIBIA4QlgEgARBbA0AgARBZRQRAIAEQUygCDCECQQgQTyIAIAJB//8DcUEAEPgCIBUgABCgASABEJcDBEAgBiABEFMuAQg7AQALIAEQVgwBCwsgDhCvBiAFLgEAIgBBAEoEfCAYIAC3o58FIARDAAAgQZS7C7YLIRcgDhCvBiALJAYgFwuSBQIIfwR8QQFBH0EAIAlBEHRBEHUiD0ECEE5BEHRBgIB8akEQdSAJQRB0QRB1QQJIGyAJQRB0QRB1QcEAShsiDnQhDCAAQQxqIgsgASACQRB0QRB1Ig1Bf3MgA0EQdEEQdSIKaiIDQTBsaigCDEEBdCAMQQF0QX9qcSICNgIAIAcgChCuAUEASgRAIAsgAkEBciICNgIACyAAQRBqIgsgASADQTBsaigCEEEBdiIDNgIAIAcgDiAKahCuAUEASgRAIAsgAyAMcjYCAAsgACAKNgIIIABBKGoiDEQAAADg///vRzkDACAAQRRqIg5BADYCACAAIARB/wFxQQBHIgs6AAAgAEEAOgABIABBBGoiEEEAOwEAIABBAmoiEUH//wE7AQAgCiAPayIDIA1OBEAgASADIA1rIgNBMGxqIQ0gCiABIANBMGxqKAIIayEEIAEgA0EwbGosAAFFBEAgASADQTBsai4BAiIKQf//AUcEQEGAjfkAKwMAIhJEAAAAAAAAAABkBH8gASADQTBsaigCECACcyECQQAhBwNAIAIEQCACQX9qIAJxIQIgB0EBakEQdEEQdSEHDAELCyASIAdBEHRBEHW3oiAIu6MQWgVBAAshAiAMIAEgA0EwbGorAxggBLegIhQgASADQTBsai8BBEEBaiIHQRB0QRB1tyIVoyISIAlBEHRBEHW3oSITIBOiIAEgA0EwbGorAyAgBCAEbLegIAJB//8DcSAGQf//A3FqQRB0QRB1IgIgAmy3oCITIBWjIBIgEqKhoDkDACAOIA02AgAgACAUOQMYIAAgEzkDICARIAsgCkH//wNxajsBACAAIAEgA0EwbGovAQYgBUH/AXFqOwEGIBAgBzsBAAsLCwtVAQF/IABBBGoiAigCACEAA0AgAEIANwMAIABCADcDCCAAQgA3AxAgAEIANwMYIABCADcDICAAQgA3AyggAiACKAIAQTBqIgA2AgAgAUF/aiIBDQALCzQBAX8gAUHVqtUqSwRAEAQFIAAgAUEwbBBPIgI2AgQgACACNgIAIAAgAiABQTBsajYCCAsLyhACGH8FfCMGIQwjBkHgAGokBiAMIhZBLGohGSAMQSBqIRcgDEE4aiISIAcQVSAIQRB0QRB1IQsgAkEDIAJBEHRBEHVBA0obIhNB//8DcSIYQX1qQQIQTiIMQf//A3EhCgJ8QciO+QArAwAhJSABQRB0QRB1IQcgAEEQdEEQdSIQIQADQCAAQQFqIQEgACAHSCAEIAAQrgFFcQRAIAEhAAwBCwsgAkEQdEEQdSECIAlBEHRBEHUgC2shESAMIANBEHRBEHVIIQwgJSATQRB0QRB1t6ILEFohDSAAQRB0QRB1IQ8gByEJA0AgCUF/aiEBIAkgD0ogBCAJEK4BRXEEQCABIQkMAQsLIBEgAhDIASEOIABB//8DcSEBIAAgGGsiAkH//wNxIREgGSATQQF0Qf//A3FBAXIgAGsgCWoQlxggFyAKIAMgDBsiD0EQdEEQdSIUQQF0IhpBAXIiGxCPECACQRB0QRB1IRUgGSgCACEKIBEhBwNAIAdBEHRBEHUgAUEQdEEQdUgEQCAKIAdBEHRBEHUgFWtBMGxqIAogESAEIBMgB0EAELQMIAdBAWpBEHRBEHUhBwwBCwsgCUH//wNxIRxBACEBA0AgAUEQdEEQdSAPQRB0QRB1TARAIAogB0EQdEEQdSAVa0EwbGogCiARIAQgEyAHIAEQtAwgAUEBakEQdEEQdSEBIAdBAWpBEHRBEHUhBwwBCwsgAEH//wNqISEgB0EQdEEQdSEDIBcoAgAhDEEAIQJBACAUQRB0a0EQdSEAA0AgACAUSARAIAwgAmogBCAAIANqEJUYQQFxOgAAIAJBAWohAiAAQQFqIQAMAQsLICFB//8DcSEBIAMgDUEQdEEQdSINaiIAQQFqQf//A3EhAyAAQf//A3EhAANAAkAgAEEQdEEQdSAHQRB0QRB1SARAIAMhAAwBCyAEIABBEHRBEHUQrgFBAEoEQCAAQX9qQRB0QRB1IQAMAgsLCyAJIBRrIR0gCEH//wNxIA5B//8DcXJFIR4gCyAQaiEfIA5BEHRBEHUhICAAIQMDQCAdIAdBEHRBEHUiCEoEQCAMIAJqIAQgCCAUahCVGEEBcToAACACQQFqQQAgAiAaSBshAgJAIAQgCBCuAUEASgRAQQEhAANAIABBEHRBEHUgD0EQdEEQdUoNAiAEIABBEHRBEHUiCyAIahCuAUEATA0CIAQgCCALaxCuAUEASgRAIABBAWpBEHRBEHUhAAwBCwsFIAchAUEAIQALCyAAQRB0QRB1IA9BEHRBEHVKBEACQCAIIAFBEHRBEHVrIA1KBEAgA0EQdEEQdSAIayANSgRAIAIgFGohC0EAIQADQCAAQRB0QRB1IA9BEHRBEHVKDQMgDCALIABBEHRBEHUiDmoiECAbQQAgECAaShtraiwAAA0DIAwgCyAOayIOIBtBACAOIBpKG2tqLAAARQRAIABBAWpBEHRBEHUhAAwBCwsLCwsgBCAIEK4BIRAgAEEQdEEQdSAPQRB0QRB1SgR/QQEhC0EAIQ4gEEH//wNxBUEAIQtBASEOIBCyIAWVEGUiECAAIABBEHRBEHUgEEEQdEEQdUgbCyEABUEAIQtBACEOCwJAAkAgHg0AQYqp+QAtAABFDQAgCCAfayAYEMgBICBMDQAgCiAIIBVrQTBsaiAKIBEgByALIA4gACAEIAUgExCkLgwBCyAKIAggFWtBMGxqIAogESAHIAsgDiAAIAQgBSATIA8QswwLIAdBAWpBEHRBEHUiByEAAkACQCADQRB0QRB1IAdIBEAgACANaiEADAEFIAAgDWoiACADQRB0QRB1IghGBEAgCCEADAILCwwBCyAAQQFqQf//A3EhAwsgAyAAQf//A3EgBCAAEK4BQQBKGyEDDAELCyAJIBhqIQ5B//8BIQFB//8BIQJEAADA////30EhIkEAIQBBACEDA0AgDiAHQRB0QRB1IgtKBEAgCiALIBVrIg1BMGxqIAogESAHQQBBACAJIAtrQf//A3FBACAHQRB0QRB1IBxBEHRBEHVIGyAEIAUgEyAPELMMIAogDUEwbGpBAToAAQJAIAogDUEwbGouAQIiCCAKIA1BMGxqLgEEIgxqIAFBEHRBEHUgAkEQdEEQdWpMBEAgCCACQRB0QRB1SARAIAwhASAIIQIgCiANQTBsaisDKCEiIAciACEDDAILIAggAkEQdEEQdUYEQCAKIA1BMGxqKwMoIiMgImMEQCAMIQEgCCECICMhIiAHIgAhAwUgAEEQdEEQdUEBaiALRgRAIAogDUEwbGorAyggImEEQCAHIQALCwsLCwsgB0EBakEQdEEQdSEHDAELCyACQf//A3FB//8BRgRAIBZBqeAZNgIAIBZBkwU2AgRBhK0WQcfgGUECQcfrHCAWEFELIBZBCGohAiAKIABBEHRBEHUgA0EQdEEQdWpBAhBOIBVrQTBsaiEAIAZBfzsBACAUIBhrIQcDQCAAKAIIIgMgFGshCCAHIANqQf//A3EhAwJAAkADQCAIIANBEHRBEHUiCUoEQCAEIAkQrgENAiADQQFqQRB0QRB1IQMMAQsLDAELIAYgBi4BAEEBajsBAAtBMBBPIgMgABCWGCASIAMQrwUgACgCFCIADQALIBIQ9QMgEhBTKwMYIiIgIqIgAUEQdEEQdbejISIgEhBTKwMgICKhRAAAAAAAAAAAYwRAIBIQUysDICEjIBIQUysDGCEkIAIgIzkDACACICQ5AwggAiABQRB0QRB1NgIQQZPiGSACEEsLIBIQUysDICAioSEmIBcoAgAiAARAIBcgADYCBCAAEEwLIBkQugIgFiQGICYLtAcCD38BfSMGIRMjBkEgaiQGIBNBEGohFCAGIAUoAgA2AgAgBSoCACEZQZqp+QAtAABFBEAgGRBlQRB0QRB1IhBBhKf5ACgCACIKSgRAQX8gCkEBdEEBciIKQQR0IgtBBGogCkH/////AEsgC0F7S3IbEE8iFSAKNgIAIBVBBGoiESAKQQR0aiELIBEhCgNAIAoQjgcgCkEQaiIKIAtHDQALQQBBhKf5ACgCACIKayELA0AgCyAKTARAIBEgCiALakEEdGpBACALQQFqIgsgEGoQsAYaQYSn+QAoAgAhCgwBCwsgAkEQdEEQdSENIAIhCwNAIAtBEHRBEHUhDiALQRB0QRB1IANBEHRBEHVMBEAgDiANayEPQQAgCmshDANAIAwgCkwEQCARIAogDGpBBHRqIA8gDCAQahDIASABIA4QrgEQiAEgDEEBaiEMQYSn+QAoAgAhCgwBCwsgC0EBakEQdEEQdSELDAELCyARIApBBHRqQQAQrgEhC0EAIQxBACEOQQAgCmshDQNAIA0gCkwEQCANIBBqIRYgDUH//wNxIRdBACEPA0AgFiAPQRB0QRB1IhJKBEAgESAKIA1qQQR0aiASEK4BIhggC0ghEiAYIAsgEhshCyAXIAwgEhshDCAPIA4gEhshDiAPQQFqQRB0QRB1IQ8MAQsLIA1BAWohDQwBCwsgCQRAIBMgBSoCALs5AwAgEyAMQRB0QRB1Igo2AgggEyALNgIMQYjjGSATEEsFIAxBEHRBEHUhCgsgBSAQIApqIhBB//8DcUEQdEEQdbIiGTgCACALQQF0QQJqIQ0gDkEQdEEQdSIMIBBBEHRBEHUiDmshD0GEp/kAKAIAIRAgDEH+/wNqQf//A3EhCwNAAkAgDyALQRB0QRB1IhJODQAgESAQIApqQQR0aiASIA4QyAEQrgEgDUoNACALQX9qQRB0QRB1IQsMAQsLIA4gDGohDyAMQQJqQf//A3EhDANAAkAgDyAMQRB0QRB1IhJMDQAgESAQIApqQQR0aiASIA4QyAEQrgEgDUoNACAMQQFqQRB0QRB1IQwMAQsLIAAgASACIAMgBCAZIAYgByAIIAkgCyAMELYMIRkgCQRAIBQgBSoCALs5AwAgFCAZuzkDCEHA4xkgFBBLC0H6qPkALQAABEAgACABIAIgAyAEIAUqAgAQmBgLIBUoAgAiAARAIBEgAEEEdGohAANAIABBfGooAgAQhAEgAEFwaiIAIBFHDQALCyAVEEwLCyATJAYgGQvgCgMSfwJ9A3wjBiEFIwZBoAFqJAYgBUEYaiESIAVBCGohDiAFQTBqIQsgBUH0AGoiDyABEFUgBUHgAGoiCRCOByAFQdAAaiIKEI4HQeCL+QArAwAgAEEsaiIQKgIAu6KbEFohAQJAAkACQCAAQRBqIhEoAgBBAWsOAwABAAELQQAhAQwBCyAJQQAgARCwBhogCkEAIAEQsAYaIA8QWyAAQQlqIRQgAEE0aiEVQQAhAUEBIQwDQCAPEFlFBEACQAJAIA8QUyIEKAIYKAIEIg1FDQAgDSgCDBDuAQ0ADAELIAsgBBDsARB9IAsQlAEgDCADRiENA0AgCxCOAUUEQCALEHAiCCoCLCEXAkACQCAULAAABEBBqIj5ACsDACIYRAAAAAAAAPA/oCAQKgIAIBUqAgCSuyIZoiAXIAgqAjSSuyIaZEVEAAAAAAAA8D8gGKEgGaIgGmNFcg0BBUGoiPkAKwMAIhpEAAAAAAAA8D+gIBAqAgC7IhmiIBe7IhhkRUQAAAAAAADwPyAaoSAZoiAYY0VyDQELIAgoAhAiE0EBRiEEIA0EQCAEBEBB7Kb5ACgCACEEIAkgCCoCFBBlIAQQiAEgBCAGaiEGDAMLAkACQAJAAkAgE0ECaw4FAAECAAIDCyAJIAgqAhQQZUEBEIgBIAZBAWohBgwFCyAGQeym+QAoAgBrIQYMBAsgBkF/aiEGDAMLBSAEBEBB7Kb5ACgCACEEIAogCCoCFBBlIAQQiAEgBCAHaiEHDAMLAkACQAJAAkAgE0ECaw4FAAECAAIDCyAKIAgqAhQQZUEBEIgBIAdBAWohBwwFCyAHQeym+QAoAgBrIQcMBAsgB0F/aiEHDAMLCwwBCwJAAkACQAJAAkAgCCgCEEEBaw4GAAECAwEDBAtB7Kb5ACgCACABaiEBDAQLIAFBAWohAQwDCyABQeym+QAoAgBrIQEMAgsgAUF/aiEBCwsgCxB4DAELCyAMQQFqIQwLIA8QVgwBCwsgBkHspvkAKAIASgRAIAAgCUQAAAAAAADgPxDOAbY4AhQgEUEFNgIADAELIAdBAEoEQCAAIApEAAAAAAAA4D8QzgG2OAIUIBFBBTYCAAwBCyARQQY2AgAgAUEASiAGIAdyRXEEQEGqqfkALQAARQRAQfqo+QAtAABFDQILIAUgAjYCACAFIAM2AgRBod0ZIAUQSwsLQfqo+QAtAAAEQCAOIAY2AgAgDiAHNgIEIA4gATYCCEHm3RkgDhBLIAAqAjS7IRggEiAQKgIAuzkDACASIBg5AwhBiN4ZIBIQSwsgBUEoaiEBIAVBkAFqIQ0gBUHwAGohDAJAAkACQCARKAIAQQNrDgQBAgABAgsCQCAAQRRqIgQqAgAiFkHQr/kAKAIAsl0EQCAGQQBKBEAgBCAJRAAAAAAAAOA/EM4BtiIWOAIADAILIAdBAEogBkVxBEAgBCAKRAAAAAAAAOA/EM4BtiIWOAIABSABIAI2AgAgASADNgIEQZXeGSABEEsgBCAQKAIAIgE2AgAgAb4hFgsLCyAWQdCv+QAoAgCyIhddBEAgBCAXOAIAIBchFgsgACAWQwAAgD6UOAJMIABBQGsgFrsiGEQzMzMzMzPjP6IQWiIBNgIAIAAgGESamZmZmZnZP6IQWiICNgJEIAAgASACakECEE42AkggACAWOAJQIABB2ABqIgEoAgBFBEAgABDUASgCAARAIAAgAEHoAGogAC4BDCAALgEOIBYgAkEDbLKSQwAAgD6UIAQgDCANIAFBABCGEBoLCwwBCyAAQwAAAAA4AhQgAEHYAGoQ7gILIAooAgwQhAEgCSgCDBCEASAFJAYL9gMBDX8jBiEDIwZB0ABqJAYgA0EIaiELIANBQGsiB0EANgIAIANBPGoiCEEANgIAIANBOGoiCUEANgIAIANBNGoiCkEANgIAIANBMGoiDEEANgIAIANBLGoiDUEANgIAIANBKGoiDkEANgIAIANBDGoiBiAAEOwBEH0gBhCUASAAQRhqIQ8DQCAGEI4BRQRAIAYQcCIFKgIsQwAAAABeRQRAIANB5+MZNgIAIANBwwQ2AgRB8Kn5AEGL7xlBAkHH6xwgAxBRCyAFQRRqIgQqAgBDAAAAAF4EQCAFIA8oAgAgARCeLiAEKgIAQwAAAABbBEAgBSgCJCEEIAUgBSgCIDYCUCAFIAQ2AkwLCyAGEHgMAQsLIAAgByAIIAkgCiANIA4gDBCUGAJAIAIEQEGqqfkALQAARQRAQeqn+QAtAABFBEBB+qf5AC0AAEUNAwsLQYTkGSALEEsgACABEJ0uCwsCQCAHKAIAIgFB7Kb5ACgCACIEIAgoAgAiAmxKBEAgAEEBNgIcBSACIAQgAWxKBEAgAEEDNgIcDAILIAFBAEogAkEASnIEQCAAQQA2AhwMAgsgCSgCACICIAQgCigCACIBbEoEQCAAQQI2AhwMAgsgAEEcaiEAIAEgBCACbEoEQCAAQQQ2AgAFIABBADYCAAsLCyADJAYLqQYDD38CfQJ8IwYhAyMGQbABaiQGIANBgAFqIQogA0HcAGohCyADQaABaiENIANBQGshBCADQYQBaiIFIAAQVSADQfAAaiIIEI4HIANB4ABqIglBAEHkABCxASAFELUBRQRAQbqo+QAtAAAEQCABIAEgAZRDAACAP5KVIQEgBCAFEFMQ7AEQfSAEEHAuAQy3IRMgBBBwQdwAaiATEKoCtiESIAUQW0H//wEhAEGBgH4hBwNAIAUQWUUEQCAEIAUQUxDsARCvAyAEEJQBA0AgBBCOAUUEQCAEEHAiAioCFCIRQwAAAABeBEAgCSAREGVBARCIAQsgASASIAJB3ABqIBMQqgK2k5QhESACLgEMsiARkxBlIQYgAi4BDrIgEZMQZSECIAQQeCAMQQFqIQwgBiAAIABBEHRBEHUgBkEQdEEQdUobIQAgAiAHIAdBEHRBEHUgAkEQdEEQdUgbIQcMAQsLIAUQVgwBCwsgCSgCCARAIAggAEEQdEEQdSAHQRB0QRB1ELAGGiAFEFsDQAJ/IAUQWSEQIAQgBRBTEOwBEK8DIBBFCwRAIAQQlAEDQCAEEI4BRQRAIAQQcCICQdwAaiATEKoCtiERIAJBDmohDiACQegAaiEPIAIuAQwiBiECIAayIAEgEiARk5STEGUhBgNAIAIgDi4BAEgEQCAIIAZBEHRBEHUgDyACEK4BEIgBIAJBAWohAiAGQQFqQRB0QRB1IQYMAQsLIAQQeAwBCwsgBRBWDAELCyAEEHAhBCAKIAlEAAAAAAAA4D8QzgG2IgE4AgAgARBlIgVBEHRBEHUhAiAEIAggACAHIAVBEHRBEHW3RAAAAAAAAOg/orYgCiALIA0gBEHYAGoiAEEAEIYQIQFB+qj5AC0AAARAIAoqAgC7IRMgCyoCALshFCADQQA2AgAgA0EANgIEIAMgAjYCCCADIBM5AxAgAyABuzkDGCADIBQ5AyAgAyABIAyylSISuzkDKCADIAEgBUEQdEEQdbIiAZW7OQMwIAMgEiABlbs5AzhB9uQZIAMQSwsgABDuAgsLCyAJKAIMEIQBIAgoAgwQhAEgAyQGC9wCAwZ/An0BfCMGIQQjBkEwaiQGIARBCGohAyAEEHkgBCAAKAIYQQRqEMMBKQEANwMAIAIEQEGqqfkALQAABEAgBC4BACEFIAQuAQIhBiAELgEEIQcgBC4BBiEIIAMgATYCACADIAU2AgQgAyAGNgIIIAMgBzYCDCADIAg2AhBB3OUZIAMQSwsLIARBIGohAyAAQUBrQZCL+QArAwAgACoCMCIJuyILopwQWiIFNgIAIABBwIr5ACsDACALopsQWiIGNgJEIABDAAAAADgCNCAAIAWyOAI8IAAgBrI4AjggAEGwh/kAKwMAIAuitiIKOAJUIABB6IX5ACsDACAKu6K2OAJQIAAQ7AEoAgAEQCAJQwAAAABeRQRAIANB5+MZNgIAIANB1QI2AgRB8Kn5AEHp7hlBAkHH6xwgAxBRCyAAEJMYIAAgAUGqqfkALQAAQQBHIAJxEJwuCyAEJAYL+AsCEn8BfiMGIQYjBkHwAGokBiAGQRhqIREgBkHIAGoiBBBXIAZBEGoiCBB5IAZBCGoiCRB5IAZBOGoiDkEAQYABELEBIABBCGoiC0EANgIAIABBAmoiB0H//wE7AQAgAEEEaiIMQYGAfjsBACAAQQA7AQAgAEEOaiIQQQA6AAAgBkEcaiIFIAEQ7AEQfSAFEJQBA0AgBRCOAUUEQCAFEHAiARDUASICKAIABEAgACAALgEAQQFqOwEAIA4gASoCLLtEAAAAAAAA4D+gnBBaQRB0QRB1QQEQiAEgBCACEJYBIAQQUxBiLgEAIQEgBEF/EIwDEGIuAQQhAiAHLgEAIAFBEHRBEHVKBEAgByABOwEACyAMLgEAIAJBEHRBEHVIBEAgDCACOwEACwsgBRB4DAELCwJAAkAgAC4BAEEDSA0AIAcuAQAgDC4BAE4NACAAQQZqIg8gDhDjAUQAAAAAAADgP6CcEFpBEHRBEHVBAhBOIgE7AQAgAEEMaiINIAwuAQAgBy4BAGsgAUEQdEEQdRBOIgFB//8DcSICOwEAIAtBfyABQRB0QRB1QQFqIgFBAXQgAUH/////B0sbEE8iAzYCAEEAIQEDQCABQRB0QRB1IAJBEHRBEHVMBEAgAyABQRB0QRB1QQF0akEAOwEAIAFBAWpBEHRBEHUhAQwBCwsgBRCUAQNAIAUQjgFFBEACQCAFEHAiARDUASICKAIABEAgBCACEJYBIAQQWyAGIAQQuAIgCCAGKQMAIhQ3AwAgCSAUNwMAQba0+QAtAAAEQCAILwEAIAcuAQAiAkH//wNxa0EQdCIDQYCACEpBgJf5ACsDACABQSxqIgEqAgC7oiADQRB1t2NxBEAgCC4BACACayAPLgEAEE4hAiANLgEAIgMgAkH//wNxIAJBEHRBEHUgA0obIQNBACECA0AgAkEQdEEQdSADQRB0QRB1TARAIAsoAgAgAkEQdEEQdUEBdGoiCiAKLgEAQQFqOwEAIAJBAWpBEHRBEHUhAgwBCwsLBSABQSxqIQELA0AgBBBZRQRAIAYgBBC4AiAIIAYpAwAiFDcDAAJAIAgvAQAgCS8BBGtBEHQiAkGAgAhKQYCX+QArAwAgASoCALuiIAJBEHW3Y3EEQAJ/IAguAQAhEyAJLgEEIAcuAQAiA2sgDy4BACIKEE5B//8DcSECIBMgA2sLIAoQTiEDIA0uAQAiCiADQf//A3EgA0EQdEEQdSAKShshAwNAIAJBEHRBEHUgA0EQdEEQdUoNAiALKAIAIAJBEHRBEHVBAXRqIgogCi4BAEEBajsBACACQQFqQRB0QRB1IQIMAAALAAsLIAkgFDcDAAwBCwtBtrT5AC0AAARAIAwvAQAgCS8BBGtBEHQiAkGAgAhKQYCX+QArAwAgASoCALuiIAJBEHW3Y3EEQEEAIAkuAQQgBy4BAGsgDy4BABBOIgFB//8DcSABQYCAAnEbIQEDQCABQRB0QRB1IA0uAQBKDQQgCygCACABQRB0QRB1QQF0aiICIAIuAQBBAWo7AQAgAUEBakEQdEEQdSEBDAAACwALCwsLIAUQeAwBCwtBprT5ACwAACEIQQAhAQNAIAFBEHRBEHUhAiABQRB0QRB1IA0uAQAiB0wEQAJAIAsoAgAiBCACQQF0aiIJLgEAIAAuAQBBAhBOIgVBEHRBEHVKBEACQCAIQf8BcQRAAkACQCABQf//A3ENACAEIAJBAWpBAXRqLgEAIAVBEHRBEHVKDQAMAQsgAUEQdEEQdSAHRgRAIAQgAkF/akEBdGouAQAgBUEQdEEQdUwNAQsgAUEQdEEQdUEASiABQRB0QRB1IAdIcUUNAiAEIAJBf2pBAXRqLgEAIAVBEHRBEHVKDQIgBCACQQFqQQF0ai4BACAFQRB0QRB1Sg0CCyAJQQA7AQAMAwsLIBBBAToAAAsLIAFBAWpBEHRBEHUhAQwBCwtBxrT5AC0AAARAIBAsAAAEQEGU3RkgERBLCwsMAQsgAEEAOwEMIABCADcCAAsgDigCDBCEASAGJAYLswUCDH8DfSMGIQUjBkHwAGokBiABKgJQIQ8gASoCTCEQIABB+AJqIgkoAgBBCkoEQEHu2hkgBRBLCyAFQcgAaiEGIAVBKGohByAFQSBqIQwgBUEQaiEKIAVBCGohAyAPIBBDAABAQJRfRSAPQwAAIEFfRSACKAIIIgBBGUpxcQRAIAC3RAAAAAAAAOg/oiACIBAgDyAQk0MAAEBAlSIRkrtEAAAAAAAA4D+gmxBaEJoYQRB0QRB1t2RFBEAgCSgCAEEKSgRAQYbbGSADEEsLIBG7RAAAAAAAAOA/oJwQWiEAIBCNEGUhDiAAQQMgAEEQdEEQdUEDShtB//8DcSELIA+OEGVBEHRBEHUhDUEAIQAgDkEQdEEQdSEIA0ACQCAIIA1ODQAgCEH//wNxIQMgAiAIEK4BBH8gBEEQdEEQdSALTg0BQQAFIAAgAyAEQf//A3EbIQAgBEEBakEQdEEQdQshBCAIQQFqIQgMAQsLIAkoAgBBCkoEQCABKAJIIQMgCiALNgIAIAogBEEQdEEQdSICNgIEIAogAEEQdEEQdTYCCCAKIAM2AgxBidsZIAoQSwUgBEEQdEEQdSECCyACIAtOBEAgAUHIAGoiAygCACIBIABBEHRBEHUiAkggASAIQRB0QYCAfGpBEHUiBEpyBEAgCSgCAEEKSgR/QcPbGSAMEEsgAygCAAUgAQsiACACSARAIAkoAgBBBUoEQCAHIBC7OQMAIAcgD7s5AwggByACNgIQIAcgBDYCFCAHIAA2AhggByACNgIcQcbbGSAHEEsLIAMgAjYCACACIQALIAAgBEoEQCAJKAIAQQVKBEAgBiAQuzkDACAGIA+7OQMIIAYgAjYCECAGIAQ2AhQgBiAANgIYIAYgBDYCHEHG2xkgBhBLCyADIAQ2AgALCwsLCyAFJAYL3AkEGX8CfgN9AnwjBiEIIwZB0AFqJAYgCEH4AGohByAIQdgAaiEKIAhBOGohCyAIQTBqIQ0gCEEoaiEWIAhBIGohFyAIQRBqIRggCEGwAWoiCSABENQBIhQQVSAIQaABaiIOQQBBgAEQsQEgCEGQAWoiD0EAQYABELEBIAhBgAFqIhVBAEGAARCxASAIQRhqIhAQeSAIQQhqIhkQeSADEOMBtiEiIAMgAEH4C2orAwAgAUEsaiIaKgIAu6IiJSAAQdALaisDACAiu6IiJiAmICVjG7YiI40QZRCaGCESAn8CQCADKAIIIhFBEHRBEHUiDCAAKAKoA0wNACAMIBJBEHRBEHVKIABBuAlqKwMAIBJBEHRBEHWyIBFB//8DcUEQdEEQdbKVu2RFcUUNACAJIBQQlgEgCRBbIAlBfxCMAxBiLgEEIR4gAEHmAGoiGy0AAARAIAcgCRCbAyAQIAcpAwAiIDcDACAAQYYCaiEMBSAAQYYCaiIMLQAABEAgByAAIAEgCRCjBQUgByAJELgCCyAQIAcpAwAiIDcDAAsgHiAQLgEAayEcIABB+AZqIQ0gAEHQBmohEiAAQaYBaiEUICAhIQNAAkAgGSAhNwMAIAkQWQ0AIBstAAAEQCAHIAkQmwMFIAwtAAAEQCAHIAAgASAJEKMFBSAHIAkQuAILCyAQIAcpAwAiIDcDACAQLgEAIhFB//8DcSAZLgEEIh1B//8DcWtBEHRBEHUiE7IiIiAjXiAAIAEgHCACIB0gERC3DEEBc3EEQAJAAkAgDSsDACAaKgIAIiS7IiaiIBO3IiVjDQAgEisDACAmoiAlYwRAIBQtAABFDQEgFiAhNwMAIAcgFikBADcBACAAICQgBxDyA0UEQCAXICA3AwAgByAXKQEANwEAIAAgJCAHEPIDRQ0CCwsgGCAhNwMAIAcgGCkBADcBACAAIAEgBxCxBgRAIAggIDcDACAHIAgpAQA3AQAgACABIAcQsQYNAQsMAQsgDiATQQEQiAELIA8gE0EBEIgBCyAiICNdBEAgFSATQQEQiAELICAhIQwBCwsCfCAOKAIIIgwgACgCkAMiAkgEfCAMQQBKIARxBEAgDhC1CgwCCyAPKAIIIAJIBHwgDxC1CgUgDxDjAQsFIA4Q4wELCyElIAFB0ABqIgQgJbY4AgAgAC0A1gEEQCABQcwAaiICIBUQ4wG2IiI4AgAFIAFBzABqIgIgAxDjAbYiIjgCAAsgAUHIAGoiASAEKgIAIiMgIpJDAAAAP5SOEGUiAzYCACAiIAOyIiRgRQRAIANBAUggIyAkX3JFBEBBASAAKAL4AkEFTA0DGiAKIAVBEHRBEHU2AgAgCiAGQRB0QRB1NgIEIAogIrs5AwggCiADNgIQIAogI7s5AxhB6dwZIAoQS0EBDAMLCyAAKAL4AkEFSgRAIAsgBUEQdEEQdTYCACALIAZBEHRBEHU2AgQgCyAiuzkDCCALIAM2AhAgCyAjuzkDGEGv3BkgCxBLCyACQwAAAAA4AgAgAUEANgIAIARDAAAAADgCAEEADAELIAAoAvgCQQVKBEAgDSAFQRB0QRB1NgIAIA0gBkEQdEEQdTYCBEGE3BkgDRBLC0EACyEfIBUoAgwQhAEgDygCDBCEASAOKAIMEIQBIAgkBiAfC5QXBBt/An4EfQN8IwYhByMGQYADaiQGIAdB4AJqIgwgARDUASIQEFUgB0HQAmoiDkEAQYABELEBIAdBwAJqIhNBAEGAARCxASAHQbACaiIWQQBBgAEQsQEgB0GgAmoiFEEAQYABELEBIAdBGGoiCRB5IAdBCGoiDRB5IAVBEHRBEHVBAEoiFQR/IAUFIAEqAixDAAAAP5SOEGULIREgB0GYAmohCCAHQShqIRIgB0EgaiEXIAdBEGohGCAHIQ8gECgCAAR/IAArA7gEIihEAAAAAAAAAABkBH8gKCARQRB0QRB1IAZBEHRBEHUiBWu3okQAAAAAAADgP6CcEFpBEHRBEHUgBWoFIBFBEHRBEHUgBkEQdEEQdWpBAhBOCyEFIAwgEBCWASAMEFsgDEF/EIwDEGIuAQQhISAAQeYAaiIZLQAABEAgCCAMEJsDIAkgCCkDACIiNwMAIABBhgJqIQcFIABBhgJqIgctAAAEQCAIIAAgASAMEKMFBSAIIAwQuAILIAkgCCkDACIiNwMACyAhIAkuAQBrIRAgBUEQdEEQdSEaIAFBLGohGyAAQZYBaiEcIABB+AZqIR0gAEHQBmohHiAAQaYBaiEfA0ACQCAiISMDQAJAIA0gIzcDACAMEFkNAiAZLQAABEAgCCAMEJsDBSAHLQAABEAgCCAAIAEgDBCjBQUgCCAMELgCCwsgCSAIKQMAIiI3AwAgACABIBAgAiANLgEEIgsgCS4BACIgELcMDQAgIEH//wNxIAtB//8DcWtBEHRBEHUiCyAaSARAIBQgC0EBEIgBBQJAAkAgHC0AAEUNACAdKwMAIBsqAgAiJLsiKKIgC7ciKWMNACAeKwMAICiiICljBEAgHy0AAEUNASASICM3AwAgCCASKQEANwEAIAAgJCAIEPIDRQRAIBcgIjcDACAIIBcpAQA3AQAgACAkIAgQ8gNFDQILCyAYICM3AwAgCCAYKQEANwEAIAAgASAIELEGBEAgDyAiNwMAIAggDykBADcBACAAIAEgCBCxBg0BCwwBCyATIAtBARCIAQsgFiALQQEQiAELIA4gC0EBEIgBICIhIwwBCwsgCkEBakEQdEEQdSEKDAELCyAKQRB0QRB1QQFKBH9BAQUgCkH//wNxQQFGBH8gDigCCCAAKALAA0wFQQALCyELIAUFQQAhEEEACyEMIA9BMGohBQJAAkAgEygCCCIHIAAoApADTg0AIAsEQCAHQQBKDQEFIA4oAgggACgC2ANMIAdBAEpxDQELIAAtAMYBBEAgACABIAIgDiALIAMgBBCvLg0CCyAALQCWAQRAIAAoAvgCQQVKBEAgBSADQRB0QRB1NgIAIAUgBEEQdEEQdTYCBEHa1xkgBRBLCwsgAC0AtgFFIBVBAXNyBEAgACABIA4gFiAUIBEgBhCbGAwCCyABQdAAaiICIBFBEHRBEHWyIiQ4AgAgDigCCCAAKAKoA0oEQCAOEOMBtiElIAIqAgAhJAUgBkEQdEEQdbIhJQsgASAlOAJMIAEgJCAlkrsgACsDkASjnBBaNgJIDAELIAAgASAOIBMgFCARIAYQmxgLIAsgAC0A5gJFckUEQCAAIAEgDhCuLgsgD0GoAWohCiAPQYABaiEJIA9B2ABqIQUgD0E4aiEHAkACQAJAIAAoAvADDgIAAQILIAsEQCAAQeAJaiIJKwMAIAFBzABqIgoqAgC7IiqiIiggAUHQAGoiBSoCALsiKWQEQCAAKAL4AkEFSgRAIAFByABqIgIoAgAhDSAHIANBEHRBEHU2AgAgByAEQRB0QRB1NgIEIAcgKjkDCCAHIA02AhAgByApOQMYQYPYGSAHEEsgCSsDACAKKgIAu6IhKAUgAUHIAGohAgsgAiAoEFoiAjYCACAIIAKyQwAAgD+SIiQ4AgAgBSABQSxqIgIgCCAkIAIqAgBdGygCADYCAAsLDAELAn0CQCAAQagLaisDACIoQwAAIEAgAUHMAGoiEioCACIkICRDAAAgQF0bIiW7oiABQdAAaiINKgIAIia7IilkDQAgAEHoDWorAwAgASoCLLuiICYgJJO7ZA0AIAFByABqIgIhByAkISUgAigCACEFICYMAQsCfSARQRB0QRB1siAVRSAoICS7oiARQRB0QRB1t2VFckUNABogASoCLEMAAAA/lCImICUgKLaUIiUgJSAmXRsLISYgACgC+AJBBUoEQCABQcgAaiICKAIAIQcgBSADQRB0QRB1NgIAIAUgBEEQdEEQdTYCBCAFICS7OQMIIAUgBzYCECAFICk5AxggBSAmuzkDIEG12BkgBRBLIBIqAgAhJAUgAUHIAGohAgsgDSAmOAIAIAIgJiAkkrsgACsDkASjnBBaIgU2AgAgAiEHICQhJSAmCyEkIAUgAEGgDGorAwBDAAAgQCAlICVDAAAgQF0bu6KcEFoiAkoEQCAAKAL4AkEFSgRAIAkgA0EQdEEQdTYCACAJIARBEHRBEHU2AgQgCSAluzkDCCAJIAU2AhAgCSAkuzkDGCAJIAI2AiBB8NgZIAkQSyANKgIAISQLIAcgAjYCACAkIAKyIiVfBEAgDSAlQwAAgD+SIiQ4AgALBSAFIQILIAsEQCAkIABBiApqKwMAIAFBLGoiBSoCACIlu6IiKiAAQeAJaisDACASKgIAIie7IimiIiggKCAqYxu2IiZdRQRAIAIgJyAmkkMAAAA/lI4QZU4NAgsgACgC+AJBBUoEfSAKIANBEHRBEHU2AgAgCiAEQRB0QRB1NgIEIAogKTkDCCAKIAI2AhAgCiAkuzkDGEGn2RkgChBLIAUqAgAFICULISQgByAmEGUiAjYCACAIIAKyQwAAgD+SIiU4AgAgDSAFIAggJSAkXRsoAgA2AgALCwJ/IAAtACYEfyABIAEoAkgiBTYCRCABQUBrIAVBAWoiAjYCACAFBSAAKwOoBiABKgIsu6KbEFohAiABQUBrIgcgASoCUBBlIgUgAiAFIAJIGyICNgIAIAIgASgCSCIFTARAIAcgBUEBaiICNgIACyABQcQAaiIVIAEqAkwiJCAFspJDAAAAP5QQZSIJNgIAQQAhB0EAIQoDQAJAIAkgCkEQdEEQdSIIIAlKDQMaIA4gCBCuASINQf//A3EgByANIAdBEHRBEHVKGyEHICQgCkEQdEEQdbJdBEAgB0EQdEEQdbdEmpmZmZmZuT+iIA23ZA0BCyAKQQFqQRB0QRB1IQoMAQsLIBUgCDYCACAICwshByAAQYALaisDACIoRAAAAAAAAAAAZARAIAEqAlAiJCAFsiIlXgRAIAFBQGsgKCAkICWTu6IgBbegmxBaIgggAiACIAhIGyICNgIACwsCQCAAQbAKaisDACIoRAAAAAAAAAAAZARAIAtFBEAgAC0A9gFFDQILIAFBQGsgKCABKgJMu6KbEFoiCCACIAIgCEgbIgI2AgALCyAAQdgKaisDACIoRAAAAAAAAAAAZARAIAFByABqIQggASoCTCIkIAWyIiVdBEAgASAku0QAAAAAAADgP6AgKCAlICSTu6KgnBBaIgc2AkQLBSABQcgAaiEICyAHIAVKBEAgASAFNgJEBSAHIQULIA9BgAJqIQkgD0HIAWohByAAQfgCaiIAKAIAQQVKBEAgASoCTLshKCAIKAIAIQsgASoCULshKSAHIANBEHRBEHU2AgAgByAEQRB0QRB1NgIEIAcgEDYCCCAHIAZBEHRBEHU2AgwgByARQRB0QRB1NgIQIAcgDEEQdEEQdTYCFCAHICg5AxggByAFNgIgIAcgCzYCJCAHIAI2AiggByApOQMwQdfZGSAHEEsgACgCAEEKSgRAIAEqAlC7ISggCCgCACEAIAkgASoCTLs5AwAgCSAoOQMIIAkgADYCEEGi2hkgCRBLCwsgFCgCDBCEASAWKAIMEIQBIBMoAgwQhAEgDigCDBCEASAPJAYL1woEGn8CfgJ9AnwjBiEIIwZBsAFqJAYgCEEwaiEGIAhBKGohGCAIQRhqIRkgCEEIaiEaIAhBiAFqIgcQVyAIQfgAaiIPQQBBgAEQsQEgCEHoAGoiDUEAQYABELEBIAhB2ABqIhBBAEGAARCxASAIQSBqIgkQeSAIQRBqIg4QeSAIQThqIgsgARDsASIUEH0gCxCUASAAQcYAaiEbIABB5gBqIREgAEGGAmohEkGAASEBA0AgCxCOAUUEQAJAIAsQcCIMENQBIgooAgAEQCAbLQAABEACQAJAAkAgDCgCEEEDaw4EAAEBAAELDAELDAMLCyAHIAoQlgEgBxBbIAdBfxCMAxBiLgEEIR8gES0AAARAIAYgBxCbAwUgEi0AAARAIAYgACAMIAcQowUFIAYgBxC4AgsLIAkgBikDACIgNwMAIB8gCS4BAGshFSAJEG4iCiABIApBEHRBEHUgAUEQdEEQdUgbIQEDQCAOICA3AwAgBxBZDQIgES0AAARAIAYgBxCbAwUgEi0AAARAIAYgACAMIAcQowUFIAYgBxC4AgsLIAkgBikDACIgNwMAIAkQbiEKIAkuAQAiFiAOLgEEIhdrIRMgACAMIBUgAiAXIBYQtwxFBEAgDSATQRB0QRB1QQEQiAEgDyATIAkuAQRqIA4uAQBrQQIQTkEQdEEQdUEBEIgBCyAKIAEgCkEQdEEQdSABQRB0QRB1SBshAQwAAAsACwsgCxB4DAELCyANKAIIQQJIBEAgBSABOwEAIARBfzsBACADQQE6AAAFIAMgD0QAAAAAAADoPxDOASAPRAAAAAAAANA/EM4BobZDAAAAQJQgDUQAAAAAAADoPxDOASANRAAAAAAAANA/EM4BobZeOgAAIAUgDRDjAZwQWjsBACALIBQQrwMgCxCUASAAQdALaiEKIABB+AtqIRcgAEGGAWohEyAAQfgGaiEUIABB0AZqIRUgAEGmAWohFgNAIAsQjgFFBEACQCALEHAiARDUASIDKAIABEAgGy0AAARAAkACQAJAIAEoAhBBA2sOBAABAQABCwwBCwwDCwsgFysDACABQSxqIhwqAgC7oiIkIAorAwAgBS4BALeiIiUgJSAkYxu2ISMgByADEJYBIAcQWyAHQX8QjAMQYi4BBCEDIBEtAAAEQCAGIAcQmwMFIBItAAAEQCAGIAAgASAHEKMFBSAGIAcQuAILCyAJIAYpAwAiIDcDACAJLgEAIANrIR0gICEhA0AgDiAhNwMAIAcQWQ0CIBEtAAAEQCAGIAcQmwMFIBItAAAEQCAGIAAgASAHEKMFBSAGIAcQuAILCyAJIAYpAwAiIDcDAAJAIAkuAQAiHkH//wNxIA4uAQQiA0H//wNxa0EQdEEQdSIMsiAjXgRAIAAgASAdIAIgAyAeELcMRQRAAkAgEy0AAARAIBQrAwAgHCoCACIiuyIloiAMtyIkY0UEQAJAIBUrAwAgJaIgJGMEQCAWLQAARQ0EIBggITcDACAGIBgpAQA3AQAgACAiIAYQ8gMNASAZICA3AwAgBiAZKQEANwEAIAAgIiAGEPIDRQ0ECwsgGiAhNwMAIAYgGikBADcBACAAIAEgBhCxBkUNBSAIICA3AwAgBiAIKQEANwEAIAAgASAGELEGRQ0FCwsLIBAgDEEBEIgBCwsLICAhIQwAAAsACwsgCxB4DAELCyAQKAIIQQNIBEAgBEF/OwEABSAQEOMBnBBaIQAgBCAFLgEAQQNsQf//A3EiASAAIABBEHRBEHUgAUEQdEEQdUgbOwEACwsgECgCDBCEASANKAIMEIQBIA8oAgwQhAEgCCQGC4gTBBx/AX4CfQJ8IwYhDyMGQaABaiQGIA9BkAFqIQ4gD0EIaiETIA9BiAFqIRYgD0GAAWohFyAPQfgAaiEYIA9B8ABqIRkgD0HoAGohGiAPQeAAaiEbIA9B2ABqIRwgD0HQAGohHSAPQcgAaiEeIA9BQGshHyAPQThqISAgD0EwaiEhIA9BKGohIiAPQSBqISMgD0EYaiEkAkAgDSwAAARAIA1BADoAAEEBIQEFAn8CQCAAQfAMaisDACABQSxqIhEqAgC7oiABQcwAaiIlKgIAuyIuYw0AIABBmA1qKwMAIi1EAAAAAAAAAABmBEAgLSAuoiAFQRB0QRB1t2QNAQsgBgwBCyAFCyEUAn8CQCAAQZYCaiInLQAARQ0AIAAtAKYCRQ0AIBQMAQsgBQshECAALQAmBEAgEEH//wNxQf//AUYgASgCRCAQQRB0QRB1IgJIIgBBAXNyBEAgACEBDAMLIAFBQGsoAgAgAkwEQCAJIBBBEHRBEHWyIAEqAlCVEGVB/wFxIgFBASABQf8BcRs6AAAgCkEAOgAAIAtBADoAACAAIQEMAwsgASgCSCACSARAIAlBAToAACAKQQE6AAAgC0EAOgAABSAJQQA6AAAgCkEAOgAAIAtBAToAAAsgACEBDAILIAQQugMEQCAMQQE6AAALIBBBEHRBEHUhEiABQcgAaiIVKAIAISkgAUHQAGoiJioCACIrQwAAgD9eBH8gEEEQdEEQdbIgK5UQjAIFIBILISggKSASSCEGIA5B/wE2AgAgCSAoQQEgDhDVAToAACAKQQA6AAAgC0EAOgAAAn8CQCAnLQAARQ0AIAEoAkQiCSAFQRB0QRB1TiAJIBRBEHRBEHVIcQRAIAtBAToAAEEBDAILIBUoAgAiCSAFQRB0QRB1TiAJIBRBEHRBEHVIcUUEQCABQUBrKAIAIgkgBUEQdEEQdUwgCSAUQRB0QRB1SnINAUEBDAILIAAtAMYCBEAgCkEBOgAABSALQQE6AAALQQEMAQsgAC0AVgRAIBYgBCkBADcDACAOIBYpAQA3AQAgASAOEKQIRQRAIBcgAikBADcDACAOIBcpAQA3AQAgASAOEKQIBEAgDUEBOgAAIAYMAwsLCyABQUBrKAIAIBJKBEAgFSgCACICIBJIBEAgAEGQDmorAwAiLUQAAAAAAAAAAGQEfSAtICYqAgAgJSoCACIrk7uiICu7oLYFQ4BPw0cLISwgBBBuQRB0QRB1QQBKBEAgGCAEKQEANwMAIBEqAgAhKyAOIBgpAQA3AQAgACArIA4Q8gNBAXMhASAMLAAARSABckUEQCAAKwOgByADQRB0QRB1t6IgEEEQdEEQdbdmBEBBACAsIBBBEHRBEHWyXSAALQDmAUEAR3JFDQUaIAAtANYCBEAgC0EBOgAABSAKQQE6AAALIAYMBQsLCyAEEG5BEHRBEHVBAEoEQCAZIAQpAQA3AwAgESoCACErIA4gGSkBADcBACAAICsgDhDyAyAMLAAARXEEQCAAKwOgByAQQRB0QRB1t6IgA0EQdEEQdbdlBEBBACAsIBBBEHRBEHWyXSAALQDmAUEAR3JFDQUaIAAtANYCBEAgC0EBOgAABSAKQQE6AAALIAYMBQsLCyAHEG5BEHRBEHVBAEoEQCAaIAcpAQA3AwAgESoCACErIA4gGikBADcBACAAICsgDhDyAyACIAhBEHRBEHVIcQRAIAArA6AHIAhBEHRBEHW3oiAQQRB0QRB1t2YEQEEAICwgEEEQdEEQdbJdIAAtAOYBQQBHckUNBRogAC0A1gIEQCALQQE6AAAFIApBAToAAAsgBgwFCwsLAkAgBxBuQRB0QRB1QQBKBEAgGyAHKQEANwMAIBEqAgAhKyAOIBspAQA3AQAgAiAIQRB0QRB1SCAAICsgDhDyA0EBc3JFBEAgACsDoAcgEEEQdEEQdbeiIAhBEHRBEHW3ZUUNAkEAICwgEEEQdEEQdbJdIAAtAOYBQQBHckUNBRogAC0A1gIEQCALQQE6AAAFIApBAToAAAsgBgwFCwsLAkACQCAHEG5BEHRBEHVBAEwNACAcIAcpAQA3AwAgESoCACErIA4gHCkBADcBACAAICsgDhDyA0UNAAwBCyAGIAQQbkEQdEEQdUEATA0DGiAdIAQpAQA3AwAgESoCACErIA4gHSkBADcBACAGIAAgKyAOEPIDRQ0DGgsgCkEBOgAAIAYMAgsLIAEoAkQgEkgEfyAVKAIAIBJIBH8gBgUgBBBuQRB0QRB1QQBKBEAgBxBuQRB0QRB1QQBKBEAgACsDyAcgCCADIANBEHRBEHUgCEEQdEEQdUgbQRB0QRB1t6IgEEEQdEEQdbdlBEAgHiAEKQEANwMAIA4gHikBADcBACAAIAEgDhCxBgRAIB8gBykBADcDACAOIB8pAQA3AQAgACABIA4QsQYEQAJAIAAtAMYCBEAgAEHIDGorAwAiLUQAAAAAAAAAAGVFBEAgLSAlKgIAu6IgJioCALtkRQ0CCyAKQQE6AABBAQwJCwsgC0EBOgAAQQEMBwsLCwsLAkAgBBBuQRB0QRB1QQBKBEAgEEEQdEEQdUEFSiAHEG5BEHRBEHVBAEpxBEAgACsD8AcgCCADIANBEHRBEHUgCEEQdEEQdUgbQRB0QRB1t6IgEEEQdEEQdbdlBEAgICAEKQEAIio3AwAgESoCACErIA4gICkBADcBACAAICsgDhDyA0UEQCAhICo3AwAgDiAhKQEANwEAIAEgDhCkCEUEQCAiIAcpAQAiKjcDACAOICIpAQA3AQAgACArIA4Q8gMNBSAjICo3AwAgDiAjKQEANwEAIAEgDhCkCA0FIAtBAToAAEEBDAgLCwsLCwsgAEGYCGorAwAiLUQAAAAAAAAAAGQEfyAEEG5BEHRBEHVBAEoEfyAHEG5BEHRBEHVBAEoEfyAtIAggAyADQRB0QRB1IAhBEHRBEHVIG0EQdEEQdbeiIBBBEHRBEHW3ZQR/IAAtALYCBEAgJCAEKQEANwMAIA4gJCkBADcBACAGIAEgDhCkCA0HGiAPIAcpAQA3AwAgDiAPKQEANwEAIAYgASAOEKQIDQcaCyALQQE6AABBAQUgBgsFIAYLBSAGCwUgBgsLBSAGCwshASAAKAL4AkEKSgRAIBMgAUEBcTYCACATIBI2AgQgEyADQRB0QRB1NgIIIBMgCEEQdEEQdTYCDEGT1hkgExBLCyAMIAssAABBAXNBACABGzoAAAsLIA8kBiABC0wBAn8gABBXIABBBGoiAxCYASAAQQhqIgQQmAEgACACOwEYIAAgATYCFCADIAEoAQQ2AQAgBCABKAEINgEAIABBADYCDCAAQQA2AhAL4AMBA38jBiEJIwZBEGokBiAAEFcgAEEEaiIIEJgBIABBCGoiChCYASAIIAJB//8DcUEQdCABQf//A3FyNgEAIAogBEH//wNxQRB0IANB//8DcXI2AQAgACACOwEYIABBEGoiAyAHQRB0QRB1IgogBkEQdEEQdSICayIBNgIAIAFBAEgEQCADIAEgBS4BEBC3AWoiATYCAAsgAUEATARAIAlBqtEZNgIAIAlBtgQ2AgRByLX5AEGV1BlBAkHH6xwgCRBRIAMoAgAhAQsgAEEMaiIIIAFBfyABQX9KGxBPNgIAAkAgB0EQdEEQdSAGQRB0QRB1SgRAIAVBFGohBCACIQEDQCABIApODQIgBCgCACABEPACIQMgCCgCACABIAJraiADOgAAIAFBAWohAQwAAAsABSAFLgEQELcBIQYgBUEUaiEFIAIhAQNAIAEgBkgEQCAFKAIAIAEQ8AIhAyAIKAIAIAEgAmtqIAM6AAAgAUEBaiEBDAELCyAHQRB0QRB1QQBKBEAgBiAKaiEEA0AgASAETg0DIAUoAgAgASAGaxDwAiEDIAgoAgAgASACa2ogAzoAACABQQFqIQEMAAALAAsLCyAAQQA2AhQgABCMECIABEAgABC+ByAAEEwLIAkkBgvHBgEPfyMGIQUjBkEwaiQGIAVBCGohByAAEFcgAEEEaiIQEHkgAEEMaiIRIAJB//8DcUEQdCABQf//A3FyIgY2AQAgAEESahCuBSAAQQA2AhggAEEcahBXIAUiChB5IAVBIGoiCBCYASAIIAY2AgAgAEEQaiIPIAQ7AQAgBUEYaiELIAVBEGohDCAAQRRqIgYgBEEQdEEQdUF/SgR/IAQFIAdB1YMZNgIAIAdB4wA2AgRBoKsWQfTSGUECQcfrHCAHEFEgDy4BAAsQngpBARCDATYCACAKQSRqIglBAmohEkEAIQUgAyAEQRB0QRB1IhNBf2pqLAAAIgchBANAIA0gE0gEQCAKIAgoAgAiAEH//wNxIg4gAEEQdiIAIA4gABCEAyAQIAoQvAEaIAYoAgAgBSADIA1qLAAAIgAQ8gUgACAEEPsEIQQgCSAGKAIAIAVBEHRBEHUiDhDaASAIIAkuAQAgEi4BABDoARoCQAJAIARBGHRBGHVBQGsiBARAIARBgAFHDQELIAVBEHRBEHVBAEoEQCAOQf7/A2oiAEH//wNxIQQgAEEQdCIAQYCAfEoEfyAGKAIAIABBEHUQ8AIFIAcLIQAFIAUhBAsMAQsgBSEECyAEQQFqQRB0QRB1IQUgACEEIA1BAWohDQwBCwsCQAJAIAgvAQAgAUH//wNxRw0AIAgvAQIgAkH//wNxRw0ADAELIAxB1YMZNgIAIAxB+AA2AgRBoKsWQYDTGUECQcfrHCAMEFELIAlBAmohAiAFIQADQAJAIAYoAgAgAEEQdEEQdSIBQX9qEPACIAYoAgBBABDwAhD7BCIDQRh0QRh1QUBrIgQEQCAEQYABRw0BCyAJIAYoAgBBABDaASARIAkuAQAgAi4BABDoARogAUH+/wNqIgRBEHRBEHUhBUEAIQADQCAAIAVIBEAgBigCACAAQQFqIgEQ8AIhByAGKAIAIABB//8DcSAHEPIFIAEhAAwBCwsgBEH//wNxIQALIANBgH9yQf8BcUHAAUYgAEEQdEEQdUEBSnENAAsgDyAAOwEAIABBEHRBEHVBA0wEQCALQdWDGTYCACALQYQBNgIEQaCrFkG10xlBAkHH6xwgCxBRCyAKJAYLqwIBCH8jBiEDIwZBEGokBiADQQhqIQQgAEEMaiIGKAIARSEHIABBFGoiBSgCACICIAFGBEAgBwR/IAEQjBAFIAAQjBALIQIgAQRAIAEoAgwQhAEgARBMCyAGKAIAEIQBIAAQTAUgAUEMaiIJKAIARSEIIAcEQCAIBEAgA0Gq0Rk2AgAgA0HHBTYCBEHItfkAQY3SGUECQcfrHCADEFEgBSgCACECCyACIAEQnxggAUEUaiECBSAIRQRAIARBqtEZNgIAIARBywU2AgRByLX5AEGj0hlBAkHH6xwgBBBRCyABQRRqIgIoAgAgABCfGAsgAigCACAFKAIANgIUIAUoAgAgAigCADYCFCAGKAIAEIQBIAAQTCAJKAIAEIQBIAEQTEEAIQILIAMkBiACCxMAIAAEQCAAKAIMEIQBIAAQTAsLvwEBBX8jBiEFIwZBgAFqJAYgBUHwAGoiBhBXIAVB1ABqIgcgAxBVIAVBOGoiAyAEEFUgBUEcaiIEIAYQVSAFEFcgAxC1AUUEQANAIAMQtQFFBEACfyADEJ8BIQkgAxBWIAkLIAEgAiAHIAQQoxgMAQsLIAMgBhCtBQsgAARAIAUgABCRARCWASAFEFsDQCAFEFlFBEAgBRCfASABIAIgByADEKMYIAUQVgwBCwsgABDXAiAAEEwLIAYQjwMgBSQGC40KARZ/IwYhAiMGQdABaiQGIAJByAFqIQwgAkHAAWohASACQbgBaiIOEFcgAkG0AWoiEhBXIAJBsAFqIhAQVyACQZQBaiITIBAQVSACQZABaiIUEFcgAkH0AGoiCiAUEH0gAkHYAGoiDyAAQdQAahB9IAJBPGoiBCAAENQBEFUgAkEgaiIGIABB2ABqIgcQVSACQcwBaiILQQA6AAAgDxD5AQRAIAxB//8BOwEAQf//ASEBBSABIA8QcBDXASAMIAEuAQAiATsBAAsgAkEYaiEVIAJBEGohAyACQQhqIQUgAkHKAWohDQJAIAQQtQFFBEAgBBBTGiAGELUBRQRAIAcoAgAQqAJFBEACQAJAIAYQtQENACAHKAIAEKgCDQAMAQsgA0Gq0Rk2AgAgA0HkADYCBEHItfkAQffQGUECQcfrHCADEFELIA0gBhBTLgEEOwEAIABBFGohEUEAIQUgASEHA0AgB0EQdEEQdSAGEFMuAQRIBEAgDyAMIA0gCyARKgIAIAoQjRAhBSAMLgEAIQcMAQsLIAYQWyANLgEAIgMgBhBTLgEETgRAIAYQVgtBgYB+IQFBASEWA0AgBhBZRQRAIAYQUy4BBCEIA0ACQCAEELUBDQAgBBBTEGIuAQAgCEoNACABIAQQUxBiLgEESARAIAQQUxBiLgEEIQELIAQQnwEgCEGMtfkAKAIAskMAAAA/kiAOIBIQ9gkgBBBWA0ACQCAEELUBDQAgBBBTKAIEDQAgBBCfASIJBEAgCRDKBCAJEEwLIAQQVgwBCwsMAQsLIBIoAgAEQCAOKAIARQRAQQAgCEGMtfkAKAIAskMAAAA/kiAOIBIQ9gkLCyAOKAIABEBBCBBPIgkgDhC0CCATIAkQoAEFIAdBEHRBEHUhCSAHQRB0QRB1IAhIBH8gB0EQdEEQdSADQRB0QRB1SgR/IAkgA0EQdEEQdWuyIBEqAgCVu0QAAAAAAADgP6CcEFpB/wFxBUEACwUgCCADQRB0QRB1SgR/IAggA0EQdEEQdWuyIBEqAgCVu0QAAAAAAADgP6CcEFpB/wFxBUEACwshAyATELUBBEAgCy0AACADQf8BcWpB/wFxIQMFIAVBAEcgCywAACIJRXEEQCAFQQkQvwEEf0EABSALQQE6AABBAQshCQtBHBBPIgUgECAJEL8GIBMgEBCWASAFQQhBARDWASAKIAUQqQIgFgRAIAVBA0EBENYBC0EAIRYLIAsgAzoAAANAIAdBEHRBEHUgCEgEQCAPIAwgDSALIBEqAgAgChCNECEFIAwuAQAhBwwBCwsgDS4BACEDCyADQRB0QRB1IAhIBEAgDSAIOwEAIAghAwsgBhBWDAELCyATELUBBEAgBUUEQCAVQarRGTYCACAVQbIBNgIEQci1+QBBxtEZQQJBx+scIBUQUQsFQRwQTyIBIBAgCywAABC/BiABQQhBARDWASAKIAEQqQIgFgRAIAFBA0EBENYBCwsDQCAPEPkBRQRAIA8gDCANIAsgESoCACAKEI0QGgwBCwsgChBwQQRBARDWAUHAABBPIgEgACAAKgJMEGUgACoCUBBlEPcJIAogARDNAhCvAyAKIBQQxQQgARD4CQwDCwtButAZIAIQSyAEEFMQYi4BACEBIAQQUxBiLgECIQAgBSABNgIAIAUgADYCBEHa0BkgBRBLC0EAIQELIBQQugcgEBDhAiASEI8DIA4QjwMgAiQGIAELBgAgACQGC8wRBC9/An4BfQF8IwYhAyMGQfACaiQGIANByAJqIQQgA0HoAmoiIkEAOgAAIANB5wJqIiNBADoAACADQeYCaiIQQQA6AAAgA0HlAmoiLEEAOgAAIANB5AJqIi1BADoAACADQYwCaiIkEFcgA0GIAmoiGhBXIANB7AFqIiUgGhBVIANB6AFqIiYQVyADQShqIhEQeSADQcwBaiIIEFcgA0EgaiIoEHkgA0EYaiIbEHkgA0GyAmoiHEH//wE7AQAgA0GwAmoiHUH//wE7AQAgA0GwAWoiCiABQdQAahB9IAoQ+QEEf0H/////BwUgBCAKEHAQ1wEgBC4BBAshAiADQcACaiEOIANBuAJqIR4gA0GAAWohEiADQegAaiETIANB4ABqIScgA0HIAGohFCADQTBqIQsgA0EQaiEpIANBCGohKiADQagCaiErICUgGhCWASAIIAEQ1AEQlgEgA0GUAWoiByAmEH0gCBC1AQRAQQAhAAUgAiAIEFMQYi4BAEgEQCAHIAoQhwIiBRCpAiAFQQNBARDWASAFQQAQywggBUEKQQAQ1gEgBUELQQAQ1gEgBCAFENcBIAUQihAhMyAIEFMQYi8BACACayIfQRB0QRB1IRUgAEGQCWoiBisDACAzuyI0oiAVt2MEfyAVsiABKgJQlY4QZUH/AXEiBUEBIAVB/wFxGwVBAAshBSAAQfgCaiIWKAIAQQVKBEAgCBBTEGIuAQAhAiAIEFMQYi4BAiEJIAsgAjYCACALIAk2AgQgCyA0OQMIIAsgFTYCEEGj1BkgCxBLCyAfQf//A3EhCSAKEPkBBH9BACELIBYhFyAGIRggByEPQf////8HBSAKEHggBCAKEHAQ1wFBACELIBYhFyAGIRggByEPIAQuAQQLIQIFQf//ASEJQQEhCyAAQfgCaiEXIABBkAlqIRggByEPCyAEIAgpAAA3AAAgBCAIKQAINwAIIAQgCCkAEDcAECAEIAgoABg2ABggACABIAQgGyAcIB0QnRggAUHQAGohICAAQaYCaiEuQQAhFkGBgH4hISAJIQdBACEVQQAhHyACIQYgKCkDACExA0AgESAIEFMiAhBiKQEANwMAAn8gAigCGBDIAiEvIAJBBGoiGSgCACICQQBHIQ0gLwsEQCANBEAgJCAlEFMQkQEQlgEgJBD1AyAkIBkoAgAQkQEQhgIgGSgCACIMIgIEQCACENcCIAwQTAsLBSANBEAgJSACEKABCyARLgEEISELIAgQViARIAgQUyICEGIpAQAiMjcDAAJ/IAIoAhgQyAIEfyAFBSACKAIEBH8gGykDACExIBwuAQAhDSAdLgEAIQwgBCAIKQAANwAAIAQgCCkACDcACCAEIAgpABA3ABAgBCAIKAAYNgAYIAAgASAEIBsgHCAdEJ0YIC4tAABFIRkgBiARLgEATgRAIBwuAQAgHS4BACAZGyECICkgMjcDACAqIDE3AwAgAyAbKQMANwMAIB4gKSkBADcBACAOICopAQA3AQAgBCADKQEANwEAIAAgASAeIAcgCSAZGyAOIA0gDCAEIAIgECAiICMgLCAtELIuRQRAIAgQ/wFFBEAgDCEJIA0hByAFIQIgBgwFCwsLQRwQTyICIBogBRC/BiAPIAIQqQIgCwRAIAJBA0EBENYBCyAfBEAgAkEKQQEQ1gEFIBUEQCACQQtBARDWAQsLIAYgES4BAEgEQCAPIAoQhwIiAhCpAiACEIoQITMgBCACENcBIBAgGCsDACAzuyI0oiAELwEAICFrIgtBEHRBEHUiDLdjBH8gDLIgICoCAJWOEGVB/wFxIgdBASAHQf8BcRsFQQALIg06AAAgFygCAEEFSgRAIAQgAhDXASAELgEAIQkgDiACENcBIA4uAQIhByAUIAk2AgAgFCAHNgIEIBQgNDkDCCAUIAw2AhAgFCANQf8BcTYCFEHa1BkgFBBLCyACIA0QywggAkEKQQAQ1gEgAkELQQAQ1gEgECAYKwMAIDSiIBEvAQAgBmsiBkEQdEEQdSIJt2MEfyAJsiAgKgIAlRBlQf8BcSIHQQEgB0H/AXEbBUEACyIHOgAAIBcoAgBBBUoEQCAnIAk2AgAgJyAHQf8BcTYCBEGQ1RkgJxBLCyALQf//A3EhCSAGQf//A3EhByAiQQA6AAAgI0EAOgAAIAoQ+QEEf0H/////BwUgChB4IAQgChBwENcBIAQuAQQLIQYFIAwhCSANIQcLIBZBAWpBEHRBEHUhFiAIEP8BBEAgChD5AQRAIAJBBEEBENYBIAUhAkEAIQsgBgwECwsgIywAAEEARyEVICIsAABBAEchH0EAIQsgECwAAAUgBQsLIQIgBgshBSAIEP8BRQRAIAUhBiACIQUMAQsLICggMTcDACAQLAAAIQADQCAKEPkBRQRAIA8gChCHAiIGEKkCIAYQihAhMyAEIAYQ1wEgGCsDACAzuyI0oiAELwEAICFrQRB0QRB1Igm3YwR/IAmyICAqAgCVjhBlQf8BcSIAQQEgAEH/AXEbBUEACyEAIBcoAgBBBUoEQCAEIAYQ1wEgBC4BACEHIA4gBhDXASAOLgECIQUgEyAHNgIAIBMgBTYCBCATIDQ5AwggEyAJNgIQIBMgAEH/AXE2AhRBptUZIBMQSwsgBiAAEMsIIAZBCkEAENYBIAZBC0EAENYBIAQgBhDXASAELgEEITAgChD5AQRAIAZBBEEBENYBBSAKEHgLIDBBEHRBEHUhIQwBCwsgECAAOgAAQcAAEE8iACABIAEqAkwQZSAgKgIAEGUQ9wkgDyAAEM0CEK8DIA8gJhDFBCAAEPgJIBcoAgBBBEoEQCAEIAAQngMgBC4BACEJIA4gABCeAyAOLgECIQcgHiAAEJ4DIB4uAQQhBSArIAAQngMgKy4BBiEBIBIgFkEQdEEQdTYCACASIAk2AgQgEiAHQRB0QRB1NgIIIBIgBTYCDCASIAE2AhBB59UZIBIQSwsLICYQugcgGhDhAiADJAYgAAvBBAITfwF+IwYhAiMGQcABaiQGIAJBCGohBiACQbABaiENIAJBqAFqIQ4gAkGgAWohDyACQZgBaiEQIAJB+ABqIgcQVyACQfQAaiIIEFcgAkHYAGoiCiAIEFUgAkHUAGoiCxBXIAIiERB5IAJBOGoiBRBXIAogCBCWASAFIAEQ1AEQlgEgAkEcaiIMIAsQfSAFELUBRQRAQQAhAkEBIQQDQAJ/IAUQUyIDKAIYEMgCIRQgA0EEaiIDKAIAIhNBAEchCSAUCwRAIAkEQCAHIAoQUxCRARCWASAHEPUDIAcgAygCABCRARCGAiADKAIAIgMiCQRAIAkQ1wIgAxBMCwsFIAkEQCAKIBMQoAELCyAFEFYgBRBTIgMQYikBACEVIAMoAhgQyAJFBEAgCCgCAARAQRwQTyIDIAhBARC/BiAMIAMQqQIgBARAIANBA0EBENYBCyACQQFqQRB0QRB1IQIgBRD/AQRAIANBBEEBENYBC0EAIQQLCyAFEP8BRQ0ACyARIBU3AwBBwAAQTyIEIAEgASoCTBBlIAEqAlAQZRD3CSAMIAQQzQIQrwMgDCALEMUEIAQQ+AkgACgC+AJBBEoEQCANIAQQngMgDS4BACEAIA4gBBCeAyAOLgECIQEgDyAEEJ4DIA8uAQQhBSAQIAQQngMgEC4BBiEHIAYgAkEQdEEQdTYCACAGIAA2AgQgBiABQRB0QRB1NgIIIAYgBTYCDCAGIAc2AhBB09YZIAYQSwsLIAsQugcgCBDhAiARJAYgBAurAQEFfyMGIQIjBkEwaiQGIAJBKGohBSACIgQQeSACQQhqIgMgAEHUAGoiBhB9IAMQ+QEEQEEAIQIFIAQgAxBwENcBIAMQlAEDQCADEI4BRQRAIAUgAxBwENcBIAQgBRC8ARogAxB4DAELCyAAIAEoAjA2AixBwAAQTyICIAAgASoCOBBlIAEqAjwQZRD3CSADIAIQzQIQrwMgAyAGEMUEIAIQ+AkLIAQkBiACC/ACAQh/IwYhByMGQUBrJAYgB0EkaiIFIAEQ7AEQfSAHQQhqIgkgAUEYaiIIKAIAEMcCEFUgBRD5AUUEQCAFEJQBA0AgBRCOAUUEQAJAIAUQcCIEENQBKAIABEAgCCgCACgCBCIKIQtBsqX5AC0AAARAIAAgBBC8LiEGDAILAkBBwqX5AC0AAEUEQCALBEAgCigCDBDuAUUNAgsCQAJAAkAgBCgCEEEBaw4GAQIAAgEAAgsMAwsgBBC5LiEGDAQLIAdBndAZNgIAIAdBkQQ2AgRBiKb5AEGX0BlBAkHH6xwgBxBRDAMLCyAAIAQQuy4hBgUgBCgCVARAIAQgARC9LiEGCwsLIAYEQCAJIAYQoAELIAUQeAwBCwsgCCgCACEAIAEqAjQiAkMAAAAAWyEEIAEqAjgQZSEFIAEqAjwQZSEBIAIQZSEGIAAgBDoAHCAAIAU6AB4gACABOwEgIAAgBjsBIiAIKAIAQX87ASILIAckBgvQAwISfwF8IwYhAiMGQeAAaiQGIAJBCGohAyACQdoAaiELIAJB2ABqIQkgAkHcAGohDCACQSBqIQQgAkE8aiIFEFcgBSABEJYBIAUQWyAAQSZqIRAgAEH4AmohDSAAQTZqIRFBASEGA0AgBRBZRQRAIAUQUyEHQRAQTyIKIAcQrS4gACAHIAogDCALIAkQsS4gEC0AAARAIBEtAAAEQCALLgEAIgGyIAkuAQCylUMAAEBAXQRAIAkgAbdEAAAAAAAACECjnBBaOwEACwsLIAQgBxDsARB9IAQQlAEgDCwAAEUhDiAGQf//A3EhEiALLgEAIRMgCS4BACEHQQEhCANAIAQQjgFFBEACQAJAAkAgBBBwIg8oAhAiAUEDaw4EAAEBAAELIA0oAgBBAEogDnEEQCACIAY2AgAgAiAINgIEQf7WGSACEEsLIAAgDyAKIBIgCEH//wNxIBMgBxCwLgwBCyANKAIAQQFIIA5yRQRAIA8qAhS7IRQgAyAGNgIAIAMgCDYCBCADIAE2AgggAyAUOQMQQaHXGSADEEsLCyAEEHggCEEBaiEIDAELCyAKKAIIIgEEQCABEEwLIAoQTCAFEFYgBkEBaiEGDAELCyACJAYL+wEBBH8jBiEHIwZBQGskBiAHQRxqIgUQVyAFIAAQlgEgBRBbQQEhBgNAIAUQWUUEQCAFEFMgBiAEEKwuIAUQViAGQQFqIQYMAQsLIAAgARCrLiAFEFtBASEGA0AgBRBZRQRAIAUQUyAGIAQQqi4gBRBWIAZBAWohBgwBCwsgBRBbQQEhBgNAIAUQWUUEQAJAAkAgBRBTIgQoAhgoAgQiCEUNACAIKAIMEO4BDQAMAQsgByAEEOwBEH0gBxCUAUEBIQQDQCAHEI4BRQRAIAcQcCAAIAQgBhCpLiAHEHggBEEBaiEEDAELCyAGQQFqIQYLIAUQVgwBCwsgByQGC/wBAQN/IwYhBCMGQTBqJAYgBEEIaiEFIARBEGoiAyAAIAEgAhCTLgJAIAMoAgggAygCBGtBoAEQTgRAIAMQjxggA0EBEIEQIAMQjxggA0EBEIEQIAMQki5FBEBBqqn5AC0AAEUNAkGP7BkgBBBLDAILIANBHGohAUEAIQADQAJAIAMQkS4gAxCQLiADQQAQgRAgAEEBaiEAIAMQjy5FDQAgACABKAIAEJUNSQ0BCwtBqqn5AC0AAARAIAEoAgAQlQ0hASAFIAA2AgAgBSABNgIEQb7sGSAFEEsLIAMQji5Bqqn5AC0AAARAIAMQjS4LCwsgA0EEahCMLiAEJAYLawAgABBXIABBDGoQeSAAQSRqEFcgAEEoakEBIAEgAhD5CSAAQQA2AjwgAEEANgIEIABBATYCCCAAIAM4AhQgACAEOAIYIABDAAAAADgCICAAIAU4AhwgAEEAOgA0IABBADsBNiAAQQA7ATgLQwEEfyMGIQIjBkEQaiQGIAEoAgAhASACQQhqIgMgACgCABDXASADLgEAIQQgAiABENcBIAQgAi4BAGshBSACJAYgBQsyAQF/IABBBGoiAigCACEAA0AgAEEAOgAAIAIgAigCAEEBaiIANgIAIAFBf2oiAQ0ACwsrAQF/IAFBAEgEQBAEBSAAIAEQTyICNgIEIAAgAjYCACAAIAIgAWo2AggLC8gGARZ/IwYhECMGQRBqJAYgEEEIaiIMEJgBIBBBBGoiFRCYASAMIAAQwwEoAQAiCTYCACAALgEQELcBIRYgDEECaiETIABBFGohF0EBIQVBASEKQQEhBkEBIQcgCUEQdkEQdEEQdSILIQ4gCyENIAlB//8DcUEQdEEQdSIPIgkhAANAIBQgFkgEQCAQIBcoAgAgFBDaASAVIBAoAgAiBDYCACAMIARB//8DcSICIARBEHYiBBDoARoCQCACQRB0QRB1QQBIBEAgBwRAIAwuAQAiAiAJIAkgAkobIQkLIAYEfyAAIAwuAQAiBmsgAUoEfyADQQFqIQMgBSEIQQAhBCAGIQkgESAHQQFzcSERIAAgDyAHGyEPQQEFIAUhCEEBIQQgBwsFIAUhCEEAIQQgBwshAgUgAkH//wNxBEAgBgRAIAwuAQAiAiAAIAAgAkgbIQALIAdFBEAgBSEIIAYhBEEAIQIMAwsgDC4BACIHIAlrIAFMBEAgBSEIIAYhBEEBIQIMAwsgA0EBaiEDIAUhCEEBIQRBACECIAchACAGIBFyIREgCSAPIAYbIQ8MAgsgBEEQdEEQdUEASAR/IAoEQCATLgEAIgIgCyALIAJKGyELCyAFRQRAQQAhCCAGIQQgByECDAMLIA0gEy4BACIFayABTARAQQEhCCAGIQQgByECDAMLIANBAWohA0EAIQggBiEEIAchAiAFIQsgEiAKQQFzcSESIA0gDiAKGyEOQQEFIAUEQCATLgEAIgIgDSANIAJIGyENCyAKRQRAIAUhCEEAIQogBiEEIAchAgwDCyATLgEAIgogC2sgAUwEQCAFIQhBASEKIAYhBCAHIQIMAwsgA0EBaiEDQQEhCCAGIQQgByECIAohDSASIAVyIRIgCyAOIAUbIQ5BAAshCgsLIBRBAWohFCAIIQUgBCEGIAIhBwwBCwsgBiARcQRAIANBAWogA0F/aiAAIA9rIAFKGyEDBSARIAdBAXNyRQRAIANBAWogA0F/aiAPIAlrIAFKGyEDCwsgEiAFcQRAIANBAWogA0F/aiANIA5rIAFKGyEDBSASIApBAXNyRQRAIANBAWogA0F/aiAOIAtrIAFKGyEDCwsgECQGIAML2QEBBn8jBiECIwZB4ABqJAYgAkEIaiEDIAJBQGsiBCAAQRRqEFUgAkEkaiIGIABBGGoQVSAEEFsDQCAEEFlFBEAgAyAEEFMQkQEiABBVIAMQWwNAIAMQWUUEQCACIAMQUxCRASkBADcDACACEG4iBSACEGsiByAFQRB0QRB1IAdBEHRBEHVKG0EQdEEQdbIgAV0EQEEIEE8iBSADEJ8BEJ8HIAYgBRCgAQsgAxBWDAELCyAAKAIARQRAIAQQnwEiAARAIAAQ1wIgABBMCwsgBBBWDAELCyACJAYLKAEBfyAAQQRqIgAoAgAiAkEAIAFBAnQQjAEaIAAgAiABQQJ0ajYCAAsoAQF/IABBBGoiACgCACICQQAgAUEDdBCMARogACACIAFBA3RqNgIACyoAIABBADYCACAAQQA2AgQgAEEANgIIIAEEQCAAIAEQpQ0gACABEMkuCwv8BwITfwJ9IwYhAyMGQfAAaiQGIANBIGohDiADQRRqIQ8gA0EIaiEQIAMiCBB5IANByABqIgkgABDNAhB9IANBLGoiCxBXIAkQlAFBACEDA0AgCRCOAUUEQCAJEHAQexCaAiADaiEDIAkQeAwBCwsgAwRAIA4gA0EBaiAAQShqIgwoAgBqELIGIA8gDCgCACADakEDbBDKLiAOKAIAIgogAEEsaiIRKAIAKAIANgIAIAkQlAEgAEEwaiESIABBFGohFCAPKAIAIQVBACEDA0AgCRCOAUUEQCALIAkQcBB7EJYBIAsQWwNAIAsQWUUEQCAIIAsQUxDSASAAIAguAQQgCC4BAGq3RAAAAAAAAOA/orYiFxCjBCEWAkACQCAILgECsiAWkyIWjCAWIBZDAAAAAF0bIBQqAgAiFpW7IAFjBEAgCBBrQRB0QRB1siAWlbsgAmQEQCAKIAZBAnRqIgQoAgCyIBdgBEAgBCAILgEANgIACyAFIAZBA2wiBEEDdGpEAAAAAAAAAAA5AwAgBSAEQQFqQQN0akQAAAAAAAAAADkDACAFIARBAmpBA3RqIAguAQK3OQMAIAguAQRBAWohDQwCCwsgCiAGQQJ0aigCACIHsiAXXwRAIBEoAgAhFQNAAkADQCAVIANBAWoiBEECdGooAgAiDbIgF19FDQEgAyAMKAIAQX9qTg0BIA0gB0wEQCAEIQMMAQsLIAUgBkEDbCITQQN0aiASKAIAIgcgA0EEdGorAwA5AwAgBSATQQFqQQN0aiAHIANBBHRqKgIIuzkDACAFIBNBAmpBA3RqIAcgA0EEdGoqAgy7OQMAIAogBkEBaiIGQQJ0aiANNgIAIAQhAyANIQcMAQsLIAUgBkEDbCIHQQN0aiASKAIAIgQgA0EEdGorAwA5AwAgBSAHQQFqQQN0aiAEIANBBHRqKgIIuzkDACAFIAdBAmpBA3RqIAQgA0EEdGoqAgy7OQMADAELDAELIAogBkEBaiIGQQJ0aiANNgIACyALEFYMAQsLIAkQeAwBCwsgDCgCACEEIAogBkECdGohBwNAIAMgBEgEQCARKAIAIANBAWoiAEECdGooAgAgBygCAEwEQCAAIQMMAgsLCyAEIQADQCADIABIBEAgBSAGQQNsIgRBA3RqIBIoAgAiACADQQR0aisDADkDACAFIARBAWpBA3RqIAAgA0EEdGoqAgi7OQMAIAUgBEECakEDdGogACADQQR0aioCDLs5AwAgCiAGQQFqIgZBAnRqIBEoAgAgA0EBaiIDQQJ0aigCADYCACAMKAIAIQAMAQsLIBAgBiAKIAUQ+QkgDCAQEKUFGiAQEPoFIA8QugIgDhC6AgsgCCQGC8EHAxV/AX0EfCMGIQIjBkHwAGokBiACQQhqIQogAhB5IAJBzABqIgQgARDNAhB9IAJBMGoiBRBXIAJBFGoiBxBXIAQQkAciAwRAIABBsg5qLQAARQRAIAogAxCPECAEEJQBIABB+BBqIQsgAUEUaiEMIABBgBJqIREgAEGoEmohEiAAQdwQaiETIABBnBFqIRQgCigCACEIIABBuBFqIRUDQCAEEI4BRQRAIAUgBBBwIg4QexCWASAFEFtBACEBQQAhAwNAIAUQWUUEQCAFEFMhDQJ/IA5BCBC/AQR/IAFBAWohASADBSAHIA0QkQEQlgEgBxBbIAEhAANAIAcQWQRAIAAhASADDAMLIAIgBxBTIhYQkQEpAQA3AwAgAhBuIQEgAhBrIQYgCysDACEZIAwqAgC7IRggFhClAygCAARAIAIQa0EQdEEQdbchGiARKwMAIhtEAAAAAAAA8D+gIBiiIBpkBEBEAAAAAAAA8D8gG6EgGKIgAhBrQRB0QRB1t2MEQCACEG5BEHRBEHW3IRogEisDACIbRAAAAAAAAPA/oCAYoiAaZARARAAAAAAAAPA/IBuhIBiiIAIQbkEQdEEQdbdjBEAgAEEBaiEACwsLCwsgBxBWIAMgGSAYoiABIAYgAUEQdEEQdSAGQRB0QRB1ShtBEHRBEHW3ZGohAwwAAAsACwshACACIA0Q0gEgAhBuIgMgAhBrIgYgA0EQdEEQdSAGQRB0QRB1ShsiA0EQdEEQdSEGAkACQCALKwMAIAwqAgAiF7uiIANBEHRBEHW3ZQR/IBdDAAAAQJQiFyADQRB0QRB1sl4EfyABIA0gBiATKAIAEE4QpxggFCgCAEhqBQwCCwUgF0MAAABAlCEXDAELIQEMAQsgFyACEGtBEHRBEHWyXQRAIAQQ9wIEQCAFEP8BDQILIABBAmohAAsLIAUQViAAIQMMAQsLAn8CQCADQQJMDQAgDkEJEL8BDQAgFSsDACABt6IiGEQAAAAAAAAAQKIgA7ciGWMEQCAIIAlqQQI6AABBAQwCCyAIIAlqIQAgGCAZYwRAIABBAToAAAUgAEEAOgAAC0EADAELIAggCWpBADoAAEEACyEAIAQQeCAJQQFqIQkgDyAAQQFzQQFxaiEPIBAgAGohEAwBCwsgBBCUASAQIA9LIQFBACEAA0AgBBCOAUUEQCAIIABqLAAAIgNBAkYgASADQQFGcXIEQCAEEHAgCysDACAMKgIAu6K2EMcuCyAEEHggAEEBaiEADAELCyAKELoCCwsgAiQGC6QIAxl/An0EfCMGIQIjBkGwAWokBiACEHkgAkGIAWoiCiABEM0CEH0gAkHsAGoiBxBXIAJB0ABqIgsQV0HIsPkAKAIAsiEbIAFB4LD5ACgCALIiHBCjBCAbXQR/IABBwg5qLQAABH8gASAcEKMEIAEqAhSSIBteBUEACwVBAAshEiACQThqIQwgAkEoaiEOIAJBCGohBSAKEJQBIABB+BBqIRAgAUEUaiERIABBgBJqIRMgAEGoEmohFCAAQdwQaiEVIABBnBFqIRYDQCAKEI4BRQRAIAcgChBwIhcQexCWASAHEFsDQCAHEFlFBEAgBxBTIQgCQCAXQQgQvwEEfyANQQFqBSALIAgQkQEQlgEgCxBbA0AgCxBZDQIgAiALEFMiDxCRASkBADcDACACEG4hAyACEGshBiAQKwMAISAgESoCALshHSAPEKUDKAIABEAgAhBrQRB0QRB1tyEeIBMrAwAiH0QAAAAAAADwP6AgHaIgHmQEQEQAAAAAAADwPyAfoSAdoiACEGtBEHRBEHW3YwRAIAIQbkEQdEEQdbchHiAUKwMAIh9EAAAAAAAA8D+gIB2iIB5kBEBEAAAAAAAA8D8gH6EgHaIgAhBuQRB0QRB1t2MEQCANQQFqIQ0LCwsLCyALEFYgBCAgIB2iIAMgBiADQRB0QRB1IAZBEHRBEHVKG0EQdEEQdbdkaiEEDAAACwALIQ0LIAIgCBDSASACEG4iAyACEGsiBiADQRB0QRB1IAZBEHRBEHVKGyIDQRB0QRB1IQYCQAJAIBArAwAgESoCACIbu6IgA0EQdEEQdbdlBH8gG0MAAABAlCIbIANBEHRBEHWyXgR/IAkgCCAGIBUoAgAQThCnGCIYIBYoAgBIagUMAgsFIBtDAAAAQJQhGwwBCyEJDAELIBsgAhBrQRB0QRB1sl0EQCAKEPcCBEAgBxD/AQ0CCyAEQQJqIQQLCyASBEAgAi4BACEDIAIuAQIhBiACLgEEIQ8gAi4BBiEZIAgQkQEQmgIhCCACLgECsiABIAIuAQCyEKMEk7shHSAFIAM2AgAgBSAGNgIEIAUgDzYCCCAFIBk2AgwgBSAINgIQIAUgGDYCFCAFIB05AxhBoM4ZIAUQSwsgBxBWDAELCyAKEHgMAQsLIABBshNqLQAABEAgASACLgEEIgGyEKMEuyEdIA4gAUEQdEEQdTYCACAOIB05AwhB1s4ZIA4QS0HtzhlB9s4ZIARBAkogAEG4EWorAwAgCbeiIAS3Y3EbIQEgDCAEsiAJspW7RAAAAACAh8NAIAlBAEobOQMAIAwgBDYCCCAMIAk2AgwgDCABNgIQQf/OGSAMEEsLIA0gAEH0EmooAgBIBH8gAEGQE2orAwAgCbeiIAS3YwR/IARBAkoFQQALBUEACyEaIAIkBiAaC6ICAgV/AnwjBiECIwZB4ABqJAYgAkEcaiEDIAJBOGoiBCABEM0CEH0gBBCUASAAQdASaiEBA0AgBBCOAUUEQCAEEHAhAAJ8IAErAwAhCCADIAAQ1wEgCCADEGtBEHRBEHW3okQAAAAAAADgP6ALEFohBSADIAAQeyIGEFUgAxBbA0AgAxBZRQRAIAIgAxBTEJEBIgAQVSACEFsDQCACEFlFBEAgAhBTIAUgAhCmGCACEFYMAQsLIAAoAgBFBEAgAxCfASIABEAgABDXAiAAEEwLCyADEFYMAQsLIAYoAgBFBEAgBBCkAkUEQCAEEMEMIgBBCxC/AQRAIABBC0EAENYBCwsgBBCHAiIABEAgABC5ByAAEEwLCyAEEHgMAQsLIAIkBguBAwIJfwF9IwYhASMGQYABaiQGIAFBQGshAiABQdwAaiIDIAAQxwIiCRBVIABBBGohBiADELUBBEAgBhDDASIAEGtBEHRBEHWyIQogAiAALgEANgIAIAIgAC4BBDYCBCABQgA3AwAgAUIANwMIIAEgAC4BArc5AxBBwAAQTyIAIAIgASAKQwAAAD+UIApDAACAPpQiCiAKEMIuIAMgABCgAQsgAUEYaiEEIAFBPGohACABQSBqIQcgAxBbA0AgAxBZRQRAIAIgAxBTIggQzQIQfSACEPkBBEAgCSgCABCoAgRAIAEgBhDDASkBADcDAAUgASAIEJ4DCyABENgMIQUgABBXIAcgABBVIAcgBRCgAUEcEE8iBSAAQQAQvwYgAiAFEKkCIAAQ4QILIAIQlAEDQCACEI4BRQRAIAIQcBB7KAIARQRAIARByM8ZNgIAIARBlgM2AgRB/KwWQavPGUECQcfrHCAEEFELIAIQeAwBCwsgCBD4CSADEFYMAQsLIAEkBgtAAQN/IABBCGohAwNAIAEgACgCAEgEQCADKAIAIAFBAnRqKAIAIgIEQCACQRhqEGggAhBMCyABQQFqIQEMAQsLC18AIAAoAgAgASACIABBBGoiASAAQQhqIgIQtgIgACABKAIANgIkIAAgAigCADYCKCAAEKoYIABBADYCMCAAIABBOGoiARDUAgR/QQAFIAEQgQELNgI0IABB1ABqEJAIC7sBAQZ/IAEQqRghBAJAIAAoAgQiAgR/IAJBf2oiBSACcUUiBwR/IAUgBHEFIAQgAkkEfyAEBSAEIAIQhwELCyEGIAAoAgAgBkECdGooAgAiAAR/A0AgACgCACIARQRAQQAhAAwECyAAKAIEIgMgBEYEQCAAKAIIIAFGDQQFIAcEQCADIAVxIQMFIAMgAk8EQCADIAIQhwEhAwsLIAMgBkcEQEEAIQAMBQsLDAAACwAFQQALBUEACyEACyAAC6ABAQZ/IwYhAyMGQRBqJAYgAkMAAAAAWwRAIABBAEHAACABQwAAAABgGzoAAAUgA0EEaiEIQYABIQUDQCADIAUgBGpBAhBOIgdBAnRB8BBqKAIAIgZB//8DcSAGQRB2EMEDIAQgByADKgIAIAgqAgAgASACELMGQwAAAABgRSIGGyEEIAcgBSAGGyIFIARrQQFKDQALIAAgBDoAAAsgAyQGCzcAIAAgASkBADcBHCAAIAEuAQAgAS4BBhDRLiAAKAIAIAEuAQQgAS4BAiAAQQxqIABBCGoQtgILCwAgABCQECAAEEwL2gEBCH8jBiECIwZBIGokBiACIAEQkQEpAQA3AwAgACACLgEAIAIuAQIgAkEUaiIFIAJBEGoiBBC2AiAAIAIuAQQgAi4BBiACQQxqIgMgAkEIaiIGELYCIABBHGohByAGKAIAIQYgBSgCACEFIAMoAgAhCCAEKAIAIgMhBCAAQQhqIgkoAgAgA2whAwNAIAQgBkwEQCAFIQADQCAAIAhMBEAgBygCACAAIANqQQJ0akHSACABEM0DIABBAWohAAwBCwsgBEEBaiEEIAkoAgAgA2ohAwwBCwsgAiQGCygAIAAgATYCACAAQQRqIgAgARDXASAAIAAQa0EQdEEQdSIAIAAQrQQL8wMBC38jBiEDIwZBsAFqJAYgA0EIaiEFIANBQGsiCiACEIABIANBJGoiCyAAEFUgCxBbA0AgCxBZRQRAIAMgCxBTIgwQYikBADcDACADIAEQ3wIgCiADENQuQQAhAkEAIQAgChCtGCEHQQAhBkEAIQkDQCAHBEAgBygCACIEQQkQvwFFBEAgBSAEEPgaIAMgBRCmAiEEIAMgBRC1AiEIIAcgAiACRSAEQQBKBH8gBSADEIkIBEAgBCADLgEAIAUuAQRKdiEECyAEIAhqBSAICyIEIAlIciAFELkMIAMQuQxKIghxIg0bIQIgACAHIAAgAEUgBCAGSHIiBxsgCBshACAGIAQgBiAHGyAIGyEGIAQgCSANGyEJCyAKEK0YIQcMAQsLAkACQCACRSIIBH9BAAUgAEUNASAJIAYgAxBrQRB0QRB1akgLIQQCQCAARSAAIAJGckUEQCAIRQRAIAYgCSADEGtBEHRBEHVqTg0CCyAMKAIEEP8MIgYgARC4DCAFIAAoAgAQngIQVSAFIAYQuwEgBA0CDAMLCyAEDQAMAQsgDCgCBBD/DCIAIAEQuAwgBSACKAIAEJ4CEFUgBSAAELsBCyALEFYMAQsLIApB1ABqIgAoAggQ/AkgACgCACEBIABBADYCACABBEAgARBMCyADJAYLYgEBfyMGIQIjBkEQaiQGIAAgAUEEahDDASkBADcBACAAQQhqIAEQ5gIgAiABEOYCIAAgAioCACACKgIEENgGOAIQIAAgASgCKLI4AhQgAEEYaiIAELIBIAAgARC5ASACJAYLhwEBAn8jBiEDIwZBIGokBiACQQA2AgAgACgCAARAIAMgABBVIAMQW0EAIQADQCADEFlFBEACQCADEFMuAQQgAWsgAxBTLgEGaiIEQX9KBEAgAEUEQCACIAQ2AgBBASEADAILIAQgAigCAEgEQCACIAQ2AgALQQEhAAsLIAMQVgwBCwsLIAMkBgt/AQJ/IwYhAyMGQSBqJAYgAkEANgIAIAAoAgAEQCADIAAQVSADEFtBACEAA0AgAxBZRQRAAkAgASADEFMuAQRrIgRBf0oEQCAARQRAIAIgBDYCAEEBIQAMAgsgBCACKAIASARAIAIgBDYCAAtBASEACwsgAxBWDAELCwsgAyQGC0oBA38gAEEIaiEDA0AgASAAKAIASARAIAMoAgAgAUECdGooAgAiAgRAIAJB0ABqELwFIAJBEGoQpwggAhBMCyABQQFqIQEMAQsLC0sBBH8gAEEIaiEEA0AgASAAKAIASARAIAQoAgAgAUECdGooAgAiAgRAIAJBBGoiAxDcLiADEGggAxBoIAIQTAsgAUEBaiEBDAELCwvVBAEOfyMGIQUjBkGAAWokBiAFQeAAaiENIAVBQGshBiAFQSRqIQEgBUEIaiECIAVB8ABqIQMgBUEEaiELIAAQxwIiBygCACIJBEAgCRCoAkUEQCANIABBBGoiABDDAUEBEKMMIAAoAgAhCiAGIAcQVSAGEFMhDCAGQQEQggohBCABIAwQngMgAS4BBiEAIAIgDBCeAyACEGtBEHRBEHUgAEEQdEEQdWohCSABIAwQngMgAS4BACEAIAEgBBCeAyABLgEGIQ4gAiAEEJ4DIA5BEHRBEHUgAhBrQRB0QRB1QQIQTkEQdEEQdWshBCABIAYQUxDNAhB9IAEQ+QFFBEAgAiABEHAQexBVIAIQWwNAIAIQWUUEQCADIAIQUxDSASAEIAMuAQJOBEAgDEEBOgA0IAMuAQQiCCAAIAAgCEgbIQAgAy4BAiIBIAkgCSABShshCQsgAhBWDAELCwsgAiAKIA0gChsQUCAGIAcQlgEgBhBbA0AgBhBZRQRAIAMgBhBTIgcQngMgAiAHIAMuAQCyEKMEIAdBFGoiASoCAJIQZUH//wNxELwMIgogAy4BACALENsuIAkgAy4BBkoEQCALKAIAIQgFIAMuAQAgBygCCGsgAGsiCEEAIAhBAEobIgQgCygCACIISARAIAsgBDYCACAEIQgLCyACIAcgAy4BBLIQowQgASoCAJIQZUH//wNxELwMIgQgAy4BBCAFENouIAcgCDsBNiAHIAUoAgA7ATggBBDuAiAEEEwgChDuAiAKEEwgBhBWDAELCyANEO4CCwsgBSQGC+AFBBB/AX4CfQF8IwYhAiMGQaABaiQGIAJBOGohBiACQRxqIQsgAkGIAWoiBxCyASACQewAaiIDIAEQVSADEFsgAkHYAGoiCEEEaiEPIAdBCGohDANAIAMQWUUEQAJAAkAgAxBTIglBBGoiECgCACIBRQ0AIAEoAgwQ7gENAAwBCyAIIAkQ5gIgCCoCACAPKgIAENgGIRMgBygCACINIQ4gDCgCACEEQQAhCkP//39/IRRBACEFA0AgBSAOSARAIAUgCiATIA0gBCAFELMBKAIAKgIQk4u7IhVEGC1EVPshGcCgmSAVIBVEGC1EVPshCUBkGyIVIBS7YyIBGyEKIBW2IBQgARshFCAFQQFqIQUMAQsLIBS7RHsUrkfheoQ/ZARAQSwQTyIBIAkQ2S4gByABELkBDAELIA0gBCAKELMBKAIAQRhqIAkQuQECfyANIAQgChCzASERIBAQwwEhASARKAIACyABELwBGiAJKAIosiETIA0gBCAKELMBKAIAKgIUIBNeBEAgDSAEIAoQswEoAgAgEzgCFAsLIAMQVgwBCwsgCBCyASAHKAIAIg8hECAMKAIAIQ5BACEFA0AgBSAQSARAIA8gDiAFELMBKAIAIgQQugNFBEAgBCoCFBBlIQEgBBCRASEDIAYQpQggBkHsrBY2AgAgBkEANgIcIAYgASAEIAMQzgMgBEEYaiEJQQAhAwNAIAMgCSgCAEgEQCACIAkgAxBNKAIAEMcCEFUgAhBbA0AgAhBZRQRAIAsgAhBTEM0CEH0gCxCUAQNAIAsQjgFFBEAgCxBwIQFBDBBPIgwgARDXLiAGIAwQ1i4gCCAMELkBIAsQeAwBCwsgAhBWDAELCyADQQFqIQMMAQsLIAIgBCkCCCISNwMAIAIgEkIgiKe+jBCWAyAAIAIgBhDYLiAGEJAQCyAFQQFqIQUMAQsLIAgQrgogCBBoIAgQaCAHENAuIAcQaCAHEGggAiQGC9UDAhB/AXwjBiEDIwZB0ABqJAYgA0EIaiEJIAMiCEEsaiIHIAIQVSADQRBqIgUQVyAHEFsgAEHqEWohDiAAQdoRaiEPIABByBNqIRAgAEHwE2ohESAAQbITaiELQQAhAgNAIAcQWUUEQAJAAkAgBxBTIgMoAgQiBkUNACAGKAIMEO4BDQAgAxDPLiAKIQMMAQsgAxDHAiEMIAEEfyAFIAwQlgEgBRBbQQAhA0EAIQYDfyAFEFkEfyADBSAGQQFqIQYgACAFEFMiBBDOLiAOLQAARSESIAQQzQIhDQJAAkAgEkUEQCANKAIABEAgACAEEM0uDQILCyANKAIARQ0AIA8tAAAEQCAAIAUQUxDMLgsgECsDACITRAAAAAAAAAAAZgRAIAQgEyARKwMAEMsuCyADQQFqIQMMAQsgBRCfASIEBEAgBBClGyAEEEwLCyAFEFYMAQsLBUEAIQZBAAshBCAMKAIABEAgAkEBaiECBSAHEJ8BIgMEQCADEK0KIAMQTAsLIApBAWohAyALLQAABEAgCCAENgIAIAggBjYCBEHCzRkgCBBLCwsgBxBWIAMhCgwBCwsgCy0AAARAIAkgAjYCACAJIAo2AgRB5M0ZIAkQSwsgCCQGC98CAQh/IwYhAyMGQZABaiQGIANB1ABqIQQgA0E4aiEFIANBHGohBiADQfQAaiIHIAEQfSADQdgAaiIKIAIQVSAHEJQBA0AgBxCOAUUEQCAHEHAhCCAEEFcgBSAEEFUgBiAIENQBEFUDQCAGELUBRQRAAkACQCAGEJ8BIgkoAhgQyAINACAABEAgBRC1AUUNAQsgCSgCBCIBBEAgBSABEKABCwwBCyAJQQRqIgEoAgAEQCADIAUQUxCRARBVIAMQ9QMgAyABKAIAEJEBEIYCIAEoAgAiAiIBBEAgARDXAiACEEwLCwsgCRDKBCAJEEwgBhBWDAELC0HAABBPIgEgCCAIKgJMEGUgCCoCUBBlEPcJIAMgARDNAhB9QRwQTyICIARBABC/BiACQQNBARDWASACQQRBARDWASACQQggABDWASADIAIQqQIgCiABEKABIAQQ4QIgBxB4DAELCyADJAYLrgEBA38jBiEFIwZBMGokBiAFQQhqIQcgBUEQaiIGEFcgAC0ACARAIAEgAiAEEMEuBSAHQwAAAABDAACAvxCkASAEIAMgByoCACAHKgIEQbay+QAtAABFEMAuCyAAIAQQvy4gBiAEEJYBIAYQWyAFQQRqIQEDQCAGEFlFBEAgBhBTIQIgBUMAAIA/QwAAAAAQpAEgACACIAUqAgAgASoCABC+LiAGEFYMAQsLIAUkBgskAQF/IABBf2oiAUEMSQR/Qf8YIAFB/x9xdkEBcUEARwVBAAsLUAECfyAAQQxqIQVBACEAA0AgACAFKAIASARAIAUgABBNKAIAIQYgAgRAIAYgASgBAEH//wNxIAMQ9S0LIAYgAiAEEPQtIABBAWohAAwBCwsL9AECBn8BfCMGIQIjBkEwaiQGIAJBEGoiAxC+AyAAQQxqIQQgAEEIaiEGA0AgBSAEKAIASARAIAQgBRBNKAIAIQcgBigCAEEASgRAQYb9GSACEEsLIAcgARC+LQRAIAMgBysDIBCJBwsgBUEBaiEFDAELCyAAKgIAIAAqAgQQ2Aa7IQggAygCAARARBgtRFT7IQlAIAMQqwwhCAsgAkEIaiEAIAYoAgBBAEoEQCAAIAg5AwBBpP0ZIAAQSwtBACEAA0AgACAEKAIASARAIAQgABBNKAIAIgEgCBC9LSABELwtIABBAWohAAwBCwsgAxC8BSACJAYL+QECBH8CfSMGIQUjBkFAayQGIAVBJGoiAyABQQRqIgYQVSAFQQhqIgQgARDsARB9IAMgAUEQahCGAiADIAFBDGoQhgIgAyABQRRqEIYCIAYoAgAiBhCoAiAAcQRAIAMQjQMgASADEFMoAgQgBBCkLSIHIAFBJGoiACoCAF4EQCAAIAc4AgALBSAGRQRAIAEoAhhBBGoQwwEQ2AwhAEH4ABBPIgYgABChBSADIAYQoAELCyAFQQRqIQAgASoCJCADIAQQ2RcaIAQQlAEDQCAEEI4BRQRAIAQQcBDYFyAEEHgMAQsLIAIgACAFENcXIAAqAgAhCCAFJAYgCAvYAQIGfwF9IwYhASMGQUBrJAYgAUEwaiEDIAFBLGohBCABQQhqIQUgAUEQaiIAEFcgACACEJYBIAAQWwNAIAAQWUUEQAJ/IAAQUyEHIAVDAACAP0MAAAAAEKQBIAcLEKItIAAQVgwBCwsgAiADIAQQ1xcgACACEJYBIAAQWyADKgIAIQkgAUEEaiECA0AgABBZRQRAAn8gABBTIQggAUMAAIA/QwAAAAAQpAEgABBTGiAICyAJIAEqAgAgAioCAEG2svkALQAARRChLSAAEFYMAQsLIAEkBiAJC8EDAgd/A3wjBiECIwZB8ABqJAYgAkEYaiEGIAJB0ABqIQMgAiAAQQRqIgc2AgAgAiAAQQhqNgIEIAIgAEEMajYCCCACIABBEGo2AgwgAiAAQRRqNgIQIAJBADYCFCABQQRqIQggAiEEIAchBQNAIAUEQCADIAUQVSADEFsDQCADEFlFBEAgAxBTIAEqAgAgCCoCABCTLSADEFYMAQsLIARBBGoiBSEEIAUoAgAhBQwBCwsgAEEYaiIEKAIAIgAoAgRFBEAgBkHPjBo2AgAgBkHdBTYCBEHgrBZBqowaQQJBx+scIAYQUSAEKAIAIQALIAAgARDkDyADQQAgBCgCAEEEahDDARBuQRB0QRB1ELEBIAJBQGsiAUEAIAQoAgBBBGoQwwEQa0EQdEEQdRCxASACQSBqIgAgBxBVIAAQWwNAIAAQWUUEQCADIAAQUxBiEG5BEHRBEHVBARCIASABIAAQUxBiEGtBEHRBEHVBARCIASAAEFYMAQsLIAQoAgACfCADEOMBIQsgARDjASEKIAtEAAAAAAAA4D+gCxBaIApEAAAAAAAA4D+gEFoQ0xcgASgCDBCEASADKAIMEIQBIAIkBgsQACAABEAgABC0BiAAEEwLCxAAIAAEQCAAELMYIAAQTAsLtgQCBH8BfSMGIQ0jBkHwAGokBiANQcgAaiEMIABBBGoiDiADQf//A3EQ4gEgDiAEQf//A3EQ9AEgCygCAARAIAEQqgpFBEAgACALEJEQCwUgACAFIAogCxC6DCAMIAsQVSAMEFsDQCAMEFlFBEAgDBBTIAYgBxCyGCAMEFYMAQsLCyALKAIARQRAIA1B6ssZNgIAIA1B/gE2AgRB4KwWQdbLGUECQcfrHCANEFELIA1BKGohBCANQQhqIQMgAUEFRgRAIAxDAAAAAEMAAIA/EKQBIARDAAAAAEMAAIC/EKQBIAMgCxBVIAMQWwNAIAMQWUUEQCADEFMiBygCGCIFQQRqIQZBEBBPIg8gBhDDAUEHEKMMIAYgDxBQIAcgDBDoLiAFIAQQsRggBSAEELAYIAMQVgwBCwsLIAwgCxBVIAwQUyEFIAEQjBsEfSAOKAEAIgVB//8DcSAFQRB2IAsQ5y4FIAEQqgoEfUMAAAAABSABQQ1HIAUgCxDmLgsLIRAgBCAAQfwOaigCACACIAsQqS0gBCAIEOUuIAQgDiABQQ1HQZaz+QAtAABBAEcgABDkLiABEOMuIgIEQCAAIA4oAQAiAUH//wNxIAFBEHYgECALEOIuBSABQQpGIAwQUyIBEOwBIAEoAhgQxwIQ4S4LIAAgAiAKEOAuIAkgChDfLiADIAoQVSADEFsDQCADEFlFBEAgAxBTEN4uIAMQVgwBCwsgBEEMaiIAEN0uIAAQaCAAEGggDSQGC7MCAQp/IwYhAiMGQSBqJAYgAkEUaiIBQQAgABCNBSIENgIAIAJBEGoiByAAENwFIgM2AgAgAxC+IiADIAMgBEEEEJEGGiADIAMQjQUaIAEQXiACQQxqIgZBACAAIAMQkwYiBDYCACAEIAJBCGoiCRDZEyACQQRqIghBADYCAEEBIQVB/////wchBAJAA0AgBUEISQRAIAYQXiAHKAIAIgEgAUEDQQMQzA4aIAZBACAAIAcoAgAQkwYiATYCACABIAIQ2RMgBUEBRiACKAIAIgEgCSgCAEpyBEAgCSABNgIAIAEhBAUgBUEBSyABIARIIgNxBEAgCBBeIAhBACAGKAIAEOQBNgIAIAEhBAUgA0UNBAsLIAVBAWohBQwBCwsLIAYQXiAHEF4gCCgCACEKIAIkBiAKC4sCAQd/IwYhByMGQTBqJAYgB0EoaiIJQQA2AgAgB0EkaiIKQQA2AgAgB0EgaiILEFcgB0EcaiIMEFcgACABIAIgBSAGIAwgCSAKEI0tIggEQCAHIAwQVSAHEFMhDSAKKAIAIgYEQCAJKAIAIgUgBSAGEOQHCyAAQbjfCGooAgAiBQRAIAggBTYCrAILIAggASANIAkoAgAgAEGkyghqKAIAIABBnMoIaigCACAAQajKCGogCyAEIAMQjC0gCCAAQezeCGogAEH03ghqEIstIAggCCgCACgCBEH/A3FBogdqEQAACyAJEF4gChBeIAIQyAYgByACEFUgByALEIYCIAwQkgcgCxDIBiAHJAYLTQECfwNAIAMgAUgEQCADIAQgACADQQJ0aigCACAAIARBAnRqKAIAShshBCADQQFqIQMMAQsLIAIEQCACIAAgBEECdGooAgA2AgALIAQLmgEBBH8jBiECIwZBEGokBiAAELsMIAJBBGoiBCABQQAQqA4iATYCACAAQQRqIgUgARDqAyIBNgIAIABBfyABQQJ0IAFB/////wNLGxBPNgIAA0AgAyABSARAIAJBADYCACAEKAIAIAMgAhCDBCAAKAIAIANBAnRqIAIoAgA2AgAgA0EBaiEDIAUoAgAhAQwBCwsgBBCrAyACJAYL2AEBB38gABC7DCABEL4BIQIgARClASEEIABBfyACQQJ0IAJB/////wNLGxBPNgIAIAAgAjYCBCABEHchBSABEHUhBkEAIQEDQCABIAJIBEAgACgCACABQQJ0akEANgIAIAFBAWohAQwBCwsDQCADIARIBEAgBiADIAVsQQJ0aiEHQQAhAQNAIAEgAkgEQCAHIAFBBXZBAnRqKAIAQQEgAUEfcUEfc3RxBEAgACgCACABQQJ0aiIIIAgoAgBBAWo2AgALIAFBAWohAQwBCwsgA0EBaiEDDAELCwvOAQEHfyMGIQQjBkEQaiQGIARBCGoiBxDqAiAHIAAQ7y4gBEEANgIAIAcoAgAiCSAHKAIEIAQQ7i4hCCAEKAIAQcYAbEHkABBOIQogCCEFA0ACQCAFQQBMDQAgCSAFQQJ0aigCACAKSA0AIAVBf2ohBQwBCwsgCCEGA0ACQCAGIAAQpQFODQAgCSAGQQJ0aigCACAKSA0AIAZBAWohBgwBCwsgAQRAIAEgBTYCAAsgAgRAIAIgBjYCAAsgAwRAIAMgCDYCAAsgBxC7DCAEJAYLxwUBDn8jBiEHIwZBQGskBiAHQQhqIQkgB0EwaiESIAdBLGohEyAHQShqIQ8gB0EkaiEMIAdBIGohECAHQRhqIREgB0EQaiEUIAEEQCACEL4BIQ0gAhClASEKIAIgEiATIA8Q8S4gEygCACASKAIAIghrIg5BAWohCwJAIA8oAgAgCkECEE5KBEBBoLj5ACgCAEEASgRAIAcgBDYCACAHIAU2AgRBmMoZIAcQSwsFIA4gCkEDEE5OBEBBoLj5ACgCAEEATA0CIAkgBDYCACAJIAU2AgRB18oZIAkQSwwCCyAMQQAgCCALQQMQTiIOayANIAtBBWxBAxBOIg8QwQIiCTYCACAQQQAgAhDkASIINgIAIAggCRDlByAJIBMoAgAgC0EDbCADIAtrIANBf0YbaiICNgIEIAkgCiACazYCDCAIIAkQ5QcgDBD3ASAREOoCIBEgCBDwLiAQEF4gC0EEEE4hAyARKAIAIQpBACEIA0AgCCANSARAIAogCEECdGoiAiACKAIAIANKNgIAIAhBAWohCAwBCwsgC0ECEE4hDCABQQFGIRAgBSAOayEIIABBFGohDkEAIQFBACEAA0ACQCABIAxIIQMCfwJAAkACQANAIAAgDU4NBSAKIABBAnRqKAIADQJBACEFA0ACQCAFIABqIgIgDU4NACAKIAJBAnRqKAIADQAgBUEBaiEFDAELCyADIAUgDEhyRQRAIBBFBEAgBSEDDAULIABFIAIgDUZyRQ0CCyACIQAMAAALAAtBASEDIAVBAXYgAGohAAwBCyABQQFqIQEgAEEBagwBCyAUIAAgBGogCCASKAIAaiADIA8QwQIiADYCACAABEAgBiAAQQIQ1AVBjrj5AC0AAARAIA4oAgAgFCgCAEEBQYB/QX9BgH8QswQLIBQQ9wFBACEBCyACCyEADAELCyARELsMCwsLIAckBgv8AgIGfwN9IwYhAiMGQdAAaiQGIAJBQGshAyACQRxqIQQgAkE4aiEFIABBGGoiBigCAARAIAMgASgCAEH//wNxIABBBGoiACgCABClAUH//wNqIAFBBGoiBygCAGsgASgCDGtB//8DcSABKAIIIAEoAgBqQf//A3EgACgCABClAUH//wNqIAcoAgBrQf//A3EQlQIgBCAGKAIAEFUgBBBbAkACQANAAkAgBBBZBEBBfyEADAELIAIgBBBTEMcCEFUgAhBbA0AgAhBZRQRAIAUgAhBTIgAQngMgBSADELQDBEAgACADLgEEIAMuAQBqt0QAAAAAAADgP6K2IggQowS7RAAAAAAAAOA/oBBaIQEgBSAIIABBFGoiACoCACIJQwAAAD+UIgqTEGUgAUH//wNxIAogCJIQZSAJIAGykhBlQf//A3EQlQIgAyAFELQDDQULIAIQVgwBCwsgBBBWDAELCwwBCyAAKgIAEGUhAAsFIAAoAhwhAAsgAiQGIAAL2gEBBX8jBiEFIwZBQGskBiAAQQRqIgYQVyAAQQhqIggQVyAFQTxqIgcgASACEKEBIAVBOGoiCSADIAQQoQEgAEEMaiAHLgEAIAcuAQIgCS4BACAJLgECEIQDIAVBHGoiByAGEFUgBSAIEFUgAEEANgIAIAcgBhCWASAFIAgQlgFBCBBPIgYgASACEPgCIAcgBhC7AUEIEE8iBiABIAQQ+AIgByAGELsBQQgQTyIBIAMgAhD4AiAFIAEQuwFBCBBPIgEgAyAEEPgCIAUgARC7ASAAQQA2AhQgBSQGCzIBAX8gAEEIaiABQQRqIgIQVSAAQSRqIAFBCGoQVSAAIAE2AgQgAigCAARAIAAQtxgLCysAQX8gACgCAC4BBCIAIAEoAgAuAQQiAUogAEEQdEEQdSABQRB0QRB1SBsLrAEBA38gAEEIaiIBELUBRQRAIAFBARCMAy8BBiAAQQJqIgIvAQBGBEAgARBWCyAAQSRqIgNBARCMAy8BBiACLwEARgRAIAMQVgsgAAJ/AkAgARCXAw0AIAMQlwMNACACLgEADAELIAEQjQMgAxCNAyABEFMuAQYLOwEAIAIgAUEBEIwDLgEGOwEAIANBARCMAy4BBiACLgEASARAIAIgA0EBEIwDLgEGOwEACwsL7QIBB38jBiEEIwZBIGokBiAEQQhqIQYgBEEQaiIFEJgBIARBDGoiAxCYASAAKAIAIAUgAxCVECABQRB0QRB1IQcCQAJAIAVBAmoiCC4BACABQRB0QRB1Sg0AIAMuAQIgAUEQdEEQdUwNAAwBCyAEIAc2AgBB1KwWQZLHGUECQarHGSAEEFELIABBBGoiACAFIAMQuBggA0ECaiEJAkACQCAILgEAIAFBEHRBEHVKDQAgCS4BACABQRB0QRB1TA0AIAIgAy8BACAFLgEAIgBB//8DcWs7AQAMAQsgABC3GAJAAkADQCAAQQhqEFkEfyAAQSRqEFkFQQALDQIgACAFIAMQuBggCC4BACABQRB0QRB1TARAIAkuAQAgAUEQdEEQdUoNAgsgABD3LgwAAAsACyACIAMvAQAgBS4BACIAQf//A3FrOwEADAELIAYgBzYCAEHYrBZBkscZQQJBqscZIAYQUUEAIQALIAQkBiAAC7UCAQl/IwYhCCMGQRBqJAYgCCAAKAIAIgUuAQAgBS4BAhChASACIAgoAgAiAzYBACABIAM2AQAgAUECaiEKIAJBAmohCyAFIgQuAQAhByADQf//A3EhBgNAIAQoAgwiBC4BACIDIAZBEHRBEHVIBEAgASADEOIBBSADQRB0QRB1IAIuAQBKBEAgAiADEOIBCwsCQCAELgECIgMgCi4BAEgEQCABIAMQ9AEFIANBEHRBEHUgCy4BACIGSgRAIAQuAQAhByACIAMQ9AEgBCEFDAILIANB//8DcSAGQf//A3FGBEAgBCAFIAQuAQAiAyAHQRB0QRB1SCIGGyEFIAMgByAGGyEHCwsLIAlBAWpBEHRBEHUhCSAEIAAoAgBHBEAgAS4BACEGDAELCyAAIAU2AgAgCCQGIAkL5wEBCH8jBiEFIwZBEGokBiAFQQRqIgdB2sYZEFAgACEGIAAoAggsAAYhAQNAIANBAWohAyABIAYsAAYiBEcEQCAEIAFrIgFBAkoEfyABQXxqBSABQQRqIAEgAUF+SBsLIgEgAmohAiAEIQELIANBgP0ASSAGKAIMIgYgAEciBHENAAsCfwJAAkAgAkF8aw4JAAEBAQEBAQEAAQsgA0EISSAEcg0AIAJBH3VBBHFBA3IMAQsgBAR/QQQFIANBCEkEf0EIBSAFIAI2AgAgB0H1xhlBAEGGxxkgBRBRQQULCwshCCAFJAYgCAuAAQEFfyMGIQIjBkEQaiQGIAJBBGoiAyAANgIAIAJBCGoiBBCYASACEJgBIAAQ+i5BBHJBB0YEQCADIAQgAhD5LiEFQSAQTyIGIAMoAgAgBCgCACIAQf//A3EgAEEQdiACKAIAIgBB//8DcSAAQRB2IAUQwRAgASAGEKABCyACJAYLoAQBC38jBiEHIwZBEGokBiAHIAU2AgAgB0EEaiINIABBEHRBEHUiADYCACAHIAFBEHRBEHU2AgggAkEQdEEQdSAAaiEOQQEhCEEAIQJBASEBIAQhCSAAIQQDQCAEIA5IBEAgA0EBaiERIAMsAAAiDEH/AXEhAwJAIAkoAgAiCgRAQQEgCEH/AXFrQf8BcSEAQQEgCGtBGHRBGHUiC0H/AXEhCCALIAxGIQsgASADRgRAIAsEfyACIAogBSAGEJMQQQAFIAggAWsgCiAHEL0MCyECIAlBADYCAAwCCyALBEAgCSADIAFrIAogBxCpCDYCACADIQEMAgsgDEEBRgR/IAIgCiAFIAYQkxAgCSADIAFrIAggA2tBACAHEL0MIgIgBxCpCDYCAEEBBSAIIANrIAogBxC9DCEQIAkgAyABayACIAcQqQg2AgAgECECIAMLIQEFIAEgA0cEQCAJIAMgAWsgAiAHEKkIIgI2AgAgAyEBCyAIQRh0QRh1IAxGBH8gCCEAQQAFIAgiAEH/AXEgA2sgAiAHEL0MCyECCwsgDSAEQQFqIgQ2AgAgACEIIBEhAyAJQQRqIQkMAQsLIAkoAgAiAEEARyEDAkACQCACBEAgAwRAIAIgACAFIAYQkxBBACEABSABQX5sQQFyIAIgBxCpCCEACwwBBSADBEAgAUF+bEEBciAAIAcQqQghAAwCCwsMAQsgCSAANgIACyAHJAYLqAMBBX8jBiEGIwZBIGokBiAGQRxqIQcgBhBXAkAgACgCAARAQQQQTyIJIAAoAgAQUAJAIAkgBRC8DCIIKAIABEAgBiAIEJYBIAYQWyAGEFMuAQQhCiAHIAYQUy4BBiIAOwEAIARBEHRBEHUhBSADQRB0QRB1IgQhAyAKQRB0QRB1IQEDQCADIAVIBEACQAJAIAMgAUgNACAGEFkNACAGEFYgAUF/aiAAQRB0QRB1aiEDIAYQUy4BBCEBIAYQUy4BBiEADAELIAIgAyAEa2pBAToAAAsgA0EBaiEDDAELCyAHIAA7AQAFIARBEHRBEHUhASADQRB0QRB1IgAhAwNAIAMgAU4NAiACIAMgAGtqQQE6AAAgA0EBaiEDDAAACwALCyAIEO4CIAgQTCAJEEwFIAEgBSAHEPguQRB0QRB1IQUgA0EQdEEQdSIBIQADQCAAIAVIBEAgAiAAIAFrakEBOgAAIABBAWohAAwBCwsgBEEQdEEQdSEAIAcuAQAgBWohAwNAIAMgAE4NAiACIAMgAWtqQQE6AAAgA0EBaiEDDAAACwALCyAGJAYLWAEBfyABKAIAIQIgACgCABBiIgEuAQAgAhBiIgIuAQBrIgBFBEAgAS4BBCACLgEEayIARQRAIAEuAQIgAi4BAmsiAEUEQCABLgEGIAIuAQZrIQALCwsgAAs+ACACQRB0QRB1IAAuAQprQRAQTiAALgEEbCECIAFBEHRBEHUgAC4BCGtBEBBOIAJqIQEgACgCACABQQJ0aguMAgEKfyMGIQMjBkEwaiQGIAMQeSADQQhqIgQQVyADIAEQkQEpAQA3AwAgAy4BACAALgEIIgVrQRAQTkH//wNxIQcgAy4BBCAFa0EQEE4hCCADLgECIAAuAQoiBmtBEBBOQf//A3EhBSADLgEGIAZrQRAQTiEJIABBBGohCgNAIAkgBUEQdEEQdSILTgRAIAchBgNAIAggBkEQdEEQdSIMTgRAIAQgACgCACAKLgEAIAtsIAxqQQJ0ahCWASAEEFsDQCAEEFlFBEAgBBBTIAEQvgYEQCACIAQQnwEQoAELIAQQVgwBCwsgBkEBakEQdEEQdSEGDAELCyAFQQFqQRB0QRB1IQUMAQsLIAMkBgthAQR/IABBBGohAiAAQQZqIQMgACgCACEBIABBEGoiBCgCACEAA0ACQCABIABBAnRqKAIADQAgACADLgEAIAIuAQBsQX9qTg0AIAQgAEEBaiIANgIADAELCyABIABBAnRqC6oBAQV/IwYhBCMGQSBqJAYgBEEcaiIFEFcgBCABEFUDQCAEELUBRQRAIAQQnwEgBRDEECAEEFYMAQsLIAQgBRBVIANBAEchCANAIAQQtQFFBEAgBBCfASIHELoYBH8gAAUgBCAHEKUDEIYCQQALIQFBCBBPIgYgBxCfByAGEMUQIAggAUEBc3EEQCADIAYQoAEFIAIgBhCgAQsgBBBWDAELCyAFEI8DIAQkBgtYAQJ/IAEQUyEDQZi2+QAoAgAhAkGGt/kALQAABH8gACADIAJBABC5GAUgACADIAIQlBALIgJBmLb5ACgCAEoEf0EABSACQQBKBEAgACADIAEQgC8LQQELC2YBBn8gAEEQaiEGIABBBGohAyAAQQZqIQQgACgCACEBQQAhAANAIAEgAEECdGooAgBFBEAgAEEBaiEFIAAgBC4BACADLgEAbEF/akgEQCAFIQAMAgsLCyAGIAA2AgAgASAAQQJ0agtIAQJ/IAAoAgAhASAAQQA2AgAgAQRAIAFBfGoiAigCACIABEAgASAAQQJ0aiEAA0AgAEF8aiIAEI8DIAAgAUcNAAsLIAIQTAsL6QEBBn8jBiEDIwZBkAFqJAYgA0GMAWoiBRBXIANB8ABqIgYgBRBVIANB1ABqIgIgARCELxBVIANBOGoiBBBXIANBHGoiByAAEMAMEFUgAyAAELsYEFUDQCACELUBRQRAIAYgBRCWAQNAIAQgAikCADcCACAEIAIpAgg3AgggBCACKQIQNwIQIAQgAiwAGDoAGANAAkAgAhBWIAIQ/wENACAEEFMgAhBTEL4GRQ0BCwsgAhD/AUUNAAsgBiAEEJ8BEKABIAEgBhCDLyAFIAcgAxCCLyACIAEQgS8QlgEMAQsLIAUQjwMgAyQGC20BA38jBiECIwZBQGskBiACEHkgAkEkaiIDIAAQVSACQQhqIgQQVyADEFsDQCADEFlFBEAgAiADEJ8BIgAQkQEpAQA3AwAgBCABIAIuAQAgAi4BAhD/LhCWASAEIAAQuwEgAxBWDAELCyACJAYLlwIAIABBADYCACAAIAJB//8DcUEQdCABQf//A3FyNgEIIAAgBEH//wNxQRB0IANB//8DcXI2AQwgACADQRB0QRB1IAFBEHRBEHVrQRAQTkEBaiIBOwEEIAAgBEEQdEEQdSACQRB0QRB1a0EQEE5BAWoiAjsBBkF/IAIgAWwiAUECdCICQQRqIAFB/////wNLIAJBe0tyGxBPIgIgATYCACACQQRqIQIgAQRAIAIgAUECdGohAyACIQEDQCABEFcgAUEEaiIBIANHDQALCyAAKAIAIQMgACACNgIAIAMEQCADQXxqIgIoAgAiAQRAIAMgAUECdGohAQNAIAFBfGoiARCPAyABIANHDQALCyACEEwLIABBADYCEAusBAESfyMGIQQjBkHgAGokBiAEQdwAaiIFEJgBIARB2ABqIgYQmAEgBEEUaiIQIgNBBGogARD1LiADIAE2AgAgABC+ASEHIAAQpQEhCCAAEHchEUF/IAdBAWoiA0ECdCADQf////8DSxsQTyEMIARBEGoiD0EANgIAIAEgBSAGEJUQIAcgBi4BACISIgNIBEAgBEGoxhk2AgAgBEE0NgIEQdCsFkGUxhlBAkHH6xwgBBBRCyAEQQhqIQogCCAGLgECIgZIBEAgCkGoxhk2AgAgCkE1NgIEQdCsFkHFxhlBAkHH6xwgChBRCyADIAUuAQAiDSITayIOIQMDQCADQX9KBEAgDCADQQJ0akEANgIAIANBf2ohAwwBCwsgB0F/IAdBf0obEE8hCyAOQf//A3EhByAIQX9qIQogBS4BAiEFIAYhAwNAIAMgBU4EQCADQX9qIQggAyAFTCADIAZKcgRAIAtBASAOEIwBGiAIQf//A3EhAwUgABB1IApBASADa2ogEWxBAnRqIQNBACEJA0AgCSAOSARAIAsgCWogAyAJIBNqQQV1QQJ0aigCACAJIA1B//8DcWpBH3FBH3N2QQFxQQFzOgAAIAlBAWohCQwBCwsgASAQIAsgDSASIAhB//8DcSIDEP0uCyANIAMgByALIAwgDyACEPwuIAghAwwBCwsgDygCACEAA0AgAARAIAAoAgwhFCAAEEwgFCEADAELCyALEEwgDBBMIAQkBgtYAQF/IAEoAgAhAiAAKAIAEGIiAS4BAiACEGIiAi4BAmsiAEUEQCABLgEGIAIuAQZrIgBFBEAgAS4BACACLgEAayIARQRAIAEuAQQgAi4BBGshAAsLCyAAC6EEAQ5/IwYhBSMGQbABaiQGIAVBIGohBCAFQQRqIQMgBUGgAWohBiAFQZgBaiINEFcgBUH8AGoiCCANEFUgCCAAEHsiDxCGAiAFQfgAaiIKEFcgBUHcAGoiCSAKEFUgBUHYAGoiCxBXIAVBPGoiByALEFUgBxD1AyAIEI0DIAgQWwNAIAgQWUUEQCAEIAgQnwEiDBDSASADIAEQVSADEFtBACEOA0AgAxBZRQRAIAYgAxBTIhAQ0gEgBhC6AwRAQanCGSAFEEsLAkACQCAEIAYQuwMNACAEIAYQtAMNAAwBCyADEJ8BGiAJIBAQoAFBASEOCyADEFYMAQsLIA4EQCAMBEAgDBDXAiAMEEwLBSAHIAwQoAELIAgQVgwBCwsgBxCNAyAHEFsDQCAHEFlFBEAgBCAHEFMQ0gEgAyAJKQIANwIAIAMgCSkCCDcCCCADIAkpAhA3AhAgAyAJKAIYNgIYIAMQWwJAAkADQCADEFlFBEAgBiADEFMQ0gECQAJAIAQgBhC0Aw0AIAYgBBC0Aw0ADAELIAQgBhDxC0SamZmZmZnpP2QNAwsgAxBWDAELCwwBCyAHEJ8BIgEEQCABENcCIAEQTAsLIAcQVgwBCwsgAgRAIAQgAhBVIAQQ9QMgBCALEIYCCyAKKAIABEBBHBBPIgEgCiAAELcQBSAEIA8QVSAEIAsQhgJBACEBCyALEOECIAoQ4QIgDRDhAiAFJAYgAQv8AQEHfyMGIQMjBkGAAWokBiADQTxqIQUgA0EgaiEEIANBHGohBiADQdgAaiIHIAAQVSAHEFsDQCAHEFlFBEACQAJAIAcQUyIAKAIEIghFDQAgCCgCDBDuAQ0ADAELIAUgABDHAhBVIAUQWwNAIAUQWUUEQCAEIAUQUxDNAiIIEH0gBhBXIAMgBhB9IAQQlAEDQCAEEI4BRQRAIAQQhwIiACABIAIQiy8iCQRAIAMgCRCpAiAABEAgABC5ByAAEEwLBSADIAAQqQILIAQQeAwBCwsgCBC6ByAEEJ0DIAQgBhDFBCAGELoHIAUQVgwBCwsLIAcQVgwBCwsgAyQGC7YDAQh/IwYhAiMGQfAAaiQGIABBGGoiAygCAEUEQCACQbvAGTYCACACQecCNgIEQdy4+QBBosAZQQJBx+scIAIQUQsgAkEQaiEFIAJBCGohBEGguPkAKAIAQQBKBEBB5sAZIAQQSyADKAIAEL8YIAUgARCaAjYCAEGAwRkgBRBLCyACQRhqIQYgAkHYAGoiBRBXIAMoAgAgAQJ/AkBBjrj5AC0AAEUNACAAKAIURQ0AIAUMAQtBAAsQjC9BoLj5ACgCAEEASgRAQZXBGSAGEEsgAygCABC/GAsgAkE8aiEDIAJBIGohBCACQRxqIQYgAkHgAGohB0GOuPkALQAABEAgAEEUaiIIKAIABEAgAyAFEFUgAxBbIABBBGohAANAIAMQWUUEQCAEIAMQUxDSASAGIAAoAgAgBBC+GCIJNgIAIAgoAgAgCUEBQX9BAEF/ELMEIAYQ9wEgAxBWDAELCyAEIAEQVSAEEFsDQCAEEFlFBEAgByAEEFMQ0gEgBiAAKAIAIAcQvhgiATYCACAIKAIAIAFBA0EAQf8AQQAQswQgBhD3ASAEEFYMAQsLCwsgBRDhAiACJAYLyAIBBn8jBiEEIwZB8ABqJAYgAEGc3whqIQUgAEG8qAhqKAIAIQMDQCACIAUoAgBIBEAgBSACEE0oAgBBvKgIaigCACIGIAMgBiADShshAyACQQFqIQIMAQsLIABBtMoIaiICIAE2AhggAiADNgIQIAJBACAAQajKCGoQwRghBiAAQbjKCGoiAygCAEUEQCAEQf+/GTYCACAEQaIFNgIEQbysFkHqvxlBAkHH6xwgBBBRCyAEQQhqIQEgAEGYyghqIgUQXiAFIAMoAgAQ3QEiBzYCACAAQcDKCGooAgAgAEHEyghqKAIARwRAIAFB09X5AEEAQQAgBxC+AUH//wNxIAUoAgAQpQFB//8DcRCTByAGBH8gAEG8yghqKAIAIgAFIAMoAgAiAAsaIAAgARDAGCACIAEQwAwQjS8gARCtCgsgAhC+DSAEJAYL2QQBB38jBiEGIwZBQGskBiAGQQhqIQUgAEGYyghqIggoAgAiB0UEQCAFQarLGTYCACAFQeYANgIEQdysFkGTyxlBAkHH6xwgBRBRIAgoAgAhBwsgBkEcaiEFIAZBGGohCSAHEL4BIQsgCCgCABClASEKIAFBAEcgAEGcpwhqKAIAIgcQkhBBAXNxBEAgARDfAUEASgRAIAUgARDJASAFEF1BLhCOBiIBBEAgBSABIAUQXWsQ3gFBADoAAAsgCSAFEMkBIAkgCiACELUYGiAJEFggBRBYCwsgAigCAAR/QQYFIAUgAhBVQeAAEE8iAUHT1fkAQQBBACALQf//A3EgCkH//wNxEJMHIAEgAEHg3ghqLAAAEIkBELQYIAUgARC7ASAHCyEBIAZBEGohCSAFEFcgBkEUaiIHEFcCQAJAIAEQlxBFBEAgAUF/akEETwRAIAEQqgpFBEAgBkMAAIA/QwAAAAAQpAEgAEHs3ghqIAYpAwA3AgAgBkMAAIA/QwAAAAAQpAEgAEH03ghqIAYpAwA3AgAgAUEJRw0DIAgoAgAQ7C4iA0UNAyAIEF4gCCADNgIADAMLCwsgACABIAIgByAFQQAgAEHSqwhqLQAAGyADIAQQ7S4gAQ0ADAELIAIoAgAEQCAAQdjKCGogASAAQfTeCGogCyAKIAgoAgAgAEGkyghqKAIAIABBnMoIaigCACAAQaSoCGooAgBBAEcgAEGSyAhqLQAAQQBHciAFIAIgBxDrLgwBC0HMvPkAKAIABEBByssZIAkQSwsLIAcQkgcgBRDaAyAGJAYLsAIBB38jBiEDIwZBEGokBiAAQdjKCGogAEGSyAhqLQAAQQBHOgAIIABBnN8IaiECIABBmMoIaiEEIABBpKgIaigCACEFA0AgASACKAIASARAIAIgARBNKAIAQaSoCGooAgAhBiACIAEQTSgCAEGYyghqEF4gBCgCABDdASEHIAIgARBNKAIAQZjKCGogBzYCACAGIAUgBiAFShshBSABQQFqIQEMAQsLIAQoAgAhBiAAQbTKCGoiAUEEaiICKAIABEAgAhBeCyACIAYQ3QE2AgAgASAFNgIMIAFBASAAQajKCGoQwRgEQCAAQbzKCGoiACgCAEUEQCADQf+/GTYCACADQYQFNgIEQbysFkHmmBtBAkHH6xwgAxBRCyAEEF4gBCAAKAIAEN0BNgIACyADJAYLlgUDCH8EfQJ8IwYhAyMGQdAAaiQGIANBEGohCCAAEFcgAEEUaiIGEFcgA0E0aiIEIAIQzQIQfSADQRhqIgkgBhBVIABBADYCCCAAQQA2AgwgAEEANgIQIAAgAjYCBCADQQhqIgcQeSACQRRqIgoqAgACfSACKgIYIQ4gAioCHCENIAQQlAEgDguSIA2TuyIPRAAAAAAAAPQ/oiEQIA9EAAAAAAAAAECiIQ9BACEAQQAhAgNAIAQQjgFFBEBBlAIQTyIFIAQQcBCsByAFIAoqAgA4AoACAkACQAJAAkAgAgR/IABFBEAgCEGa1Rc2AgAgCEGPATYCBEGomRZBmL0ZQQJBx+scIAgQUQsgBUEBOgCRAiAAIAUQ0hogBBDBDCECIAENAQwCBSABRQRAIAQQwQwhAgwDCyADIAVBBGoiAigCABDXASAHIAMpAwA3AwAgBSACKAIAQQkQvwEEf0EABSAQIAcQa0EQdEEQdbdmCyIGQQFzQQFxOgDtASAEEMEMIQIgBgR/DAIFIAJBC0EAENYBQQAhAkEACwshAAwDCyACQQkQvwEEQCACQQtBARDWAQwCCyADIAIQ1wEgBy4BBCEGIAcgAxC8ARogECADEGtBEHRBEHW3Y0UEQCAQIAcQa0EQdEEQdbdjRQRAIA8gBkEQdEEQdbegIAMuAQC3Y0UEQCACQQtBARDWAQwECwsLIAJBC0EAENYBQQAhAEEAIQIMAgsgAkELEL8BDQBBACEAQQAhAgwBCyAARQRAQRwQTyICEIANIAIgBBBwEIYRGkGUAhBPIgAgAhCsByAAIAoqAgA4AoACIABBAToAkAIgCSAAELsBCyAFQQE6AJECQQEhAgsgCSAFELsBIAQQeAwBCwsgAyQGC6EBAQN/IwYhAyMGQUBrJAYgABBXIABBHGoiBRBXIANBHGoiBCACEMcCEFUgAyAFEFUgAEEANgIIIABBADYCDCAAQX87ARAgAEMAAIC/OAIUIABBADoAGCAAQQA6ABkgAEEAOgAaIABBADsBEiAAIAI2AgQgBBBbA0AgBBBZRQRAQRgQTyIAIAEgBBBTEJEvIAMgABC7ASAEEFYMAQsLIAMkBgtCAQF/IwYhASMGQRBqJAYgAEEANgIAIABBADYCBCAAQQA6AAwgAEEANgIQIAFBADYCACAAQRRqQQwgARDIByABJAYLlgECAn8CfCMGIQEjBkHQAGokBiABQTBqIgIgABBVIAFBIGoiAEEAIAIQU0EEahDDARBrQRB0QRB1ELEBIAIQWwNAIAIQWUUEQCABIAIQUxDHAhBVIAEQWwNAIAEQWUUEQCAAIAEQUyoCFBCMAkEBEIgBIAEQVgwBCwsgAhBWDAELCyAAEOMBIQQgACgCDBCEASABJAYgBAvZAwESfyMGIQYjBkEwaiQGIAZBCGohCiACKAJIIQsgBkEkaiINQQJqIRAgBkEgaiIOQQJqIREgAkEQaiEPIAZBEGoiDEECaiESIAZBGGoiBEECaiETIAJBzABqIRRBACECAkACQANAIAMgBTYCACAFIAsoAgBODQEgCyAFEE0oAgAhCCANEPEBIA4Q8QEgBCAIKAIAEM0BIA0gBC4BACIVOwEAIAQgCCgCABDNASAQIAQuAQYiBzsBACAEIAgoAgAQzQEgDiAELgEEIgk7AQAgBCAIKAIAEM0BIBEgBC4BAiIFOwEAIAQQ8QEgDBDxASAPIBUgByAEEIsGIA8gCSAFIAwQiwYgCiAELgEAIBIuAQAgDC4BACATLgEAEJUCQQAhB0EAIQlBACEFA0AgByABKAIASARAIAkgCiABIAcQZBCUB0QAAAAAAADAP2RqIQkgBSAKIAEgBxBkEMYYciEFIAdBAWohBwwBCwsgBhDxAQJ/AkAgCCgCAEEBIAYQ4hBFBEAgCUEBSyAFQQFzcUUNAQsgACALIAggAygCAEEBIBQQhBoiBUUNACAFIQJBAAwBC0EBCwRAIAMoAgBBAWohBQwBCwsMAQsgA0F/NgIAQQAhAgsgBiQGIAILuwEDA38BfQN8IwYhAiMGQdAAaiQGIAJBEGohAyABEJQvIgZEAAAAAAAAwD+iIQcgAkEsaiIEIAEQVSAEEFsgBrYhBSAAQZSpCGohAANAIAQQWUUEQCADIAQQUxDHAhBVIAMQWwNAIAMQWUUEQCADEFMiASoCFLsiCCAGoZkgB2QEQCAAKAIABEAgAiAIOQMAIAIgBjkDCEHvvBkgAhBLCyABIAU4AhQLIAMQVgwBCwsgBBBWDAELCyACJAYLcAECfyABQX9KBEAgACgCACICIAFKBEAgAEEIaiEDA0AgASACQX9qIgJIBEAgAygCACICIAFBAnRqIAIgAUEBaiIBQQJ0ahCYAhogACgCACECDAELCyAAIAI2AgAPCwtBr4QdQdCEHUH/BUHwhB0QAQs7AQF/QRwQTyIBEIANIAEgACwACDoACCABIAAuAQo7AQogASAALAAJOgAJIAFBEGogAEEQahCYAhogAQueBQERfyMGIQYjBkEwaiQGQX8gAigCrAEoAggiBUEUbCIDQQRqIAVBzJmz5gBLIANBe0tyGxBPIgkgBTYCACAJQQRqIQQgBQRAIAQgBUEUbGohByAEIQMDQCADELIBIANBFGoiAyAHRw0ACwsgBkEQaiEKIAZBDGohDCACQcwAaiELIAJByABqIQ4gAkGkAWohDyAAQRRqIQ0gAEGUqQhqIRBBACEDA0AgAyAFSARAIANB//8DcSERIAQgA0EUbGohEkEBIQcDQAJAIAdBBU8NACAHIANqIgggBUoNACAAIAsgESAIQf//A2pB//8DcUGdtxkgDigCACAPKAIAIAAoAgAoAgxBD3FB3AZqERUAIQggECgCAEECSgRAIAYgAzYCACAGIAc2AgRBprcZIAYQS0GttxkgCCANEJMKCyASIAgQuQEgB0EBaiEHDAELCyADQQFqIQMMAQsLIAJBsAFqIgMQaCAKEKoBIAxDAAAAADgCACAAIARBACAFIAFBAEMAAAAAIAogDCADEMgYQQAhAANAIAAgBUgEQCAEIABBFGxqEJgaIABBAWohAAwBCwsgBCAJKAIAQRRsaiIAIARHBEADQCAAQWxqIgAQaCAAIARHDQALCyAGQQhqIQUgCRBMAn8CQCADKAIADQBBACEEQQEhAANAIAQgCygCAEgEQCALIAQQTSgCACwAChCJAQR/IABBAWoFIAMgABCwAUEBCyEAIARBAWohBAwBCwsgAyAAELABIAMoAgAgASgCAEYNACADEGhBAAwBCyACQcQBaiICEM4CQQAhAAN/IAAgASgCAEgEfyAFIA0gASAAEE0oAgAQzAEQhQEgAiAFEKsCIAUQWCAAQQFqIQAMAQVBAQsLCyETIAoQaCAGJAYgEwt6AQN/IABBFGohAwN/An9BASABLAAARQ0AGiABQSAQ2gIiAEUEQCABIAEQY2ohAAsgAyABIAAgAWsiABD3AyIEQX9GBH9BAAUDQCAAQQFqIQUgASAAaiIALAAAQSBGBEAgBSEADAELCyACIAQQsAEgACEBDAILCwsiAAttAQR/IwYhAyMGQSBqJAYgAS4BACEEIAEuAQIhBSABLgEEIQYgAS4BBiEBIAMgAEEBajYCACADIAI2AgQgAyAENgIIIAMgBTYCDCADIAY2AhAgAyABNgIUIANBpbQZNgIYQcq4GSADEEsgAyQGC/YEAhB/AnwjBiEFIwZB4AFqJAYgAEGUqQhqIgooAgBBAUoEQCAFIAQ2AgBBgbkZIAUQSwsgBUFAayEQIAVBOGohESAFQTBqIRIgBUEoaiETIAVBGGohDCAFQRBqIRQgBUEIaiENIAVBmAFqIQkgBUH8AGohBiAFQeAAaiEHIAVB0AFqIQggBUHEAGohDiAFQbQBaiILIAEQVSALEFsgA0EARyEPQQAhAANAIAsQWUUEQCACIAsQUyIBQQRqEMMBELQDBEAgCSABEMcCEFUgCRBbA0AgCRBZRQRAIAYgCRBTIgEQngMgAiAGELQDBEAgBiABEM0CEH0gBhCUAQNAIAYQjgFFBEAgBhBwIQEgCigCAEECSgRAQau5GSANEEsgDSABENcBIA0QnQELAkACQCABEJUHRQ0AIAEQlQcsAABFDQAMAQsgByABENcBIAIgBxC0AwRAIAcgARB7EFUgBxBbA0AgBxBZRQRAIAggBxBTENIBAkAgCCACELQDBEAgDwRAIAggAhDCDCEVIAggAxDCDCEWIAooAgBBAkoEQEG6uRkgFBBLIAgQnQEgDCAVOQMAIAwgFjkDCEHJuRkgDBBLCyAVIBZkDQILAkAgCigCAEECSgRAQe65GSATEEsgCBCdAUGAuhkgEhBLIAIQnQEgD0UNAUGNuhkgERBLIAMQnQELCyAARQRAIAEQmC8iACAEEJoQIAYgABCMBAsgDiAAEHsQVSAOIAcQnwEQuwELCyAHEFYMAQsLCwsgBhB4DAELCwsgCRBWDAELCwsgCxBWDAELCyAARQRAIAooAgBBAEoEQEGcuhkgEBBLCwsgBSQGIABBAEcLjgcCGX8CfCMGIQYjBkGQAmokBiAGQQhqIQcgAEGUqQhqIggoAgBBAUoEQCAHIAU2AgBBkbsZIAcQSwsgBkGAAWohFSAGQfgAaiEQIAZB8ABqIRYgBkHoAGohESAGQeAAaiEXIAZB2ABqIRggBkHQAGohGSAGQcgAaiEaIAZBQGshGyAGQThqIRIgBkEwaiEMIAZBIGohDSAGQRhqIRwgBkEQaiEdIAZBgAJqIQ4gBkGEAWoiEyABENgCIBMoAhAhACAERSEPAn8CQAJAA0AgAEUNAgJAIABBrAFqIgkoAgAiASADELQDBEAgCCgCAEEBSgRAQbu7GSAdEEsgCSgCABCdASAJKAIAIQELIAEoAgghFCAAQcQBaiEKQQAhAQNAIAEgFE4NAiAOEHlBACEHAkADQCAHIAFqIgsgFEgEQCAGIAkoAgAgCxCjAykBADcDACAGIAMQtANFDQIgCiALEE0Q3wFBAEoNAiAPRQRAIAYgAxDCDCEfIAYgBBDCDCEgIAgoAgBBAkoEQEG6uRkgHBBLIAYQnQEgDSAfOQMAIA0gIDkDCEHJuRkgDRBLCyAfICBkDQMLIA4gBhC8ARogB0EBaiEHDAELCwsgBw0EIAFBAWohAQwAAAsACwsgExDPASEADAAACwALIAgoAgBBAUoEQCAMIAE2AgAgDCALNgIEQc67GSAMEEsLAn8CQCAOIAMQxhgNACAPRQRAQQAgAyAEEKYCQX1IDQIaCyACRQ0AIAIgAxCmAkF9Tg0AQQAMAQsgCSgCACABIAsQ+xogAEGwAWoiAiABEE0gBzYCACAKIAEQTSAFEOABGiAIKAIAQQJKBEAgEiAHNgIAQem7GSASEEsgCSgCACABEKMDEJ0BQYC6GSAbEEsgAxCdASAPRQRAQY26GSAaEEsgBBCdAQsLIAFBAWohAUEBIQADQCAAIAdJBEAgAiABEPoaIAogARCXLyAAQQFqIQAMAQsLIAgoAgBBAUoEQEGDvBkgGRBLQQAhAANAIAAgAigCAEgEQCARIAIgABBNKAIANgIAQeDyGSAREEsgAEEBaiEADAELC0HCkx8gGBBLQZG8GSAXEEtBACEAA0AgACAKKAIASARAIBAgCiAAEE0QXTYCAEGovBkgEBBLIABBAWohAAwBCwtBpLwZIBYQSwtBAQsMAQsgCCgCAEEASgRAQZy6GSAVEEsLQQALIR4gBiQGIB4LiQEBA38jBiEBIwZB4ABqJAYgAUEcaiECIAFBOGoiAyAAEFUgAxBbA0AgAxBZRQRAIAIgAxBTEMcCEFUgAhBbA0AgAhBZRQRAIAEgAhBTEM0CEH0gARCUAQNAIAEQjgFFBEAgARBwQdPV+QAQmhAgARB4DAELCyACEFYMAQsLIAMQVgwBCwsgASQGC0wBAX8gACABEMkBIABBBGoQsgEgAEF/NgIYIABBfzYCHCAAQSBqIgJCADcDACACQgA3AwggAkEANgIQIABBNGoQvQYgAEHQAGoQvQYLVAECfyMGIQEjBkEQaiQGAkAgACABQQRBARDwAUEBRgRAA0AgAiABKAIATgRAQQEhAAwDCyACQQFqIQIgABDDDA0AC0EAIQAFQQAhAAsLIAEkBiAACz8BAn8jBiEBIwZBEGokBiAAIAFBBEEBEPABQQFGBH8gAEEAQQggASgCABDGAiABKAIARgVBAAshAiABJAYgAgs/AQJ/IwYhASMGQRBqJAYgACABQQRBARDwAUEBRgR/IABBAEEBIAEoAgAQxgIgASgCAEYFQQALIQIgASQGIAILfwEDfyMGIQEjBkEQaiQGIAFBBGohAiAAEMMMBH8gACABQQEQggIEfyAAEKIvBH8gABDDDAR/IAAQwwwEfyAAEKEvBH8gABCgLwR/IAJBADoAACAAIAJBARD5BAVBAAsFQQALBUEACwVBAAsFQQALBUEACwVBAAshAyABJAYgAwtCAQF/IAAgARCcCiAAIAE2AgAgAEEIaiEDQQAhAANAIAAgAUgEQCADKAIAIABBAnRqIAIQmAIaIABBAWohAAwBCwsLiAEBBH8jBiECIwZBEGokBiABIAJBBGoiA0EEQQEQ8AFBAUYEQCACEJkBIAAgAygCACACEKQvIABBCGohBEEAIQADfwJ/QQEgACADKAIATg0AGiAAQQFqIQUgBCgCACAAQQJ0aiABEMQHBH8gBSEADAIFQQALCwshACACEFgFQQAhAAsgAiQGIAALcQEDfyMGIQIjBkEQaiQGIAEgAkEEQQEQ8AFBAUYEQCACKAIAIgNBgeHrF0kEQCAAIAMQzAkgACACKAIAIgM2AgAgASAAKAIIQQggAxDwASAAKAIARiEEBUG6oRtB0IQdQdAHQcyhGxABCwsgAiQGIAQLcQEDfyMGIQIjBkEQaiQGIAEgAkEEQQEQ8AFBAUYEQCACKAIAIgNBgeHrF0kEQCAAIAMQtgUgACACKAIAIgM2AgAgASAAKAIIQQEgAxDwASAAKAIARiEEBUG6oRtB0IQdQdAHQcyhGxABCwsgAiQGIAQLqwEBAn8jBiECIwZBEGokBiAAIAEQxAcEfyABIABBBGpBARCCAgR/IABBCGogARCnLwR/IABBHGogARDEBwR/IABBIGogARDEBwR/IABBJGogARCmLwR/IABBOGogARClLwR/IAJBADoAACABIAJBARD5BAR/IAAgAiwAAEEARzoATEEBBUEACwVBAAsFQQALBUEACwVBAAsFQQALBUEACwVBAAshAyACJAYgAws9ACAAEJkBIABBfzYCBCAAQQhqEKQEIABBHGoQmQEgAEEgahCZASAAQSRqEJIFIABBOGoQ1gIgAEEAOgBMC2sBA38jBiEDIwZBEGokBgJ/IAEgA0EBQQEQxgJBAUYEfyADLAAARQRAIABBABC5AUEBDAILQdAAEE8iAhCpLyACIAEQqC8EfyAAIAIQuQFBAQUgAhCfDSACEExBAAsFQQALCyEEIAMkBiAEC0MBAn8jBiEBIwZBEGokBgJ/IAAgAUEBQQEQxgJBAUYEfyABLAAABEBBACAAEKMvRQ0CGgtBAQVBAAsLIQIgASQGIAILlwQBDX8jBiEDIwZB0ABqJAYgA0EgaiEEIANBEGohBSADQQhqIQsgA0HEAGoiDCAAQTRqEFAgAEEAEM0YIABCABCcECADQUBrIgZBADYCACAAQQRqIggQzBggA0E0aiIHEPEEAn8CQCAHIAAgACgCMBCOEUUNACAHIAZBBEEBEPABQQFGQQFzIQEgBigCACICQQFIIAFyDQAgAEEYaiIKIAooAgAgAhDIATYCACAAQShqIQlBACEBAkACQANAAkAgASACTg0AAkACQCABIAooAgBIDQAgCSkDAEIAVQRAIAAQnRAgCSkDAFUNAQsgCCAHEKovRQ0CIAgQoAMoAgAiAhDfAUUEQCACIAAQmAIaIAIgARD3BAsgACAAEJ0QIAIoAgisfBCcEAwBCyAHEKsvRQ0DCyABQQFqIQEgBigCACECDAELCwwBC0G5sxkgCxBLCyABIAYoAgAiCUgEQCAAEF0hAiAGKAIAIQQgBSACNgIAIAUgATYCBCAFIAQ2AghB0bMZIAUQSyAIEMwYBSAIKAIAIQIgCigCACEBIAAQXSEFIAQgAjYCACAEIAk2AgQgBCABQQFqNgIIIAQgAiABajYCDCAEIAU2AhBB+rMZIAQQSwsgACAGKAIAEM0YIAgoAgBFQQFzDAELIAMgABBdNgIAQZqzGSADEEtBAAshDSAHKAIEIAcsAAgQ8wQgDCgCABogAyQGIA0LVAECfyMGIQIjBkEQaiQGIAJBBGoiAyAAQTRqEFAgAiAAQdAAahBQIAAgARDgARogAEF/NgIYIABCADcDKCAAQQA2AjAgAigCABogAygCABogAiQGC00AIAMgABDgARogA0Hw1SAgAS4BABCGASADQfDVICABLgECEIYBIANB8NUgIAEuAQQQhgEgA0Hw1SAgAS4BBhCGASADQfDVICACEIYBC5UDARN/IwYhBiMGQdAAaiQGIAZBQGshByAGQSBqIQsgBkEcaiEIIAZBCGohCSAGQRhqIQwgBkEUaiENIAZBEGohDiAGQThqIhAgAhCFASAGQSRqIgoQ1gIgEEEKIAoQiQogCigCACIRBH8gAEEASCESIANFIRMgBEUhFCAFRSEVQQAhAgNAIA8gEUgEQCALQQA2AgAgCBCZASAJEHkCQCAKIA8QTRBdIAsgCCAJENIYBEAgAQRAIAdB8NUgEIUBIAggBxD0BARAIAcQWAwDBSAMQbLmHBCFASAIIAwQ9AQhFyAMEFggBxBYIBcNAwsLIBIgCygCACAARnIEQCATRQRAIAYgCSkDADcDACAHIAYpAQA3AQAgAyAHEKAGCyAURQRAIA0gCBDJASAEIA0QqwIgDRBYCyAVRQRAIAcQmQEgCBBdIAkgACAHEK4vIA4gBxDJASAFIA4QqwIgDhBYIAcQWAsgAkEBaiECCwsLIAgQWCAPQQFqIQ8MAQsLIAJBAEoFQQALIRggChDOAiAQEFggBiQGIBgLLgEBfyAAIAEQyQEgABBdQS4QjgYiAgRAIAAgAiAAEF1rEMAKCyAAQZWzGRBsGgu8AQEHfyMGIQQjBkEgaiQGIARBEGohBiAEQQhqIQUgAEEEaiEHIABBIGohCCAAQSRqIQkgAEE4aiEKQQAhAANAIAAgAygCAEgEQAJAAkAgBygCAEF/TA0AIAMgABBNKAIAIAcoAgBGDQAMAQsgCCACIAAQTRCjAhogBCABIAAQZCkBADcDACAGIAQpAQA3AQAgCSAGEKAGIAUgAiAAEE0QyQEgCiAFEKsCIAUQWAsgAEEBaiEADAELCyAEJAYLPQEBfyMGIQIjBkEQaiQGIAIgAEE0ahBQIABBBGogARC5ASAAIAAQnRAgASgCCKx8EJwQIAIoAgAaIAIkBgveAgIJfwF9IwYhByMGQfAAaiQGIAdB0ABqIQggB0HIAGohDSAHQUBrIQkgB0EoaiEKIAdBFGohCyAHQQhqIQ4gB0EQaiEMIAdB6ABqIg8QeSAAIAEgBiAPEL0ZIgEEQCABIABBrKkIaiIAKAIAEPcEIAggBhDmAiAIKgIAIRAgCSAGEOYCIA0gECAJKgIEjBCkASAJIA8QzhggChCSBSALENYCIAkoAgAiBkH//wNxIQkgBkEQdiEGA0AgBCAFSARAIAcgAiAEEGQpAQA3AwAgByANEN8CIAcgCSAGENINIA4gBykDADcDACAIIA4pAQA3AQAgCiAIEKAGIAwgAyAEEE0QyQEgCyAMEKsCIAwQWCAEQQFqIQQMAQsLIAgQqgEgCigCACECIAcgACgCADYCACAIIAIgBxDIByABIAogCyAIELEvIAgQaCALEM4CIAoQ3wQFQQAhAQsgByQGIAEL4AEBBX8gAUF/cyICQXwgAkF8SxsgAWpBBGpBfHEhBSAAIQMgASIEIQIDQCAEQQNLBEAgAygAAEGV08feBWwhBiAEQXxqIQQgA0EEaiEDIAZBGHYgBnNBldPH3gVsIAJBldPH3gVscyECDAELCyAAIAVqIQACQAJAAkACQAJAAkACQCABIAVrQQFrDgMCAQADCyAALQACQRB0IAJzIQIMAwsMAgsMAgsMAgsgAC0AAUEIdCACcyECCyACIAAtAABzQZXTx94FbCECCyACQQ12IAJzQZXTx94FbCIAQQ92IABzCykBAn8gACgCACAAIAAsAAsiAUEASCICGyAAKAIEIAFB/wFxIAIbELQvC08BA38gASAAQQRBARCQBBogAEEIaiEDA38Cf0EBIAIgACgCAE4NABogAkEBaiEEIAMoAgAgAkECdGogARDmCAR/IAQhAgwCBUEACwsLIgALJQAgASAAQQRBARCQBBogASAAKAIIQQEgACgCABCQBCAAKAIARguXAQECfyMGIQIjBkEQaiQGIAAgARDmCAR/IAEgAEEEahCGAwR/IABBCGogARC3LwR/IABBHGogARDmCAR/IABBIGogARDmCAR/IABBJGogARDRGwR/IABBOGogARC2LwR/IAIgACwATDoAACABIAJBARDnCAVBAAsFQQALBUEACwVBAAsFQQALBUEACwVBAAshAyACJAYgAws6ACABEF1B/oQdEOUCIgEEQCAAQQAQ2QFBASAAKAIAIAEQrAEgACgCAEYhACABEP0BGgVBACEACyAAC00BAn8jBiECIwZBEGokBiAALAAJRQRAIAJBo+MXNgIAIAJBtwI2AgRBwJ4WQdTjF0ECQcfrHCACEFELIAAoAgQgARC5LyEDIAIkBiADC6cBAQV/IwYhAiMGQRBqJAYgAkEEaiEDIAIgACgCACIFNgIAIAEgAkEEQQEQkAQaIABBCGohBEEAIQACQAJAA0ACQCAAIAVOBEBBASEADAELIAMgBCgCACAAQQJ0aigCAEEARyIGOgAAIAEgA0EBQQEQkAQaIAYEQCAEKAIAIABBAnRqKAIAIAEQuC9FDQMLIABBAWohAAwBCwsMAQtBACEACyACJAYgAAtM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QCAAQbABaw4IAAEBAQEBAQABC0EBIQAMBAsFAkACQCAAQaLAAGsOgAsAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAQtBASEADAQLCwUCQAJAIABBqssAaw70CgABAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQABAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB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IQogBSQGIAoLqgIBB38jBiEKIwZBEGokBiAAQdADaiEHIANBABBNKAIAQQBKBEAgACABQY6MGSAHKAIAQQAgA0EAEE0oAgAQ0QwLIAoiCEEEaiIGQQE2AgBBACEEA0AgBCACKAIASARAIAIgBBBNKAIAIgkgBygCAEYEfyAGIARBAWoiBTYCACAAIAFBjowZIAkgAyAEEE0oAgAgAyAFEE0oAgAQ0QwgBQUgACABIAAgAiAEIAYgCBCzMCACIAQQTSgCACADIAQQTSgCACADIARBAWoiBBBNKAIAENEMIAYoAgAhBQNAIAQgBUgEQCAAIAEgACACIAQQTSgCABCUGSACIAQQTSgCACADIAQQTSgCACADIARBAWoiBBBNKAIAENEMDAELCyAFCyEEDAELCyAIJAYLjgEBA38jBiEEIwZBIGokBiAEQQhqIQUgBEEUaiIGIAAgASADIARBHGoiAyAEQRhqIgEQpTAiADYCACAABEAgAygCACIDIAJMIAEoAgAiASACSHIEQCAFIAM2AgAgBSABNgIEIAUgAjYCCEGUjRkgBRBLIAYQXkEAIQALBUH7jBkgBBBLQQAhAAsgBCQGIAALbwEDfyMGIQEjBkEwaiQGIAFBFGohAiAAKAIABH8gAhDMBCABIAAoAgAiACACIAAoAgAoAgxB/wBxQawMahENACACIAEpAgA3AgAgAiABKQIINwIIIAIgASgCEDYCECACKAIQBUEACyEDIAEkBiADCy0AIAAQeyIAKAI0QQBKBH9BAAUgACgCPEEASgR/QQAFIABBQGsoAgBBAUgLCws9AQF/IAAoAgAiAiAAKAIERgRAIAAQmRkgACgCACECCyAAIAJBAWo2AgAgACgCCCACQQN0aiABKQIANwIAC1wBA38jBiECIwZBEGokBiAAKAIAIQMgAiABKQIANwMAIAJBCGoiBCACKQIANwIAIAAgBBC4MCABIAAQpQcpAgA3AgAgACAAIAMgARDhGRBkIAEpAgA3AgAgAiQGC1gBA38gAEEANgIAQcgBEE8iAUEENgIEIAFByAFqIQIgAUEIaiIDIQEDQCABENUMIAFBMGoiASACRw0ACyAAIAM2AgggAEEENgIEIABBADYCDCAAQQA2AhALUQAgACwAACABLAAARgR/IAApAwggASkDCFEEfyAALAAQIAEsABBGBH8gACkD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IQIgACAEKAIANgIAIAQgAjYCACAGKAIAIQIgBiABQQhqIgMoAgA2AgAgAyACNgIAIABBCGoiACgCACECIAAgAUEMaiIAKAIANgIAIAAgAjYCACABIAQoAgA2AgALeQECfyAAQQxqIgVBADYCACAAIAM2AhAgAQRAIAFB1arVqgFLBEBBCBAOIgMQ1wcgA0HI1BY2AgAgA0GolBZBlgIQDQUgAUEMbBBPIQQLCyAAIAQ2AgAgACAEIAJBDGxqIgI2AgggACACNgIEIAUgBCABQQxsajYCAAuMAgEGfyABIAEgAEY6AAwgASEDAkACQAJAA0ACQCADIABGDQAgAygCCCIEQQxqIgUsAAANACAEQQhqIgYoAgAiASgCACICIARGBH8gASgCBCICRQ0DIAJBDGoiAiwAAA0DIAIFIAJFDQQgAkEMaiICLAAADQQgAgshByAFQQE6AAAgASABIABGOgAMIAdBAToAACABIQMMAQsLDAILIAQoAgAgA0cEQCAEELQZIAYoAgAiAEEMaiEFIAAoAgghAQsgBUEBOgAAIAFBADoADCABELMZDAELIAQoAgAgA0YEQCAEELMZIAYoAgAiAEEMaiEFIAAoAgghAQsgBUEBOgAAIAFBADoADCABELQZCwtVACADQQA2AgAgA0EANgIEIAMgATYCCCACIAM2AgAgACgCACgCACIBBEAgACABNgIAIAIoAgAhAwsgACgCBCADENkwIABBCGoiACAAKAIAQQFqNgIACzcBAX8gAEEYEE8iAzYCACAAIAFBBGo2AgQgAyACKAIAKAIANgIQIANDAAAAADgCFCAAQQE6AAgLlAEBAn8CQCAAQQRqIgQoAgAiAwRAIABBBGohBCADIQACQAJAAkADQCAAKAIQIgMgAksEfyAAKAIAIgNFDQIgACEEIAMFIAMgAk8NBCAAQQRqIgQoAgAiA0UNAyADCyEADAAACwALIAEgADYCAAwDCyABIAA2AgAgBCEADAILIAEgADYCAAUgASAENgIACyAEIQALIAALYAEDfyMGIQQjBkEQaiQGIAEgBEEMaiIFIAIQ3DAiBigCACICBH8gAiEBQQAFIAQgASADENswIAEgBSgCACAGIAQoAgAiARDaMEEBCyECIAAgATYCACAAIAI6AAQgBCQGCzcAIABBCGohAANAIAEgAkcEQCAAKAIAIAEp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kwEBAn8gASgCACIDRQRAIAEgAigCADYCACACQQA2AgAgASgCACEDCwNAIANBFGoiBCgCACIDDQALIAQgAigCADYCACACQQA2AgAgAgRAIAIQkQUgAhBMCyAAQQpqIQNBACECA0AgAiADLQAASQRAIABBDGogAkEDdGogARDwMSACQQFqIQIMAQsLIAEQiREgARDhEAs8AQN/IAAoAgAhAwN/An9BACACIANODQAaIAJBAWohBCABIAAgAhBNKAIAEPwZBH9BAQUgBCECDAILCwsLUwEDfwN/An9BACAAKAIAIgFFDQAaQQEgASgCECICRQ0AGiACIQADQCAAKAIMIgBFIQMgACACRiADckUNAAsgAUEUaiEAIAMEf0EBBQwCCwsLIgALRAEDfyMGIQIjBkEQaiQGIAJBCGoiAyAAEM0BIAIgASgCABDNASADIAIQuwMEf0EBBSACIAMQuwNBAXELIQQgAiQGIAQLXQECfyAABEAgACEBA0ACQCABLAAJQQJGBEAgASEADAELIAEoAgwiASAARw0BCwsgACEBA0AgASgCDCIBKAIQIgIsAAlFBEAgAhD/GQsgASAARw0ACwVBACEACyAAC0EBAn8gAEEKaiECA0AgASACLQAASQRAIABBDGogAUEDdGooAgAQgBogACABQQN0aigCEBCAGiABQQFqIQEMAQsLCzUBAn8DQCAABEAgAEEQaiICKAIAEPUxIQEgAiABNgIAIAAgASgBADYBCCAAKAIUIQAMAQsLC64EAg5/AX0jBiEPIwZBsAJqJAYgDyIDQeQBaiEEIABB7KAIaigCACECIANBlAJqIgciBRDoGSAFIAIQ4QwgA0GQAmoiCxBXIANBjAJqIgZBADYCACADQfgBaiIIIgIQvgMgAkEyEPMFIAEhAgNAIAIoAgAiAgRAIAAgAiAIEOsxIAJBFGohAgwBCwtBACECA0AgAkEySSAIKAIARUEBc3EEQCADIAJBAnRqIAhBABBkKAIANgIAIAgQ6jEgAkEBaiECDAELCyAEEOgZIARBlgEQ4QwgACADIAJB//8DcSICIAQgByAGIAEQ6TEgACADIAIgCyAEIAcgBiABEOgxIAYoAgAiAgRAIABB0KMIaisDACACKgIAIhC7YwRAIAAgBEEAIBAgBiABIAcQ4wwLBSAAIARBAEMAPBxGIAYgASAHEOMM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KAIAIQIgACAGKAIAEJcBIAQQ3gEsAAAgAhCpM0H//wNxEKgzQf//A3EgAUH//wNxakH//wNxIQEgBEEBakEQdEEQdSEEIANBAWohAyAFKAIAIQIMAQsLBUEAIQELIAELZgEFfyMGIQEjBkEQaiQGIABBCGoiAigCAAR/IABBqAFqIgMoAgAiBAR/IAQoAgAEfyABIAAQkREgAigCACADKAIAIAFBxgAQkBEQjxEgAS4BBAVBAAsFQQALBUEACyEFIAEkBiAFC1wAIAAoAghBAEoEQCABIAAQrwciATsBACACIAAgAUEQdEEQdSIBEK4BIgJB/wAgAkH/AEgbIgI6AAAgACABQQAgAkEYdEEYdWsQiAEFIAFBfzsBACACQQA6AAALC6UCAQd/IwYhBCMGQRBqJAYgBEEEaiECAkAgAUGkAWoiBSgCACIDBEAgAygCXEEKRgRAIAJBy40YEIUBIANBCiACIAEoApgBIAAQ3QMgAhBYDAILIAMgAUGYAWoiBigCABDTCCIHIAUoAgAiAUHcAGoiAygCAEUiCEEBc3JFBEAgAkHajRgQhQEgBSgCAEELIAIgBigCACAAEN0DIAIQWAwCCyAIIAdBAXNyRQRAIAAEQCAEIAFB4ABqEF02AgBBgI4YIAQQSyAFKAIAIgBB3ABqIQMFIAEhAAsgA0EANgIAIABB4ABqQdPV+QAQ4AEaCwVBuAEQTyIDEKQKIAUgAzYCACACQbuNGBCFASADQQQgAiABKAKYASAAEN0DIAIQWAsLIAQkBgvtBwECfyMGIQMjBkHgAWokBiADQdiEGEHahBggAEEAELoBGzYCACABQdyEGCADEFwgA0EIaiICQdiEGEHahBggAEEBELoBGzYCACABQfCEGCACEFwgA0EQaiICQdiEGEHahBggAEECELoBGzYCACABQYGFGCACEFwgA0EYaiICQdiEGEHahBggAEEDELoBGzYCACABQZKFGCACEFwgA0EgaiICQdiEGEHahBggAEEEELoBGzYCACABQaaFGCACEFwgA0EoaiICQdiEGEHahBggAEEFELoBGzYCACABQbiFGCACEFwgA0EwaiICQdiEGEHahBggAEEGELoBGzYCACABQcmFGCACEFwgA0E4aiICQdiEGEHahBggAEEHELoBGzYCACABQdqFGCACEFwgA0FAayICQdiEGEHa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AAAEAAAABQAAAAIAAAADAAAAAwAAAAQAAAADAAAABAAAAAQAAAAFAAAAAwAAAAQAAAAEAAAABQAAAAQAAAAFAAAABQAAAAYAAAABAAAAAgAAAAIAAAADAAAAAgAAAAMAAAADAAAABAAAAAIAAAADAAAAAwAAAAQAAAADAAAABAAAAAQAAAAFAAAAAgAAAAMAAAADAAAABAAAAAMAAAAEAAAABAAAAAUAAAADAAAABAAAAAQAAAAFAAAABAAAAAUAAAAFAAAABgAAAAIAAAADAAAAAwAAAAQAAAADAAAABAAAAAQAAAAFAAAAAwAAAAQAAAAEAAAABQAAAAQAAAAFAAAABQAAAAYAAAADAAAABAAAAAQAAAAFAAAABAAAAAUAAAAFAAAABgAAAAQAAAAFAAAABQAAAAYAAAAFAAAABgAAAAYAAAAHAAAAAQAAAAIAAAACAAAAAwAAAAIAAAADAAAAAwAAAAQAAAACAAAAAwAAAAMAAAAEAAAAAwAAAAQAAAAEAAAABQAAAAIAAAADAAAAAwAAAAQAAAADAAAABAAAAAQAAAAFAAAAAwAAAAQAAAAEAAAABQAAAAQAAAAFAAAABQAAAAYAAAACAAAAAwAAAAMAAAAEAAAAAwAAAAQAAAAEAAAABQAAAAMAAAAEAAAABAAAAAUAAAAEAAAABQAAAAUAAAAGAAAAAwAAAAQAAAAEAAAABQAAAAQAAAAFAAAABQAAAAYAAAAEAAAABQAAAAUAAAAGAAAABQAAAAYAAAAGAAAABwAAAAIAAAADAAAAAwAAAAQAAAADAAAABAAAAAQAAAAFAAAAAwAAAAQAAAAEAAAABQAAAAQAAAAFAAAABQAAAAYAAAADAAAABAAAAAQAAAAFAAAABAAAAAUAAAAFAAAABgAAAAQAAAAFAAAABQAAAAYAAAAFAAAABgAAAAYAAAAHAAAAAwAAAAQAAAAEAAAABQAAAAQAAAAFAAAABQAAAAYAAAAEAAAABQAAAAUAAAAGAAAABQAAAAYAAAAGAAAABwAAAAQAAAAFAAAABQAAAAYAAAAFAAAABgAAAAYAAAAHAAAABQAAAAYAAAAGAAAABwAAAAYAAAAHAAAABwAAAAgAAAB2MgonJyAiIDEKYCcgIiAxCidgICIgMQrigJgnICIgMQon4oCYICIgMQrigJknICIgMQon4oCZICIgMQpgYCAiIDEKYOKAmCAiIDEK4oCYYCAiIDEKYOKAmSAiIDEK4oCZYCAiIDEK4oCY4oCYIOKAnCAxCuKAmOKAmSAiIDEK4oCZ4oCYICIgMQrigJnigJkg4oCdIDEKLCwg4oCeIDEKbSBybiAwCnJuIG0gMAptIGluIDAKaW4gbSAwCmQgY2wgMApjbCBkIDAKbm4gcm0gMApybSBubiAwCm4gcmkgMApyaSBuIDAKbGkgaCAwCmxyIGggMAppaSB1IDAKaWkgbiAwCm5pIG0gMAppaWkgbSAwCmxsIEggMApJLUkgSCAwCnZ2IHcgMApWViBXIDAKdCBmIDAKZiB0IDAKYSBvIDAKbyBhIDAKZSBjIDAKYyBlIDAKcnIgbiAwCkUgZmkgMApsPCBrIDAKbGQga2kgMApseCBoIDAKeG4gbSAwCnV4IGluIDAKciB0IDAKZCB0bCAwCmRpIHRoIDAKdXIgaW4gMAp1biBpbSAwCnUgYSAwCm8gw7MgMArDsyBvIDAKaSDDrSAwCsOtIGkgMAphIMOhIDAKw6EgYSAwCmUgw6kgMArDqSBlIDAKdSDDuiAwCsO6IHUgMApuIMOxIDAKw7EgbiAwCjAgbyAwCmQgdHIgMApuIHRyIDAKw7EgZmkgMAp1IHRpIDAKw7EgdGkgMApkIHRpIDAKZCB0w60gMApkIHLDrSAwCmEgw6AgMAplIMOoIDAKbiBpaiAwCmcgaWogMApvIMOyIDAKRSDDiSAwCkUgw4ggMAp1IMO8IDAKeG5FIGFuIDEKbVl4IG1lIDEKcXRFIG50IDEKVGxiIGxlIDEKdnhOIHZhIDEKZ2pRIG5nIDEKanBGIGlqIDEKWXJsIGxlIDEKYXFZIGFuIDEKenZKIHZhIDEKZmJMIGJlIDEKTnZrIHZhIDEKZkpwIHByIDEKd3hDIHdhIDEKY3VKIHF1IDEKUXp0IHRhIDEKcUt3IHdhIDEKc2NKIHN0IDEKcFhwIHBvIDEKVnFpIHRpIDEKVXhrIGthIDEKa0p2IGthIDEKWWtkIGthIDEKdnBYIHZhIDEKaUJ2IHRpIDEKelJiIHN6IDEKeVRtIG1pIDEKbUtwIHByIDEKVnpxIHF1IDEKWHRwIHRpIDEKbXZEIHZhIDEKbURxIG1lIDEKanhQIGlqIDEKQnh2IHZhIDEKb0l1IHF1IDEKUnZjIHZhIDEKdUNqIHF1IDEKb0FvIHZvIDEKcXVCIHR1IDEKYnRWIHRpIDEKTG1jIG1lIDEKdFZ3IHRpIDEKWXh2IHZhIDEKSHhtIG1lIDEKZFZoIHRoIDEKeFljIGNoIDEKdVBqIHR1IDEKZlRmIGZvIDEKUmp3IGlqIDEKeGRBIGRpIDEKanpOIGlqIDEKbXhMIG1lIDEKeWdKIG5nIDEKVnZnIHZhIDEKcmpLIGlqIDEKeXVWIHR1IDEKc1drIGt1IDEKUGd6IHN6IDEKakhtIG1lIDEKemtVIGt1IDEKZ3ZHIHZhIDEKaGRQIHRoIDEKbVZiIG1lIDEKUWdkIGRpIDEKemNaIGNoIDEKenFqIGlqIDEKenNKIHN6IDEKZGZOIGRpIDEKZGdXIGRpIDEKd05yIHJpIDEKenZDIHZhIDEKcVl3IHF1IDEKdUh5IHR1IDEKdE5xIHRoIDEKbHhKIGxpIDEKSGJrIGt1IDEKeHNHIHN0IDEKdlNiIHZhIDEKeEZiIGJ1IDEKTnRnIHRoIDEKb0JqIGlqIDEKcWt2IHF1IDEKYlZqIGlqIDEKempUIGlqIDEKYnZYIHZhIDEKb1pmIHRvIDEKa2NVIGtvIDEKZkZtIG1lIDEKWGJqIGlqIDEKS3F2IHZhIDEKUndqIGlqIDEKZHZKIHZhIDEKem5KIHN6IDEKcXFWIHF1IDEKcHhNIHBvIDEKZUJqIGlqIDEKbUp4IG1lIDEKeG5NIG5nIDEKYUNxIHZhIDEKcEhqIGlqIDEKdGZRIHRoIDEKd3FuIHF1IDEKbVNzIGlzIDEKc0J3IHN0IDEKRmhuIHRoIDEKek5iIHN6IDEKTXZiIHZhIDEKYlZ0IHRoIDEKcUh0IHRoIDEKcUx2IHF1IDEKa2dGIG5nIDEKdnhXIHZhIDEKY2RZIGNoIDEKWHJ6IHN6IDEKRWZoIHRoIDEKbHFJIHF1IDEKTHpxIHF1IDEKemhYIHRoIDEKZ2haIHRoIDEKbEZnIG5nIDEKdlZjIHZhIDEKbE1yIGVyIDEKVHFqIHF1IDEKakF4IGlqIDEKaU10IHRoIDEKTmx2IHZhIDEKemJQIHN6IDEKa1Z4IGthIDEKZVFsIHRlIDEKc1diIHN0IDEKQnF5IHF1IDEKZFhrIGthIDEKdlVjIHZhIDEKdk9iIHZhIDEKdUhmIHF1IDEKcU5yIHF1IDEKdUZ6IHF1IDEKTWxyIGVyIDEKa21aIGthIDEKc1J0IHRoIDEKV3F2IHF1IDEKaGZLIHRoIDEKdnhRIHZhIDEKbENxIHF1IDEKZll3IHdhIDEKdGZTIHRoIDEKcWRPIHF1IDEKZFFkIGRlIDEKeGRYIGRlIDEKbU54IG1lIDEKa0Z6IHN6IDEKd2pTIGlqIDEKeVBwIHByIDEKd2NXIGNoIDEKTmp6IHN6IDEKZFZwIGRlIDEKZHFEIHF1IDEKckpzIHN6IDEKeHBIIHBvIDEKeHFSIHF1IDEKZ1ZyIGVyIDEKQnRxIHRoIDEKbm1CIG50IDEKemNNIHN6IDEKY2ZHIGNoIDEKbWZPIG1lIDEKWWhjIHRoIDEKYlptIG1lIDEKbXpCIHN6IDEKdlJ3IHZhIDEKeURoIHRoIDEKWmdmIG5nIDEKa3FUIHF1IDEKSXV6IHF1IDEKcmJXIGVyIDEKSm1xIHF1IDEKS3ZqIHZhIDEKemNEIGNoIDEKeGdDIG5nIDEKakN4IGlqIDEKYldnIG5nIDEKeXdXIHdhIDEKSmtjIGNoIDEKeEdzIHN6IDEKdmJIIHZhIDEKbFR6IHN6IDEKZUNiIGVyIDEKalZ2IHZhIDEKakRxIHF1IDEKam9RIHBvIDEKcXRNIHRoIDEKUnFrIHF1IDEKSHZnIHZhIDEKdUF6IHF1IDEKbWZXIG1lIDEKdGdTIHRoIDEKY3FEIHF1IDEKc2ZZIHN6IDEKWWh2IHRoIDEKdXFNIHF1IDEKeHBLIHByIDEKSnpoIHRoIDEKY1FrIGNoIDEKdGpPIHRoIDEKcXhaIHF1IDEKelB2IHN6IDEKcU5rIHF1IDEKbHZRIHZhIDEKa0d3IGthIDEKeHVEIHF1IDEKSnZ5IHZhIDEKalllIHRlIDEKZlp1IHF1IDEKcVlvIHF1IDEKdmhJIHRoIDEKZnhZIGZvIDEKeVBmIGZvIDEKZkdqIGlqIDEKZG1UIG1lIDEKdmZYIHZhIDEKeFF0IHRoIDEKY3hTIGNoIDEKdnpBIHZhIDEKcWFBIHF1IDEKSmJ4IGJlIDEKa1ZkIGthIDEKWGp2IHZhIDEKaGtJIHRoIDEKdlF1IHF1IDEKdmhLIHRoIDEKRHZqIHZhIDEKVmJtIG1lIDEKZnBOIHByIDEKcGtHIGthIDEKYkxjIGNoIDEKdEpjIHRoIDEKd3dKIHdhIDEKWnJ3IGVyIDEKd2RXIGRlIDEKV2dmIG5nIDEKUHF6IHF1IDEKd2dOIG5nIDEKekh0IHRoIDEKeFRsIGxlIDEKRHZ0IHRoIDEKd21VIG1lIDEKeGhtIHRoIDEKaEN4IHRoIDEKdndWIHZhIDEKenZMIHZhIDEKbkdmIG50IDEKampDIGlqIDEKVWNnIGNoIDEKcFdmIHByIDEKanhHIGlqIDEKTXFuIHF1IDEKeXZXIHZhIDEKbFdrIGthIDEKbWRPIG1lIDEKcU5tIHF1IDEKUndnIG5nIDEKeGZ2IHZhIDEKdU93IHF1IDEKeGhaIHRoIDEKakxyIGVyIDEKZkJ5IGZvIDEKblVqIG50IDEKbFRnIG5nIDEKamxQIGlqIDEKd3JSIGVyIDEKclh3IGVyIDEKZVZ3IHZlIDEKelduIG5nIDEKbUpzIHN6IDEKTWd5IG5nIDEKdVpxIHF1IDEKVGRnIG5nIDEKbXFJIHF1IDEKRGhwIHRoIDEKcG1LIG1lIDEKU3NmIHN6IDEKc1dsIHN6IDEKaXFLIHF1IDEKZ2pHIG5nIDEKZGpCIGlqIDEKd0t2IHZhIDEKd3ZJIHZhIDEKdGNVIHRoIDEKdGtHIHRoIDEKelVlIHRlIDEKbFVoIHRoIDEKbkJnIG50IDEKZEh4IGRlIDEKV2J6IHN6IDEKdnVRIHF1IDEKSHBsIGxlIDEKb1ZqIGlqIDEKdkJiIHZhIDEKVGR6IHN6IDEKcGZWIHByIDEKcWdOIHF1IDEKcGNVIGNoIDEKZ2NOIGNoIDEKdmtBIHZhIDEKY1FmIGNoIDEKWXp4IHN6IDEKeXBGIHByIDEKdkJ3IHZhIDEKcFBkIGRlIDEKcW1VIHF1IDEKZVdmIHZlIDEKalpyIGVyIDEKSHdsIGxlIDEKeXlJIG55IDEKWmZoIHRoIDEKTGd3IG5nIDEKdXFwIHF1IDEKeE9qIGlqIDEKZGtKIGtvIDEKZHFNIHF1IDEKc2JXIGlzIDEKek1wIHN6IDEKbkp6IG5nIDEKa01jIGtvIDEKenFXIHF1IDEKdlFrIHZhIDEKZXFEIHF1IDEKaEZuIHRoIDEKdmNaIGNoIDEKeEdrIGthIDEKa3pmIHN6IDEKeFp4IHhlIDEKcXZOIHF1IDEKeWtZIGthIDEKYnJIIGVyIDEKV3JoIHRoIDEKd2pFIGlqIDEKa2pRIGthIDEKZkxqIGlqIDEKbWdFIG5nIDEKeHdJIHdhIDEKaUR3IHRpIDEKQnR4IHRoIDEKdlB6IHZhIDEKeXFIIHF1IDEKd0ZlIGVyIDEKbFF5IGxlIDEKZ0JwIG5nIDEKamRZIGRlIDEKdHZRIHRoIDEKbGpPIGxlIDEKTnNxIHF1IDEKeGRPIGRlIDEKZ3pXIG5nIDEKd3RNIHRoIDEKcWZSIHF1IDEKalpoIHRoIDEKV2NiIGNoIDEKZHZRIHZhIDEKakhiIGlqIDEKeGJNIGJlIDEKbldnIG50IDEKWXdqIGlqIDEKWHdqIGlqIDEKcHhLIHByIDEKeWJRIGJlIDEKV3ZtIHZhIDEKTGd6IG5nIDEKYnRTIHRoIDEKalJsIGxlIDEKcXFKIHF1IDEKQ25xIHF1IDEKRm13IG1lIDEKZHZQIHZhIDEKdnFCIHF1IDEKZGpJIGRlIDEKalZxIHF1IDEKZnZaIHZhIDEKQ3d0IHRoIDEKVXliIGJlIDEKRmZjIGNoIDEKc29YIHN6IDEKcWhSIHRoIDEKZld6IHN6IDEKdnJYIHZhIDEKZU9xIHF1IDEKYndaIGJlIDEKZG5WIG5nIDEKR2J3IGJlIDEKeEdkIGRlIDEKbW5aIG5nIDEKYnBOIHByIDEKZHpYIGRlIDEKQnhxIHF1IDEKenB4IHN6IDEKZHFaIHF1IDEKeFRmIGZvIDEKd1B2IHZhIDEKY3hxIHF1IDEKaGRUIHRoIDEKeXdYIHdhIDEKVXZ2IHZhIDEKcktwIGVyIDEKc2RGIGRlIDEKSmNnIGNoIDEKeHpPIHN6IDEKeFR0IHRoIDEKZGpQIGRlIDEKZ1RuIG5nIDEKR3RwIHRoIDEKeGdBIG5nIDEKYmRMIGRlIDEKd3pPIHN6IDEKZmhJIHRoIDEKV21wIG1lIDEKUWR0IHRoIDEKdVlxIHF1IDEKcGJKIHByIDEKalJkIGRlIDEKWHN4IHN6IDEKemdJIG5nIDEKcWhZIHRoIDEKR2dqIG5nIDEKRmpxIHF1IDEKUXdrIGthIDEKenhXIHN6IDEKdkNjIGNoIDEKY2NMIGNoIDEKS3hzIHN6IDEKbVlyIGVyIDEKclF0IGVyIDEKWnhzIHN6IDEKaGRRIHRoIDEKZHdIIGRlIDEKWW1sIGxlIDEKcVZ6IHF1IDEKUnZsIHZhIDEKeUhrIGthIDEKV2p0IHRoIDEKaE13IHRoIDEKcHpVIHN6IDEKZ2NMIGNoIDEKcU9hIHF1IDEKZXFJIHF1IDEKaVlwIHRpIDEKdkNxIHF1IDEKdW9WIHJvIDEKZlp4IGZvIDEKcVFkIHF1IDEKcWRFIHF1IDEKcVd4IHF1IDEKWWtqIGlqIDEKRnBqIGlqIDEKekd2IHZhIDEKcndPIGVyIDEKUXpxIHF1IDEKS3FiIHF1IDEKemdUIG5nIDEKanNaIHN6IDEKYUhxIHF1IDEKeWpMIGlqIDEKWWN3IGNoIDEKYm5QIGFuIDEKdlduIGFuIDEKenlZIHN6IDEKelJzIHN0IDEKd3VQIHF1IDEKdmpCIHZhIDEKanJUIGVyIDEKdndKIHZhIDEKZFZqIGRlIDEKenZXIHZhIDEKZFprIGRlIDEKbnJHIGFuIDEKcXNVIHF1IDEKUHZzIHZhIDEKbExoIHRoIDEKcUN6IHF1IDEKZHZWIGRlIDEKUGp3IGlqIDEKS21qIGlqIDEKSmZoIHRoIDEKbndZIGFuIDEKZ3dDIG5nIDEKdkdiIHZhIDEKcVdyIHF1IDEKcXBXIHF1IDEKZEtrIGRlIDEKeVdiIGJlIDEKam1OIGlqIDEKZ3BWIG5nIDEKcXpTIHF1IDEKb1poIHRoIDEKUW10IHRoIDEKbU5rIG1lIDEKeXBNIHByIDEKbHdIIGxlIDEKekhzIHN6IDEKanpDIGpvIDEKb0poIHRoIDEKTHFoIHRoIDEKaFhnIHRoIDEKeEVmIGZvIDEKdVd4IHF1IDEKa3ZUIHZhIDEKenNHIHN6IDEKbFN4IGxlIDEKcUtiIHF1IDEKUXllIGRlIDEKeEhrIGthIDEKQ3dwIHByIDEKem1KIHN6IDEKeHVMIHF1IDEKYmRIIGRlIDEKUGJ3IHdhIDEKcWRYIHF1IDEKbFZjIGNoIDEKYnFMIHF1IDEKd05zIHN6IDEKdnpOIHZhIDEKcWpBIHF1IDEKWmhmIHRoIDEKeXBKIHByIDEKeE1xIHF1IDEKYlRrIGthIDEKdExmIHRoIDEKeGdSIG5nIDEKa1F6IHN6IDEKUmpwIGlqIDEKeGhHIHRoIDEKYkNjIGNoIDEKaGJGIHRoIDEKcnhRIGVyIDEKcVZwIHF1IDEKYmtZIGthIDEKcVBsIHF1IDEKalFrIGlqIDEKT3ZxIHF1IDEKc1Z2IHZhIDEKcG1VIG1lIDEKdUZ2IHF1IDEKeGFaIHZhIDEKZ0duIGFuIDEKcGdJIG5nIDEKelRqIHN6IDEKbHZDIHZhIDEKd0d2IHZhIDEKck52IHZhIDEKUXRxIHRoIDEKdk5oIHRoIDEKbFB2IHZhIDEKSmRxIHF1IDEKWGRqIGRlIDEKeXFrIHF1IDEKaXdZIHRpIDEKTm1xIHF1IDEKZlRwIHByIDEKcXpRIHF1IDEKcGpBIGlqIDEKcHZIIHZhIDEKeExqIGlqIDEKcVdoIHRoIDEKdlZxIHF1IDEKZ1FkIGRlIDEKc3ZZIHZhIDEKZkxmIGZvIDEKcXpCIHF1IDEKRHhnIG5nIDEKdXpZIHF1IDEKZ1Z6IHN6IDEKaFpiIHRoIDEKR3B4IHByIDEKeHFoIHRoIDEKZ2NYIGNoIDEKSHhkIGRlIDEKdFVxIHRoIDEKYktwIHByIDEKaUd4IHRpIDEKeHZRIHZhIDEKbHhBIGxlIDEKc2pIIHN0IDEKR3FvIHF1IDEKZGdRIGRlIDEKeURrIGthIDEKWm52IHZhIDEKdmZVIHZhIDEKdnVEIHF1IDEKb1FqIGlqIDEKYmhEIHRoIDEKcUxqIHF1IDEKbWRZIGRlIDEKclpiIGVyIDEKa0R2IHZhIDEKZnNLIHN6IDEKS3FmIHF1IDEKeVdsIGxlIDEKbVZ3IG1lIDEKbWNWIGNoIDEKdERmIHRoIDEKbEFvIGxlIDEKZnpSIHN6IDEKWHJxIHF1IDEKanJaIGVyIDEKcW1OIHF1IDEKSm5wIGFuIDEKamhDIHRoIDEKa3FSIHF1IDEKZFduIGRlIDEKV213IG1lIDEKUmd5IG5nIDEKdXZOIHF1IDEKamlZIHRpIDEKeFdjIGNoIDEKeUpyIGVyIDEKb0hxIHF1IDEKeXZ3IHZhIDEKWWRuIGRlIDEKTnZxIHF1IDEKR212IHZhIDEKeHhaIHhlIDEKWGRmIGRlIDEKeFloIHRoIDEKVm52IGFuIDEKak56IHN6IDEKV25xIHF1IDEKWHdrIGthIDEKcVd6IHF1IDEKbVFzIHN6IDEKVnhiIGJlIDEKeHdHIHdhIDEKd3ZwIHZhIDEKZ21WIG5nIDEKUnpxIHF1IDEKQ3B3IHByIDEKR3l5IG55IDEKeHpBIHN6IDEKd0d4IHdhIDEKYnFTIHF1IDEKd2hSIHRoIDEKalBjIGNoIDEKaXFHIHF1IDEKZGpLIGRlIDEKY1ZrIGNoIDEKcndUIGVyIDEKVmhuIHRoIDEKSGZ3IHdhIDEKYm5KIGFuIDEKQ3BkIGRlIDEKTm1kIGRlIDEKZG5PIGFuIDEKcVdjIHF1IDEKYVZxIHF1IDEKcU9uIHF1IDEKUWxyIGVyIDEKcW5OIHF1IDEKckxxIHF1IDEKd3RFIHRoIDEKamdSIG5nIDEKWXFwIHF1IDEKSHdnIG5nIDEKbldrIGFuIDEKd3FCIHF1IDEKZkFwIHByIDEKaFp2IHRoIDEKS3pwIHN6IDEKZk5rIGthIDEKVGtkIGRlIDEKdVltIHF1IDEKa2NSIGNoIDEKeE5sIGxlIDEKa0hrIGthIDEKYkprIGthIDEKampEIGlqIDEKTmxxIHF1IDEKZGhCIHRoIDEKalhsIGxlIDEKbndCIGFuIDEKSHpiIHN6IDEKcVF6IHF1IDEKZktjIGNoIDEKalZ3IGlqIDEKeWxVIGxlIDEKTHpqIHN6IDEKc1h1IHF1IDEKd0J3IHdhIDEKSXFnIHF1IDEKd2pWIGlqIDEKd3h0IHRoIDEKanpLIHN6IDEKckRkIGRlIDEKdVF5IHF1IDEKcUd3IHF1IDEKdGJVIHRoIDEKa1VvIGthIDEKZFZtIGRlIDEKRGRuIGFuIDEKdnFDIHZvIDEKamtaIGlqIDEKTHZ6IHZhIDEKdFB5IHRoIDEKVmZqIGlqIDEKUWhiIHRoIDEKd2hCIHRoIDEKRnFmIHF1IDEKaEN2IHRoIDEKRmpmIGlqIDEKUWZyIGVyIDEKendGIHN6IDEKRndmIHdhIDEKcHZVIHZhIDEKd2hDIHRoIDEKaFRrIHRoIDEKZGxRIGRlIDEKd3pMIHN6IDEKenFTIHF1IDEKcXRQIHRoIDEKeWhDIHRoIDEKeWpCIGlqIDEKaVRkIGRlIDEKa0x4IGthIDEKUnFpIHF1IDEKcWpTIHF1IDEKdmpJIHZhIDEKcEd6IHN6IDEKd25WIGFuIDEKbFF4IGxlIDEKdXZTIHF1IDEKWmdlIGRlIDEKZ0p2IG5nIDEKWWRiIGRlIDEKd0RoIHRoIDEKendWIHN6IDEKaE5tIHRoIDEKendRIHN6IDEKZlJyIGVyIDEKd1ZyIGVyIDEKbktnIGFuIDEKVGdnIG5nIDEKYllwIHByIDEKbEJuIGFuIDEKempwIHN6IDEKcUFmIHF1IDEKem1LIG1lIDEKd3FLIHF1IDEKdmpUIHZhIDEKTHFsIHF1IDEKc25DIGFuIDEKZnpZIHN6IDEKdnFVIHF1IDEKbUdiIG1lIDEKZmtQIGthIDEKd1FnIG5nIDEKRnF0IHRoIDEKYlZtIG1lIDEKV2N4IGNoIDEKd3BZIHdhIDEKbEZ2IHZhIDEKZ3dEIG5nIDEKZ1dwIG5nIDEKZmpUIGlqIDEKcEZ0IHRoIDEKaUlwIGluIDEKdGJEIHRoIDEKWHFjIHF1IDEKUWtjIGNoIDEKcWVaIHF1IDEKcVBiIHF1IDEKZ3dMIG5nIDEKZkhpIGluIDEKeHdQIHdhIDEKeHZCIHZhIDEKalN3IGlqIDEKcHpGIHN6IDEKd1lwIHdhIDEKZER4IGRlIDEKbkJ4IGFuIDEKY052IGNoIDEKVWJtIG1lIDEKeFh1IHF1IDEKZFJsIGRlIDEKZEJ6IGRlIDEKWHZoIHRoIDEKWGxkIGRlIDEKbXdZIG1lIDEKd2hRIHRoIDEKTXpsIGxlIDEKQXFqIHF1IDEKdURwIHF1IDEKY2paIGNoIDEKVmtmIGthIDEKdUdxIHF1IDEKaEJzIHRoIDEKcUxoIHRoIDEKdGZXIHRoIDEKY1BuIGFuIDEKeG9OIG9uIDEKWWR4IGRlIDEKTHhrIGthIDEKY2NaIGNoIDEKdUpoIHRoIDEKc1ZwIHN6IDEKd3JFIGVyIDEKeGdQIG5nIDEKaFBwIHRoIDEKZXVVIHF1IDEKc1poIHRoIDEKcW5LIHF1IDEKQmdoIHRoIDEKc2xRIGxlIDEKZ3hBIG5nIDEKakxkIGRlIDEKem5EIGFuIDEKa1hrIGthIDEKdGZWIHRoIDEKVndsIGxlIDEKeFdkIGRvIDEKeG5IIGFuIDEKY09xIGNoIDEKTGtrIGthIDEKTnZ5IHZhIDEKeEloIHRoIDEKeGtLIGthIDEKck1yIGVyIDEKcm1RIGVyIDEKYlBuIGFuIDEKZkFhIGFuIDEKdlF2IHZhIDEKZkhyIGVyIDEKUG12IHZhIDEKdnpKIHN6IDEKd1RnIG5nIDEKYldjIGNoIDEKWndnIG5nIDEKZ0t4IG5nIDEKR2JxIHF1IDEKd01rIGthIDEKTmZ4IGZvIDEKZkFvIG9uIDEKZEhiIGRlIDEKbHhIIGxlIDEKZHFPIHF1IDEKVGxxIHF1IDEKWWpqIGlqIDEKSXloIHRoIDEKdW9ZIHF1IDEKbWhIIHRoIDEKbE1qIGxlIDEKZnpGIHN6IDEKZnJSIGVyIDEKeU5sIGxlIDEKYVB2IGFuIDEKeXdHIHdhIDEKQ213IG1lIDEKc3ZLIHZhIDEKc3JPIGVyIDEKVWh6IHRoIDEKdlBuIGFuIDEKelRxIHF1IDEKa3pIIHN6IDEKSW94IG9uIDEKZlFhIGFuIDEKd1pyIGVyIDEKbnFVIGFuIDEKd1BiIHdhIDEKVHpnIG5nIDEKcG5SIGFuIDEKdmZKIHZhIDEKdnlYIHZhIDEKZkx6IHN6IDEKempQIHN6IDEKcG1SIG1lIDEKZVBxIHF1IDEKanlUIGlqIDEKbWpQIGlqIDEKZnNIIHN6IDEKdndCIHZhIDEKWW5yIGFuIDEKVHFoIHRoIDEKTHZ2IHZhIDEKdENmIHRoIDEKd3BCIHdhIDEKd1hoIHRoIDEKbWhYIHRoIDEKa1lkIGRlIDEKRHBnIG5nIDEKeWdSIG5nIDEKUmZwIHByIDEKSnlxIHF1IDEKeXhxIHF1IDEKcFBjIGNoIDEKYU9qIGFuIDEKWnd3IHdhIDEKZkZ4IGZvIDEKYkRoIHRoIDEKcUt4IHF1IDEKd0h4IHdhIDEKaHJYIHRoIDEKckZoIHRoIDEKbEx4IGxlIDEKYVlqIGFuIDEKa0NzIHN6IDEKbFd0IHRoIDEKcGRZIGRlIDEKc3dJIHN6IDEKYkx3IHdhIDEKTXp4IHN6IDEKY0trIGNoIDEKaE16IHRoIDEKSmN1IHF1IDEKd2pCIGlqIDEKTXFlIHF1IDEKcnhXIGVyIDEKZ1p2IG5nIDEKUmZuIGFuIDEKcHdEIHdhIDEKbGhYIHRoIDEKZlZnIG5nIDEKdmZXIHZhIDEKbHhQIGxlIDEKWXlqIGlqIDEKaFBnIHRoIDEKVXhxIHF1IDEKYmRPIGRlIDEKYlJ6IHN6IDEKZFhxIHF1IDEKUmpxIHF1IDEKZmdWIG5nIDEKeEFmIGZvIDEKd1huIGFuIDEKS3Z2IHZhIDEKc3ZMIHZhIDEKZld2IHZhIDEKZHJRIGVyIDEKTHB2IHZhIDEKcUtwIHF1IDEKZUN2IGVyIDEKeHdIIHdhIDEKY3ZDIGNoIDEKa1VmIGthIDEKb1B4IG9uIDEKdGpKIHRoIDEKYkJrIGthIDEKdnBJIHZhIDEKZ3pZIG5nIDEKb1pzIG9uIDEKcEtjIGNoIDEKeEtzIHN6IDEKcWNIIHF1IDEKVmZtIG1lIDEKc3ZNIHZhIDEKVmp4IGlqIDEKbFZ3IGxlIDEKd1dmIHdhIDEKWHB4IHByIDEKbGNBIGNoIDEKdExjIHRoIDEKbERnIG5nIDEKWGpoIHRoIDEKWGRoIHRoIDEKckttIGVyIDEKZm5XIGFuIDEKVGNiIGNoIDEKcWdYIHF1IDEKcVpvIHF1IDEKZUp2IGVyIDEKWXh5IG55IDEKa2ZNIGthIDEKcUtlIHF1IDEKdk1mIHZhIDEKZGdZIGRlIDEKZ0dkIG5nIDEKVmNqIGNoIDEKU2Z3IHdhIDEKeERrIGthIDEKZlRjIGNoIDEKcVJ3IHF1IDEKdE9hIHRoIDEKZ3VRIHF1IDEKbWdKIG5nIDEKYlJkIGRlIDEKa1lxIHF1IDEKeHdEIHdhIDEKdlhzIHZhIDEKemxDIGxlIDEKa21IIGthIDEKamhaIHRoIDEKV3hvIG9uIDEKdnRYIHRoIDEKaVdtIGluIDEKcVZ4IHF1IDEKSGp2IHZhIDEKUHhzIHN6IDEKYllpIGluIDEKd2dHIG5nIDEKSnZzIHZhIDEKZ0hoIHRoIDEKS3p5IHN6IDEKeGpJIGlqIDEKdVZiIHF1IDEKUHpxIHF1IDEKaHhDIHRoIDEKd1B5IHdhIDEKYlhoIHRoIDEKanpZIHN6IDEKZnFKIHF1IDEKcXhYIHF1IDEKdmZCIHZhIDEKcFBtIG1lIDEKYnBDIHByIDEKaEZ2IHRoIDEKQ3FsIHF1IDEKZHdJIGRlIDEKVGNxIGNoIDEKWmp4IGlqIDEKd096IHN6IDEKSmZqIGlqIDEKaVpyIGluIDEKVnhmIGZvIDEKTHB4IHByIDEKZkh0IHRoIDEKaEZ5IHRoIDEKbGNEIGNoIDEKdk1jIGNoIDEKeHlVIG55IDEKbUdxIHF1IDEKd0p2IHZhIDEKektzIHN6IDEKbE1tIGxlIDEKbXFVIHF1IDEKdkhnIG5nIDEKbEdjIGNoIDEKZUlqIHRlIDEKVmRoIHRoIDEKckNrIGVyIDEKd1FoIHRoIDEKWXdmIHdhIDEKelVmIHN6IDEKcVpzIHF1IDEKdk50IHRoIDEKRHhqIGlqIDEKY1lyIGNoIDEKZEt0IHRoIDEKdkRwIHZhIDEKcW5GIGFuIDEKTHNqIHN6IDEKeEh2IHZhIDEKakN0IHRoIDEKYm5YIGFuIDEKZkJ4IGZvIDEKalZ0IHRoIDEKcU95IHF1IDEKdXFEIHF1IDEKUmZ3IHdhIDEKY2pTIGNoIDEKdWZYIHF1IDEKZnZJIHZhIDEKT3d4IHdhIDEKZ1h3IG5nIDEKb0N2IHZhIDEKTXJ4IGVyIDEKY0liIGNoIDEKZkpqIGlqIDEKa3FNIHF1IDEKenFMIHF1IDEKclB6IGVyIDEKaXdXIGluIDEKY01wIGNoIDEKbFZ0IHRoIDEKdlRiIHZhIDEKSXdmIHdhIDEKeGxaIGxlIDEKdmpRIHZhIDEKaVBiIGluIDEKV2hrIHRoIDEKV3ZoIHRoIDEKbXpEIHN6IDEKSHFrIHF1IDEKanFCIHF1IDEKcWhNIHRoIDEKcHJSIGVyIDEKbmxWIGFuIDEKcVlrIHF1IDEKelZwIHN6IDEKdnBPIHZhIDEKUnZyIGVyIDEKc2NZIGNoIDEKcWRBIHF1IDEKdkxrIHZhIDEKc3ZJIHZhIDEKbWRFIGRlIDEKaEJ4IHRoIDEKWnJ2IGVyIDEKald0IHRoIDEKZlR4IGZvIDEKWXBjIGNoIDEKbU1rIGthIDEKZmRxIHF1IDEKaGNLIHRoIDEKeEN5IG55IDEKZlZyIGVyIDEKYVB4IGFuIDEKZnBVIHByIDEKVmtiIGthIDEKdGJNIHRoIDEKelF0IHRoIDEKZ3hWIG5nIDEKU2ZnIG5nIDEKcFlsIGxlIDEKZ1d0IHRoIDEKeEViIGJlIDEKbVh5IG1lIDEKbG5RIGFuIDEKcW1MIHF1IDEKVmt5IGthIDEKd3dYIHdhIDEKVXd4IHdhIDEKY2ZCIGNoIDEKR3hwIHByIDEKZnBMIHByIDEKalR4IGlqIDEKY1p2IGNoIDEKemxLIGxlIDEKaEJjIHRoIDEKV3FpIHF1IDEKbEdzIGxlIDEKRHF6IHF1IDEKSmd3IG5nIDEKZ0N4IG5nIDEKY05qIGNoIDEKY3FKIGNoIDEKYmxEIGxlIDEKcVhyIHF1IDEKa1hyIGVyIDEKa2hLIHRoIDEKeFpoIHRoIDEKalNzIHN6IDEKeWp4IGlqIDEKSHdmIHdhIDEKZlhzIHN6IDEKcWd6IHF1IDEKWGR3IGRlIDEKaGNOIHRoIDEKakpkIGRlIDEKY21RIGNoIDEKbXZWIHZhIDEKTnFlIHF1IDEKenhTIHN6IDEKa0d0IHRoIDEKdEZnIHRoIDEKZnpNIHN6IDEKWHJyIGVyIDEKZGNKIGNoIDEKZFFhIGFuIDEKcU55IHF1IDEKaHhUIHRoIDEKdHdCIHRoIDEKQnFqIHF1IDEKcHJLIGVyIDEKemRDIGRlIDEKeUFvIG9uIDEKZEx0IHN0IDEKcGdGIG5nIDEKdmdXIG5nIDEKdnBOIHZhIDEKSXZ4IHZhIDEKdllsIGxlIDEKeFJnIG5nIDEKalB1IHF1IDEKT3FyIHF1IDEKdmpnIG5nIDEKZHBIIGRlIDEKeURwIHByIDEKeGZKIGZvIDEKZnFWIHF1IDEKZUJmIGVyIDEKWmt3IGthIDEKcUhwIHF1IDEKQXF6IHF1IDEKYk53IHdhIDEKZmpYIGlqIDEKZnFTIHF1IDEKbGpLIGxlIDEKR2tmIGthIDEKYlNmIGJlIDEKTXhnIG5nIDEKRHFtIHF1IDEKaEtwIHRoIDEKd0ZxIHF1IDEKd21KIG1lIDEKdnpUIHZhIDEKcmhKIHRoIDEKbkhmIGFuIDEKakpvIG9uIDEKcVd5IHF1IDEKV3ZrIHZhIDEKZ2tCIG5nIDEKbUV3IG1lIDEKVWd4IG5nIDEKUW15IG1lIDEKTGpxIHF1IDEKYkdwIHByIDEKbEhnIG5nIDEKY0dnIGNoIDEKZ0ZrIG5nIDEKeG5WIGFuIDEKZUZ5IGVyIDEKTmZtIG1lIDEKaFNmIHRoIDEKZ1hqIG5nIDEKeEhmIGZvIDEKdXFqIHF1IDEKd1hhIGFuIDEKdmNUIGNoIDEKdUp3IHF1IDEKcFd4IHByIDEKcXBRIHF1IDEKaHFFIHRoIDEKWWZuIGFuIDEKanJJIGVyIDEKY2dLIGNoIDEKeXlQIG55IDEKWm1nIG5nIDEKTGtjIGNoIDEKZVVxIHF1IDEKanJZIGVyIDEKa0ZzIHN6IDEKc1VxIHF1IDEKamxaIGxlIDEKY25WIGNoIDEKYVBqIGFuIDEKbWpFIGlqIDEKcFpsIGxlIDEKdUZzIHF1IDEKS25mIGFuIDEKRnBjIGNoIDEKaGZSIHRoIDEKcW5DIGFuIDEKRGxxIHF1IDEKZnJNIGVyIDEKc2ZCIHN6IDEKR3hrIGthIDEKRmtqIGlqIDEKdkdrIHZhIDEKZ1JtIG5nIDEKcldmIGVyIDEKcll2IGVyIDEKcUVkIHF1IDEKcUhyIHF1IDEKU212IHZhIDEKbEZwIGxlIDEKa0RzIHN6IDEKZFNkIGRlIDEKckx3IGVyIDEKY25aIGFuIDEKV2pwIGlqIDEKcFRxIHF1IDEKS2N4IGNoIDEKdktzIHZhIDEKYmNLIGNoIDEKdnd5IHZhIDEKVWp4IGlqIDEKUXZyIGVyIDEKZGNWIGNoIDEKeFZmIGZvIDEKdUlrIHF1IDEKamxOIGxlIDEKdndMIHZhIDEKZldwIHByIDEKUHhyIGVyIDEKclJiIGVyIDEKYmZEIGJlIDEKeUN4IG55IDEKbkpzIGFuIDEKZENtIGRlIDEKY2JHIGNoIDEKZ0NmIG5nIDEKdG1WIHRoIDEKcWVDIHF1IDEKa25TIGFuIDEKZ3dZIG5nIDEKV2psIGxlIDEKbUl3IG1lIDEKcWpXIHF1IDEKZ3d2IG5nIDEKcUp3IHdhIDEKY25BIGFuIDEKYkJtIG1lIDEKZ0Z3IG5nIDEKd0RuIGFuIDEKcWdMIHF1IDEKbFVhIGFuIDEKaERuIHRoIDEKa0h4IGthIDEKd1htIG1lIDEKcXlZIHF1IDEKcGtEIGthIDEKc0x6IHN0IDEKenhGIHN6IDEKdk14IHZhIDEKcGxSIGxlIDEKcHdaIHByIDEKcFlkIGRlIDEKemZMIHN6IDEKenRLIHRoIDEKbVRtIG1lIDEKZENwIGRlIDEKYnd4IHdhIDEKeENzIHN6IDEKdGZGIHRoIDEKTG5xIGFuIDEKZFlpIGluIDEKcFdxIHF1IDEKb0l4IG9uIDEKeXdFIHdhIDEKd05rIGthIDEKandPIGlqIDEKeFp6IHN6IDEKd0dtIG1lIDEKY1Z3IGNoIDEKYmpLIGlqIDEKR3pnIG5nIDEKa3d6IHN6IDEKcEJuIGFuIDEKY1R4IGNoIDEKckhxIHF1IDEKV3NnIG5nIDEKeEVoIHRoIDEKeXJLIGVyIDEKbU1iIG1lIDEKcEh3IHByIDEKY2pOIGNoIDEKblhuIGFuIDEKYndPIHdhIDEKZmxCIGxlIDEKUXFqIHF1IDEKbUt2IHZhIDEKZkZuIGFuIDEKd2ZHIHdhIDEKd2ZCIHdhIDEKSnFrIHF1IDEKYndLIHdhIDEKaGhJIHRoIDEKbFVlIGVyIDEKd0ZkIGRlIDEKdmtUIHZhIDEKeExnIG5nIDEKZmhCIHRoIDEKd21WIG1lIDEKdG1GIHRoIDEKUnRjIHRoIDEKZHlZIGRlIDEKanl3IGlqIDEKa1JmIGthIDEKZlh6IHN6IDEKWm56IGFuIDEKd3FYIHF1IDEKdU14IHF1IDEKZ3dWIG5nIDEKUGJoIHRoIDEKZGNNIGNoIDEKblB6IGFuIDEKY3dVIGNoIDEKdkp0IHRoIDEKZ3lRIG5nIDEKZlhpIGluIDEKYnNaIHN6IDEKQnFpIHF1IDEKdkduIGFuIDEKa25OIGFuIDEKd1lxIHF1IDEKdFRiIHRoIDEKYm1QIG1lIDEKanBaIGlqIDEKTXF3IHF1IDEKdmpNIHZhIDEKcVZoIHRoIDEKanVZIHF1IDEKckJrIGVyIDEKanVJIHF1IDEKekVxIHF1IDEKeldnIG5nIDEKZnpIIHN6IDEKdEx4IHRoIDEKTmNmIGNoIDEKa2ZOIGthIDEKdVVvIHF1IDEKZkNzIHN6IDEKdEN2IHRoIDEKc1V5IHN6IDEKcEJmIHByIDEKakJ6IHN6IDEKdkRjIGNoIDEKcW14IHF1IDEKcXRLIHRoIDEKcWNTIGNoIDEKdlB0IHRoIDEKZ1FtIG5nIDEKaHpSIHRoIDEKZGNMIGNoIDEKeHJJIGVyIDEKZHZOIHZhIDEKQ3d2IHZhIDEKeGhRIHRoIDEKR3p1IHF1IDEKcGRPIGRlIDEKQnFyIHF1IDEKdkxuIGFuIDEKbHhmIGxlIDEKdllrIHZhIDEKd1NxIHF1IDEKcGtTIGthIDEKektnIG5nIDEKdFBtIHRoIDEKUG1qIGlqIDEKbFd1IHF1IDEKWHV1IHF1IDEKamNYIGNoIDEKeHpRIHN6IDEKR3p3IHN6IDEKZVBtIGVyIDEKZndXIHdhIDEKcXdBIHF1IDEKdlF0IHRoIDEKYnhQIGJlIDEKZG1EIGRlIDEKYXdRIGFuIDEKZlZmIGZvIDEKYndZIHdhIDEKWnh0IHRoIDEKWGhrIHRoIDEKZ1lrIG5nIDEKekNmIHN6IDEKeWZRIG55IDEKekd3IHN6IDEKZ3ZFIG5nIDEKZ0N2IG5nIDEKb1BmIG9uIDEKelhpIGluIDEKaHZJIHRoIDEKaHpTIHRoIDEKbWZYIG1lIDEKZFBkIGRlIDEKTHJmIGVyIDEKbHJHIGVyIDEKbVlmIG1lIDEKaE5qIHRoIDEKcUFqIHF1IDEKc3hRIHN0IDEKa1RsIGxlIDEKcU9mIHF1IDEKSmR4IGRlIDEKc3dLIHN6IDEKalFiIGlqIDEKRHFwIHF1IDEKY1d2IGNoIDEKZHhFIGRlIDEKc1hqIHN6IDEKbnZCIGFuIDEKd1hmIHdhIDEKQ3FpIHF1IDEKYnpXIHN6IDEKclJmIGVyIDEKbVpqIGlqIDEKYm5GIGFuIDEKcWFHIGFuIDEKQnFzIHF1IDEKbE1uIGFuIDEKd0hwIHByIDEKTGpjIGNoIDEKTXdmIHdhIDEKcHpLIHN6IDEKbVBiIG1lIDEKcWpFIHF1IDEKd1JyIGVyIDEKeFpmIGZvIDEKbnFHIGFuIDEKdlZiIHZhIDEKcGpDIGlqIDEKdUhsIHF1IDEKakRuIGFuIDEKcHFYIHF1IDEKcHFrIHF1IDEKeGdVIG5nIDEKd0p4IHdhIDEKem5LIGFuIDEKcmhCIHRoIDEKdkRxIHF1IDEKc0pjIGNoIDEKWGtoIHRoIDEKbG5KIGFuIDEKYlJxIHF1IDEKZnpBIHN6IDEKYlFlIGVyIDEKVHh3IHdhIDEKYmtHIGthIDEKeXdaIHdhIDEKeldjIGNoIDEKbGhMIHRoIDEKZ21GIG5nIDEKc2ZRIHN6IDEKem1HIHN6IDEKT2d6IG5nIDEKeHVBIHF1IDEKcUFxIHF1IDEKekR3IHN6IDEKbFZ1IHF1IDEKeFJ3IHdhIDEKeG1NIG1lIDEKcHhCIHByIDEKenRUIHRoIDEKa3pKIHN6IDEKbkZ6IGFuIDEKdVZ6IHF1IDEKcG5RIGFuIDEKcEd0IHRoIDEKWGRuIGFuIDEKZlZ6IHN6IDEKTWhnIHRoIDEKWHFvIHF1IDEKc0hxIHF1IDEKandDIGlqIDEKdmtHIHZhIDEKWGt4IGthIDEKdFJnIHRoIDEKbnZWIGFuIDEKcXdHIHF1IDEKVmhoIHRoIDEKendPIHN6IDEKcVFiIHF1IDEKY3JSIGNoIDEKTXJxIHF1IDEKb1FlIGVyIDEKbUJ0IHRoIDEKdlV5IHZhIDEKdHdXIHRoIDEKUWduIGFuIDEKTnh1IHF1IDEKcWhGIHRoIDEKeHBYIHByIDEKZnZEIHZhIDEKQ3Z5IHZhIDEKb0hqIG9uIDEKUXFvIHF1IDEKdllkIGRlIDEKeGhWIHRoIDEKZlpmIGZvIDEKeUttIG1lIDEKeFlxIHF1IDEKZmNVIGNoIDEKcUVwIHF1IDEKalhkIGRlIDEKbWxRIGxlIDEKR2d6IG5nIDEKY0xwIGNoIDEKeXhVIG55IDEKZ3ZKIG5nIDEKd3FEIHF1IDEKdnNOIHN6IDEKSWpmIGlqIDEKamJKIGlqIDEKYk14IGJlIDEKa1hzIHN6IDEKZ3JUIG5nIDEKd09kIGRlIDEKcEd3IHByIDEKR2tkIGRlIDEKcUNqIHF1IDEKaHFZIHRoIDEKckRwIGVyIDEKblF0IHRoIDEKa2RWIGRlIDEKYmdTIG5nIDEKVHFvIHF1IDEKZkVqIGlqIDEKaFpzIHRoIDEKalluIGFuIDEKYlB4IGJlIDEKaGdZIHRoIDEKUHZ5IHZhIDEKZnhLIGZvIDEKSHd3IHdhIDEKeFJrIGthIDEKZG1QIGRlIDEKbWNZIGNoIDEKYnhSIGJlIDEKTHNsIGxlIDEKaFJsIHRoIDEKaXdRIGluIDEKV3F4IHF1IDEKa2ZWIGthIDEKcXdOIHF1IDEKUXB2IHZhIDEKbXJPIGVyIDEKaUZjIHRpIDEKd3pEIHN6IDEKcWJGIHF1IDEKeGZTIGZvIDEKUHFoIHRoIDEKeFliIGJlIDEKbERoIHRoIDEKdnRHIHRoIDEKWHp1IHF1IDEKeGpLIGlqIDEKakR4IGlqIDEKbkNqIGFuIDEKbUNrIGthIDEKcXhQIHF1IDEKb012IG9uIDEKY2dZIGNoIDEKV3F0IHRoIDEKa2tRIGthIDEKdHFPIHRoIDEKam5DIGFuIDEKZkdxIHF1IDEKQmZ2IHZhIDEKdllpIGluIDEKcGNMIGNoIDEKRmdwIG5nIDEKanRSIHRoIDEKdmhGIHRoIDEKd1VpIGluIDEKbk5qIGFuIDEKalR3IGlqIDEKcXNNIHF1IDEKYUpnIGFuIDEKalFlIGVyIDEKR25qIGFuIDEKZm1NIG1lIDEKenFNIHF1IDEKZ2paIG5nIDEKbnhIIGFuIDEKY2RPIGNoIDEKYUF4IGFuIDEKdFV2IHRoIDEKaFhrIHRoIDEKcUJ4IHF1IDEKdGdLIHRoIDEKZlp5IG55IDEKSmt4IGthIDEKcHZEIHZhIDEKYm1UIG1lIDEKb1l4IG9uIDEKaHdWIHRoIDEKbWpCIGlqIDEKYlluIGFuIDEKaUh4IGluIDEKbFloIHRoIDEKcUNpIGluIDEKZmhSIHRoIDEKbkRmIGFuIDEKaENkIHRoIDEKbHhCIGxlIDEKZVhqIGVyIDEKZnZXIHZhIDEKY2NXIGNoIDEKZFRjIGNoIDEKc3FBIHF1IDEKZk50IHRoIDEKemtNIHN6IDEKbFJ2IGxlIDEKcW5JIGFuIDEKeHdDIHdhIDEKenFZIHF1IDEKeVFiIGJlIDEKeHJDIGVyIDEKeEZtIG1lIDEKb2VRIGVyIDEKbUxsIGxlIDEKandUIGlqIDEKZndEIHdhIDEKdnBFIHZhIDEKZmxZIGxlIDEKc1JnIG5nIDEKdlNkIGRlIDEKd3VSIHF1IDEKd3JJIGVyIDEKWXNuIHN0IDEKVmhqIHRoIDEKQ3FoIHRoIDEKWWdiIG5nIDEKaFBxIHRoIDEKbWtCIGthIDEKdFJxIHRoIDEKYWpRIGFuIDEKaGNSIHRoIDEKdkR3IHZhIDEKcFFuIGFuIDEKeGVVIGVyIDEKdmNNIGNoIDEKelZjIGNoIDEKYlJoIHRoIDEKdUZ4IHF1IDEKZmJXIGJlIDEKdVV2IHF1IDEKTmh2IHRoIDEKWWt4IGthIDEKV3RwIHRoIDEKTXpqIHN6IDEKbnBUIGluIDEKWHFrIHF1IDEKeHdOIHdhIDEKaFh3IHRoIDEKekxiIHN6IDEKR3h5IG55IDEKZERxIHF1IDEKQmZ5IG55IDEKZmt4IGthIDEKak9xIHF1IDEKRGRrIGRlIDEKTmpwIGlqIDEKeGpKIGlqIDEKcWhTIHRoIDEKUXdtIG1lIDEKeVdqIGlqIDEKbkZ2IGFuIDEKcExiIHByIDEKcWJCIHF1IDEKc21YIHN6IDEKdG5aIHRoIDEKelFoIHRoIDEKRnpiIHN6IDEKY05iIGNoIDEKaHBWIHRoIDEKQnh6IHN6IDEKeGdHIG5nIDEKUmxqIGxlIDEKaUhxIGluIDEKc3dOIHN6IDEKTmp2IHZhIDEKd1BrIGthIDEKb1J2IG9uIDEKcEpzIHN6IDEKa1p3IGthIDEKdlZzIHN0IDEKVmJ3IHdhIDEKRmZoIHRoIDEKbXpRIHN6IDEKR3ZsIGxlIDEKUGdxIHF1IDEKbFBwIGxlIDEKdkN2IHZhIDEKa05mIGthIDEKYm1EIG1lIDEKbVd0IHRoIDEKc2xGIGxlIDEKcWlYIGluIDEKeVJ0IHRoIDEKbHF4IHF1IDEKcWxqIHF1IDEKc2ZaIHN6IDEKV2Z5IG55IDEKdnJPIGVyIDEKZ3hUIG5nIDEKbHdFIGxlIDEKcWRKIHF1IDEKWXBrIGthIDEKUXBmIHByIDEKWm53IGFuIDEKYmZKIGJlIDEKcVF5IHF1IDEKcUF5IHF1IDEKYXFXIGFuIDEKcXFJIHF1IDEKTHdnIG5nIDEKTm53IGFuIDEKY0x2IGNoIDEKV3R4IHRoIDEKcWNxIGNoIDEKc2pSIHN6IDEKbFduIGFuIDEKWm14IG1lIDEKcVpnIHF1IDEKdFl6IHRoIDEKZ1Z4IG5nIDEKbVh0IHRoIDEKbndKIGFuIDEKandaIGlqIDEKbHdMIGxlIDEKZUd4IGVyIDEKU3FrIHF1IDEKZ0JnIG5nIDEKenNTIHN6IDEKa25RIGFuIDEKTm5mIGFuIDEKcW1UIHF1IDEKU3FwIHF1IDEKZmZRIGZvIDEKVmN2IGNoIDEKZm1EIG1lIDEKellnIG5nIDEKYkF4IGJlIDEKbmJXIGFuIDEKZ0ptIG5nIDEKSnduIGFuIDEKbXhKIG1lIDEKeGJDIGJlIDEKUmJxIHF1IDEKeFpjIGNoIDEKYkp5IGJlIDEKWHlrIGthIDEKemtWIHN6IDEKdW9GIHF1IDEKYmNVIGNoIDEKY1pxIGNoIDEKclBtIGVyIDEKckduIGFuIDEKbGNMIGNoIDEKclZ0IHRoIDEKQ2d3IG5nIDEKQ3RxIHRoIDEKZUd2IGVyIDEKUnpzIHN0IDEKUWh6IHRoIDEKc0x2IHZhIDEKVnFtIHF1IDEKeWRKIGRlIDEKeFZyIGVyIDEKdExrIHRoIDEKcWZ5IHF1IDEKd3hWIHdhIDEKeVJxIHF1IDEKVnhxIHF1IDEKcVl6IHF1IDEKemhNIHRoIDEKbUxuIGFuIDEKWnZ0IHRoIDEKRnZtIHZhIDEKaGNNIHRoIDEKTXdwIHdhIDEKY1RnIGNoIDEKbFhyIGVyIDEKZlFlIGVyIDEKSmJ3IHdhIDEKeWZHIG55IDEKcGhLIHRoIDEKZ2pIIG5nIDEKV2RnIGRlIDEKcFBuIGFuIDEKQndnIG5nIDEKem5CIGFuIDEKZndKIHdhIDEKdXRRIHRoIDEKY2pDIGNoIDEKZlZkIGRlIDEKY1RtIGNoIDEKd012IHZhIDEKS2drIG5nIDEKblJkIGFuIDEKbU10IHRoIDEKeGpRIGlqIDEKcVl0IHRoIDEKc1lqIHN0IDEKak5jIGNoIDEKcVh0IHRoIDEKd3pCIHN6IDEKU2pxIHF1IDEKcXRGIHRoIDEKd1lpIGluIDEKZ2xUIG5nIDEKVXVnIG5nIDEKdU9wIHF1IDEKaUJ4IGluIDEKUnF0IHRoIDEKeldqIHN6IDEKSGN4IGNoIDEKak5kIGRlIDEKelFyIGVyIDEKaUhkIGluIDEKV3B4IHByIDEKbmZZIGFuIDEKUmt6IHN6IDEKS3FnIHF1IDEKR2Z2IHZhIDEKa3JDIGVyIDEKV2hjIHRoIDEKbGpNIGxlIDEKeXhHIG55IDEKZnBXIHByIDEKYmNGIGNoIDEKa3J4IGVyIDEKdUR0IHRoIDEKRnpvIG9uIDEKd1BuIGFuIDEKTGZqIGlqIDEKQmtwIGthIDEKWGtxIHF1IDEKanhIIGlqIDEKdklqIHZhIDEKZ1RjIGNoIDEKaEVqIHRoIDEKZnFCIHF1IDEKamxEIGxlIDEKdEZmIHRoIDEKTmZ3IHdhIDEKRnFlIHF1IDEKVHpwIHN6IDEKc0pyIGVyIDEKcUl0IHRoIDEKZEZiIGRlIDEKcXpFIHF1IDEKbVZ2IHZhIDEKVnFhIGFuIDEKYnFNIHF1IDEKbWRKIGRlIDEKZElwIGRlIDEKWm54IGFuIDEKamtLIGlqIDEKcmZRIGVyIDEKeGtJIGt1IDEKZklvIHJvIDEKbHFWIHF1IDEKUXBkIGRlIDEKcEF4IHByIDEKcnJRIGVyIDEKYkl1IHF1IDEKeER3IHdhIDEKb0h4IG9uIDEKd0p3IHdhIDEKQ3F2IHF1IDEKeXZCIHZhIDEKeXFVIHF1IDEKckx4IGVyIDEKRnp4IHN6IDEKZFpmIGRlIDEKTnFoIHRoIDEKUm56IGFuIDEKaFRjIHRoIDEKYlZiIGJlIDEKRmRtIGRlIDEKdmZ2IHZhIDEKaHdTIHRoIDEKelB0IHRoIDEKR3h2IHZhIDEKRnZ0IHRoIDEKbVpyIGVyIDEKelZyIGVyIDEKbUJjIGNoIDEKZlhxIHF1IDEKUGx3IGxlIDEKTmx4IGxlIDEKakNkIGRlIDEKS3d2IHZhIDEKSnFhIGFuIDEKekdzIHN0IDEKZnVWIHF1IDEKcHpMIHN6IDEKaUZ4IGluIDEKZlRtIG1lIDEKeVdkIGRlIDEKY0h2IGNoIDEKZkZrIGthIDEKbXFkIHF1IDEKYVFrIGFuIDEKdURmIHF1IDEKVmJmIGJlIDEKcGdKIG5nIDEKZmtOIGthIDEKcEJtIG1lIDEKQmR2IGRlIDEKam1XIGlqIDEKSnZ2IHZhIDEKWHBrIGthIDEKcVFjIGNoIDEKa2RHIGRlIDEKcWtQIHF1IDEKY1NkIGNoIDEKRmRjIGNoIDEKcWdLIHF1IDEKcWRIIHF1IDEKdU52IHF1IDEKZVZ0IHRoIDEKZGZBIGRlIDEKSHp5IHN6IDEKbFdjIGNoIDEKdnhIIHZhIDEKaHhXIHRoIDEKS2hwIHRoIDEKeFFiIGJlIDEKcHdUIHByIDEKTHdmIHdhIDEKekRxIHF1IDEKa3hLIGthIDEKbXRZIHRoIDEKYmhUIHRoIDEKeXdSIHdhIDEKaklhIGFuIDEKV3plIGVyIDEKaHFLIHRoIDEKZmxaIGxlIDEKcU1pIGluIDEKd3BSIHdhIDEKcUhoIHRoIDEKYU93IGFuIDEKZGtVIGRlIDEKdlJyIGVyIDEKdmpYIHZhIDEKY3VRIGNoIDEKcW1KIHF1IDEKdXVKIG91IDEKeVd4IG55IDEKaFVmIHRoIDEKdnpQIHZhIDEKclN4IGVyIDEKcWd5IHF1IDEKUnpmIHN6IDEKempCIHN6IDEKU2p4IGlqIDEKeGZBIGZvIDEKZkhqIGlqIDEKcWtCIHF1IDEKY2RGIGNoIDEKZldqIGlqIDEKamJBIGlqIDEKQm1iIG1lIDEKeWpnIG5nIDEKcnhaIGVyIDEKVm1yIGVyIDEKaUlxIGluIDEKV2dsIG5nIDEKbVJwIG1lIDEKd3ZTIHZhIDEKVXZ5IHZhIDEKeXBRIHByIDEKdkZ3IHZvIDEKZnFFIHF1IDEKc3dKIHN0IDEKSnJ4IGVyIDEKY3hFIGNoIDEKbFprIGxlIDEKZlZuIGFuIDEKYmhaIHRoIDEKamhSIHRoIDEKdlNxIHF1IDEKeVF6IHN6IDEKZkh2IHZhIDEKdnVOIHF1IDEKanBHIGlqIDEKUGt6IHN6IDEKZ1FiIG5nIDEKcEZzIHN0IDEKR2pxIHF1IDEKaHNLIHRoIDEKdHd4IHRoIDEKeXlRIG55IDEKZHFGIHF1IDEKYkhoIHRoIDEKcU1xIHF1IDEKcUt2IHF1IDEKekxnIG5nIDEKam1PIGlqIDEKd0JrIGthIDEKcGpRIGlqIDEKeFp2IHZhIDEKcUl1IHVuIDEKeWNZIGNoIDEKbURmIG1lIDEKeUpzIHN0IDEKSXN4IHN0IDEKUXFyIHF1IDEKRmt3IGthIDEKQ3BqIGlqIDEKWXZxIHF1IDEKempHIHN6IDEKZ0djIGNoIDEKWGRtIGRlIDEKaEJ2IHRoIDEKV3hqIGlqIDEKWXdiIG93IDEKVnRxIHRoIDEKdGpZIHRoIDEKakRqIGlqIDEKdUdkIHF1IDEKd3ZGIHZhIDEKdXFnIHF1IDEKUndwIHByIDEKQmdiIG5nIDEKbW5VIGFuIDEKZHBJIGRlIDEKd0tkIGRlIDEKeVh6IHN6IDEKa0xkIGRlIDEKZ1l4IG5nIDEKcXhrIHF1IDEKSGh5IHRoIDEKZnBKIHByIDEKY1ZjIGNoIDEKa1Z2IHZhIDEKSnpzIHN0IDEKbkR3IGFuIDEKdGpGIHRoIDEKYlpqIGlqIDEKbXFMIHF1IDEKaEZ0IHRoIDEKbk53IGFuIDEKd0Z2IHZhIDEKZ0hjIGNoIDEKcVJ4IHF1IDEKSnhoIHRoIDEKVnB2IHZhIDEKbk1rIGFuIDEKdGpOIHRoIDEKZmhRIHRoIDEKYnBEIHByIDEKRGZnIG5nIDEKanlPIGlqIDEKamhWIHRoIDEKa1ZrIGthIDEKbktjIGFuIDEKamtKIGlqIDEKY3dTIGNoIDEKb0RmIG9uIDEKbWtZIGthIDEKZ2RWIG5nIDEKWGhiIHRoIDEKalVxIHF1IDEKYUpmIGFuIDEKUXhnIG5nIDEKeHpTIHN6IDEKdlV3IHZhIDEKaFRqIHRoIDEKb1Z0IHRoIDEKemRxIHF1IDEKZkhzIHN0IDEKeEtrIGthIDEKYkZjIGNoIDEKZ1dxIHF1IDEKWXFhIGFuIDEKZG1IIGRlIDEKVHRxIHRoIDEKaVFjIGNoIDEKakZoIGlqIDEKZmNZIGNoIDEKZnNSIHN0IDEKaVdnIGluIDEKWHlqIGlqIDEKWGpzIHN0IDEKeHBiIHByIDEKbHpZIGxlIDEKcHpnIG5nIDEKZFZ3IGRlIDEKSWpjIGNoIDEKZnZxIHF1IDEKVm5iIGFuIDEKemRIIGRlIDEKY0RkIGNoIDEKd3FJIHF1IDEKeWZVIG55IDEKcW9IIHF1IDEKeGt3IGthIDEKS2NrIGNoIDEKbVVxIHF1IDEKeldtIHN6IDEKQmZqIGlqIDEKclFqIGVyIDEKcWVXIHF1IDEKcXBDIHF1IDEKb3FNIHF1IDEKcHpPIHN6IDEKY2pRIGNoIDEKelR4IHN6IDEKZ1J3IG5nIDEKa2RRIGRlIDEKd2JRIHdhIDEKUXBqIGlqIDEKekljIGNoIDEKeXhOIG55IDEKbkNrIGFuIDEKSnF6IHF1IDEKZEVxIHF1IDEKZ2RFIG5nIDEKd0NnIG5nIDEKcFF0IHRoIDEKdktlIGVyIDEKVGptIGlqIDEKWmN5IGNoIDEKa21SIGthIDEKY1RwIGNoIDEKYnFFIHF1IDEKdnZaIHZhIDEKY0x3IGNoIDEKb0l3IG9uIDEKeGpHIGlqIDEKdnRVIHRoIDEKaGNIIHRoIDEKeGdUIG5nIDEKdnFSIHF1IDEKd3VNIHF1IDEKeHNZIHN0IDEKakN1IHF1IDEKRmJuIGFuIDEKY3FIIGNoIDEKWGp6IGlqIDEKZmdSIG5nIDEKeWlYIGluIDEKcW5PIGFuIDEKd21OIG1lIDEKd2dIIG5nIDEKdGJaIHRoIDEKWGtzIHN0IDEKcHpDIHBvIDEKbGZYIGxlIDEKcUJ1IHVuIDEKbUx3IG1lIDEKcG1ZIG1lIDEKeHFFIHF1IDEKcmpZIGVyIDEKdnJIIGVyIDEKSXVmIHF1IDEKeWZEIG55IDEKY2xHIGNoIDEKY2RaIGNoIDEKZVRkIGVyIDEKbFh2IGxlIDEKa3BWIGthIDEKc1pxIHF1IDEKV3hjIGNoIDEKdm1KIHZhIDEKaGtFIHRoIDEKcFV3IHByIDEKQ3FkIHF1IDEKd0NuIGFuIDEKcHhRIHByIDEKWXdwIHByIDEKeHdiIHdhIDEKV2ptIGlqIDEKenFRIHF1IDEKZ1RwIG5nIDEKdVp2IHF1IDEKbWRIIGRlIDEKanVRIHF1IDEKZ1ZtIG5nIDEKempZIGlqIDEKZmhOIHRoIDEKd2ZEIHdhIDEKWmpjIGNoIDEKaVB2IGluIDEKbXpXIHN6IDEKdlhtIHZhIDEKZkVxIHF1IDEKT3pxIHF1IDEKZ0VwIG5nIDEKa0RqIGlqIDEKWmx3IGxlIDEKemJSIHN6IDEKekN0IHRoIDEKd29ZIG9uIDEKcGtUIGthIDEKa2JJIGthIDEKaGRXIGRlIDEKSHN4IHN0IDEKenBYIHN6IDEKemZWIHN6IDEKRGhrIHRoIDEKd01wIHByIDEKaHpKIHRoIDEKTHdwIHByIDEKem1OIHN6IDEKeGZxIHF1IDEKc2pRIHN6IDEKemtLIHN6IDEKYkJ2IHZhIDEKYmRFIGRlIDEKUXhuIGFuIDEKanF0IHRoIDEKamhHIHRoIDEKZll2IHZhIDEKeGhFIHRoIDEKY2JGIGNoIDEKSm5iIGFuIDEKanhOIGlqIDEKZll4IGZvIDEKaEpwIHRoIDEKY1J0IHRoIDEKcW5TIGFuIDEKdkxwIHZhIDEKY0JkIGNoIDEKcXFVIHF1IDEKU2RkIGRlIDEKeGVaIGVyIDEKSndvIG9uIDEKZFBmIGRlIDEKZk5sIGxlIDEKa0liIGthIDEKY2JMIGNoIDEKUWRyIGVyIDEKTWZiIGJlIDEKakpsIGxlIDEKbXhZIG1lIDEKbEZkIGxlIDEKdHdUIHRoIDEKa0ZrIGthIDEKY3JCIGNoIDEKalJyIGVyIDEKSHR6IHRoIDEKcFlmIHByIDEKclZjIGVyIDEKdlJmIHZhIDEKd1ZxIHF1IDEKenBBIHN6IDEKZ2xZIGxlIDEKc05qIGlqIDEKdkt4IHZhIDEKdHZCIHRoIDEKWWpmIGlqIDEKbXdQIG1lIDEKSnliIGJlIDEKdEJjIHRoIDEKZ1NiIG5nIDEKY01sIGNoIDEKZ2pKIG5nIDEKZFl6IGRlIDEKelBnIG5nIDEKa3FCIHF1IDEKc0Z2IHN0IDEKeGtIIGthIDEKZlp0IHRoIDEKeWhSIHRoIDEKYndOIHdhIDEKcWpHIHF1IDEKblFtIGFuIDEKcU1yIHF1IDEKamNXIGNoIDEKcUp2IHF1IDEKZ1RtIG5nIDEKa21RIGthIDEKV2xjIGNoIDEKa1lmIGthIDEKZUpwIGVyIDEKVGtiIGthIDEKaGZNIHRoIDEKbnhZIGFuIDEKcERsIGxlIDEKd2NOIGNoIDEKcFFhIGFuIDEKb2haIHRoIDEKeFJ6IHN6IDEKbGJWIGxlIDEKbEtjIGNoIDEKd3hCIHdhIDEKTHd3IHdhIDEKZnFRIHF1IDEKa2taIGthIDEKaXdPIGluIDEKZGdVIG5nIDEKZHZPIGRlIDEKcER0IHRoIDEKa3ZLIGthIDEKamxWIGxlIDEKeFhkIGRlIDEKeWtGIGt1IDEKaXlUIGluIDEKVWZ4IGZvIDEKbnpVIGFuIDEKeGJIIGJ1IDEKbFNiIGxlIDEKWHBmIHByIDEKVXZmIHZhIDEKeXlGIG55IDEKZnhQIGZvIDEKall1IHF1IDEKcWpiIHF1IDEKZ3hMIG5nIDEKcHdJIHByIDEKalVlIGVyIDEKckZjIGNoIDEKZnNGIHN0IDEKY2RXIGNoIDEKWHdwIHByIDEKeGRIIGRlIDEKallzIGlqIDEKYkZkIGRlIDEKcUloIHRoIDEKeUlnIG5nIDEKdlRkIGRlIDEKd2ZFIHdhIDEKcVJiIHF1IDEKeWhLIHRoIDEKa01uIGFuIDEKY3BCIGNoIDEKdHhOIHRoIDEKa1BkIGRlIDEKbmJCIGFuIDEKc2tRIHN0IDEKdUt3IHF1IDEKd1FmIHdhIDEKa1dmIGthIDEKd3FBIHF1IDEKY3dBIGNoIDEKdkprIGthIDEKaGNEIHRoIDEKbmZLIGFuIDEKdVhmIHF1IDEKY2dBIGNoIDEKUGpkIGRlIDEKTHFzIHF1IDEKendDIHN6IDEKbGpOIGxlIDEKdmtQIGthIDEKUnFwIHF1IDEKekd4IHN6IDEKalBnIG5nIDEKa2JUIGthIDEKa3BRIGthIDEKTXpxIHF1IDEKR2pzIHN0IDEKa0RsIGxlIDEKandSIGlqIDEKV3lxIHF1IDEKcXhTIHF1IDEKcUd0IHRoIDEKV3ZyIGVyIDEKek54IHN6IDEKdkNtIHZhIDEKaGxEIHRoIDEKdkJwIHZhIDEKbUpjIGNoIDEKaEZiIHRoIDEKdkRtIHZhIDEKcGZDIHByIDEKTHB5IHByIDEKRmhkIHRoIDEKZHhTIGRlIDEKd1dnIG5nIDEKRmduIGFuIDEKbkZmIGFuIDEKY3hGIGNoIDEKYVZoIHRoIDEKU3F4IHF1IDEKVmp6IGlqIDEKem5DIGFuIDEKcXF2IHF1IDEKenJaIGVyIDEKYk5sIGxlIDEKbnZXIGFuIDEKUXliIGJlIDEKRmh0IHRoIDEKakd2IGlqIDEKZ0xwIG5nIDEKZ0xiIG5nIDEKcUtqIHF1IDEKaEpkIHRoIDEKWmpnIG5nIDEKblFxIGFuIDEKbnBYIGFuIDEKcWlPIGluIDEKdnZHIHZhIDEKak94IGlqIDEKaGhFIHRoIDEKdmROIGRlIDEKQ3p6IHN6IDEKZ2pVIG5nIDEKaFZiIHRoIDEKS2NnIGNoIDEKZHZIIGRlIDEKd3REIHRoIDEKaklvIG9uIDEKalFhIGFuIDEKRnlqIGlqIDEKY3BVIGNoIDEKaHhZIHRoIDEKcWJEIHF1IDEKc3ZKIHN0IDEKdmpXIGlqIDEKZ3BZIG5nIDEKcW5SIGFuIDEKZ1FuIGFuIDEKQ3ZoIHRoIDEKeWtCIGthIDEKeGdCIG5nIDEKemZEIHN6IDEKeUh3IHdhIDEKcWRHIHF1IDEKcVRuIGFuIDEKbFRtIGxlIDEKamdCIG5nIDEKZ3hTIG5nIDEKcVBlIHF1IDEKcHBRIHByIDEKeXhXIG55IDEKSGprIGlqIDEKa05rIGthIDEKY25KIGFuIDEKdUhkIHF1IDEKanZIIGlqIDEKR2duIG5nIDEKbGJTIGxlIDEKUWN4IGNoIDEKY3FSIGNoIDEKSnljIGNoIDEKd1JwIHByIDEKbmZBIGFuIDEKbFh3IGxlIDEKY21KIGNoIDEKWXN3IHN0IDEKcVFzIHF1IDEKZ3NYIG5nIDEKY0lxIGNoIDEKampaIGlqIDEKTGxiIGxlIDEKbU12IHZhIDEKbFZoIHRoIDEKRnBoIHRoIDEKWm1tIG1lIDEKeE1kIGRlIDEKR3diIHdhIDEKUWp2IGlqIDEKbHFaIHF1IDEKekpoIHRoIDEKV2t5IGthIDEKaERrIHRoIDEKeUxnIG5nIDEKZFl3IGRlIDEKZENxIHF1IDEKR21qIGlqIDEKeFRxIHF1IDEKd2tGIGthIDEKaEZwIHRoIDEKcW5CIGFuIDEKeHlKIG55IDEKbklqIGFuIDEKeFlkIGRlIDEKV3FyIHF1IDEKeHFWIHF1IDEKd1lrIGthIDEKUWR6IGRlIDEKZmJOIGJlIDEKcXdZIHF1IDEKVWJ4IGJlIDEKd3RMIHRoIDEKblF3IGFuIDEKakprIGlqIDEKTnpzIHN0IDEKZENuIGFuIDEKTmZ2IHZhIDEKSGdoIHRoIDEKSGNxIGNoIDEKWHZiIHZhIDEKc3hKIHN0IDEKd014IHdhIDEKcUZuIGFuIDEKR3pmIHN6IDEKcWZKIHF1IDEKemRRIGRlIDEKWGd6IG5nIDEKZmtJIGthIDEKcHZLIHZhIDEKQ3FyIHF1IDEKekZkIGRlIDEKb0htIG9uIDEKYUpqIGFuIDEKRnpkIGRlIDEKZFdrIGRlIDEKd21FIG1lIDEKc01sIGxlIDEKdEJwIHRoIDEKdk53IHZhIDEKUWRoIHRoIDEKd2hHIHRoIDEKcUFwIHF1IDEKanJNIGVyIDEKckh3IGVyIDEKTHZjIGNoIDEKZ1JuIGFuIDEKeWpWIGlqIDEKaFJrIHRoIDEKYmtWIGthIDEKaldtIGlqIDEKeVl6IHN6IDEKdlR5IHZhIDEKZHhWIGRlIDEKbUt5IG1lIDEKUWxxIHF1IDEKVXB4IHByIDEKUXBxIHF1IDEKTHdtIG1lIDEKeVhyIGVyIDEKZ1RrIG5nIDEKcW5UIGFuIDEKVmxxIHF1IDEKUXFkIHF1IDEKWmRkIGRlIDEKWHF0IHRoIDEKRGZiIGJlIDEKb2VPIG9uIDEKbkN4IGFuIDEKbFhkIGxlIDEKdkhjIGNoIDEKdkFiIHZhIDEKWWJ3IHdhIDEKekRuIGFuIDEKZEdrIGRlIDEKcGxIIGxlIDEKbHhHIGxlIDEKSGdwIG5nIDEKalJ6IGlqIDEKZFRzIGRlIDEKbUNqIGlqIDEKbEhmIGxlIDEKbExqIGxlIDEKdE5iIHRoIDEKbUtrIGthIDEKZ0dqIG5nIDEKamxRIGxlIDEKWXlnIG5nIDEKZkR2IHZhIDEKelhnIG5nIDEKcXpaIHF1IDEKZkVnIG5nIDEKbGhTIHRoIDEKbXpNIHN6IDEKeHFUIHF1IDEKWWNqIGNoIDEKZmJGIGJlIDEKWHNqIGlqIDEKTG5jIGFuIDEKR3FwIHF1IDEKZmpPIGlqIDEKemhJIHRoIDEKemdIIG5nIDEKZ1djIGNoIDEKeUtmIG55IDEKdVFkIHF1IDEKS3dsIGxlIDEKZHhHIGRlIDEKWXF3IHF1IDEKdEtjIHRoIDEKY1duIGFuIDEKaGNJIHRoIDEKd2ZZIHdhIDEKckJwIGVyIDEKY0pkIGNoIDEKc1lmIHN6IDEKU3FqIHF1IDEKa1F2IGthIDEKeHBGIHByIDEKZmNYIGNoIDEKeWZLIG55IDEKalFvIG9uIDEKZ1RnIG5nIDEKUXduIGFuIDEKUG54IGFuIDEKeVp0IHRoIDEKd1B6IHN6IDEKanVYIHF1IDEKTHh2IHZhIDEKaVhyIGluIDEKcGNFIGNoIDEKTnF5IHF1IDEKaGpJIHRoIDEKaHpWIHRoIDEKbm1GIGFuIDEKcHZXIHZhIDEKZUp3IGVyIDEKSXFkIHF1IDEKZ1h5IG5nIDEKd2ZXIHdhIDEKVmR3IGRlIDEKcUp4IHF1IDEKUGRxIHF1IDEKQmpiIGlqIDEKcUxsIHF1IDEKemRXIGRlIDEKZlFyIGVyIDEKeHpXIHN6IDEKdndRIHZhIDEKcndVIGVyIDEKcVBuIGFuIDEKYkZ3IHdhIDEKdkhsIGxlIDEKaFdsIHRoIDEKd2dPIG5nIDEKaExrIHRoIDEKSmtiIGthIDEKekJoIHRoIDEKRGh4IHRoIDEKRmd2IG5nIDEKYnBBIHByIDEKenhDIHN6IDEKZ2ZTIG5nIDEKTXZ4IHZhIDEKdVBrIHF1IDEKVnFuIGFuIDEKeXFDIHF1IDEKdk1rIGthIDEKd3FMIHF1IDEKd3JKIGVyIDEKY2ROIGNoIDEKcHdSIHByIDEKaE1mIHRoIDEKalBmIGlqIDEKVmJ2IHZhIDEKcXpGIHF1IDEKcU5jIGNoIDEKSmJxIHF1IDEKZlRrIGthIDEKWmZmIGZvIDEKRnp0IHRoIDEKS2N3IGNoIDEKZUtmIGVyIDEKcHFaIHF1IDEKV3BiIHByIDEKamtGIGlqIDEKVnhwIHByIDEKaEdxIHRoIDEKcUJjIGNoIDEKZmNUIGNoIDEKak1xIHF1IDEKa1p2IGthIDEKcWtHIHF1IDEKSWZwIHByIDEKZFJ3IGRlIDEKWmxqIGxlIDEKS3dqIGlqIDEKZk5iIGJlIDEKZFl5IGRlIDEKaFpsIHRoIDEKd3RQIHRoIDEKaFB6IHRoIDEKWWtjIGNoIDEKSmx3IGxlIDEKak50IHRoIDEKeXJXIGVyIDEKZ1dkIG5nIDEKeVhkIGRlIDEKZlFsIGxlIDEKamZGIGlqIDEKRWp4IGlqIDEKZkdrIGthIDEKWmp6IGlqIDEKd2RNIGRlIDEKamxGIGxlIDEKY3haIGNoIDEKWmdrIG5nIDEKbWNKIGNoIDEKc2xFIGxlIDEKbllxIGFuIDEKV2ZnIG5nIDEKekprIGthIDEKYnZGIHZhIDEKSG56IGFuIDEKV2t2IGthIDEKTXZxIHF1IDEKRHhoIHRoIDEKQnZ0IHRoIDEKc01qIGlqIDEKd1JmIHdhIDEKdkxiIHZhIDEKekdxIHF1IDEKbUZwIG1lIDEKZ05iIG5nIDEKcENnIG5nIDEKeEZzIHN6IDEKaktmIGlqIDEKcUpiIHF1IDEKcHpJIHN6IDEKamdHIG5nIDEKcEtzIHN6IDEKZnFEIHF1IDEKZ3hRIG5nIDEKZnZHIHZhIDEKd2dGIG5nIDEKWHh6IHN6IDEKTHd1IHF1IDEKZGxYIGxlIDEKbFB6IGxlIDEKV3FrIHF1IDEKWHpqIGlqIDEKdUhqIHF1IDEKdUZqIHF1IDEKanZWIGlqIDEKalhlIGxlIDEKWmZtIG1lIDEKcUltIHF1IDEKemJCIHN6IDEKeVpmIG55IDEKc0trIHN6IDEKenBMIHN6IDEKcUtnIHF1IDEKSWJqIGlqIDEKaVFiIGluIDEKRnh1IHF1IDEKRnBiIHByIDEKV3ZhIGFuIDEKZnpEIHN6IDEKYmtUIGthIDEKWWt0IHRoIDEKbmpHIGFuIDEKVXZoIHRoIDEKZ2ZUIG5nIDEKemNJIGNoIDEKYkRxIHF1IDEKSmRoIHRoIDEKeE1nIG5nIDEKSmJ5IGJlIDEKbHdKIGxlIDEKc1d3IHN6IDEKU3Z3IHZhIDEKbnJYIGFuIDEKdXZWIHF1IDEKalZyIGVyIDEKdHFCIHRoIDEKYlZyIGVyIDEKa1FsIGxlIDEKZmJHIGJlIDEKcnFNIHF1IDEKekhqIGlqIDEKZmhZIHRoIDEKWXpyIGVyIDEKdkZmIHZhIDEKUXBnIG5nIDEKdUFxIHF1IDEKenhQIHN6IDEKakNuIGFuIDEKcWFNIGFuIDEKeGxZIGxlIDEKY1RmIGNoIDEKa0JmIGthIDEKY1FjIGNoIDEKUmJqIGlqIDEKa1ZzIHN6IDEKYkd2IHZhIDEKd2ROIGRlIDEKZ2ZOIG5nIDEKYlBqIGlqIDEKZ2NJIGNoIDEKZ3hqIG5nIDEKckhiIGVyIDEKcFZyIGVyIDEKclZqIGVyIDEKdmdTIG5nIDEKRnF6IHF1IDEKeE1rIGthIDEKcVFtIHF1IDEKalpjIGNoIDEKakJjIGNoIDEKdXdZIHF1IDEKckhmIGVyIDEKY3pYIGNoIDEKemNUIGNoIDEKYkZqIGlqIDEKcWNCIGNoIDEKaGZUIHRoIDEKeHFPIHF1IDEKcWZwIHF1IDEKeGpVIGlqIDEKYmhSIHRoIDEKdFd2IHRoIDEKaXFFIGluIDEKZ3BVIG5nIDEKaVdiIGluIDEKdGxQIHRoIDEKdFlxIHRoIDEKYkN2IHZhIDEKb0tjIGNoIDEKU2dqIG5nIDEKaHZxIHRoIDEKa2ZZIGthIDEKemJNIHN6IDEKenZBIHN6IDEKY0hwIGNoIDEKdnZLIHZhIDEKZnBaIHByIDEKZGZYIGRlIDEKd3JLIGVyIDEKeGVFIGVyIDEKZmtZIGthIDEKc2JYIHN6IDEKZmNTIGNoIDEKdktoIHRoIDEKUWx4IGxlIDEKWnFoIHRoIDEKcVdnIHF1IDEKY2RMIGNoIDEKanZHIGlqIDEKTWd4IG5nIDEKZ3dGIG5nIDEKa2RQIGRlIDEKdU1yIHF1IDEKdGNEIHRoIDEKcXJMIHF1IDEKTXRtIHRoIDEKYlF6IHN6IDEKSHB4IHByIDEKenBJIHN6IDEKamtSIGlqIDEKa2hIIHRoIDEKbVNxIHF1IDEKcEZ6IHN6IDEKanVPIHF1IDEKWHlxIHF1IDEKakdkIGRlIDEKWXpkIGRlIDEKd2JDIHdhIDEKd1NiIHdhIDEKc1pkIGRlIDEKUnp4IHN6IDEKRmx4IGxlIDEKYnFDIHF1IDEKbGNIIGNoIDEKd21HIG1lIDEKekNqIGlqIDEKeGFEIGFuIDEKaXdIIGluIDEKcURwIHF1IDEKc0d4IHN6IDEKWGh5IHRoIDEKZVZjIGNoIDEKd2tKIHdhIDEKTGNmIGNoIDEKbGdRIG5nIDEKRGhoIHRoIDEKemZPIHN6IDEKa1ZjIGNoIDEKaG1MIHRoIDEKT3dmIHdhIDEKd1pjIGNoIDEKZG5OIGFuIDEKTXpwIHN6IDEKbVl3IG1lIDEKeUxoIHRoIDEKWHhyIGVyIDEKcXdJIHF1IDEKVHhzIHN6IDEKeUtwIHByIDEKYmpYIGlqIDEKcGJTIHByIDEKenJQIGVyIDEKaEptIHRoIDEKcWdBIHF1IDEKendZIHN6IDEKclhrIGVyIDEKbkR4IGFuIDEKdkd6IHN6IDEKbVFxIHF1IDEKdXBZIHF1IDEKckxuIGFuIDEKVmZrIGthIDEKd0N2IHZhIDEKY2d4IGNoIDEKa1pxIHF1IDEKV2p3IGlqIDEKUWF4IGFuIDEKZ3JHIG5nIDEKYkpkIGRlIDEKZEp4IGRlIDEKY01kIGNoIDEKUWNzIGNoIDEKbWtLIGthIDEKak54IGlqIDEKbXJZIGVyIDEKWHd4IHdhIDEKclpsIGVyIDEKZ3hVIG5nIDEKTG52IGFuIDEKeWdDIG5nIDEKRHFoIHRoIDEKbExuIGFuIDEKbW5RIGFuIDEKa2pVIGlqIDEKYnZPIHZhIDEKb1ZtIG9uIDEKdld0IHRoIDEKckdxIHF1IDEKdGJKIHRoIDEKZlN2IHZhIDEKd0puIGFuIDEKZkp2IHZhIDEKb1F2IG9uIDEKVndzIHN6IDEKcG5VIGFuIDEKTm1oIHRoIDEKY1RxIGNoIDEKRWR4IGRlIDEKdXF3IHF1IDEKWXJoIHRoIDEKUW54IGFuIDEKbUpmIG1lIDEKa0RxIHF1IDEKWGhkIHRoIDEKbkx4IGFuIDEKeGtVIGthIDEKZnFUIHF1IDEKcVloIHRoIDEKYkZ2IHZhIDEKeGJRIGJlIDEKdmNTIGNoIDEKcXFUIHF1IDEKZ2tGIG5nIDEKekZoIHRoIDEKa3BFIGthIDEKR3hiIGJlIDEKWnR3IHRoIDEKcUlsIHF1IDEKUWtkIGRlIDEKd2RWIGRlIDEKcndQIGVyIDEKYUNnIGFuIDEKWnJzIGVyIDEKem1XIHN6IDEKdmZPIHZhIDEKaEJqIHRoIDEKdGJIIHRoIDEKRHh2IHZhIDEKemREIGRlIDEKbkJ3IGFuIDEKbHJWIGVyIDEKZ1FxIG5nIDEKdGxLIHRoIDEKenRQIHRoIDEKeXFWIHF1IDEKblJtIGFuIDEKalZ6IHN6IDEKQ3JxIGVyIDEKZkZnIG5nIDEKWGpnIG5nIDEKQ21sIGxlIDEKcVdqIHF1IDEKanpPIGlqIDEKTWRxIHF1IDEKbXRRIHRoIDEKckd2IGVyIDEKa0duIGFuIDEKbUxnIG5nIDEKdVdqIHF1IDEKUmNxIGNoIDEKY1ZwIGNoIDEKYldrIGthIDEKWHp4IHN6IDEKV2tiIGthIDEKeHpIIHN6IDEKcXVQIHVuIDEKZEh2IGRlIDEKRG1xIHF1IDEKRGd2IG5nIDEKdGdZIHRoIDEKanRNIHRoIDEKdE16IHRoIDEKYkhtIG1lIDEKWmZrIGthIDEKeFpwIHByIDEKamtIIGlqIDEKck5wIGVyIDEKeE12IHZhIDEKd3BGIHByIDEKZGpEIGRlIDEKYnhWIGJlIDEKaGdTIHRoIDEKUGtoIHRoIDEKRHhxIHF1IDEKbU14IG1lIDEKZEdqIGRlIDEKa2JIIGthIDEKTGhnIHRoIDEKRHZxIHF1IDEKcXJUIHF1IDEKSWp3IGlqIDEKd3VJIHF1IDEKWnduIGFuIDEKZGhKIHRoIDEKcWNSIGNoIDEKd2hNIHRoIDEKcGdQIG5nIDEKcWtSIHF1IDEKc3FSIHF1IDEKbHhZIGxlIDEKdlZ3IHZhIDEKbEtkIGxlIDEKTmx5IGxlIDEKeUt6IHN6IDEKcUJiIHF1IDEKd1F4IHdhIDEKa1l3IGthIDEKZlFkIGRlIDEKc3ZXIHN6IDEKeUdwIHByIDEKeXRCIHRoIDEKanZVIGlqIDEKa2p6IGthIDEKalZjIGNoIDEKUWJ6IHN6IDEKcHFNIHF1IDEKdnd1IGt1IDEKUXd3IHdhIDEKZGNaIGNoIDEKbGhHIHRoIDEKZ21TIG5nIDEKSXF6IHF1IDEKelpmIHN6IDEKaExuIHRoIDEKZU1mIGVyIDEKeE5xIHF1IDEKbVBtIHVtIDEKcE1nIG5nIDEKd3pXIHN6IDEKa1JsIGxlIDEKaHpLIHRoIDEKZmJPIGJlIDEKWHh0IHRoIDEKRm54IGFuIDEKQnZuIGFuIDEKYmpaIGlqIDEKdGNZIHRoIDEKZG1CIGRlIDEKcUZlIHF1IDEKa3hCIGthIDEKcUJ6IHF1IDEKcFZwIHByIDEKYm9RIG9uIDEKeG9IIG9uIDEKZFdnIGRlIDEKVGRxIHF1IDEKek5xIHF1IDEKdllwIHZhIDEKcERmIHByIDEKbHdHIGxlIDEKaERxIHRoIDEKSmR5IGRlIDEKc25aIGFuIDEKbXpVIHN6IDEKekt4IHN6IDEKcnZDIGVyIDEKd3VTIHF1IDEKZG5RIGFuIDEKdkN5IHZhIDEKVWR3IHdhIDEKYlRsIGxlIDEKcWJDIHF1IDEKdGJUIHRoIDEKaURrIGthIDEKV2hiIHRoIDEKdGJYIHRoIDEKdGZPIHRoIDEKVGZxIHF1IDEKZGJXIGRlIDEKQmR5IGRlIDEKdmpSIGlqIDEKY2JDIGNoIDEKd3VXIHF1IDEKd0N3IHdhIDEKV2RxIHF1IDEKdlJiIHZhIDEKYldtIG1lIDEKdlp3IHZhIDEKZEpqIGRlIDEKcVp5IHF1IDEKSmdxIG5nIDEKemJIIHN6IDEKaEpsIHRoIDEKWGhnIHRoIDEKblZwIGFuIDEKZFZjIGNoIDEKcUNjIGNoIDEKb1lnIG5nIDEKa3dIIGthIDEKdndOIHZhIDEKemZ3IHN6IDEKdmxPIGxlIDEKenRYIHRpIDEKZEt4IGRlIDEKeFFzIHN6IDEKY0RsIGNoIDEKeVZ2IHZhIDEKenBOIHN6IDEKeGtHIGthIDEKZXFXIHF1IDEKamREIGRpIDEKZlFtIG1lIDEKWWhsIHRoIDEKdEJmIHRoIDEKcUVmIHF1IDEKd2hYIHRoIDEKVmd2IG5nIDEKTHNxIHF1IDEKZGZKIGRlIDEKWmRwIGRlIDEKclpjIGNoIDEKdFpoIGNoIDEKbXRDIHRoIDEKenhRIHN6IDEKVm5qIGFuIDEKc0hnIG5nIDEKd1lsIGxlIDEKQnFiIHF1IDEKeXJWIGVyIDEKWWNzIGNoIDEKalJ3IGlqIDEKaVd0IHRoIDEKaFZ3IHRoIDEKd1pzIHN6IDEKQ3FvIHF1IDEKR2ZuIGFuIDEKckJ2IGVyIDEKT2p6IHN6IDEKekdmIHN6IDEKYlpjIGNoIDEKRnZkIGRlIDEKWmdzIG5nIDEKUmZnIG5nIDEKUnd3IHdhIDEKWXJwIGVyIDEKaUZwIGluIDEKYlZ4IGJlIDEKemZNIHN6IDEKcWRWIHF1IDEKYkdtIG1lIDEKdG5KIHRoIDEKcGRSIGRlIDEKZ0JjIGNoIDEKZ3pDIG5nIDEKUHdjIGNoIDEKdUF3IHF1IDEKem5YIGFuIDEKdmdUIG5nIDEKb0F3IGtvIDEKeEJtIG1lIDEKZE5mIGRlIDEKUHFzIHF1IDEKTnBkIGRpIDEKb1V5IGtvIDEKZnBEIHByIDEKUmZ4IGZvIDEKbFhtIGxlIDEKcVdzIHF1IDEKZ1d2IHZpIDEKRnd2IHZhIDEKTHFqIHF1IDEKZnZRIHZhIDEKemdCIG5nIDEKa0psIGxlIDEKdldvIG9uIDEKWHZjIGNoIDEKeURxIHF1IDEKYmRQIGRlIDEKalZmIGlqIDEKd1B3IHdhIDEKZHdBIGRlIDEKT3FwIHF1IDEKcWlaIGluIDEKeGRWIGRlIDEKcUZnIG5nIDEKcXpJIHF1IDEKeXdMIHdhIDEKc1d2IHN6IDEKVHB5IHByIDEKd2JmIHdhIDEKdVBnIG5nIDEKS253IGFuIDEKaXVPIGluIDEKUWRuIGFuIDEKWWZ2IHZhIDEKd3VLIHF1IDEKeExuIGFuIDEKeUpnIG5nIDEKTmZrIGthIDEKWXFsIHF1IDEKcXNIIHF1IDEKUnp2IHN6IDEKYklwIHByIDEKc1F0IHRoIDEKdGdDIHRoIDEKcVNhIGFuIDEKZnhRIGZvIDEKaGNaIHRoIDEKd2JKIHdhIDEKcVJsIHF1IDEKR2N5IGNoIDEKdlptIHZhIDEKWHpsIGxlIDEKd2dSIG5nIDEKZGxPIGxlIDEKdENiIHRoIDEKcW1ZIHF1IDEKcVp4IHF1IDEKTGJwIHByIDEKRGdxIG5nIDEKVmtqIGlqIDEKd3FVIHF1IDEKTXFrIHF1IDEKd1V2IHZhIDEKcWdDIG5nIDEKc2JEIHN6IDEKU3F5IHF1IDEKYk1xIHF1IDEKQnp0IHRoIDEKc0lxIHF1IDEKY1ZqIGNoIDEKd0p0IHRoIDEKWGptIGlqIDEKSG1nIG5nIDEKYVFkIGFuIDEKaUh0IHRoIDEKZk1tIG1lIDEKd1djIGNoIDEKZnVFIHF1IDEKbUNmIG1lIDEKcW5QIGFuIDEKekxuIGFuIDEKa1J0IHRoIDEKTXZsIGxlIDEKbVJkIGRlIDEKeWZKIG55IDEKeENiIGJlIDEKc1FiIHN6IDEKcXVDIHVuIDEKQ3RjIHRoIDEKcFB2IHZhIDEKempJIHN6IDEKeG1DIG1lIDEKeGRKIGRlIDEKblh2IGFuIDEKdnNPIHN6IDEKcFJkIGRlIDEKdmJGIHZhIDEKd05sIGxlIDEKa0hxIHF1IDEKcndNIGVyIDEKZ3hEIG5nIDEKUWhpIHRoIDEKbXFCIHF1IDEKcG5MIGFuIDEKYktiIGJlIDEKaXFOIGluIDEKZGtYIGRlIDEKYlFkIGRlIDEKYk5qIGlqIDEKVGxrIGxlIDEKTmxnIG5nIDEKQ3hoIHRoIDEKTXFmIHF1IDEKUHZqIGlqIDEKendaIHN6IDEKcEdiIHByIDEKbnJGIGFuIDEKYmtTIGthIDEKZFJ2IGRlIDEKakptIGlqIDEKaXFGIGluIDEKZkdjIGNoIDEKbnhXIGFuIDEKeHNXIHN6IDEKbWZRIG1lIDEKZmdQIG5nIDEKamxIIGxlIDEKbnJJIGFuIDEKa1h2IGthIDEKVnBxIHF1IDEKek1rIHN6IDEKcEhmIHByIDEKamRNIGRlIDEKYnFKIHF1IDEKQ2t0IHRoIDEKekt2IHN6IDEKanpHIHN6IDEKdUl4IHF1IDEKeU5tIG1lIDEKall0IHRoIDEKZndMIHdhIDEKZFp4IGRlIDEKdmdGIG5nIDEKd1hpIGluIDEKdlp0IHRoIDEKQ3RmIHRoIDEKeHFDIHF1IDEKcU9jIGNoIDEKeWdYIG5nIDEKa1drIGthIDEKZ3JGIG5nIDEKcW5YIGFuIDEKeFVpIGluIDEKcG1DIG1lIDEKdXpFIHF1IDEKSXZ3IHZhIDEKZ3ZJIG5nIDEKa25aIGFuIDEKbHhaIGxlIDEKWHdmIHdhIDEKRHFiIHF1IDEKeUtnIG5nIDEKVndnIG5nIDEKeFNiIGJlIDEKSHdwIHByIDEKeU54IG55IDEKeW9RIG9uIDEKY1N4IGNoIDEKRXZxIHF1IDEKdEl3IHRoIDEKZGZaIGRlIDEKaHpQIHRoIDEKeEJrIGthIDEKa3FyIHF1IDEKeUJtIG1lIDEKbEpqIGxlIDEKY2pxIGNoIDEKZHJXIGVyIDEKcWFEIGFuIDEKd0RmIHdhIDEKTHh6IHN6IDEKelFmIGZvIDEKSnRxIHRoIDEKcVJ2IHF1IDEKR2ZjIGNoIDEKWGJ0IHRoIDEKd1piIHdhIDEKc3JRIGVyIDEKZ0pxIG5nIDEKakZ0IHRoIDEKZ05jIGNoIDEKUmtyIGVyIDEKcHpKIHN6IDEKbGJBIGxlIDEKY0JxIGNoIDEKS3lxIHF1IDEKeGNPIGNoIDEKelhyIGVyIDEKY1ZzIGNoIDEKclltIGVyIDEKa1ZtIGthIDEKZmNaIGNoIDEKZnpDIHN6IDEKdEtwIHRoIDEKZ1B6IG5nIDEKcWNMIGNoIDEKWWpyIGVyIDEKenhVIHN6IDEKeGJUIGJlIDEKbnZYIGFuIDEKcW1SIHF1IDEKYnhMIGJlIDEKWHd3IHdhIDEKalNmIGlqIDEKbE5mIGxlIDEKelRzIHN6IDEKa0ZxIHF1IDEKcUx6IHF1IDEKcnJYIGVyIDEKd1hnIG5nIDEKenZFIHN6IDEKSHd4IHdhIDEKcUZtIHF1IDEKY2dSIGNoIDEKcERwIHByIDEKT3FiIHF1IDEKc1ZjIGNoIDEKWHR4IHRoIDEKUXd0IHRoIDEKV2ZlIGVyIDEKUGN4IGNoIDEKYnBPIHByIDEKQ3dnIG5nIDEKd3hPIHdhIDEKYlZzIHN6IDEKakZ3IGlqIDEKZm5GIGFuIDEKa3hIIGthIDEKWXdzIHN6IDEKZ2REIG5nIDEKald4IGlqIDEKY1RsIGNoIDEKa21XIGthIDEKbWhXIHRoIDEKYnpUIHN6IDEKcnZKIGVyIDEKeGNKIGNoIDEKdmtTIGthIDEKc1hyIGVyIDEKc0N2IHN6IDEKTnRwIHRoIDEKb0hoIGxvIDEKWXZzIHN6IDEKcFZmIHByIDEKa0VxIHF1IDEKcWZFIHF1IDEKb1dtIG9uIDEKdE13IHRoIDEKellwIHN6IDEKbkZ3IGFuIDEKeVFjIGNoIDEKelFqIHN6IDEKd0txIHF1IDEKbUtmIG1lIDEKdUxyIHF1IDEKd0liIHdhIDEKd3JIIGVyIDEKcGdMIG5nIDEKTGJ0IHRoIDEKempGIHN6IDEKcUZwIHF1IDEKemRYIGRlIDEKd1RjIGNoIDEKSndsIGxlIDEKbHhVIGxlIDEKaGpBIHRoIDEKaVBnIGluIDEKWG5zIGFuIDEKd2tXIGthIDEKcGZQIHByIDEKRHlxIHF1IDEKald1IHF1IDEKcXpSIHF1IDEKWWp6IHN6IDEKdHdYIHRoIDEKTndqIGlqIDEKamJCIGlqIDEKcXdSIHF1IDEKWXRmIHRoIDEKYmxYIGxlIDEKeFprIGthIDEKWW13IG1lIDEKd2ZYIHdhIDEKVnF5IHF1IDEKWHFuIGFuIDEKeVV3IHdhIDEKanpUIGpvIDEKa050IHRoIDEKcG1RIG1lIDEKZFhyIGVyIDEKeWxxIHF1IDEKdFd6IHRoIDEKS3ZyIGVyIDEKYmhRIHRoIDEKdUpuIGFuIDEKcGJUIHByIDEKYUJmIGFuIDEKUmhqIHRoIDEKdUF4IHF1IDEKQmd4IG5nIDEKanFOIHF1IDEKamRDIGlqIDEKZkJzIHN0IDEKY1hrIGNoIDEKbm1NIGFuIDEKeFJyIGVyIDEKSGt6IHN6IDEKZGhaIHRoIDEKRnlwIHByIDEKa0dtIGthIDEKc0dxIHF1IDEKaktoIHRoIDEKdkR6IHN6IDEKdkxxIHF1IDEKbEpzIGxlIDEKek5uIGFuIDEKV2dqIG5nIDEKam1MIGlqIDEKZ1Z0IHRoIDEKd0Z6IHN6IDEKemJEIHN6IDEKa1RkIGRlIDEKZHdYIGRlIDEKeFJsIGxlIDEKQXp2IHN6IDEKYlFoIHRoIDEKcVFmIHF1IDEKeW9aIG9uIDEKalBzIHN6IDEKanlHIGlqIDEKa1hqIGthIDEKeUJ2IHZhIDEKbndQIGFuIDEKeG5BIGFuIDEKYktmIGJlIDEKcWJQIHF1IDEKdkdzIHN6IDEKampHIGlqIDEKS3FjIGNoIDEKelZ0IHRoIDEKd1NnIG5nIDEKc1dtIHN6IDEKZkRnIG5nIDEKcEh6IHN6IDEKZllwIHByIDEKenJXIGVyIDEKbER4IGxlIDEKaFFoIHRoIDEKQmRwIGRlIDEKZnFaIHF1IDEKb1FtIG9uIDEKUXNxIHF1IDEKeGpxIHF1IDEKTWZ2IHZhIDEKemJRIHN6IDEKcXVSIHVuIDEKY01iIGNoIDEKenFEIHF1IDEKZFhmIGRlIDEKckhoIHRoIDEKamhGIHRoIDEKbk5mIGFuIDEKd0hiIHdhIDEKVHBxIHF1IDEKYmpZIGlqIDEKY0pxIGNoIDEKbENrIGxlIDEKUGZwIHByIDEKT3FuIGFuIDEKZm1SIG1lIDEKUXB1IHF1IDEKTmN2IGNoIDEKcVlyIHF1IDEKc2ZBIHN6IDEKZnJTIGVyIDEKR3BmIHByIDEKam1EIGlqIDEKaHdJIHRoIDEKUmJ6IHN6IDEKamhCIHRoIDEKeFhqIGlqIDEKcVlkIHF1IDEKc1ZmIHN6IDEKY0N6IGNoIDEKcU1sIHF1IDEKZnBLIHByIDEKaFZ5IHRoIDEKbGNKIGNoIDEKT2tqIGlqIDEKcUpnIG5nIDEKakxwIGlqIDEKbllmIGFuIDEKbnBGIG9uIDEKcldrIGVyIDEKbWNQIGNoIDEKblptIGFuIDEKZlliIGZvIDEKemJDIHN6IDEKbkJxIGFuIDEKZmp5IGlqIDEKYkl4IGJlIDEKdHdOIHRoIDEKR2drIG5nIDEKQ3ptIHN6IDEKanRPIHRoIDEKblJsIGFuIDEKanlDIGlqIDEKeUVoIHRoIDEKdm1IIHZhIDEKd3RRIHRoIDEKd0lmIHdhIDEKaklmIGlqIDEKcWJNIHF1IDEKUndxIHF1IDEKZnFGIHF1IDEKV2ZqIGlqIDEKamZXIGlqIDEKd1dtIG1lIDEKV3BwIHByIDEKTWdqIG5nIDEKZFNmIGRlIDEKd1l2IHZhIDEKY2NJIGNoIDEKeWxUIGxlIDEKR3FoIHRoIDEKQ216IHN6IDEKSGZrIGthIDEKcUJ0IHRoIDEKeUNmIG55IDEKcXpPIHF1IDEKeWRGIGRlIDEKVmR0IHRoIDEKcEpkIGRlIDEKc2ZSIHN6IDEKZGxWIGxlIDEKak9kIGRlIDEKbmZGIGFuIDEKd1R0IHRoIDEKckdrIGVyIDEKeEF3IHdhIDEKdmZGIHZhIDEKRHpnIG5nIDEKa0ZwIGthIDEKalRtIGlqIDEKbk5xIGFuIDEKcWNOIGNoIDEKSmp4IGlqIDEKdEtmIHRoIDEKWnJxIHF1IDEKaG1LIHRoIDEKTXF6IHF1IDEKeGZSIGZvIDEKd1FxIHF1IDEKbXFHIHF1IDEKeFVyIGVyIDEKb2lVIGluIDEKcXNTIHF1IDEKcUdnIG5nIDEKcXRPIHRoIDEKdFBiIHRoIDEKUnFtIHF1IDEKdmtYIGthIDEKV3NiIHN0IDEKY3hSIGNoIDEKZlpyIGVyIDEKeVFnIG5nIDEKemlVIGluIDEKeHZXIHZhIDEKYUR4IGFuIDEKYlFqIGlqIDEKanhDIGlqIDEKVHdrIGthIDEKc1FoIHRoIDEKQmZ4IGZvIDEKYUdqIGFuIDEKUGdjIGNoIDEKSHpoIHRoIDEKcWdXIG5nIDEKa2RGIGRlIDEKa2JZIGthIDEKUWp4IGlqIDEKSHhqIGlqIDEKdFZ4IHRoIDEKbnhaIGFuIDEKb1ZkIG9uIDEKSGxxIHF1IDEKakt6IHN6IDEKcUFpIGluIDEKZE5sIGxlIDEKcHFBIHF1IDEKZUl2IGVyIDEKeG1XIG1lIDEKeWNLIGNoIDEKbVFkIGRlIDEKaG1VIHRoIDEKbmxGIGFuIDEKR2tsIGxlIDEKcUJxIHF1IDEKcmhRIHRoIDEKWm5rIGFuIDEKVmZwIHByIDEKbkJuIGFuIDEKcXZMIHF1IDEKYXFOIGFuIDEKa0xmIGthIDEKekpyIGVyIDEKdFF3IHRoIDEKc1dxIHF1IDEKYndXIHdhIDEKdnpCIHN6IDEKeXlSIG55IDEKcXFOIHF1IDEKd3lJIG55IDEKanpKIHN6IDEKcWdJIHF1IDEKYmdRIG5nIDEKeUx0IHRoIDEKVnFxIHF1IDEKWG5yIGFuIDEKd0hnIG5nIDEKYVFnIGFuIDEKY0ZoIHRoIDEKempRIHN6IDEKZ3BEIG5nIDEKeHpOIHN6IDEKaUl3IGluIDEKZFFnIG5nIDEKcFF5IHByIDEKWHl4IG55IDEKc1djIGNoIDEKakZkIGRlIDEKYnBGIHByIDEKVnN2IHN0IDEKUXFsIHF1IDEKd3pUIHN6IDEKc3FRIHF1IDEKS3ptIHN6IDEKb0ZxIHF1IDEKZ2tKIG5nIDEKaGtIIHRoIDEKcUxnIG5nIDEKYm1VIG1lIDEKY3JKIGNoIDEKc2xYIGxlIDEKVHp4IHN6IDEKcWJ4IHF1IDEKa3BJIGthIDEKeENmIGZvIDEKRm1sIGxlIDEKUWhqIHRoIDEKdFFzIHRoIDEKdlJkIGRlIDEKWWNiIGNoIDEKY2pQIGNoIDEKeXVFIHF1IDEKZ0lpIGluIDEKa1dnIG5nIDEKSndoIHRoIDEKZlZ5IG55IDEKanF5IHF1IDEKV3pwIHN6IDEKQ3djIGNoIDEKcUV5IHF1IDEKanJYIGVyIDEKS3FpIGluIDEKbFl2IGxlIDEKZEd2IGRlIDEKQ3dqIGlqIDEKbkR2IGFuIDEKT2ptIGlqIDEKRG54IGFuIDEKdnJGIGVyIDEKSm1yIGVyIDEKemZJIHN6IDEKYnFUIHF1IDEKWHZqIGlqIDEKblBwIGFuIDEKYVZ3IGFuIDEKd0J2IHZhIDEKa1ZiIGthIDEKZ2NIIGNoIDEKWGJzIHN6IDEKdFJkIHRoIDEKbVF6IHN6IDEKSHhlIGVyIDEKRG53IGFuIDEKeFdnIG5nIDEKcEdjIGNoIDEKaGdJIHRoIDEKeXdQIHdhIDEKbnJXIGFuIDEKaVZxIGRpIDEKeHpFIHN6IDEKVnhkIGRlIDEKTHpjIGNoIDEKSndwIHByIDEKZ0NxIG5nIDEKT3RxIHRoIDEKd3ZQIHZhIDEKY05yIGNoIDEKaVhxIGluIDEKUW5sIGluIDEKdFB6IHRoIDEKaEliIHRoIDEKYVBnIGFuIDEKenZ3IHN6IDEKbnFPIGFuIDEKc3FPIHF1IDEKYmpRIGlqIDEKbHdRIGxlIDEKcEVxIHF1IDEKYldqIGlqIDEKc3dUIHN6IDEKZ21ZIG5nIDEKZ1JrIG5nIDEKZFpyIGVyIDEKZk1yIGVyIDEKbHhPIGxlIDEKa2JRIGthIDEKeWZOIG55IDEKeW1xIHF1IDEKanBLIGlqIDEKV2puIGFuIDEKZm1XIG1lIDEKckt4IGVyIDEKZGxIIGxlIDEKa2NLIGNoIDEKdmJWIHZhIDEKcU5sIHF1IDEKcEh0IHRoIDEKaGxUIHRoIDEKbEJ2IGxlIDEKb2FGIGFuIDEKeGZNIGZvIDEKclpkIGVyIDEKamdXIG5nIDEKSHZoIHRoIDEKRmtmIGthIDEKY0RjIGNoIDEKaExoIHRoIDEKcVFwIHF1IDEKemhKIHRoIDEKaXZRIGluIDEKVWtxIHF1IDEKYnBWIHByIDEKYkpxIHF1IDEKYVB3IGFuIDEKc2RLIGRlIDEKY0dmIGNoIDEKTGp3IGlqIDEKcWhQIHRoIDEKbUZ3IG1lIDEKZkl1IHF1IDEKemhCIHRoIDEKZnVIIHF1IDEKYkZxIHF1IDEKV2drIG5nIDEKRnFoIHRoIDEKem1mIHN6IDEKWnBmIHByIDEKbkZoIHRoIDEKeUJ3IHdhIDEKZ0lqIG5nIDEKcUJmIGZvIDEKVXdsIGxlIDEKenJNIGVyIDEKeUJkIGRlIDEKUmxmIGxlIDEKUHpoIGNoIDEKclp4IGVyIDEKcVZzIHF1IDEKZHhKIGRlIDEKTGN6IGNoIDEKZ0ZuIGFuIDEKdkltIHZhIDEKcXRHIHRoIDEKcWJHIHF1IDEKYkhnIG5nIDEKeHJZIGVyIDEKdEJkIHRoIDEKbktxIGFuIDEKTmt0IHRoIDEKakNxIHF1IDEKYnlYIGJlIDEKb0JwIG9uIDEKV2p6IHN6IDEKemZQIHN6IDEKYVF6IGFuIDEKc2p4IGlqIDEKbmZXIGFuIDEKblh3IGFuIDEKYkp3IHdhIDEKYVNmIGFuIDEKaVJmIGluIDEKeU1kIGRlIDEKZkJjIGNoIDEKdnhSIHZhIDEKTGx4IGxlIDEKeUdzIHN6IDEKSnN5IHN6IDEKTHZ4IHZhIDEKZUZoIHRoIDEKd2JNIHdhIDEKdU9xIHF1IDEKd1dsIGxlIDEKYnZVIHZhIDEKZm5PIGFuIDEKbXpJIHN6IDEKVmNmIGNoIDEKbWhFIHRoIDEKdmdRIG5nIDEKamdQIG5nIDEKcWJqIHF1IDEKYlpmIGJlIDEKWHRqIHRoIDEKeVlxIHF1IDEKamRLIGRlIDEKanpCIHN6IDEKWXlzIHN6IDEKd1VnIG5nIDEKeUJiIGJlIDEKcWpNIHF1IDEKc1h3IHN6IDEKWHF3IHF1IDEKY1RiIGNoIDEKanJFIGVyIDEKc05wIHN6IDEKWmhtIHRoIDEKeFZzIHN6IDEKakd6IHN6IDEKSnFoIHRoIDEKelRtIHN6IDEKdmhFIHRoIDEKZFFpIGluIDEKVG12IHZhIDEKcXhEIHF1IDEKZnpFIHN6IDEKdk1yIGVyIDEKQ3F4IHF1IDEKdHdZIHRoIDEKblZ6IGFuIDEKbFJrIGxlIDEKT3dxIHF1IDEKcVlqIHF1IDEKeVFrIGthIDEKTmxmIGxlIDEKcURuIGFuIDEKYkh3IHdhIDEKY2pBIGNoIDEKc2dVIG5nIDEKa1FpIGluIDEKeU5mIG55IDEKbHdaIGxlIDEKdkdkIGRlIDEKVm1uIGFuIDEKdHBCIHRoIDEKY0ZkIGNoIDEKeEhtIG1lIDEKYlNnIG5nIDEKaEVxIHRoIDEKZXdRIGVyIDEKZVdkIGVyIDEKamZSIGlqIDEKenBZIHN6IDEKY3ZRIGNoIDEKaFhyIHRoIDEKY0p3IGNoIDEKd0VwIHByIDEKTnhsIGxlIDEKcU1mIHF1IDEKdkdjIGNoIDEKcHlRIHByIDEKanBVIGlqIDEKeG9BIG9uIDEKZ1huIGFuIDEKcXFHIHF1IDEKcFhuIGFuIDEKdmxQIGxlIDEKTHp2IHN6IDEKanhCIGlqIDEKY0pjIGNoIDEKamNUIGNoIDEKV3RtIHRoIDEKY0xnIGNoIDEKa1V4IGthIDEKbkZwIGFuIDEKSnN3IHN6IDEKc0JnIG5nIDEKakZuIGFuIDEKZ3ZDIG5nIDEKZkZ5IG55IDEKcW5BIGFuIDEKWmJiIGJlIDEKUHp4IHN6IDEKcHNKIHN6IDEKbFpxIHF1IDEKeWZQIG55IDEKZ1l2IG5nIDEKYmZDIGJlIDEKZE14IGRlIDEKaGxOIHRoIDEKd1JsIGxlIDEKcWpIIHF1IDEKV2pjIGNoIDEKdVFwIHF1IDEKelRiIHN6IDEKcVVyIHF1IDEKenFwIHF1IDEKdmxSIGxlIDEKanFYIHF1IDEKc3dSIHN6IDEKcU15IG55IDEKemtUIHN6IDEKeXFYIHF1IDEKbmxSIGFuIDEKSHFuIGFuIDEKYWFKIGFuIDEKbEt3IGxlIDEKYnpCIHN6IDEKVmdrIG5nIDEKYVZtIGFuIDEKZG5SIGFuIDEKdHhRIHRoIDEKUXppIGluIDEKenhWIHN6IDEKeGdRIG5nIDEKdHZaIHRoIDEKandOIGlqIDEKRXFqIHF1IDEKQnhqIGlqIDEKaHpIIHRoIDEKUWZ5IG55IDEKUHBqIGlqIDEKQXFwIHF1IDEKekpuIGFuIDEKc3pGIHN0IDEKcWZYIHF1IDEKcHpWIHN6IDEKdGdOIHRoIDEKeHNTIHN6IDEKblF6IGFuIDEKdGtGIHRoIDEKUWhxIHRoIDEKZ0pjIGNoIDEKdU9hIGFuIDEKcnFXIHF1IDEKZll6IHN6IDEKdUZjIGNoIDEKTmN4IGNoIDEKbE13IGxlIDEKY2pJIGNoIDEKSmN3IGNoIDEKdkVvIG9uIDEKZVF5IGVyIDEKU3hjIGNoIDEKYlV4IG1iIDEKemRKIHN6IDEKbHBOIGxlIDEKUmtxIHF1IDEKdnZJIHZhIDEKUW1xIHF1IDEKdGdKIHRoIDEKZ2ZFIG5nIDEKcWNYIGNoIDEKa2xUIGxlIDEKYmJWIGJlIDEKcG1aIG1lIDEKdXFBIHF1IDEKY1l5IGNoIDEKd21ZIG1lIDEKemxCIGxlIDEKek5kIHN6IDEKY3ZaIGNoIDEKZHZMIGRlIDEKd0x6IHN6IDEKcWNHIGNoIDEKUWpsIGxlIDEKbnFmIGFuIDEKZ3hZIG5nIDEKYXFJIGFuIDEKS3FhIGFuIDEKWHFwIHF1IDEKWXZnIG5nIDEKcXFGIHF1IDEKeUhoIHRoIDEKbkhjIGFuIDEKVXFxIHF1IDEKemZOIHN6IDEKbVhxIHF1IDEKRmdqIG5nIDEKRHN4IHN6IDEKeFJ2IHZhIDEKd2JaIHdhIDEKSG5wIGFuIDEKZlV4IGZvIDEKY1lkIGNoIDEKcVRnIG5nIDEKQmdxIG5nIDEKcENuIGFuIDEKWG1oIHRoIDEKdmpKIGlqIDEKdGRHIHRoIDEKWmhrIHRoIDEKeEZuIGFuIDEKZGtRIGRlIDEKTGNnIGNoIDEKbUl1IHF1IDEKSXdkIGRlIDEKd2p3IGlqIDEKemJYIHN6IDEKWWhwIHRoIDEKY3ZIIGNoIDEKTGN4IGNoIDEKV2ZuIGFuIDEKTmZxIHF1IDEKcU12IHF1IDEKVXZ3IHZhIDEKUW5oIHRoIDEKbmJHIGFuIDEKc0ZnIG5nIDEKeGxKIGxlIDEKYlBiIGJlIDEKeHBJIHByIDEKbXJWIGVyIDEKRnd1IHF1IDEKd095IHdhIDEKUG1oIHRoIDEKSmhxIHRoIDEKWmJ4IGJlIDEKcGdZIG5nIDEKUmJ3IHdhIDEKQXd4IHdhIDEKbWNCIGNoIDEKZ2tHIG5nIDEKeGtXIGthIDEKUG53IGluIDEKYk5zIHN6IDEKblhyIGFuIDEKVm10IHRoIDEKZVV2IGVyIDEKeVF2IHZhIDEKa3hyIGVyIDEKS3N3IHN6IDEKYnBXIHByIDEKcWVEIHF1IDEKUXZoIHRoIDEKYlJtIG1lIDEKcUptIHF1IDEKY3NZIGNoIDEKcXdIIHF1IDEKQ3FjIGNoIDEKbFlxIHF1IDEKZFBwIGRlIDEKb0FlIGVyIDEKZGNTIGNoIDEKdXdVIHF1IDEKempMIHN6IDEKb1p4IG9uIDEKa2pSIGlqIDEKY0R5IGNoIDEKZlNzIHN6IDEKZVFmIGxlIDEKcUJtIHF1IDEKbUxiIG1lIDEKWnJqIGVyIDEKR2t4IGthIDEKcGtYIGthIDEKdlRrIGthIDEKWmdwIG5nIDEKZGhQIHRoIDEKblB2IGFuIDEKeG5RIGFuIDEKYkhwIHByIDEKWGdmIG5nIDEKQ3dmIHdhIDEKbGJOIGxlIDEKak5tIGlqIDEKeE50IHRoIDEKckpwIGVyIDEKb0pkIG9uIDEKUnlxIHF1IDEKbHZMIGxlIDEKcXZZIHF1IDEKdndDIHZhIDEKa0ZqIGlqIDEKcUhkIHF1IDEKd2NCIGNoIDEKeFRzIHN6IDEKZlF6IHN6IDEKRGxmIGxlIDEKd0x0IHRoIDEKRmJoIHRoIDEKcnFKIHF1IDEKaGhPIHRoIDEKeE9pIGluIDEKbXF6IHF1IDEKcW1RIG1lIDEKcVFqIHF1IDEKb3ZRIG9uIDEKZ2ZSIG5nIDEKUG1xIHF1IDEKVGNqIGNoIDEKbXFRIHF1IDEKbXdWIG1lIDEKYlh3IHdhIDEKamxBIGxlIDEKZmpHIGlqIDEKanhZIGlqIDEKcXdNIHF1IDEKa3ZVIGthIDEKQmtxIHF1IDEKZ2ZBIG5nIDEKQXdjIGNoIDEKVm12IHZhIDEKUWhsIHRoIDEKV21qIGlqIDEKY01xIGNoIDEKdEhwIHRoIDEKbFBiIGxlIDEKdmxLIGxlIDEKWWdrIG5nIDEKZ0pzIG5nIDEKdFdsIHRoIDEKeFZ3IHdhIDEKc3JOIGVyIDEKVWhiIHRoIDEKdmZSIHZhIDEKa0ZmIGthIDEKSmx6IGxlIDEKZktxIHF1IDEKbVJxIHF1IDEKa1d3IGthIDEKenZPIHN6IDEKWHF6IHF1IDEKZElqIGRlIDEKd0ptIG1lIDEKRnF2IHF1IDEKd050IHRoIDEKbHhMIGxlIDEKeExtIG1lIDEKZHFOIHF1IDEKd1JqIGlqIDEKTGp0IHRoIDEKd1J3IHdhIDEKY3hCIGNoIDEKY2pIIGNoIDEKVnFqIHF1IDEKcUpzIHF1IDEKY0ZrIGNoIDEKeHFkIHF1IDEKRXFoIHRoIDEKcVJkIHF1IDEKdmZUIHZhIDEKWnFiIHF1IDEKbUdjIGNoIDEKU2JkIGRlIDEKaXdWIGluIDEKamZJIGlqIDEKbld6IGFuIDEKTGpnIG5nIDEKcmpHIGVyIDEKY0ZiIGNoIDEKdXFaIHF1IDEKbVZtIG1lIDEKamdLIG5nIDEKZFpoIHRoIDEKQnF4IHF1IDEKcXVHIHVuIDEKbEN2IGxlIDEKbHhXIGxlIDEKZ0diIG5nIDEKZ3ZZIG5nIDEKbWpGIGlqIDEKcHRYIHRoIDEKcFl5IHByIDEKWXJmIGVyIDEKbVZkIGRlIDEKenBSIHN6IDEKeEt3IHdhIDEKd3BNIHByIDEKY0xrIGNoIDEKU3F6IHF1IDEKZ1duIGFuIDEKc1d6IHN0IDEKc3JTIGVyIDEKY1Z4IGNoIDEKeE5iIGJlIDEKaFBiIHRoIDEKYkdxIHF1IDEKdGRIIHRoIDEKeUpsIGxlIDEKdlVrIGthIDEKZEp6IHN6IDEKcWhJIHRoIDEKbXRQIHRoIDEKbEdiIGxlIDEKaER4IHRoIDEKemZXIHN6IDEKTm1sIGxlIDEKSHN3IHN0IDEKcGZHIHByIDEKZE1qIGRlIDEKa0txIHF1IDEKcmpTIGVyIDEKUWxnIG5nIDEKTmZ5IG55IDEKY3FNIGNoIDEKaFdtIHRoIDEKZnVPIHF1IDEKemZGIHN6IDEKcWdIIG5nIDEKYnBaIHByIDEKYnRZIHRoIDEKdXFCIHF1IDEKcXlBIHF1IDEKWHJwIGVyIDEKeXRYIHRoIDEKZEhtIGRlIDEKdkJnIG5nIDEKeXlOIG55IDEKUXJqIGVyIDEKZ0tkIG5nIDEKYmZVIGJlIDEKUWZ0IHRoIDEKYnFQIHF1IDEKcU96IHF1IDEKWGhjIHRoIDEKZHFZIHF1IDEKaGpRIHRoIDEKWWZ1IHF1IDEKYVhrIGFuIDEKcGJWIHByIDEKdmpQIGlqIDEKWWJwIHByIDEKSm1iIG1lIDEKcUZxIHF1IDEKeVBxIHF1IDEKeVd3IHdhIDEKdmhYIHRoIDEKaXdUIGluIDEKcVpmIHF1IDEKdXFVIHF1IDEKdUZrIHF1IDEKY3BXIGNoIDEKTHBxIHF1IDEKa2ZMIGthIDEKcFFlIGVyIDEKZ3d6IG5nIDEKanBNIGlqIDEKUWttIGthIDEKamdIIG5nIDEKeGpQIGlqIDEKeGdMIG5nIDEKakxtIGlqIDEKZHhOIGRlIDEKdldzIHN0IDEKSmpoIHRoIDEKaGhHIHRoIDEKWXZjIGNoIDEKeHJFIGVyIDEKYlp3IHdhIDEKTHZ3IHZhIDEKZU53IGVyIDEKZmpCIGlqIDEKZGNRIGNoIDEKbFp0IHRoIDEKSndxIHF1IDEKcVBnIG5nIDEKeE1iIGJlIDEKaGZEIHRoIDEKanpRIHN6IDEKVXVmIHF1IDEKekdrIHN6IDEKekNjIGNoIDEKbnBDIGFuIDEKdFdkIHRoIDEKaGpGIHRoIDEKUHpzIHN0IDEKd3VBIHF1IDEKUWhnIHRoIDEKTXFtIHF1IDEKZnNJIHN0IDEKZmRVIGRlIDEKWHJtIGVyIDEKcVFnIG5nIDEKYmtXIGthIDEKZEhnIG5nIDEKcmNCIGNoIDEKaFd1IHRoIDEKbklxIGFuIDEKcllxIHF1IDEKeFh2IHZhIDEKd3FQIHF1IDEKeG1OIG1lIDEKc0pmIHN0IDEKeU1mIG55IDEKU2ZrIGthIDEKcXpXIHF1IDEKY3ZUIGNoIDEKa21YIGthIDEKeHFVIHF1IDEKY25HIGFuIDEKSnBpIGluIDEKZnJYIGVyIDEKeUxmIG55IDEKdXlVIHF1IDEKRGR3IGRlIDEKVGdqIG5nIDEKcWVIIHF1IDEKZkV6IHN6IDEKcENrIGthIDEKcW1mIHF1IDEKcmpIIGVyIDEKeE1wIHByIDEKWXdvIG9uIDEKemdEIG5nIDEKUHF4IHF1IDEKbnFNIG9uIDEKd2RYIGRlIDEKQnB6IHN6IDEKbGhNIHRoIDEKRXBiIHByIDEKYmhKIHRoIDEKa3ZRIGthIDEKUnNxIHF1IDEKeGJQIGJlIDEKbk1tIGFuIDEKeHVDIHF1IDEKd2pzIHN6IDEKZnhYIGZvIDEKaHZUIHRoIDEKdVB4IHF1IDEKSm15IG1lIDEKUXpkIGRlIDEKTnN6IHN0IDEKdldkIGRlIDEKaGZYIHRoIDEKakNnIG5nIDEKeVF4IG55IDEKd2hKIHRoIDEKd3JxIHF1IDEKeGdXIG5nIDEKSmhqIHRoIDEKbGhDIHRoIDEKUHdmIG93IDEKbGpDIGxlIDEKdnZCIHZhIDEKbWNOIGNoIDEKeUh4IG55IDEKYkJqIGlqIDEKcVJ6IHF1IDEKZ2xIIG5nIDEKY1pwIGNoIDEKcUpoIHRoIDEKdFNnIHRoIDEKeFZtIG1lIDEKdVdzIHF1IDEKVnhvIG9uIDEKZmpNIGlqIDEKemhLIHRoIDEKQ2poIHRoIDEKdlpyIGVyIDEKYkNzIHN6IDEKcndZIGVyIDEKeEVpIGluIDEKZFV2IGRlIDEKZlJnIG5nIDEKR2N1IGNoIDEKakRmIGlqIDEKZGpIIGRlIDEKdmxVIGxlIDEKcXlHIHF1IDEKa2ZxIHF1IDEKbFhnIG5nIDEKbGJDIGxlIDEKUHdnIG5nIDEKT2FlIGFuIDEKcGJDIHByIDEKZFd0IHRoIDEKbHpVIGxlIDEKd0p6IHN6IDEKZFlqIGRlIDEKY0JqIGNoIDEKZlJ2IHZhIDEKZGpHIGRlIDEKbVlnIG5nIDEKUWJjIGNoIDEKZ25YIGFuIDEKd1BtIG1lIDEKd3ZOIHZhIDEKcUdtIHF1IDEKcU5oIHRoIDEKbVJnIG5nIDEKVXF2IHF1IDEKUXhtIG1lIDEKZnpYIHN6IDEKempNIHN6IDEKeHFBIHF1IDEKYk1zIHN6IDEKdm1MIG1lIDEKRXl4IG55IDEKaEhqIHRoIDEKakdwIGlqIDEKbWZEIG1lIDEKSmZ3IHdhIDEKV2poIHRoIDEKYlpzIHN6IDEKSXlrIGthIDEKelJuIGFuIDEKY2RVIGNoIDEKbUpoIHRoIDEKUWp5IGlqIDEKUWFvIGFuIDEKYlh2IHZhIDEKaFNnIHRoIDEKckFvIGVyIDEKaExzIHRoIDEKbENzIGxlIDEKcWtKIHF1IDEKUnh1IHF1IDEKeGROIGRlIDEKeVl4IG55IDEKZGtOIGRlIDEKUmd3IG5nIDEKemdMIHN6IDEKUmNqIGNoIDEKaVd6IGluIDEKZExrIGRlIDEKbXBYIG1lIDEKR2JkIGRlIDEKYm5IIGFuIDEKa2RNIGRlIDEKd3FHIHF1IDEKdk16IHN6IDEKendIIHN6IDEKd2d4IG5nIDEKTGprIGlqIDEKdGxHIHRoIDEKdGdFIHRoIDEKV2N3IGNoIDEKVmJ5IGJlIDEKbVZ6IHN6IDEKSGdjIGNoIDEKZ3FQIG5nIDEKaGhCIHRoIDEKbkZ4IGFuIDEKeUJmIG55IDEKV214IG1lIDEKdk5iIHZhIDEKTW52IGFuIDEKWm1jIGNoIDEKYnpTIHN6IDEKeWZDIG55IDEKRXB4IHByIDEKbGpHIGxlIDEKd1VhIGFuIDEKUWdvIG5nIDEKcHFiIHF1IDEKSmttIGthIDEKV3Z5IHZhIDEKQmpwIGlqIDEKdmZaIHZhIDEKd3hUIHdhIDEKVnh3IHdhIDEKZFJ0IHRoIDEKblZxIGFuIDEKaVdmIGluIDEKU21xIHF1IDEKandHIGlqIDEKdmNXIGNoIDEKUWd6IG5nIDEKV2txIHF1IDEKeHJMIGVyIDEKdFZoIGNoIDEKWmxyIGVyIDEKekR0IHRoIDEKeXhQIG55IDEKWXl3IHdhIDEKelBrIHN6IDEKQmdnIG5nIDEKeE9rIGthIDEKb1hxIHF1IDEKdFFmIHRoIDEKZnhGIGZvIDEKZE9xIHF1IDEKVnRwIHRoIDEKamhQIHRoIDEKdmhaIHRoIDEKR3FxIHF1IDEKZEZnIG5nIDEKZUNnIG5nIDEKa2pIIGlqIDEKdnFRIHF1IDEKanBMIGlqIDEKaGdaIHRoIDEKeEZkIGRlIDEKUWpkIGRlIDEKeEttIG1lIDEKelFjIGNoIDEKTmh3IHRoIDEKS3FvIHF1IDEKaHdPIHRoIDEKb1luIGFuIDEKV25mIGFuIDEKdlNjIGNoIDEKQWZxIHF1IDEKanFKIHF1IDEKakVnIG5nIDEKZEtwIGRlIDEKbm1LIGFuIDEKd1h3IHdhIDEKdmpDIGlqIDEKZFhiIGRlIDEKdFFuIHRoIDEKcW9SIHF1IDEKYlJmIGJlIDEKeXlMIG55IDEKa1NqIGlqIDEKWHl1IHF1IDEKdm1BIHZhIDEKWmdtIG5nIDEKTGJ4IGJlIDEKYkl2IHZhIDEKWmRxIHF1IDEKZ0huIGFuIDEKYllxIHF1IDEKTXFkIHF1IDEKcU1rIHF1IDEKUXN2IHN0IDEKelh4IHN6IDEKaFFmIHRoIDEKd2NWIGNoIDEKWGZ6IHN6IDEKTWhjIHRoIDEKa0J6IHN6IDEKYldwIHByIDEKV3p1IHF1IDEKaFd3IHRoIDEKeU5wIHByIDEKeGJaIGJlIDEKbVRiIG1lIDEKS2RmIGRlIDEKcGZRIHByIDEKdkNkIGRlIDEKUHFmIHF1IDEKb2ZaIG9uIDEKd1lkIGRlIDEKVGZjIGNoIDEKR25iIGFuIDEKWmR4IGRlIDEKelZqIHN6IDEKVHF3IHF1IDEKZnpWIHN6IDEKSWdxIG5nIDEKUXZ2IHZpIDEKUG1mIG1lIDEKcUhlIHF1IDEKeWJSIGJlIDEKY0ZnIGNoIDEKS3ZmIHZhIDEKWnhtIG1lIDEKb1ZjIGNoIDEKWWhiIHRoIDEKYndQIHdhIDEKVnZ6IHN6IDEKc2RXIGRlIDEKZ0Z6IG5nIDEKbVJsIGxlIDEKYnFOIHF1IDEKYmhVIHRoIDEKdEJ3IHRoIDEKSGJiIGJlIDEKSnpwIHN6IDEKenJTIGVyIDEKbWtaIG1lIDEKYkt3IHdhIDEKalB4IGlqIDEKWHFhIGFuIDEKZkd6IHN6IDEKeExrIGthIDEKbnJWIGFuIDEKVG14IG1lIDEKenZaIHN6IDEKZ1dsIG5nIDEKWXhiIGJlIDEKeVd0IHRoIDEKbHFOIHF1IDEKdFd1IHRoIDEKeFp0IHRoIDEKaXFJIGluIDEKY3BRIGNoIDEKelBmIHN6IDEKYnFHIHF1IDEKZ21JIG5nIDEKV2tjIGNoIDEKWnZzIHN6IDEKcWROIHF1IDEKaFlmIHRoIDEKc0JuIGFuIDEKRHdiIG93IDEKV3pxIHF1IDEKUWR3IGRlIDEKc3ZSIHN6IDEKTnZ2IHZhIDEKalJjIGNoIDEKcUR2IHF1IDEKcUdlIHF1IDEKY3dUIGNoIDEKZlR5IG55IDEKQ3Z2IHZhIDEKZmxRIGxlIDEKbVdnIG5nIDEKdHdTIHRoIDEKbnBNIGFuIDEKVWZxIHF1IDEKZnVHIHF1IDEKb0NqIG9uIDEKdHhGIHRoIDEKWWZ0IHRoIDEKcXd5IHF1IDEKVmR6IGRlIDEKVmdxIG5nIDEKUmtnIG5nIDEKUHh6IHN6IDEKbUNuIGFuIDEKd2haIHRoIDEKZmdCIG5nIDEKanZXIGlqIDEKa2RMIGRlIDEKTHhpIGluIDEKc3ZCIHN6IDEKeHVIIHF1IDEKZ0Z5IG5nIDEKb1Z2IG9uIDEKWmhxIHRoIDEKb3FHIHF1IDEKb0pwIG9uIDEKZ0lmIG5nIDEKYndGIHdhIDEKdkxoIHRoIDEKamdYIG5nIDEKcUtpIGluIDEKeFJoIHRoIDEKcXdWIHF1IDEKbU5sIGxlIDEKR3Z2IHZhIDEKcFFmIHByIDEKeGJWIGJlIDEKZHBaIGRlIDEKZkhxIHF1IDEKYkJkIGRlIDEKdlVoIHRoIDEKaHpBIHRoIDEKTW56IGFuIDEKcEJ0IHRoIDEKb2FFIGFuIDEKc2xLIGxlIDEKV2xnIG5nIDEKamhLIHRoIDEKeHZYIHZhIDEKRmZ4IGZvIDEKZ1hoIHRoIDEKY1dmIGNoIDEKR3B5IHByIDEKeG1TIG1lIDEKZ1puIGFuIDEKZGpYIGRlIDEKYmtYIGthIDEKeGxQIGxlIDEKaEN0IHRoIDEKWWhqIHRoIDEKZ3dRIG5nIDEKa2xEIGxlIDEKUmhxIHRoIDEKYUVqIGFuIDEKanBZIGlqIDEKcFZuIGFuIDEKbkp4IGFuIDEKemRWIGRlIDEKUnZmIHZhIDEKT3F5IHF1IDEKenBUIHN6IDEKUHpjIGNoIDEKcVRtIHF1IDEKamZxIGlqIDEKenRZIHRoIDEKWnF2IHF1IDEKblpiIGFuIDEKcEhsIGxlIDEKUWNyIGNoIDEKelZtIHN6IDEKcE5tIG1lIDEKWGhqIHRoIDEKb1l5IG9uIDEKRmxxIHF1IDEKbHdqIGxlIDEKcndIIGVyIDEKb1dxIHF1IDEKQndtIG1lIDEKalhzIHN6IDEKTGt0IHRoIDEKbFZuIGFuIDEKalhhIGFuIDEKaGtCIHRoIDEKcXJRIHF1IDEKZHFLIHF1IDEKWnhuIGFuIDEKeWdaIG5nIDEKRmd0IHRoIDEKbndNIGFuIDEKV3p4IHN6IDEKcWdiIG5nIDEKWWd2IG5nIDEKWGRkIGRlIDEKeGpNIGlqIDEKcUhiIHF1IDEKekt6IHN6IDEKZHZNIGRlIDEKWnB4IHByIDEKd1B0IHRoIDEKcWlBIGluIDEKanlWIGlqIDEKanlSIGlqIDEKVW94IG9uIDEKUWt6IGthIDEKTHhxIHF1IDEKZnBxIHF1IDEKWG1mIG1lIDEKa1J4IGthIDEKakZrIGlqIDEKblpjIGFuIDEKaENwIHRoIDEKSGJ3IHdhIDEKemxGIGxlIDEKa3FJIHF1IDEKd1dqIGlqIDEKcUtrIHF1IDEKSnBmIHByIDEKbGJSIGxlIDEKcmJKIGVyIDEKemZLIHN6IDEKZ1ZrIG5nIDEKYlp4IGJlIDEKem5RIGFuIDEKZ1piIGdhIDEKd3RJIHRoIDEKYnZXIHZhIDEKcWhHIHRoIDEKeHJWIGVyIDEKcFljIGNoIDEKYlFxIHF1IDEKcXBWIHF1IDEKcEZtIG1lIDEKemRPIGRlIDEKSnZqIGlqIDEKbVFsIGxlIDEKeFdtIG1lIDEKRHR6IHRoIDEKbEt6IGxlIDEKZGtJIGRlIDEKZlN4IGZvIDEKeUNwIHByIDEKd2hGIHRoIDEKbFZtIGxlIDEKeUh2IHZhIDEKUGxtIGxlIDEKSnBtIG1lIDEKaEV3IGhhIDEKekh6IHN6IDEKdUlqIHF1IDEKZ3pCIG5nIDEKcXNWIHF1IDEKcGJYIHByIDEKanlZIGlqIDEKbWpxIHF1IDEKekRkIGRlIDEKVHFjIGNoIDEKZlRnIG5nIDEKcWJoIHRoIDEKQ2pxIHF1IDEKcGNXIGNoIDEKWGhwIHRoIDEKZndSIHdhIDEKZFFtIGRlIDEKeENrIGthIDEKeWhNIHRoIDEKZ2xRIG5nIDEKZ1ZiIG5nIDEKUGR5IGRlIDEKeU9qIGlqIDEKalpnIG5nIDEKb3FaIHF1IDEKYnFJIHF1IDEKamtYIGlqIDEKS2ZoIHRoIDEKeHBRIHByIDEKcmhYIHRoIDEKd2pJIGlqIDEKQnFmIHF1IDEKYUNwIGFuIDEKY2NYIGNoIDEKdkdtIG1hIDEKcGFVIGFuIDEKeFVoIHRoIDEKZ0xkIG5nIDEKdGZKIHRoIDEKZndIIHdhIDEKUG5xIGFuIDEKa3hWIGthIDEKTmJrIGthIDEKc3FFIHF1IDEKQ2pwIGlqIDEKa2NaIGthIDEKV3FqIGlqIDEKdHpZIHRoIDEKbnFYIGFuIDEKWXljIGNoIDEKTHpkIGRlIDEKeFp5IG55IDEKc2RZIGRlIDEKalhuIGFuIDEKTmJtIG1lIDEKd0xyIGVyIDEKTnFyIHF1IDEKWnd4IHdhIDEKeXZIIHZhIDEKeWxDIGxlIDEKcXloIHRoIDEKSm56IGFuIDEKaEh2IHRoIDEKelVxIHF1IDEKeGdJIG5nIDEKWnRwIHRoIDEKVnZiIHZhIDEKdEduIHRoIDEKVWpxIHF1IDEKakhzIHN6IDEKYldxIHF1IDEKYlhyIGVyIDEKaEZnIHRoIDEKZ2RUIG5nIDEKcUhjIGNoIDEKbENqIGxlIDEKbVZnIG5nIDEKcFFxIHF1IDEKdldsIGxlIDEKeUZxIHF1IDEKZGpZIGRlIDEKYnRRIHRoIDEKdmxNIGxlIDEKSXd0IHRoIDEKUGRiIGRlIDEKanRRIHRoIDEKeGpSIGlqIDEKZGhXIHRoIDEKelhzIHN6IDEKZmJFIGJlIDEKSHFyIHF1IDEKdkx0IHRoIDEKa2JEIGthIDEKdlVkIGRlIDEKeVpjIGNoIDEKUWtlIGxlIDEKZmhHIHRoIDEKZUh0IHRoIDEKdkhqIGlqIDEKVGZnIG5nIDEKdW9BIHF1IDEKekN4IHN6IDEKekxrIHN6IDEKamRXIGRlIDEKQ2duIGFuIDEKTHJxIHF1IDEKeU9pIGluIDEKcU93IHF1IDEKZnFzIHF1IDEKbHRRIHRoIDEKbndVIGFuIDEKellxIHF1IDEKR3pzIHN0IDEKbld2IGFuIDEKbE54IGxlIDEKV3FsIHF1IDEKZGNEIGNoIDEKdmZEIHZhIDEKcVZkIHF1IDEKV3p6IHN6IDEKamZIIGlqIDEKUnJ0IHRoIDEKcURyIHF1IDEKbE9oIHRoIDEKd3daIHdhIDEKbVF3IG1lIDEKbnFLIGFuIDEKVXZsIGxlIDEKa1JxIHF1IDEKVmhnIHRoIDEKeHNEIHN0IDEKTGRkIGRlIDEKc1F2IHN0IDEKcU1qIHF1IDEKaGJRIHRoIDEKY2pYIGNoIDEKbmJUIGFuIDEKeE5mIGZvIDEKd0N0IHRoIDEKam5YIGFuIDEKdFpmIHRoIDEKcUNrIHF1IDEKZEhrIGRlIDEKQ2NxIGNoIDEKdU1mIHF1IDEKYnZHIHZhIDEKelB6IHN6IDEKeUl5IG55IDEKbEh4IGxlIDEKZm5CIGFuIDEKRWJ4IGJlIDEKckdjIGNoIDEKbWdEIG5nIDEKaEpnIHRoIDEKamNHIGNoIDEKWWJkIGRlIDEKb0RxIHF1IDEKalJ4IGlqIDEKa0pmIGthIDEKdEZ2IHRoIDEKR2R2IGRlIDEKZkhuIGFuIDEKVXFwIHF1IDEKY1loIHRoIDEKa0hwIGthIDEKcWhaIHRoIDEKd1poIHRoIDEKa1F0IHRoIDEKaHdIIHRoIDEKeHpVIHN6IDEKdFFnIHRoIDEKUWJqIGlqIDEKelZsIGxlIDEKcUpkIHF1IDEKWHJmIGVyIDEKZk12IHZhIDEKcUpjIGNoIDEKRHF5IHF1IDEKcU1zIHF1IDEKZnpsIGxlIDEKV2R4IGRlIDEKVGR3IHdhIDEKbWNUIGNoIDEKZk9kIGRlIDEKS2dqIG5nIDEKeXJUIGVyIDEKYnFBIHF1IDEKc25xIGFuIDEKTHp0IHRoIDEKZ0x3IG5nIDEKZExxIHF1IDEKUXpyIGVyIDEKUXJuIGFuIDEKZUZuIGFuIDEKTm13IHdhIDEKcHhFIHByIDEKQ3FrIHF1IDEKV2NkIGNoIDEKZlh3IHdhIDEKZmJVIGJlIDEKYWVPIGFuIDEKc3ZWIHN0IDEKeVZ0IHRoIDEKc1JwIHN0IDEKcnhVIGVyIDEKcWhLIHRoIDEKdVF3IHF1IDEKb1h3IG9uIDEKSnZ3IHZhIDEKa3ZIIGthIDEKelZ5IHN6IDEKck9xIHF1IDEKY1d4IGNoIDEKaVh2IGluIDEKY0JrIGNoIDEKeGtNIGthIDEKdkhiIHZhIDEKamJXIGlqIDEKbVlxIHF1IDEKZm5IIGFuIDEKelJqIHN6IDEKaHZOIHRoIDEKb01oIHRoIDEKeXFPIHF1IDEKZkJmIGZvIDEKb1BqIG9uIDEKZkZjIGNoIDEKbFZxIHF1IDEKcHRKIHRoIDEKTnRqIHRoIDEKcndMIGVyIDEKY0Z6IGNoIDEKalZkIGRlIDEKR2J2IHZhIDEKb0puIGFuIDEKd2tMIGthIDEKcW9UIHF1IDEKUXhrIGthIDEKclpqIGlqIDEKQ2dkIG5nIDEKZ3ZXIG5nIDEKa1l2IGthIDEKcWpSIHF1IDEKVm5xIGFuIDEKeUp0IHRoIDEKeFd5IG55IDEKYlhsIGxlIDEKeFZrIGthIDEKeHVHIHF1IDEKSHpzIHN0IDEKdURxIHF1IDEKWXdrIGthIDEKSmtoIHRoIDEKR2RtIGRlIDEKcWNPIGNoIDEKaGxIIHRoIDEKSmZ2IHZhIDEKY0xuIGFuIDEKd3pHIHN6IDEKeWhGIHRoIDEKa2ZEIGthIDEKa2JKIGthIDEKTnFwIHF1IDEKZ1lxIG5nIDEKenRNIHRoIDEKamNEIGNoIDEKd2dZIG5nIDEKcWRUIGRhIDEKdlR3IHZhIDEKY056IGNoIDEKSmJjIGNoIDEKWGNqIGNoIDEKclV3IGVyIDEKZ1h2IG5nIDEKZFJmIGRlIDEKYkp6IHN6IDEKYXFBIGFuIDEKdU96IHF1IDEKd1BqIGlqIDEKdUR3IHF1IDEKbXFGIHF1IDEKY1hyIGNoIDEKeXJMIGVyIDEKbkprIGFuIDEKaHNZIHRoIDEKWnFzIHF1IDEKcWVTIHF1IDEKYkx2IHZhIDEKakVvIG9uIDEKcG1FIG1lIDEKakl0IHRoIDEKdnpaIHN6IDEKUWhkIHRoIDEKY25OIGFuIDEKYlBxIHF1IDEKcFp3IHByIDEKaXdSIGluIDEKb0p2IGtvIDEKdWZJIHF1IDEKd0ttIG1lIDEKdVd2IHF1IDEKZkNmIGZvIDEKd0JuIGFuIDEKVXlmIG55IDEKdVZ4IHF1IDEKa0tmIGthIDEKbXJaIGVyIDEKbFhiIGxlIDEKekptIHN6IDEKd1lyIGVyIDEKSGt3IGthIDEKRXd6IHN6IDEKeEp5IG55IDEKRW14IG1lIDEKY3FMIGNoIDEKelZrIHN6IDEKeVBiIGJlIDEKemNDIGNoIDEKTmRxIHF1IDEKdVdmIHF1IDEKa2NNIGNoIDEKdGtCIHRoIDEKeWhxIHRoIDEKcWFQIGFuIDEKclZzIGVyIDEKZExkIGRlIDEKU2dtIG5nIDEKWGh4IHRoIDEKeHFIIHF1IDEKS3F5IHF1IDEKeVJ3IHdhIDEKV2R3IGRlIDEKcWNRIGNoIDEKemJwIHN6IDEKZHRZIHRoIDEKY3dCIGNoIDEKbmZWIGFuIDEKY2dQIGNoIDEKcHdXIHByIDEKcHFmIHF1IDEKWGtwIGthIDEKaXpKIGluIDEKY1l3IGNoIDEKaVFsIGluIDEKUXZ5IHZhIDEKeWxSIGxlIDEKc0ZwIHN0IDEKTHFnIG5nIDEKeG5QIGFuIDEKZ1lsIG5nIDEKd0lyIGVyIDEKZnFSIHF1IDEKUXBrIGthIDEKcVh6IHF1IDEKTHJyIGVyIDEKc2pJIHN0IDEKaXlYIGluIDEKWmZxIHF1IDEKdnRIIHRoIDEKY1pmIGNoIDEKaFhwIHRoIDEKckp3IGVyIDEKZ2JQIG5nIDEKUXVnIG5nIDEKalJ0IHRoIDEKbFhoIHRoIDEKcFZjIGNoIDEKa0djIGNoIDEKTnhyIGVyIDEKeUtrIGthIDEKeEFvIG9uIDEKb1V4IG9uIDEKbld4IGFuIDEKZndVIHdhIDEKbUtnIG5nIDEKcWhPIHRoIDEKc0dnIG5nIDEKV3d1IHF1IDEKY25FIGFuIDEKdGpTIHRoIDEKUXlkIGRlIDEKeVdtIG1lIDEKUWRqIGRlIDEKalNkIGRlIDEKSW95IG9uIDEKWHBwIHByIDEKeEpiIGJlIDEKeHZUIHZhIDEKY2RUIGNoIDEKa2hYIHRoIDEKaFZwIHRoIDEKY2pUIGNoIDEKSHFmIHF1IDEKbmJQIGFuIDEKVXdiIHdhIDEKS2NiIGNoIDEKcXNRIHF1IDEKdGtaIHRoIDEKenJYIGVyIDEKemJOIHN6IDEKbVlpIGluIDEKZ0x4IG5nIDEKc0djIGNoIDEKUGJ2IHZhIDEKZ2NWIGNoIDEKUWpmIGlqIDEKd3ZCIHZhIDEKZ0twIG5nIDEKalp5IGlqIDEKcWhXIHRoIDEKdkNnIG5nIDEKTHJrIGVyIDEKZlJ3IHdhIDEKY01qIGNoIDEKb2hLIHRoIDEKZnJLIGVyIDEKZFFxIHF1IDEKSGRqIGRlIDEKQmt4IGthIDEKeVh2IHZhIDEKZmRPIGRlIDEKc1dnIG5nIDEKWHRmIHRoIDEKclV4IGFyIDEKcUhtIHF1IDEKa1FoIHRoIDEKd3pVIHN6IDEKdlR0IHRoIDEKemtOIHN6IDEKRnFwIHF1IDEKeEpjIGNoIDEKd2tRIGthIDEKd3hGIHdhIDEKdlJqIGlqIDEKanpEIHN6IDEKWnF1IHVuIDEKeld3IHN6IDEKemdVIG5nIDEKdWdYIG5nIDEKcG1CIG1lIDEKZ3pBIG5nIDEKWmpqIGlqIDEKeElqIGlqIDEKeG9LIG9uIDEKR3F4IHF1IDEKdUxxIHF1IDEKbEd3IGxlIDEKdFpxIHRoIDEKemNOIGNoIDEKeVB6IHN6IDEKcnFOIHF1IDEKcHdHIHByIDEKdmZQIHZhIDEKdkl5IHZhIDEKdkVqIGlqIDEKanFEIHF1IDEKSHh1IHF1IDEKcUxzIHF1IDEKSnB5IHByIDEKcFJ3IHByIDEKZlpzIHN0IDEKVnZ4IHZhIDEKemtCIHN6IDEKeUdrIGthIDEKa3ZaIGthIDEKY3FXIGNoIDEKd0xnIG5nIDEKWXBnIG5nIDEKanJSIGVyIDEKdndaIHZhIDEKZ1ZkIG5nIDEKaUN3IGlqIDEKRnh3IHdhIDEKcXlaIHF1IDEKcWdUIHF1IDEKeExzIHN0IDEKcFhnIG5nIDEKZ052IG5nIDEKSGd6IG5nIDEKekp2IHN6IDEKSHZtIHZhIDEKdVhiIHF1IDEKbEx6IGxlIDEKZHdQIGRlIDEKZ3ZOIG5nIDEKY3BGIGNoIDEKdlpqIGlqIDEKUGZ2IHZhIDEKeGNJIGNoIDEKeVZwIHByIDEKZmRDIGRlIDEKcGJFIHByIDEKalFtIGlqIDEKVHF0IHRoIDEKd01oIHRoIDEKR2txIHF1IDEKdGRWIHRoIDEKeElrIGthIDEKaEhwIHRoIDEKTHNiIHN0IDEKV3ZzIHN0IDEKUWN3IGNoIDEKZ2ZRIG5nIDEKRmp0IHRoIDEKeEJ6IHN6IDEKZkx4IGZvIDEKemtSIHN6IDEKa2pBIGlqIDEKRmN3IGNoIDEKZmhUIHRoIDEKcWlLIHF1IDEKd1F2IHZhIDEKcFhsIGxlIDEKaExnIHRoIDEKakp3IGlqIDEKc09qIHN0IDEKdldiIHZhIDEKQWpxIHF1IDEKdktjIGNoIDEKaUl5IGluIDEKcEp5IHByIDEKTHFjIGNoIDEKd0JkIGRlIDEKa1JiIGthIDEKTGNwIGNoIDEKZ2ZCIG5nIDEKelZuIGFuIDEKcVdmIHF1IDEKUXlmIG55IDEKcHVGIHF1IDEKZkllIGVyIDEKd0diIHdhIDEKampMIGlqIDEKaGNFIHRoIDEKcWhwIHRoIDEKZ3hOIG5nIDEKdE1kIHRoIDEKUnp0IHRoIDEKY2dPIGNoIDEKdm1UIHZhIDEKRGNxIGNoIDEKcW9JIHF1IDEKTnF6IHF1IDEKdmhNIHRoIDEKZ0JxIG5nIDEKald2IGlqIDEKeG1FIG1lIDEKcWNkIGNoIDEKbFlqIGxlIDEKZERjIGNoIDEKeFVhIGFuIDEKa1ZsIGxlIDEKd3FOIHF1IDEKdXVJIHF1IDEKV3pmIHN6IDEKeXZYIHZhIDEKUHlxIHF1IDEKd3VVIHF1IDEKaExwIHRoIDEKcXFMIHF1IDEKY1ZoIHRoIDEKRmdzIG5nIDEKeGpGIGlqIDEKd2tHIGthIDEKcUpyIHF1IDEKR3pxIHF1IDEKSXh2IHZhIDEKaE12IHRoIDEKZGZRIGRlIDEKZU94IGVyIDEKbUhxIHF1IDEKWmtuIGFuIDEKbnFXIGFuIDEKbkpkIGFuIDEKcEVoIHRoIDEKZ1ZnIG5nIDEKWnlmIG55IDEKbm1UIGFuIDEKY3NRIGNoIDEKUGtxIHF1IDEKdGRQIHRoIDEKZmt6IHN6IDEKUW5jIGFuIDEKcEJqIGlqIDEKTWp2IGlqIDEKeW1KIG1lIDEKTXhzIHN0IDEKaGJMIHRoIDEKdlFoIHRoIDEKeER5IG55IDEKZGpDIGRlIDEKY2RRIGNoIDEKYm5MIGFuIDEKWWpsIGxlIDEKcVVjIGNoIDEKbWpXIGlqIDEKeldzIHN0IDEKeHZGIHZhIDEKR3FpIHF1IDEKZkdtIG1lIDEKWHV3IHF1IDEKcUNzIHF1IDEKS3htIG1lIDEKbE5uIGFuIDEKc2RMIGRlIDEKVnRuIHRoIDEKc0pqIHN0IDEKa1FqIGlqIDEKeGZYIGZvIDEKTnFrIHF1IDEKY0JzIGNoIDEKeXpQIHN6IDEKeFV2IHZhIDEKbGJUIGxlIDEKd3lWIHdhIDEKWGttIGthIDEKV2R2IGRlIDEKcVFuIGFuIDEKc3FaIHF1IDEKc2ZXIHN0IDEKZ2ZNIG5nIDEKVmxwIGxlIDEKWGp4IGlqIDEKaElqIHRoIDEKSndzIHN0IDEKeFpyIGVyIDEKaUt3IGluIDEKVGJkIGRlIDEKelF2IHN6IDEKbm1aIGFuIDEKYnBFIHByIDEKelN2IHN6IDEKRmdpIG5nIDEKdUl3IHF1IDEKWnZ4IHZhIDEKcnFSIHF1IDEKdmpaIGlqIDEKTmpyIGVyIDEKa3dGIGthIDEKT3Z3IHZhIDEKaHdaIHRoIDEKTXZrIGthIDEKRHZmIHZhIDEKeHNQIHN0IDEKZ1pxIG5nIDEKdlh2IHZhIDEKd0d0IHRoIDEKcWxPIHF1IDEKZk56IHN6IDEKTnZ3IHZhIDEKemRaIGRlIDEKdnhWIHZhIDEKTmh6IHRoIDEKdFptIHRoIDEKaXlTIGluIDEKcVphIGFuIDEKeHJaIGVyIDEKcWx5IHF1IDEKY2pNIGNoIDEKa1lqIGlqIDEKaXlGIGluIDEKQ2RxIHF1IDEKeHdFIHdhIDEKeGZWIGZvIDEKd2JGIHdhIDEKd3VPIHF1IDEKUmxoIHRoIDEKZkNqIGlqIDEKYmNaIGNoIDEKR2p2IGlqIDEKZ0xsIG5nIDEKd0xjIGNoIDEKem1QIHN6IDEKY1lvIGNoIDEKUmhrIHRoIDEKZ3JNIG5nIDEKZkRoIHRoIDEKWXliIGJlIDEKdXlXIHVuIDEKa0diIGthIDEKaXdLIGluIDEKcWtOIHF1IDEKcVhkIHF1IDEKekNiIHN6IDEKclFmIGVyIDEKeHJPIGVyIDEKRnpoIHRoIDEKd1NqIGlqIDEKeVB3IHdhIDEKQnF3IHF1IDEKa1djIGNoIDEKcWhYIHRoIDEKa0J3IGthIDEKeXZMIHZhIDEKeGNUIGNoIDEKRmJ6IHN6IDEKY0ViIGNoIDEKdkVrIGthIDEKdVFoIHRoIDEKc0h3IHVzIDEKRnZmIHZhIDEKd2tPIGthIDEKd2lZIGluIDEKc1BtIHN0IDEKZEZuIGFuIDEKcVF4IHF1IDEKUnNnIG5nIDEKZlVqIGlqIDEKdEx3IHRoIDEKc1JrIHN0IDEKemtQIHN6IDEKbXZGIHZhIDEKalliIGlqIDEKc3dZIGlzIDEKclJjIGNoIDEKckhkIGVyIDEKYkRrIGthIDEKbFd2IGxlIDEKdnF2IHF1IDEKcW9OIHF1IDEKek1sIGxlIDEKcGZKIHByIDEKRG16IHN6IDEKb2JRIG9uIDEKVmZ6IHN6IDEKYlZkIGRlIDEKQ2p2IGlqIDEKbUt6IHN6IDEKampFIGlqIDEKQXFjIGNoIDEKQ3huIGFuIDEKdnBIIHZhIDEKTHhhIGFuIDEKenBIIHN6IDEKcW9GIHF1IDEKaFJ6IHRoIDEKeVl3IHdhIDEKZFV4IGRlIDEKS3hsIGxlIDEKeFVvIG9uIDEKaERwIHRoIDEKekRmIHN6IDEKV3NxIHF1IDEKanpaIHN6IDEKbUdmIG1lIDEKampWIGlqIDEKcGZSIHByIDEKYlBkIGRlIDEKd2pxIHF1IDEKUmp4IGlqIDEKTHdxIHF1IDEKZnFIIHF1IDEKalJzIHN6IDEKc2ZUIHN6IDEKR3J3IGVyIDEKekduIGFuIDEKeWNXIGNoIDEKbFVxIHF1IDEKcFJxIHF1IDEKblpxIGFuIDEKU3Z4IHZhIDEKUGhmIHRoIDEKRnZqIGlqIDEKUWxtIGxlIDEKamdTIG5nIDEKTW12IHZhIDEKeFBkIGRlIDEKcXF3IHF1IDEKcldwIGVyIDEKcUlyIHF1IDEKQ3hmIGZvIDEKd3RHIHRoIDEKY0tiIGNoIDEKYnRMIHRoIDEKcFJ4IHByIDEKenNCIHN6IDEKbmJEIGFuIDEKaktnIG5nIDEKYmhMIHRoIDEKWWh3IHRoIDEKeVlyIGVyIDEKakNtIGlqIDEKeHpLIHN6IDEKcEpsIGxlIDEKUXJyIGVyIDEKdXZHIHF1IDEKY2ZKIGNoIDEKaXFYIGluIDEKdk5kIGRlIDEKcWNNIGNoIDEKV3ZqIGlqIDEKdm1TIHZhIDEKdldwIHZhIDEKYUlqIGFuIDEKam1TIGlqIDEKRm1rIGthIDEKaXlOIGluIDEKYlp1IHF1IDEKS3pqIHN6IDEKVndkIGRlIDEKVWx4IGxlIDEKckN2IGVyIDEKd3ZxIHF1IDEKUWtyIHJpIDEKZmpDIGlqIDEKdFJyIHRoIDEKcEN5IHByIDEKZmJDIGJlIDEKZlFjIGNoIDEKWGtmIGthIDEKRHFyIHF1IDEKZmdFIG5nIDEKdk1tIHZhIDEKZFBiIGRlIDEKdmpMIGlqIDEKd0tjIGNoIDEKUHl3IHdhIDEKZVh2IGVyIDEKblZ3IGFuIDEKSnd3IHdhIDEKRGZxIHF1IDEKdENjIHRoIDEKcXRIIHRoIDEKWHFtIHF1IDEKQmhjIHRoIDEKdGNYIHRoIDEKeEtwIHByIDEKdGZOIHRoIDEKaWJaIGluIDEKTnpiIHN6IDEKV25qIGFuIDEKdlh5IHZhIDEKaVZmIGluIDEKZHhUIGRlIDEKanhRIGlqIDEKRGR2IGRlIDEKbVhkIGRlIDEKZlVxIHF1IDEKd2dRIG5nIDEKTGdqIG5nIDEKbWdZIG5nIDEKcU13IHF1IDEKZ3BKIG5nIDEKc1p4IHN0IDEKblh6IGFuIDEKV3ZlIGVyIDEKbFZrIGxlIDEKd0NiIHdhIDEKeHZJIHZhIDEKbWZKIG1lIDEKdFFxIHRoIDEKZFR0IHRoIDEKZnFrIHF1IDEKblZ0IHRoIDEKd0loIHRoIDEKUXZwIHZhIDEKdmZOIHZhIDEKZ1FzIG5nIDEKaVZwIGluIDEKakdsIGxlIDEKeE1mIGZvIDEKeHZ3IHdpIDEKeklsIGxlIDEKemZSIHN6IDEKeld2IHN6IDEKZWhWIHRoIDEKZFpxIHF1IDEKdG1LIHRoIDEKY0x0IHRoIDEKcFpiIHByIDEKdm5KIGFuIDEKZnZrIGthIDEKWGh2IHRoIDEKVmpuIGFuIDEKdGdJIHRoIDEKeGFKIGFuIDEKbVNmIG1lIDEKWHptIHN6IDEKZFR6IGRlIDEKeFhtIG1lIDEKcFF6IHN6IDEKQ3FnIG5nIDEKYlNzIHN0IDEKcHJXIGVyIDEKaERiIHRoIDEKc1h0IHRoIDEKa2NEIGNoIDEKa2daIG5nIDEKVHp0IHRoIDEKemNSIGNoIDEKWHd1IHF1IDEKa1hnIG5nIDEKWXd2IHdpIDEKcnBLIGVyIDEKd1BzIGlzIDEKS2p6IHN6IDEKZkRiIGJlIDEKanJGIGVyIDEKYmJRIGJlIDEKUWRiIGRlIDEKckt0IHRoIDEKdllmIHZhIDEKdnhBIHZhIDEKZmhNIHRoIDEKanNVIHN0IDEKelhrIHN6IDEKdXdPIHF1IDEKanNSIHN0IDEKa0huIGFuIDEKeFd2IHZhIDEKdmZTIHZhIDEKcEl2IHZhIDEKYmNXIGNoIDEKemRNIHN6IDEKZ0N6IG5nIDEKaHpOIHRoIDEKYlF3IHdhIDEKb2pYIG9uIDEKVnF2IHF1IDEKcVdiIHF1IDEKWWtiIGthIDEKeG5KIGFuIDEKc0p6IHN0IDEKaFJyIHRoIDEKdFhzIHRoIDEKUWViIGVyIDEKVXdkIGRlIDEKbllnIGFuIDEKWWZ4IGZvIDEKeHJHIGVyIDEKZVpyIGxlIDEKdWZWIHVzIDEKclhtIGVyIDEKcVp2IHF1IDEKdlF6IHN6IDEKVG5xIGFuIDEKUm1qIGlqIDEKamxNIGxlIDEKY3FPIGNoIDEKeFdmIGZvIDEKamNaIGNoIDEKamZWIGlqIDEKWm1qIGlqIDEKYnhNIGJlIDEKZkZkIGRlIDEKZ2pQIG5nIDEKaE1zIHRoIDEKWXNxIHF1IDEKcWtWIHF1IDEKS21jIGNoIDEKeFl5IG55IDEKZHZYIGRlIDEKcndDIGVyIDEKZ3dXIHdhIDEKUXB5IHByIDEKalh5IGlqIDEKcU9qIHF1IDEKUW16IHN6IDEKRXFxIHF1IDEKekpzIHN0IDEKZkh5IG55IDEKaER0IHRoIDEKc0RoIHRoIDEKVmtxIHF1IDEKeUxjIGNoIDEKdkhtIHZhIDEKdm5YIGFuIDEKanhTIGlqIDEKSnRqIHRoIDEKcWdFIG5nIDEKYnBIIHByIDEKSXF5IHF1IDEKcU1uIGFuIDEKZG1FIGRlIDEKSGZxIHF1IDEKcFNiIHByIDEKeGhJIHRoIDEKUWp0IHRoIDEKeWZYIG55IDEKdnVGIHF1IDEKd0Z3IHdhIDEKem5TIGFuIDEKemxWIGxlIDEKbGtLIGxlIDEKRnZ6IHN6IDEKcWpUIHF1IDEKem9RIG9uIDEKV3Z4IHZhIDEKaE1uIHRoIDEKZE13IGRlIDEKZ2NGIGNoIDEKZGJCIGRlIDEKQ3FqIHF1IDEKbUN2IHZhIDEKcEp4IHByIDEKRGZ2IHZhIDEKc2pMIHN0IDEKcWlHIGluIDEKWmxzIGxlIDEKVnNmIHN0IDEKRmdkIG5nIDEKd21EIG1lIDEKRHhvIG9uIDEKcXJrIHF1IDEKcEpyIGVyIDEKY0x4IGNoIDEKamRCIGRlIDEKeWJNIGJlIDEKbXZNIHZhIDEKanRYIHRoIDEKY25CIGFuIDEKd3RXIHRoIDEKS3NkIHN0IDEKd3FsIHdhIDEKbWhVIHRoIDEKb0p5IG9uIDEKR2hwIHRoIDEKcW9YIHF1IDEKeHNJIHN0IDEKdkZzIHN0IDEKZlllIGVyIDEKbG5WIGFuIDEKdVhuIGFuIDEKRW9oIHRoIDEKd2NNIHdhIDEKandLIGlqIDEKR2tlIGVyIDEKdUZxIHF1IDEKWWNnIGNoIDEKeHF5IHF1IDEKYnRNIHRoIDEKakh3IGlqIDEKcWVVIHF1IDEKUWp6IHN6IDEKbnVRIGFuIDEKRmN4IGNoIDEKS3F0IHRoIDEKTHF2IHF1IDEKbXdVIG1lIDEKZlFzIHN0IDEKa1NkIGRlIDEKbll2IGFuIDEKd0dqIGlqIDEKZ3ZaIG5nIDEKbXFOIHF1IDEKRmhwIHRoIDEKcE1xIHF1IDEKZEJoIGNoIDEKYlhrIGthIDEKZnFLIHF1IDEKWXlxIHF1IDEKS3JxIHF1IDEKUm52IGFuIDEKdXVFIHF1IDEKWHN6IHN0IDEKZktiIGJlIDEKeUloIHRoIDEKTmNkIGNoIDEKbUxyIGVyIDEKY1NzIGNoIDEKbGJFIGxlIDEKeGFXIGFuIDEKUnRkIHRoIDEKcmJGIGVyIDEKdmdSIG5nIDEKc2NaIGNoIDEKckhwIGVyIDEKZVl3IGVyIDEKTHhqIGlqIDEKcVJnIG5nIDEKanBOIGlqIDEKcmpXIGVyIDEKbGdLIG5nIDEKbUNjIGNoIDEKZkd1IHF1IDEKeHpUIHN6IDEKd1F3IHdhIDEKa2xKIGxpIDEKY3FrIGNoIDEKbE1oIHRoIDEKcFlzIHN0IDEKaFFrIHRoIDEKSHh6IHN6IDEKZmVZIGVyIDEKZmhGIHRoIDEKZkJtIG1lIDEKZlZ0IHRoIDEKemZoIHRoIDEKc2JUIHN0IDEKZFF5IGRlIDEKRm1jIGNoIDEKdmhMIHRoIDEKSnRiIHRoIDEKVnJ4IGVyIDEKeXFaIHF1IDEKakRtIGlqIDEKbWZWIG1lIDEKb1N4IG9uIDEKSnhnIG5nIDEKd09xIHF1IDEKZEpxIHF1IDEKVnZjIGNoIDEKRXFlIHF1IDEKanFPIHF1IDEKenhJIHN6IDEKcUtmIHF1IDEKZmRXIGRlIDEKY2NNIGNoIDEKZ2NXIGNoIDEKbEZuIGFuIDEKUnZxIHF1IDEKem5OIGFuIDEKemJVIHN6IDEKdE53IHRoIDEKd2pLIGlqIDEKSmJkIGRlIDEKQmZjIGNoIDEKcWVYIGxlIDEKdFhrIHRoIDEKc2xKIGxlIDEKY0tkIGNoIDEKbkNmIGFuIDEKcWdWIG5nIDEKTWh4IHRoIDEKc0tmIHN0IDEKaHFaIHRoIDEKRmR0IHRoIDEKcXpKIHF1IDEKc05uIGFuIDEKdGpXIHRoIDEKeGNOIGNoIDEKZmNKIGNoIDEKZGpVIGRlIDEKWWdoIHRoIDEKd29JIG9uIDEKWXl6IHN6IDEKa1FjIGNoIDEKaGZRIHRoIDEKbnJMIGFuIDEKbFFzIGxlIDEKbXRGIHRoIDEKd2JYIHdhIDEKZ21SIG5nIDEKWnNxIHF1IDEKeXRRIHRoIDEKbWJGIG1lIDEKZmdUIG5nIDEKY1d1IGNoIDEKZ3hHIG5nIDEKaE52IHRoIDEKZGZXIGRlIDEKenJDIGVyIDEKd29YIG9uIDEKd2pUIGlqIDEKUHF3IHF1IDEKdmtmIGthIDEKbkx6IGFuIDEKY2pWIGNoIDEKZmNQIGNoIDEKdmxRIGxlIDEKRmdxIG5nIDEKaGdQIHRoIDEKR3F5IHF1IDEKdEtzIHRoIDEKWGZ2IHZhIDEKeVpxIHF1IDEKeWlaIGluIDEKclh2IGVyIDEKWWN5IGNoIDEKZnZBIHZhIDEKVHFzIHF1IDEKaFp5IHRoIDEKeHdjIGNoIDEKcVZmIHF1IDEKTWhxIHRoIDEKelNqIHN6IDEKdmhRIHRoIDEKdHpYIHRoIDEKR3ZtIHZhIDEKY3FVIGNoIDEKSGhwIHRoIDEKZ1FrIG5nIDEKcHdMIHByIDEKc053IHN0IDEKcUV0IHRoIDEKTnpxIHF1IDEKenNEIHN0IDEKbURnIG5nIDEKUnRxIHRoIDEKakxmIGlqIDEKd1RwIHByIDEKeEpoIHRoIDEKVnFvIHF1IDEKWnFrIHF1IDEKcXFRIHF1IDEKaHJZIHRoIDEKV3FvIHF1IDEKbUl5IG1lIDEKSXBrIGthIDEKeGpDIGlqIDEKbExwIGxlIDEKaHFGIHRoIDEKY1dnIGNoIDEKcVljIHF1IDEKY2pVIGNoIDEKcVhrIHF1IDEKaHFMIHRoIDEKenhUIHN6IDEKZG5YIGFuIDEKekJ0IHRoIDEKUWxzIGxlIDEKa2hDIHRoIDEKdXFYIHF1IDEKWmJmIGJlIDEKaUR4IGxpIDEKWm5wIGFuIDEKSnhxIHF1IDEKanFZIHF1IDEKdmJVIHZhIDEKcVJyIHF1IDEKcXBqIHF1IDEKd2xHIGxlIDEKV2d4IG5nIDEKVnhqIGlqIDEKelN3IHN6IDEKaWhXIHRoIDEKa3pUIHN6IDEKYWVaIGFuIDEKaEtqIHRoIDEKdFdzIHRoIDEKZ0xjIGNoIDEKZ3BLIG5nIDEKeUp6IHN6IDEKR3Z0IHRoIDEKZkVvIG9uIDEKc0tkIHN0IDEKeGhOIHRoIDEKYU1xIGFuIDEKZWhYIHRoIDEKa2ZaIGt1IDEKV3djIGNoIDEKWW16IHN6IDEKVmtkIGRlIDEKYnpEIHN6IDEKWGtnIG5nIDEKVnp6IHN6IDEKeHZWIHZhIDEKcEhoIHRoIDEKcktxIHF1IDEKdm1NIHZhIDEKUXhqIGlqIDEKek5yIGVyIDEKYnFCIHF1IDEKSnF3IHF1IDEKenFCIHF1IDEKWHZtIHZhIDEKbEJmIGxlIDEKcXFCIHF1IDEKZ0NzIG5nIDEKclJnIG5nIDEKUm5tIGFuIDEKTHp3IHN6IDEKaXdOIGluIDEKcGZOIHByIDEKaEN3IHdhIDEKdUh6IHF1IDEKY0xjIGNoIDEKbHdEIGxlIDEKcWpCIHF1IDEKT2p5IGlqIDEKZG1WIGRpIDEKY0N3IGNoIDEKbFhzIGxlIDEKc21SIHN0IDEKbXhPIG1lIDEKSnJ0IHRoIDEKempOIHN6IDEKYkJuIGFuIDEKY3hRIGNoIDEKS2RwIGRlIDEKRGxiIGxlIDEKcHFEIHF1IDEKcXFDIHF1IDEKU3B6IHN6IDEKdENkIHRoIDEKZ2ZQIG5nIDEKdUdqIHF1IDEKeGJFIGJlIDEKWHB2IHZhIDEKWHp0IHRoIDEKZ3FHIHF1IDEKa3FxIHF1IDEKS3ZxIHF1IDEKcVdpIHF1IDEKbXhaIG1lIDEKcW9ZIHF1IDEKU2dmIG5nIDEKY1J2IGNoIDEKV2dpIG5nIDEKZUR4IGVyIDEKY1d3IGNoIDEKdkZxIHF1IDEKS3h2IHZhIDEKaVdwIGluIDEKZlJ4IGZvIDEKd3RCIHRoIDEKc3dXIHN0IDEKZ3JLIG5nIDEKSGZlIGVyIDEKZ2ZaIG5nIDEKeHFYIHF1IDEKb0tqIG9uIDEKdmZxIHF1IDEKcFd3IHByIDEKdVdjIGNoIDEKbENnIG5nIDEKcWtnIHF1IDEKY0RoIHRoIDEKU2Z6IHN6IDEKdVl4IHF1IDEKeHZSIHZhIDEKZUFvIGVyIDEKcFlnIG5nIDEKZFJ4IGRlIDEKaVdkIGluIDEKZ0d4IG5nIDEKYlh6IHN6IDEKa2NQIGNoIDEKaGNKIHRoIDEKbENmIGxlIDEKZ21XIG5nIDEKSGtmIGthIDEKcmhMIHRoIDEKanFQIHF1IDEKclFwIGVyIDEKdkNuIGFuIDEKZFdqIGRlIDEKSHJ4IGVyIDEKc1R6IHN0IDEKYVZ0IHRoIDEKcXdLIHF1IDEKdnZFIHZhIDEKd0twIHByIDEKeGNZIGNoIDEKdnBNIHZhIDEKamxDIGxlIDEKZGxHIGxlIDEKb1RxIHF1IDEKaUxwIGluIDEKeHNMIHN0IDEKbEZ6IGxlIDEKdmhDIHRoIDEKeWxYIGxlIDEKcG1PIG1lIDEKWWNjIGNoIDEKWW5wIGFuIDEKWWJtIG1lIDEKUWxuIGFuIDEKYnhBIGJlIDEKdEZzIHRoIDEKTHF3IHF1IDEKemNVIGNoIDEKdmZLIHZhIDEKdnBRIHZhIDEKRHRmIHRoIDEKYlRqIGlqIDEKVnZ3IHZhIDEKUWJ4IGJlIDEKeldrIHN6IDEKYlN4IGJlIDEKenBLIHN6IDEKd1RiIHdhIDEKbWtDIGthIDEKY1JoIHRoIDEKbkJrIGFuIDEKeEd2IHZhIDEKaG5RIHRoIDEKYXFRIGFuIDEKemhaIHRoIDEKendQIHN6IDEKdnFMIHF1IDEKc2NVIGNoIDEKZ2xTIG5nIDEKcGpFIGlqIDEKcXFEIHF1IDEKbFJ4IGxlIDEKcVZyIHF1IDEKWHVoIHRoIDEKYnJCIGVyIDEKUXljIGNoIDEKU2d4IG5nIDEKZHFrIHF1IDEKYllqIGlqIDEKbVB4IG1lIDEKRmR2IGRlIDEKWG1kIGRlIDEKY1BqIGNoIDEKUHFnIHF1IDEKdlloIHRoIDEKYkp4IGJlIDEKZFF0IHRoIDEKZnhqIGlqIDEKSHdxIHF1IDEKdmdDIG5nIDEKa2pLIGlqIDEKbnJDIGFuIDEKdnFYIHF1IDEKQmdrIG5nIDEKQ2J2IHZhIDEKVXd3IHdhIDEKd2NKIGNoIDEKZ0JmIG5nIDEKelR2IHZhIDEKendYIHN6IDEKbFdnIGxlIDEKcU9zIHF1IDEKZmJCIGJlIDEKeHFHIHF1IDEKalFqIGlqIDEKdm9RIG9uIDEKeWpXIGlqIDEKcXZPIHF1IDEKeGJGIGJlIDEKbld1IGFuIDEKeWpRIGlqIDEKY2pLIGNoIDEKU3huIGFuIDEKeWJYIGJlIDEKZVlnIG5nIDEKQm1uIGFuIDEKZkR0IHRoIDEKalhtIGlqIDEKbk10IHRoIDEKU3hiIGJlIDEKbEhtIGxlIDEKZ2ZZIG5nIDEKbndHIGFuIDEKZ0hsIG5nIDEKV3BtIG1lIDEKd0ZqIGlqIDEKaEdtIHRoIDEKd3dDIHdhIDEKTWxmIGxlIDEKY0piIGNoIDEKYm5DIGFuIDEKRnZwIHZhIDEKdEdjIHRoIDEKZmhaIHRoIDEKVmtoIHRoIDEKandnIG5nIDEKeGJLIGJlIDEKelZxIHF1IDEKcVR6IHF1IDEKdnJEIGVyIDEKZlJ0IHRoIDEKZkZzIHN0IDEKaFdnIHRoIDEKbHpFIGxlIDEKbHdYIGxlIDEKakh5IGlqIDEKUXF0IHRoIDEKRHFpIGluIDEKVHZqIGlqIDEKZ1BiIG5nIDEKZFB6IHN6IDEKemRUIHN6IDEKbXZBIHZhIDEKWnZoIHRoIDEKcWFVIGFuIDEKZndRIHdhIDEKUnN3IHN0IDEKa2xCIGxlIDEKdmxOIGxlIDEKR3Z4IHZhIDEKcGRKIGRlIDEKbGNCIGNoIDEKdlRxIHF1IDEKeWhWIHRoIDEKakx2IGlqIDEKcHpSIHN6IDEKWHl3IHdhIDEKWGxxIHF1IDEKUnF3IHdhIDEKemhQIHRoIDEKc2dUIG5nIDEKZ3BHIG5nIDEKdGtZIHRoIDEKZHFFIHF1IDEKUWNnIGNoIDEKYmZCIGJlIDEKV3B2IHZhIDEKV3hsIGxlIDEKWGJxIHF1IDEKeUZoIHRoIDEKUmZxIHF1IDEKaGhMIHRoIDEKanh6IHN6IDEKYktoIHRoIDEKcHRVIHRoIDEKY1hlIGNoIDEKelhtIHN6IDEKR2h3IHRoIDEKZHpZIHN6IDEKZFhuIGFuIDEKa3hXIGthIDEKdlZyIGVyIDEKSnh1IHVuIDEKYmJYIGJlIDEKclBiIGVyIDEKcUNtIHF1IDEKcWlKIHF1IDEKWGd3IG5nIDEKTmhxIHRoIDEKY0dwIHBvIDEKaFB3IHRoIDEKYlR6IHN6IDEKcUlnIG5nIDEKcEpoIHRoIDEKd2NFIGNoIDEKbUNiIG1lIDEKYkpjIGNoIDEKbnpRIGFuIDEKeXFSIHF1IDEKeEh3IHdhIDEKYndIIHdhIDEKcUNyIHF1IDEKVXFlIHF1IDEKcXhNIHF1IDEKZnBPIHByIDEKa2NOIGNoIDEKeWtWIGthIDEKbVFiIG1lIDEKWXFzIHF1IDEKeVZrIGthIDEKdmJYIHZhIDEKbVRkIGRlIDEKalhvIG9uIDEKd3FKIHF1IDEKa0t0IHRoIDEKZmtTIGthIDEKV3Z6IHN6IDEKSXl2IHZhIDEKaEdrIHRoIDEKRnplIGVyIDEKYmhNIHRoIDEKcXZJIHF1IDEKblhxIGFuIDEKblhjIGFuIDEKa0p0IHRoIDEKTnFjIGNoIDEKWWpjIGNoIDEKRmhiIHRoIDEKanlLIGlqIDEKSnpqIHN6IDEKeXFjIGNoIDEKd21aIG1lIDEKemJGIHN6IDEKc3BxIHF1IDEKZ1BuIGFuIDEKalNnIG5nIDEKZ01oIHRoIDEKZlh0IHRoIDEKRnl3IHdhIDEKRndnIG5nIDEKaG1OIHRoIDEKaE5sIHRoIDEKdHFZIHRoIDEKcEdtIG1lIDEKbVh6IHN6IDEKcVl5IHF1IDEKUm1xIHF1IDEKRHFhIGFuIDEKV2t4IGthIDEKZHBUIGRlIDEKanlKIGlqIDEKSnFqIHF1IDEKd2paIGlqIDEKeE5yIGVyIDEKcUFtIHF1IDEKaEJuIHRoIDEKcXBKIHF1IDEKeWdXIG5nIDEKalhmIGlqIDEKck1sIGVyIDEKemdWIG5nIDEKbkxwIGFuIDEKcEZ4IHByIDEKdHZHIHRoIDEKelFsIGxlIDEKZmRGIGRlIDEKYnhLIGJlIDEKQmN4IGNoIDEKcnBZIGVyIDEKc0piIHN0IDEKS3ZoIHRoIDEKa05xIHF1IDEKekhkIHN6IDEKZHpGIHN6IDEKdEpxIHRoIDEKSGZ2IHZhIDEKdlFkIGRlIDEKcEtqIGlqIDEKZmhWIHRoIDEKcVppIHF1IDEKb2hZIHRoIDEKdnFxIHF1IDEKdG5RIHRoIDEKVnFrIHF1IDEKekpmIHN6IDEKSmt6IHN6IDEKUndmIHdhIDEKenZNIHZhIDEKYnhZIGJlIDEKcFhoIHRoIDEKZlV5IG55IDEKcHZFIHZhIDEKTHBrIGthIDEKZHpWIHN6IDEKeElmIGZvIDEKd1p3IHdhIDEKbnBRIGFuIDEKcFdrIGthIDEKamdRIG5nIDEKSnFyIHF1IDEKZ21YIG5nIDEKamZNIGlqIDEKbFdqIGxlIDEKcGJOIHByIDEKZnZGIHZhIDEKc0RkIHN0IDEKcWRCIHF1IDEKZnJMIGVyIDEKdUhuIGFuIDEKZ3dOIG5nIDEKeUJoIHRoIDEKWnpxIHF1IDEKdkRnIG5nIDEKUWN6IGNoIDEKcXpmIHF1IDEKd0VjIGNoIDEKcHhIIHByIDEKZnFPIHF1IDEKVnFlIHF1IDEKZ2tEIG5nIDEKWGZxIHF1IDEKdVhnIHF1IDEKakN3IGlqIDEKUHp1IHF1IDEKZ1JoIHRoIDEKdnFIIHF1IDEKdnZXIHZhIDEKUmZiIGJlIDEKZ3FKIHF1IDEKdGdPIHRoIDEKd1V5IHdhIDEKSmt3IGthIDEKaFNzIHRoIDEKZ2tXIG5nIDEKUWd5IG5nIDEKZEpiIGRlIDEKcHJGIGVyIDEKYnVYIHF1IDEKY1ZnIGNoIDEKanRVIHRoIDEKZkRjIGNoIDEKWWdjIGNoIDEKS3FyIHF1IDEKVXlwIHByIDEKbEprIGxlIDEKc3hZIHN0IDEKeGZZIGZvIDEKWGt6IHN6IDEKY2daIGNoIDEKY3lYIGNoIDEKZ2JGIG5nIDEKelRrIHN6IDEKaHNVIHRoIDEKdGxXIHRoIDEKWnp2IHN6IDEKa3FFIHF1IDEKbHBRIHBvIDEKcUp1IHVuIDEKaFlpIHRoIDEKemxNIGxlIDEKdkR0IHRoIDEKSHZuIGFuIDEKTnNmIHN0IDEKYkpnIG5nIDEKZk5nIG5nIDEKa1FvIG9uIDEKS3FwIHF1IDEKYktzIHN0IDEKbUhwIG1lIDEKVXlqIGlqIDEKY3hZIGNoIDEKeUllIGVyIDEKcVRqIHF1IDEKd2ZQIHdhIDEKZnhJIGZvIDEKdlFhIGFuIDEKZnZOIHZhIDEKcHdOIHByIDEKdmFRIGFuIDEKbXhRIG1lIDEKYmRWIGRlIDEKQ2dqIG5nIDEKeGp6IHN6IDEKV3F3IHF1IDEKd3BPIHByIDEKd29RIG9uIDEKeFlqIGlqIDEKZnBUIHByIDEKbE5wIGxlIDEKcHZYIHZhIDEKcExwIHByIDEKS3NnIG5nIDEKcldnIG5nIDEKaVV5IGluIDEKYmZYIGJlIDEKeHNWIHN0IDEKWG5qIGFuIDEKZG1XIGRlIDEKb1F3IG9uIDEKWnh5IG55IDEKT2F5IGFuIDEKcGpHIGlqIDEKWmJ0IHRoIDEKSHFsIHF1IDEKWnhxIHF1IDEKaldkIGRlIDEKcVVwIHF1IDEKcXhOIHF1IDEKcUNvIHF1IDEKWWZkIGRlIDEKdnZVIHZhIDEKdklrIGthIDEKRGZqIGlqIDEKWm1oIHRoIDEKQ3F0IHRoIDEKdlFmIHZhIDEKTmJuIGFuIDEKdEpzIHRoIDEKRmh4IHRoIDEKZHpRIHN6IDEKellqIGlqIDEKcUJ3IHF1IDEKdmNWIGNoIDEKZ0d0IHRoIDEKaVZ3IGluIDEKRnpwIHN6IDEKYmpIIGlqIDEKY3VZIGNoIDEKandTIGlqIDEKQ3FwIHF1IDEKeUp2IHZhIDEKa2RKIGRlIDEKa2RUIGRlIDEKbnFCIGFuIDEKaFdzIHRoIDEKcXNqIHF1IDEKaEx3IHRoIDEKaGRYIHRoIDEKY2dWIGNoIDEKdFljIHRoIDEKZVp4IGVyIDEKaGZOIHRoIDEKZ3Z3IG5nIDEKYVZwIGFuIDEKZ01zIG5nIDEKUGJmIGJlIDEKbVFmIG1lIDEKeVVpIGluIDEKdkdmIHZhIDEKeGdGIG5nIDEKenZZIHN6IDEKd3JBIGVyIDEKeXJNIGVyIDEKdk1qIGlqIDEKVXl2IHZhIDEKZExwIGRlIDEKR2pqIGlqIDEKekVpIGluIDEKWGRnIG5nIDEKakhmIGlqIDEKb1B6IG9uIDEKeEl6IHN6IDEKYkNiIGJlIDEKRHpxIHF1IDEKWWpuIGFuIDEKZ0d6IG5nIDEKbWpVIGlqIDEKQ2p4IGlqIDEKeEtjIGNoIDEKbXZPIHZhIDEKUHpiIHN6IDEKY3JLIGNoIDEKeGhPIHRoIDEKeWxCIGxlIDEKbERrIGxlIDEKemxPIGxlIDEKcGdIIG5nIDEKdlFiIHZhIDEKc2RaIHN0IDEKa1FtIGthIDEKbFJoIHRoIDEKb1F5IG9uIDEKdHdDIHRoIDEKQmRqIGlqIDEKUWpnIG5nIDEKZG5QIGFuIDEKTm5wIGFuIDEKcWlQIHF1IDEKQ2NqIGNoIDEKdUh0IHRoIDEKcUx4IHF1IDEKUXNmIHN0IDEKZkt4IGZvIDEKZmtFIGthIDEKamxYIGxlIDEKalpiIGlqIDEKVndqIGlqIDEKemJBIHN6IDEKSGhkIHRoIDEKY2JZIGNoIDEKSWtmIGthIDEKR3J4IGVyIDEKanBQIGlqIDEKUWZoIHRoIDEKeGhXIHRoIDEKd21YIG1lIDEKYUpiIGFuIDEKc2ZPIHN0IDEKcVhxIHF1IDEKbVhnIG5nIDEKYm5WIGFuIDEKWXB3IHByIDEKekN5IHN6IDEKbGhOIHRoIDEKclhuIGFuIDEKZkdoIHRoIDEKV3hxIHF1IDEKY3hUIGNoIDEKWnNnIG5nIDEKdUd2IHF1IDEKYnpNIHN6IDEKempTIHN6IDEKZGZTIGRlIDEKZ3BIIG5nIDEKcWdPIG5nIDEKa3FGIHF1IDEKcWZVIHF1IDEKcVRwIHF1IDEKdlpiIHZhIDEKRWp3IGlqIDEKelFuIGFuIDEKZ1l6IG5nIDEKa2pWIGlqIDEKZldsIGxlIDEKZlJrIGthIDEKdVNqIHF1IDEKQ3hnIG5nIDEKTGN2IGNoIDEKYnpLIHN6IDEKd3FGIHF1IDEKcUpwIHF1IDEKckNqIGVyIDEKcXZzIHF1IDEKbHdOIGxlIDEKeG1SIG1lIDEKYnRDIHRoIDEKa1R4IGthIDEKcWtVIHF1IDEKTGhqIHRoIDEKZEl4IGRlIDEKdnNRIHN0IDEKZ1NkIG5nIDEKd0RsIGxlIDEKVmptIGlqIDEKcG1JIG1lIDEKdldoIHRoIDEKZkt2IHZhIDEKeFB0IHRoIDEKdW9RIHF1IDEKS2doIHRoIDEKZ3dYIG5nIDEKc2dKIG5nIDEKcFdqIGlqIDEKUWZmIGZvIDEKaGtKIHRoIDEKSHFvIHF1IDEKandXIGlqIDEKc1F6IHN0IDEKd1V3IHdhIDEKbUt4IG1lIDEKb1FmIG9uIDEKalZrIGlqIDEKeHdUIHdhIDEKc1RxIHF1IDEKdXFWIHF1IDEKUWxwIGxlIDEKcE1iIHByIDEKeEtqIGlqIDEKYnBYIHByIDEKdlFlIGVyIDEKSmpxIHF1IDEKcUtoIHRoIDEKZmtKIGthIDEKamJRIGlqIDEKbVp3IG1lIDEKWGdjIGNoIDEKdnpVIHN6IDEKcFRtIG1lIDEKcE5xIHF1IDEKcndEIGVyIDEKUWRnIG5nIDEKd3FDIHF1IDEKWXJuIGFuIDEKcXd3IHF1IDEKcXdVIHF1IDEKeHpGIHN6IDEKZmxXIGxlIDEKanpQIHN6IDEKV3hwIHByIDEKckRxIHF1IDEKZEdwIGRlIDEKWnRqIHRoIDEKVXZwIHZhIDEKZUdjIGNoIDEKelpiIHN6IDEKZ1FoIHRoIDEKdEZkIHRoIDEKTXFnIG5nIDEKZG5EIGFuIDEKaHZZIHRoIDEKSXliIGJlIDEKZkR6IHN6IDEKS2JqIGlqIDEKdlltIHZhIDEKV3hyIGVyIDEKS3d6IHN6IDEKaHJRIHRoIDEKeUN0IHRoIDEKSHh3IHdhIDEKaEVmIHRoIDEKYmRVIGRlIDEKc0dqIHN0IDEKR3d0IHRoIDEKYlloIHRoIDEKem1VIHN6IDEKcERtIHBvIDEKcW1DIHF1IDEKZFRkIGRlIDEKUXhxIHF1IDEKdVZmIHF1IDEKcUFsIHF1IDEKakVhIGFuIDEKS3B5IHByIDEKSHF2IHF1IDEKZkNrIGthIDEKYXFaIGFuIDEKbFVvIG9uIDEKUHZvIG9uIDEKRHFmIHF1IDEKZ2RNIG5nIDEKZnpMIHN6IDEKQmhoIHRoIDEKZEdkIGRlIDEKd3RZIHRoIDEKcVR5IHF1IDEKVXhyIGVyIDEKVnZtIHZhIDEKdkhoIHRoIDEKcVpjIGNoIDEKZmhDIHRoIDEKeGRaIGRlIDEKaFpwIHRoIDEKUG16IHN6IDEKY2ZUIGNoIDEKcGpJIGlqIDEKbWRaIGRlIDEKamtRIGlqIDEKU2RqIGRlIDEKaERmIHRoIDEKZUpqIGVyIDEKd2pZIGlqIDEKekxtIHN6IDEKZUZzIGVyIDEKd2dqIG5nIDEKWm1rIGthIDEKbHZKIGxlIDEKeFltIG1lIDEKTnpmIHN6IDEKd0ppIGluIDEKeVFzIHN0IDEKcGZNIHByIDEKZGhSIHRoIDEKY21LIGNoIDEKZGhNIHRoIDEKcUdiIHF1IDEKd3ZRIHZhIDEKQ2dxIG5nIDEKSmZjIGNoIDEKYmtEIGthIDEKZmRTIGRlIDEKSXZwIHZhIDEKR2tqIGlqIDEKekl2IHN6IDEKQnpsIGxlIDEKZ0JiIG5nIDEKVHBqIGlqIDEKdnlZIHZhIDEKVXhzIHN0IDEKa3dXIGthIDEKZ1BmIG5nIDEKcHFDIHF1IDEKY1RqIGNoIDEKeXpJIHN6IDEKWXBoIHRoIDEKYnZEIHZhIDEKeENjIGNoIDEKcGNRIGNoIDEKZlp3IHdhIDEKWnhmIGZvIDEKd2JBIHdhIDEKYlRmIGJlIDEKcnhSIGVyIDEKcXFFIHF1IDEKeUZwIHByIDEKcE5mIHByIDEKa012IGthIDEKdlVxIHF1IDEKd09oIHRoIDEKaHhIIHRoIDEKWHFoIHRoIDEKdUl1IHF1IDEKRnpxIHF1IDEKWXNkIHN0IDEKb2pZIG9uIDEKY0VvIGNoIDEKbHdSIGxlIDEKcWpGIHF1IDEKalRwIGlqIDEKeXpUIHN6IDEKamZPIGlqIDEKcVNnIG5nIDEKTmNrIGNoIDEKaHdGIHRoIDEKR21xIHF1IDEKSWlxIHF1IDEKendFIHN6IDEKcVF2IHF1IDEKeFZkIGRlIDEKWXdxIHF1IDEKc0Z4IHN0IDEKZnZCIHZhIDEKcVllIGxlIDEKZ3dUIG5nIDEKV2p4IGlqIDEKYkhuIGFuIDEKZk1uIGFuIDEKZ0pnIG5nIDEKVmtnIG5nIDEKRnh2IHZhIDEKbEh2IGxlIDEKV3BrIGthIDEKeEFxIHF1IDEKcnhCIHByIDEKeHVRIHF1IDEKcEliIHByIDEKYmZFIGJlIDEKZ1J4IG5nIDEKQnBiIHByIDEKYnhOIGJlIDEKa2dVIG5nIDEKUHhjIGNoIDEKY0NxIGNoIDEKTnBiIHByIDEKbHhFIGxlIDEKbEN5IGxlIDEKZGdYIG5nIDEKeExmIGZvIDEKYlF0IHRoIDEKcWdGIG5nIDEKcHhaIHByIDEKcFB4IHByIDEKaVl6IGluIDEKdkpsIGxlIDEKa1RmIGthIDEKcVZtIHF1IDEKZ3dTIG5nIDEKelRkIHN6IDEKcFFrIGthIDEKeEVnIG5nIDEKZnBQIHByIDEKcWp3IHF1IDEKT3l3IHdhIDEKbWNPIGNoIDEKVmpkIGRlIDEKcWRnIG5nIDEKTGZwIHByIDEKdlpjIGNoIDEKbk9xIGFuIDEKcWpuIGFuIDEKc0tjIGNoIDEKd2dVIG5nIDEKaGdYIHRoIDEKZE12IGRlIDEKWGNwIGNoIDEKRnd6IHN6IDEKcHdBIHByIDEKTHBqIGlqIDEKYmtQIGthIDEKdkhuIGFuIDEKSmp5IGlqIDEKbUNxIHF1IDEKd3ZNIHZhIDEKSWNiIGNoIDEKa2ZKIGthIDEKaHNRIHRoIDEKZFdkIGRlIDEKZlVzIHN0IDEKZkxuIGFuIDEKcGpOIGlqIDEKemdRIG5nIDEKakxqIGlqIDEKenFFIHF1IDEKUW12IHZhIDEKWmpyIGVyIDEKWmtwIGthIDEKaXlIIGluIDEKd3VZIHF1IDEKbXpUIHN6IDEKY3dLIGNoIDEKYkNtIG1lIDEKeWRHIGRlIDEKeGRVIGRlIDEKd1RmIHdhIDEKbEhoIHRoIDEKcXlEIHF1IDEKeGxWIGxlIDEKcXlUIHF1IDEKdFduIHRoIDEKck16IGVyIDEKcFh2IHZhIDEKWGJ6IHN6IDEKa0htIGthIDEKY1ZkIGNoIDEKcXpIIHF1IDEKeWROIGRlIDEKcU1iIHF1IDEKeWpTIGlqIDEKZ21DIG5nIDEKeklpIGluIDEKZnBNIHByIDEKbGNaIGNoIDEKcUhuIGFuIDEKSmpkIGRlIDEKamxHIGxlIDEKcWNLIGNoIDEKeFFtIG1lIDEKdklpIGluIDEKd0JwIHByIDEKd2NJIGNoIDEKZEpkIGRlIDEKUWJuIGFuIDEKQmpmIGlqIDEKZHBZIGRlIDEKZGNGIGNoIDEKeFNqIGlqIDEKaVhqIGluIDEKUWdiIG5nIDEKZ0R0IHRoIDEKeHhxIHF1IDEKeGNRIGNoIDEKU3FzIHF1IDEKUW1nIG5nIDEKZ2NVIGNoIDEKQnZ2IHZhIDEKcHpFIHN6IDEKd3RUIHRoIDEKdmJMIHZhIDEKYkN0IHRoIDEKUXBvIG9uIDEKbVhzIG1lIDEKWnFyIHF1IDEKR2t5IGthIDEKWG1yIGVyIDEKTG56IGFuIDEKdllxIHF1IDEKeVJsIGxlIDEKZ21LIG5nIDEKdndQIHZhIDEKZUZnIG5nIDEKTmpkIGRlIDEKa2xHIGxlIDEKaGJFIHRoIDEKa1d6IHN6IDEKcXBNIHF1IDEKb1pjIGNoIDEKalJtIGlqIDEKd1hsIGxlIDEKaXlEIGluIDEKZnZMIHZhIDEKclB3IGVyIDEKZmRSIGRlIDEKaVNnIG5nIDEKZGJRIGRlIDEKeHhRIHhlIDEKRGpjIGNoIDEKeWdLIG5nIDEKUmhiIHRoIDEKemdHIG5nIDEKWWt5IGthIDEKQ3hqIGlqIDEKd1drIGthIDEKbG1ZIGxlIDEKcXJCIHF1IDEKeXdLIHdhIDEKeHFJIHF1IDEKVHdqIGlqIDEKWGdxIG5nIDEKZHdaIGRlIDEKblFsIGFuIDEKR2hjIHRoIDEKcG5IIGFuIDEKdm1VIHZhIDEKcXFLIHF1IDEKY2pCIGNoIDEKZ3pTIG5nIDEKUnd6IHN6IDEKZ1lyIG5nIDEKRmd4IG5nIDEKd2RLIGRlIDEKaHhaIHRoIDEKeFV4IHhlIDEKd21UIG1lIDEKeVlrIGthIDEKZmNEIGNoIDEKaFZ2IHRoIDEKU2d2IG5nIDEKelBuIGFuIDEKdlliIHZhIDEKYnpFIHN6IDEKd2hWIHRoIDEKcU56IHF1IDEKd3RTIHRoIDEKdmhZIHRoIDEKbkxmIGFuIDEKTGZ3IHdhIDEKZ1ZjIGNoIDEKZ2tTIG5nIDEKSnFiIHF1IDEKaFd4IHRoIDEKemdPIG5nIDEKdGdYIHRoIDEKalBiIGlqIDEKV3hiIGJlIDEKZ3F3IG5nIDEKQ2Z3IHdhIDEKd29VIG9uIDEKeWNKIGNoIDEKa3dEIGthIDEKU2JwIHByIDEKcWN3IGNoIDEKSHdyIGVyIDEKYm1MIG1lIDEKZ3daIG5nIDEKeUtqIGlqIDEKZlh2IHZhIDEKaUt4IGluIDEKbFJ6IGxlIDEKY0hqIGNoIDEKZkZ0IHRoIDEKc0p2IHN6IDEKeG1JIG1lIDEKY0NkIGNoIDEKaVlkIGluIDEKeWZZIG55IDEKeGJZIGJlIDEKYm1FIG1lIDEKZkJ2IHZhIDEKZEh3IGRlIDEKeWNSIGNoIDEKd3ZMIHZhIDEKcmpMIGVyIDEKc1l2IHN6IDEKV3BuIGFuIDEKenhCIHN6IDEKeUJxIHF1IDEKZ2RKIG5nIDEKWWpvIG9uIDEKZnBRIHByIDEKcU9xIHF1IDEKV2pmIGlqIDEKcWNUIGNoIDEKTGZoIHRoIDEKY0ZqIGNoIDEKbE1xIHF1IDEKd1NmIHdhIDEKd1FjIGNoIDEKekR5IHN6IDEKcXJsIHF1IDEKcFl3IHByIDEKVm5mIGFuIDEKSGNqIGNoIDEKemRVIHN6IDEKYnZQIHZhIDEKWWZqIGlqIDEKUWtuIGFuIDEKd0htIG1lIDEKcVZ2IHF1IDEKZ2tWIG5nIDEKdnBxIHF1IDEKaEZrIHRoIDEKZldmIGZvIDEKcFlxIHF1IDEKZE52IGRlIDEKV3dqIGlqIDEKRm14IG1lIDEKbURsIGxlIDEKak1nIG5nIDEKZlprIGthIDEKak5wIGlqIDEKcWhmIHRoIDEKVmJnIG5nIDEKbEt4IGxlIDEKaVp4IGluIDEKc2pUIHN6IDEKaWpZIGluIDEKcXRWIHRoIDEKeVRrIGthIDEKSHB6IHN6IDEKaUdxIHF1IDEKeXFXIHF1IDEKaGdGIHRoIDEKbUZrIGthIDEKT3F3IHF1IDEKZFhhIGFuIDEKWmJxIHF1IDEKbEttIGxlIDEKU3Z6IHN6IDEKektjIGNoIDEKVm16IHN6IDEKbUl4IG1lIDEKZ0tqIG5nIDEKZ1R0IHRoIDEKdmZDIGZvIDEKaEtnIHRoIDEKaFN4IHRoIDEKb0tnIG5nIDEKblFzIGFuIDEKeWlHIGluIDEKcWdNIG5nIDEKa1FnIG5nIDEKQ2pkIGRlIDEKalB5IGlqIDEKWHFlIHF1IDEKUHp5IHN6IDEKRnRxIHRoIDEKZmNFIGNoIDEKbWtMIGthIDEKSHpqIHN6IDEKYlRuIGFuIDEKcVh5IHF1IDEKZG1NIGRlIDEKZFZ4IGRlIDEKVHFuIGFuIDEKeFdqIGlqIDEKcXhRIHF1IDEKZlF4IGZvIDEKdkxsIGxlIDEKUGdrIG5nIDEKZ0hrIG5nIDEKaHhWIHRoIDEKdEp6IHRoIDEKZk16IHN6IDEKSXhiIGJlIDEKQ3l5IG55IDEKcFhmIHByIDEKcExsIGxlIDEKVHdxIHF1IDEKRHR3IHRoIDEKd1JuIGFuIDEKdVhsIHF1IDEKemhxIHRoIDEKd0l2IHZhIDEKY2pMIGNoIDEKcXhIIHF1IDEKbERtIGxlIDEKdFh2IHRoIDEKZ2pDIG5nIDEKWnpkIHN6IDEKdGdUIHRoIDEKaG5QIHRoIDEKS2pjIGNoIDEKZ1Z3IG5nIDEKeGJJIGJlIDEKWnBjIGNoIDEKYmZPIGJlIDEKbVN4IG1lIDEKcWFGIGFuIDEKYVFoIHRoIDEKSGpkIGRlIDEKcVhqIHF1IDEKZnFBIHF1IDEKYnZSIHZhIDEKcVNuIGFuIDEKY2RWIGNoIDEKcFRmIHByIDEKS3pjIGNoIDEKcXRJIHRoIDEKZWdZIG5nIDEKUnh0IHRoIDEKYmhZIHRoIDEKcEdoIHRoIDEKakRnIG5nIDEKZm9ZIG9uIDEKZEtzIHN6IDEKcUp0IHRoIDEKWHd6IHN6IDEKSXhnIG5nIDEKck10IHRoIDEKelh1IHF1IDEKc1F5IHN6IDEKTnB6IHN6IDEKUWZ6IHN6IDEKckxtIGVyIDEKekdtIHN6IDEKd0h6IHN6IDEKdmNZIGNoIDEKa3FaIHF1IDEKakRoIHRoIDEKcWdHIG5nIDEKRHFxIHF1IDEKZm1PIG1lIDEKcWRXIHF1IDEKZE53IGRlIDEKclhqIGVyIDEKSndjIGNoIDEKbURiIG1lIDEKd013IHdhIDEKWWpnIG5nIDEKZmpZIGlqIDEKaUpiIGluIDEKY2RDIGNoIDEKWXhxIHF1IDEKVmJrIGthIDEKRnB4IHByIDEKemhEIHRoIDEKaENzIHRoIDEKZFh3IGRlIDEKa0RkIGRlIDEKdXFUIHVuIDEKQnh3IHdhIDEKQmpxIHF1IDEKakd4IGlqIDEKZlhiIGJlIDEKeWJGIGJlIDEKZHRBIHRoIDEKY1Z2IGNoIDEKQ2JkIGRlIDEKd3RIIHRoIDEKS2RqIGRlIDEKa1BzIHN6IDEKWnZrIGthIDEKeFB2IHZhIDEKd29IIG9uIDEKWHB6IHN6IDEKcVhlIHF1IDEKcFRqIGlqIDEKa3dRIGthIDEKa1pmIGthIDEKVXFqIHF1IDEKeUpoIHRoIDEKaENxIHRoIDEKak1qIGlqIDEKcGhZIHRoIDEKa2JCIGthIDEKR3B6IHN6IDEKc0d6IHN0IDEKZndFIHdhIDEKVHRmIHRoIDEKR3FtIHF1IDEKYnpOIHN6IDEKZmtPIGthIDEKdXpXIHF1IDEKb3hRIG9uIDEKVmdtIG5nIDEKcW1EIHF1IDEKeHFuIGFuIDEKdlJsIGxlIDEKVG5yIGFuIDEKempXIHN6IDEKdndxIHF1IDEKanRXIHRoIDEKcW5MIGFuIDEKeUR4IG55IDEKeGZRIGZvIDEKd3hKIHdhIDEKbnhFIGFuIDEKdlFuIGluIDEKV2toIHRoIDEKeXdEIHdhIDEKcEZmIHByIDEKbGJLIGxlIDEKdkh5IHZhIDEKZ1ZqIG5nIDEKT3FoIHRoIDEKYmNOIGNoIDEKdFdtIHRoIDEKd01jIGNoIDEKbndRIGFuIDEKcW5NIGFuIDEKWnR4IHRoIDEKblFqIGFuIDEKVnh0IHRoIDEKVXhjIGNoIDEKcFd2IHZhIDEKeVJ4IG55IDEKcUt1IHVuIDEKalhnIG5nIDEKanBYIGlqIDEKZGtHIGRlIDEKQm5mIGFuIDEKWWtmIGthIDEKZ2JXIG5nIDEKa2xYIGxlIDEKdmtIIGthIDEKZEtkIGRlIDEKS3BxIHF1IDEKZ3FNIG5nIDEKeUJ6IHN6IDEKclBqIGVyIDEKSHp2IHN6IDEKd1l6IHN6IDEKcUdhIGFuIDEKaklzIHN6IDEKYlVqIGlqIDEKclR0IHRoIDEKbnFJIGFuIDEKamZQIGlqIDEKaFJ0IHRoIDEKeVJyIGVyIDEKampLIGlqIDEKdGZFIHRoIDEKUXN3IHN0IDEKRmNtIGNoIDEKYkptIG1lIDEKdFhxIHRoIDEKZlJsIGxlIDEKZ3FFIG5nIDEKd0dnIG5nIDEKZ0tjIGNoIDEKeVhjIGNoIDEKekJ5IHN6IDEKbFRkIGxlIDEKV3FjIGNoIDEKRnRmIHRoIDEKd2RCIGRlIDEKeG5YIGFuIDEKQnFjIGNoIDEKenFPIHF1IDEKUWRsIGxlIDEKb2pKIG9uIDEKcVpuIGFuIDEKaHpXIHRoIDEKeWxRIGxlIDEKWmJ3IHdhIDEKbXZMIHZhIDEKTGpiIGlqIDEKR3FlIHF1IDEKbWZFIG1lIDEKeFFxIHF1IDEKZkx2IHZhIDEKeEx0IHRoIDEKd0JqIGlqIDEKalVtIGlqIDEKcGRMIGRlIDEKbUp2IHZhIDEKZHhVIGRlIDEKeHFOIHF1IDEKZnBHIHByIDEKdGxPIHRoIDEKd2hMIHRoIDEKa0R4IGthIDEKUnFiIHF1IDEKdXZYIHF1IDEKdmpZIGlqIDEKY3JRIGNoIDEKeHlZIG55IDEKeWhRIHRoIDEKeVljIGNoIDEKTG1nIG5nIDEKSnNxIHF1IDEKR2JqIGlqIDEKYVBiIGFuIDEKZHdKIGRlIDEKWHl2IHZhIDEKdWNKIGNoIDEKZFRmIGRlIDEKbEJiIGxlIDEKaEt6IHRoIDEKamNSIGNoIDEKZVFjIGNoIDEKcVlpIGluIDEKVnRiIHRoIDEKQ2NnIGNoIDEKekFlIGVyIDEKZ3hKIG5nIDEKdXZDIHF1IDEKQmhtIG1hIDEKWmd4IG5nIDEKeXpKIHN6IDEKY3ZKIGNoIDEKeFRrIGthIDEKcWRLIHF1IDEKdndHIHZhIDEKWW14IG1lIDEKb1l3IG9uIDEKalh4IGlqIDEKeXdmIHdhIDEKdlZ4IHZpIDEKUndtIG1lIDEKRHZrIGthIDEKeEt0IHRoIDEKcUxwIHF1IDEKWXl2IHZpIDEKQ3FhIGFuIDEKeFJmIGZvIDEKUXFrIHF1IDEKSnFlIHF1IDEKeVpnIG5nIDEKdnFHIHF1IDEKaGJPIHRoIDEKdVZxIHF1IDEKUmxtIGxlIDEKdVpjIGNoIDEKUHB2IHZhIDEKcFZkIGRlIDEKeVZkIGRlIDEKekpsIGxlIDEKWXpnIG5nIDEKQ3ZxIHF1IDEKcHdTIHByIDEKS2t3IGthIDEKV3Z2IHZhIDEKRmR5IGRlIDEKcHBYIHByIDEKaHZDIHRoIDEKaXdHIGluIDEKckJnIG5nIDEKaEJxIHRoIDEKbllzIGFuIDEKa2NPIGNoIDEKcUVlIHF1IDEKWWJ2IHZhIDEKUXNuIGFuIDEKc3ZDIHN0IDEKcWtEIHF1IDEKUWl3IGluIDEKR3RqIHRoIDEKcUFoIHRoIDEKd1Z5IHdhIDEKYnhUIGJlIDEKUWhzIHRoIDEKdGxYIHRoIDEKaGJBIHRoIDEKUWZiIGJlIDEKeFdsIGxlIDEKeGVWIGVyIDEKcnFHIHF1IDEKdnFaIHF1IDEKakt2IGlqIDEKaVRmIGluIDEKa3dVIGthIDEKaUZxIGluIDEKbWpaIGlqIDEKeGdKIG5nIDEKekxwIHN6IDEKcXNSIHF1IDEKekRqIHN6IDEKcGRGIGRlIDEKd3hOIHdhIDEKd0drIGthIDEKZFVxIHF1IDEKZEp3IGRlIDEKZkNiIGJlIDEKRGh6IHRoIDEKeUlxIHF1IDEKYVFtIGFuIDEKWXpzIHN0IDEKdkhmIHZhIDEKYmpWIGlqIDEKelNxIHF1IDEKV3FzIHF1IDEKanJXIGVyIDEKSHpxIHF1IDEKd1dzIHN0IDEKTWtnIG5nIDEKemdGIG5nIDEKQ25rIGFuIDEKckRnIG5nIDEKZnpCIHN6IDEKZk9tIG1lIDEKdVZ0IHRoIDEKUWZpIGluIDEKTWhqIHRoIDEKdVlqIHF1IDEKUnF4IHF1IDEKaGtZIHRoIDEKd1liIHdhIDEKdHFQIHRoIDEKSnBiIHByIDEKYkd3IHdhIDEKeEZoIHRoIDEKWHdiIHdhIDEKS2d0IHRoIDEKSXFjIGNoIDEKcEptIG1lIDEKUWtxIHF1IDEKYlZoIHRoIDEKeVRxIHF1IDEKelpnIG5nIDEKY0R6IGNoIDEKcWZtIHF1IDEKYWZRIGFuIDEKUXdjIGNoIDEKYmRKIGRlIDEKcVR1IHVuIDEKVWN4IGNoIDEKSG54IGFuIDEKSGJoIHRoIDEKZ3lIIG5nIDEKdFR6IHRoIDEKdHhWIHRoIDEKYmRTIGRlIDEKV2dnIG5nIDEKb3FQIHF1IDEKUnJmIGVyIDEKZ1l5IG5nIDEKZk1zIHN0IDEKZktkIGRlIDEKSHl4IG55IDEKTXh6IHN6IDEKcUhrIHF1IDEKdGZNIHRoIDEKaGdRIHRoIDEKem1PIHN6IDEKd3pTIHN6IDEKandRIGlqIDEKRmhjIGljIDEKeEl5IG55IDEKZkhnIG5nIDEKd3FZIHF1IDEKYkZwIHByIDEKUWRxIHF1IDEKYmhWIHRoIDEKYkNnIG5nIDEKSGdyIG5nIDEKeHFMIHF1IDEKcWdTIG5nIDEKTnFnIG5nIDEKZlF2IHZhIDEKUXp3IHN6IDEKSXhkIGRlIDEKQ3htIG1lIDEKbXhOIG1lIDEKdlFpIGluIDEKY0FxIGNoIDEKZUN4IGVyIDEKbXFYIHF1IDEKcnFZIHF1IDEKZlZwIHByIDEKcW9QIHF1IDEKR3hjIGNoIDEKdnpYIHN6IDEKZlhmIGZvIDEKUXRjIHRoIDEKb2hRIHRoIDEKWWd5IG5nIDEKWG5iIGFuIDEKY1dtIGNoIDEKalh3IGlqIDEKZ1dqIG5nIDEKS21nIG5nIDEKdnZIIHZhIDEKVWV3IGVyIDEKcUprIHF1IDEKSGtkIGRlIDEKeG1QIG1lIDEKc2xSIGlzIDEKVWFxIGFuIDEKemJHIHN6IDEKdk52IHZhIDEKY1ZiIGNoIDEKYkdnIG5nIDEKaXdVIGluIDEKQ253IGFuIDEKclhkIGVyIDEKdld6IHN6IDEKdEdmIHRoIDEKZmJZIGJlIDEKaHpwIHRoIDEKdVd6IHF1IDEKYk1iIGJlIDEKanpXIHN6IDEKZ0xoIHRoIDEKa1pjIGNoIDEKa0hnIG5nIDEKVndmIHdhIDEKdnRZIHRoIDEKcWVBIHF1IDEKY3hHIGNoIDEKdVF6IHF1IDEKakdjIGNoIDEKY3ZBIGNoIDEKb1RtIG9uIDEKcGpZIGlqIDEKYlVvIG9uIDEKandVIGlqIDEKSmdtIG5nIDEKdGZaIHRoIDEKeGVPIGVyIDEKcUJwIHF1IDEKcEJ6IHN6IDEKcVNiIHF1IDEKanlQIGlqIDEKRmtxIHF1IDEKbmpTIGFuIDEKanRBIHRoIDEKWm1mIG1lIDEKWXRtIHRoIDEKUHFjIGNoIDEKYndKIHdhIDEKb1dmIG9uIDEKa3hKIGthIDEKakh4IGlqIDEKZ2NQIGNoIDEKZ0JzIG5nIDEKYmtLIGthIDEKdmRRIGRlIDEKcGpaIGlqIDEKVmdmIG5nIDEKc3ZHIHN0IDEKa0dqIGlqIDEKV2pnIG5nIDEKUW1rIGthIDEKR2x2IGxlIDEKdG1ZIHRoIDEKa2xZIGxlIDEKUGNqIGNoIDEKZlF3IHdpIDEKeGFPIGFuIDEKamZOIGlqIDEKcUd4IHF1IDEKcXZCIHF1IDEKaHdBIHRoIDEKWG1xIHF1IDEKWHZ0IHRoIDEKQnBxIHF1IDEKb0pxIHF1IDEKdm1aIHZhIDEKbkpwIGFuIDEKenFKIHF1IDEKcUhmIHF1IDEKbVFnIG5nIDEKeUd6IHN6IDEKaFFtIHRoIDEKbUJwIG1lIDEKdHBKIHRoIDEKUWtqIGlqIDEKdVVnIG5nIDEKdGRKIHRoIDEKSmZuIGFuIDEKTHZqIGlqIDEKaVhjIGNoIDEKcE9xIHF1IDEKYmhLIHRoIDEKYk1rIGthIDEKRnN3IHN0IDEKcUF0IHRoIDEKeHdKIHdhIDEKZlBtIG1lIDEKRGZ5IG55IDEKWmJwIHByIDEKQmd3IG5nIDEKcFFwIHByIDEKa1FwIGthIDEKcW9WIHF1IDEKVXFkIHF1IDEKallvIG9uIDEKc0RmIHN0IDEKeHVKIHF1IDEKdlJrIGthIDEKUXNnIG5nIDEKeVRkIGRlIDEKUXhyIGVyIDEKSHZjIGNoIDEKaFp0IHRoIDEKcUR1IHVuIDEKZnhBIGZvIDEKeFBmIGZvIDEKd1hjIGNoIDEKakpiIGlqIDEKcGRLIGRlIDEKZ3BXIG5nIDEKUWd4IG5nIDEKa3hHIGthIDEKZEx4IGRlIDEKQnd6IHN6IDEKVmR4IGRlIDEKeVFoIHRoIDEKV3N4IHN0IDEKZlNiIGJlIDEKVWtnIG5nIDEKUGp6IHN6IDEKckZnIG5nIDEKZmpQIGlqIDEKa1d2IGthIDEKS2hmIHRoIDEKeUd2IHZhIDEKcG5EIGFuIDEKallmIGlqIDEKbWdSIG5nIDEKcmpDIGVyIDEKWGpsIGxlIDEKa3pFIHN6IDEKUWdxIG5nIDEKemdiIG5nIDEKbWhEIHRoIDEKdmtPIGthIDEKdXdWIHF1IDEKclBwIGVyIDEKd1hkIGRlIDEKZ0FvIG5nIDEKa3ZHIGthIDEKdmNYIGNoIDEKeE96IHN6IDEKWHpxIHF1IDEKRm11IHF1IDEKeEdnIG5nIDEKampSIGlqIDEKcWtJIGt1IDEKcHFIIHF1IDEKY25IIGFuIDEKZGhUIHRoIDEKbWRSIGRlIDEKZERmIGRlIDEKcUlxIHF1IDEKeENqIGlqIDEKcVJrIHF1IDEKa0tjIGNoIDEKSXV1IHF1IDEKanFSIHF1IDEKcUVrIHF1IDEKaGZPIHRoIDEKcXVKIHVuIDEKblJwIGFuIDEKdHhJIHRoIDEKeWZaIG55IDEKb3FUIGhvIDEKY2dYIGNoIDEKcGJMIHByIDEKWG14IG1lIDEKVmpyIGVyIDEKeWxZIGxlIDEKZGZLIGRlIDEKeGdEIG5nIDEKdXdMIHF1IDEKYlBtIG1lIDEKcUN5IHF1IDEKUnBxIHF1IDEKeXFoIHRoIDEKeEp0IHRoIDEKbHpRIGxlIDEKZmdNIG5nIDEKWWxjIGNoIDEKZlR6IHN6IDEKUmpmIGlqIDEKUmdqIGpvIDEKR2t0IHRoIDEKZnhHIGZvIDEKbXRHIHRoIDEKbGdKIG5nIDEKdGRSIHRoIDEKaUhrIGluIDEKR3F2IHF1IDEKbERqIGxlIDEKd3paIHN6IDEKZEZwIGRlIDEKcVR0IHRoIDEKV3RnIHRoIDEKY2JUIGNoIDEKZHZLIGRlIDEKQ3R3IHRoIDEKbWRHIGRlIDEKdktqIGlqIDEKQ2xmIGxlIDEKd3JVIGVyIDEKZ21UIG5nIDEKYlh4IGJlIDEKek94IHN6IDEKWG5mIGFuIDEKcnpRIGVyIDEKdlFqIGlqIDEKa3BUIGthIDEKZlloIHRoIDEKekxyIGVyIDEKWGdkIG5nIDEKY1psIGNoIDEKbEZ5IGxlIDEKWm5nIGFuIDEKYVhnIGFuIDEKcWJFIHF1IDEKemNZIGNoIDEKc3FLIHF1IDEKQmx4IGxlIDEKb3FKIHF1IDEKalB2IGlqIDEKcVpkIHF1IDEKZmRaIGRlIDEKQnFtIHF1IDEKY3BHIGNoIDEKeGRQIGRlIDEKZnVGIHF1IDEKdmJxIHF1IDEKZGhIIHRoIDEKSndtIG1lIDEKcWtPIGtvIDEKZ3NZIG5nIDEKcUdoIHRoIDEKSmt2IGthIDEKenBnIG5nIDEKcndLIGVyIDEKTGhxIHRoIDEKenVWIHF1IDEKYnFWIHF1IDEKUWN2IGNoIDEKbVdkIGRlIDEKY25GIGFuIDEKbFd3IGxlIDEKdHhTIHRoIDEKem5FIGFuIDEKZlRqIGlqIDEKbEZxIHF1IDEKd2RKIGRlIDEKZVZrIGVyIDEKempaIHN6IDEKZlBxIHF1IDEKY3FRIGNoIDEKUGNnIGNoIDEKWWRrIGRlIDEKc3ZFIHN0IDEKV3FiIHF1IDEKYmNWIGNoIDEKbkh4IG9uIDEKd0F4IHdhIDEKaGZCIHRoIDEKYU12IGFuIDEKcHdPIHByIDEKWXd4IHdhIDEKY2JIIGNoIDEKb2paIG9uIDEKc3VVIHF1IDEKamNVIGNoIDEKc3FZIHF1IDEKak1yIGVyIDEKcHhHIHByIDEKckJxIHF1IDEKdmxZIGxlIDEKaHlZIHRoIDEKQ3Z3IHZhIDEKVHFlIHF1IDEKZlNqIGlqIDEKZlZzIHN0IDEKRXFjIGNoIDEKeG5EIGFuIDEKT3dwIHByIDEKeFRiIGJlIDEKd2pMIGlqIDEKUnh2IHZhIDEKbldmIGFuIDEKdkhwIHZhIDEKdkJrIGthIDEKTnF2IHF1IDEKTHpmIHN6IDEKYndTIHdhIDEKQ2J5IGJlIDEKelJyIGVyIDEKcXdKIHF1IDEKeG5CIGFuIDEKcUljIGNoIDEKY0drIGNoIDEKWWppIGluIDEKZ1ZoIHRoIDEKbERjIGNoIDEKUXlyIGVyIDEKZmNIIGNoIDEKbnhCIGFuIDEKZHZ3IGRlIDEKZ1FjIGNoIDEKbXJSIGVyIDEKZm5LIGFuIDEKSGxyIGxlIDEKRG5xIGFuIDEKYm5VIGFuIDEKcUNlIHF1IDEKVGp2IGlqIDEKRXBxIHF1IDEKd0xmIHdhIDEKcFpqIGlqIDEKZ3ZSIG5nIDEKa3FLIHF1IDEKdmxHIGxlIDEKdnZOIHZhIDEKZ2JNIG5nIDEKYk5rIGthIDEKanpMIHN6IDEKV2xxIHF1IDEKYVlxIGFuIDEKemRZIGRlIDEKc2ZHIHN0IDEKcWZXIHF1IDEKa0J2IGthIDEKYnRHIHRoIDEKTXFiIHF1IDEKbHJDIGVyIDEKdnVFIHF1IDEKZnlKIG55IDEKcW1aIHF1IDEKSmtxIHF1IDEKQ21qIGlqIDEKYlh5IGJlIDEKWW15IG1lIDEKcXhZIHF1IDEKY05sIGNoIDEKZnpVIGZvIDEKUnZ0IHRoIDEKeWxJIGxlIDEKeE1zIHN0IDEKUWhtIHRoIDEKZEhxIHF1IDEKZHdMIGRlIDEKdllyIGVyIDEKUXh1IHF1IDEKZE5oIHRoIDEKek5jIGNoIDEKam1QIGlqIDEKUGJxIHF1IDEKZnFqIHF1IDEKZlV3IHdhIDEKSHlxIHF1IDEKUWR4IGRlIDEKelNsIGxlIDEKY1d0IHRoIDEKRmtlIGVyIDEKWnR6IHRoIDEKdVVxIHF1IDEKbkJtIGFuIDEKekp5IHN6IDEKcGRJIGRlIDEKblRkIGFuIDEKWWpiIGlqIDEKUWpuIGFuIDEKeVhqIGlqIDEKeHdCIG93IDEKa2xxIHF1IDEKaGZZIHRoIDEKcERnIG5nIDEKelpkIGRlIDEKbXFPIHF1IDEKaFpyIHRoIDEKY21ZIGNoIDEKZ0xrIG5nIDEKUWNqIGNoIDEKdUtqIHF1IDEKbnFEIGFuIDEKeUt3IHdhIDEKYmZSIGJlIDEKUnF6IHF1IDEKamhRIHRoIDEKdk5qIGlqIDEKVGNmIGNoIDEKSGJuIGFuIDEKTHd2IHZhIDEKd2NaIGNoIDEKY2RLIGNoIDEKYnBSIHByIDEKbFdtIGxlIDEKd05xIHF1IDEKcEFqIGlqIDEKZ3JWIG5nIDEKcW1rIHF1IDEKY0xmIGNoIDEKaXdCIGluIDEKZXFWIHF1IDEKV3F6IHF1IDEKUW5qIGFuIDEKdW9KIHF1IDEKZlZqIGlqIDEKY2JVIGNoIDEKcXBUIHF1IDEKcGRaIGRlIDEKZHpXIGRlIDEKV2Z3IHdhIDEKWnFtIHF1IDEKa0pkIGRlIDEKeldmIHN6IDEKYllnIG5nIDEKcmpRIGVyIDEKZHdCIGRlIDEKVmx4IGxlIDEKektkIGRlIDEKTHh3IHdhIDEKSHB3IHByIDEKbXZSIHZhIDEKcU10IHRoIDEKcFdiIHByIDEKZGNXIGNoIDEKekVoIHRoIDEKWHJzIGVyIDEKRnR6IHRoIDEKcXlMIHF1IDEKalNuIGFuIDEKV3poIHRoIDEKUHpmIHN6IDEKemtXIHN6IDEKeXdZIHdhIDEKb0diIG9uIDEKakJ3IGlqIDEKUXB6IHN6IDEKcldtIGVyIDEKc21RIHN0IDEKdUdrIHF1IDEKeGtWIGthIDEKd0pmIHdhIDEKY2pXIGNoIDEKd054IHdhIDEKd2pSIGlqIDEKd0RkIHdhIDEKbHJCIGVyIDEKcWhKIHRoIDEKaktwIGlqIDEKa05uIGFuIDEKdHFVIHRoIDEKSm1qIGlqIDEKYkp2IHZhIDEKZnJOIGVyIDEKdUJqIHF1IDEKVXV2IHF1IDEKTXp2IHN6IDEKRGpxIHF1IDEKUWdsIGxlIDEKaGRDIHRoIDEKbUZoIHRoIDEKdmpVIGlqIDEKcHJYIGVyIDEKS3ZjIGNoIDEKcnlZIGVyIDEKdnpRIHN6IDEKT2poIHRoIDEKUWZuIGFuIDEKVnFnIG5nIDEKYVF2IGFuIDEKaEh4IHRoIDEKdUlnIG5nIDEKS3B2IHZhIDEKZFFrIGtvIDEKR2hxIHRoIDEKY1pzIGNoIDEKbnZIIGFuIDEKandKIGlqIDEKZE1tIGRlIDEKZ2pJIG5nIDEKbFBnIG5nIDEKcUJzIHF1IDEKVmhxIHRoIDEKcUx0IHRoIDEKaEJkIHRoIDEKVmN1IGNoIDEKY1FkIGNoIDEKeXBYIHByIDEKbVF2IHZhIDEKdm1SIHZhIDEKeGZIIGZvIDEKcHFZIHF1IDEKWHRiIHRoIDEKVmN4IGNoIDEKdFdiIHRoIDEKUHhhIGFuIDEKUW1yIGVyIDEKbWRYIGRlIDEKQnh0IHRoIDEKalp2IGlqIDEKaE5wIHRoIDEKeWJOIGJlIDEKYmtaIGthIDEKblZmIGFuIDEKbEtxIHF1IDEKb0pqIG9uIDEKcEJ2IHZhIDEKaGdBIHRoIDEKcXhFIHF1IDEKbnZKIGFuIDEKWGNmIGNoIDEKRmRiIGRlIDEKekFvIG9uIDEKd1FrIGthIDEKdG1YIHRoIDEKcHZaIHZhIDEKZk53IHdhIDEKektrIHN6IDEKaFJ4IHRoIDEKVGxqIGxlIDEKaVFqIGluIDEKam1VIGlqIDEKdGJXIHRoIDEKd1ZoIHRoIDEKVHZoIHRoIDEKblZnIGFuIDEKTHhwIHByIDEKdmdPIG5nIDEKZGZFIGRlIDEKblZtIGFuIDEKcUt5IHF1IDEKZXFaIHF1IDEKVGNjIGNoIDEKY1RrIGNoIDEKZkt6IHN6IDEKV2t6IHN6IDEKbHZaIGxlIDEKckdwIGVyIDEKa0t6IHN6IDEKQ2JmIGJlIDEKalFkIGRlIDEKWmZjIGNoIDEKaHZYIHRoIDEKeGdOIG5nIDEKS3BlIGVyIDEKaHpNIHRoIDEKanhaIGlqIDEKeXFMIHF1IDEKcGdDIG5nIDEKRnFkIHF1IDEKdE1iIHRoIDEKbmpRIGFuIDEKdGZCIHRoIDEKZ2pOIG5nIDEKd05jIGNoIDEKUHpqIHN6IDEKbWhPIHRoIDEKcVVtIHF1IDEKRmhoIHRoIDEKU2pkIGRlIDEKaFdqIHRoIDEKeWhMIHRoIDEKbEdwIGxlIDEKZHRYIHRoIDEKaHdYIHRoIDEKc3JLIGVyIDEKdnFFIHF1IDEKYmNPIGNoIDEKeFFsIGxlIDEKUXFmIHF1IDEKa0pnIG5nIDEKcFh6IHN6IDEKeXVKIHF1IDEKR25wIGFuIDEKRGxjIGNoIDEKTXhmIGZvIDEKeU5yIGVyIDEKYm1WIG1lIDEKZlhvIG9uIDEKbXdXIG1lIDEKbElqIGxlIDEKRnZxIHF1IDEKVXRxIHRoIDEKakdrIGlqIDEKd1l3IHdhIDEKd1ZtIG1lIDEKYlRxIHF1IDEKSWpwIGlqIDEKem5NIGFuIDEKeG1PIG1lIDEKZ1F4IG5nIDEKZEt3IGRlIDEKZFVmIGRlIDEKY1NiIGNoIDEKelZiIHN6IDEKY2NZIGNoIDEKeGpFIGlqIDEKcFl0IHRoIDEKVnJxIHF1IDEKa3pLIHN6IDEKemZDIHN6IDEKWWJoIHRoIDEKZGdTIG5nIDEKeGNWIGNoIDEKeE5tIG1lIDEKWGt3IGthIDEKVHB3IHByIDEKQndkIGRlIDEKaHdUIHRoIDEKZ1FsIG5nIDEKY0RzIGNoIDEKellyIGVyIDEKeFRwIHByIDEKcVdtIHF1IDEKeGpUIGlqIDEKaGpLIHRoIDEKdURjIGNoIDEKeGhTIHRoIDEKYldkIGRlIDEKdkN3IHZhIDEKanlCIGlqIDEKdVdkIHF1IDEKTm5xIHF1IDEKUXZiIHZhIDEKanpWIHN6IDEKekJ4IHN6IDEKd0lqIGlqIDEKcVJ0IHRoIDEKcXJKIHF1IDEKelpqIHN6IDEKa1JyIGVyIDEKTnp2IHN6IDEKUWZ3IHdhIDEKTmp0IHRoIDEKYkZ5IGJlIDEKbGhZIHRoIDEKZVdqIGVyIDEKamJNIGlqIDEKWHNnIG5nIDEKUnNkIGRlIDEKZmxGIGxlIDEKUGh6IHRoIDEKeFdzIHN0IDEKYkN3IHdhIDEKZ2ZKIG5nIDEKcVZvIHF1IDEKZVFoIHRoIDEKdmNQIGNoIDEKbURqIGlqIDEKcVRzIHF1IDEKWGdzIG5nIDEKVnVxIHF1IDEKdWZOIHF1IDEKeEJzIHN0IDEKcFRrIGthIDEKZlNxIHF1IDEKbWJEIG1lIDEKVnd6IHN6IDEKaGhRIHRoIDEKa2ZQIGthIDEKUHdxIHF1IDEKZGhHIHRoIDEKcVpqIHF1IDEKeVJqIGlqIDEKeUNzIHN0IDEKZmpOIGlqIDEKUnFnIG5nIDEKakpoIHRoIDEKZGxSIGxlIDEKWG1iIG1lIDEKSmp0IHRoIDEKZ3FJIG5nIDEKZnFNIHF1IDEKaVZnIG5nIDEKSGd1IG5nIDEKaUh3IGluIDEKZVF2IGVyIDEKbXpFIHN6IDEKZmpaIGlqIDEKcU5uIGFuIDEKd2xFIGxlIDEKa0dwIGthIDEKSXF2IHF1IDEKa0JuIGFuIDEKeFpkIGRlIDEKRGtjIGNoIDEKemxIIGxlIDEKdHhCIHRoIDEKdFFyIHRoIDEKdU94IHF1IDEKcEppIGluIDEKemJMIHN6IDEKeGtEIGthIDEKc2NWIGNoIDEKcVhoIHRoIDEKa0lxIHF1IDEKeE5uIGFuIDEKZ0pmIG5nIDEKdG1CIHRoIDEKdGNLIHRoIDEKa3daIGthIDEKdVpqIHF1IDEKc25RIGFuIDEKdUtxIHF1IDEKY3JYIGNoIDEKaFh5IHRoIDEKWmNjIGNoIDEKUGZ6IHN6IDEKZHdNIGRlIDEKcUl5IHF1IDEKeHVQIHF1IDEKd0R3IHdhIDEKSGpyIGVyIDEKZFFmIGRlIDEKd3ZKIHdhIDEKdEhtIHRoIDEKWWR3IGRlIDEKd3hJIHdhIDEKcE92IHZhIDEKV21xIHF1IDEKZGhEIHRoIDEKcXB3IHF1IDEKYm1DIG1lIDEKd2NYIGNoIDEKd2pIIGlqIDEKYldmIGJlIDEKR2RwIGRlIDEKTGR3IGRlIDEKU2JxIHF1IDEKdlp2IHZhIDEKS3diIHdhIDEKcWhUIHRoIDEKeVJmIG55IDEKaHdDIHRoIDEKbnBKIGFuIDEKam1WIGlqIDEKdkdnIG5nIDEKeHFGIHF1IDEKUGhtIHRoIDEKcFdjIGNoIDEKVnhrIGthIDEKc0h6IHN0IDEKV2J4IGJlIDEKYmZLIGJlIDEKSmdsIG5nIDEKa1RiIGthIDEKS2JmIGJlIDEKa3pDIHN6IDEKcEtxIHF1IDEKendCIHN6IDEKdVpnIG5nIDEKYnRJIHRoIDEKelhqIHN6IDEKdXpTIHF1IDEKdldrIGthIDEKeHJIIGVyIDEKb1FjIGNoIDEKemxUIGxlIDEKZGZJIGRlIDEKUW1mIG1lIDEKc2dFIG5nIDEKWXN4IHN0IDEKUnpkIGRlIDEKeExkIGRlIDEKcXNYIHF1IDEKa3FKIHF1IDEKa0NtIGthIDEKYkZtIG1lIDEKaWdRIG5nIDEKc1JxIHF1IDEKakdtIGlqIDEKU3pzIHN0IDEKWXZ6IHN6IDEKa1h6IHN6IDEKR256IGFuIDEKbVdjIGNoIDEKdERxIHRoIDEKZ3F6IG5nIDEKbkhiIG5nIDEKdGRNIHRoIDEKT3Z4IHZhIDEKWm5sIGFuIDEKd3VFIHF1IDEKekx0IHRoIDEKb2ZRIG9uIDEKdllqIGlqIDEKanlIIGlqIDEKenFBIHF1IDEKY0p5IGNoIDEKV2JmIGJlIDEKbFR0IHRoIDEKa2xXIGxlIDEKWHhhIGFuIDEKZkN6IHN6IDEKbEtmIGxlIDEKcXdUIHF1IDEKckhrIGVyIDEKZGJOIGRlIDEKdVV5IHF1IDEKemdOIG5nIDEKUHhnIG5nIDEKcE5jIGNoIDEKY3lKIGNoIDEKanBIIGlqIDEKVnRmIHRoIDEKc2pKIHN0IDEKUWxoIHRoIDEKdHdWIHRoIDEKeUdxIHF1IDEKdFZwIHRoIDEKa3NRIHN0IDEKeG5UIGFuIDEKcnBKIGVyIDEKd3pJIHN6IDEKWmhwIHRoIDEKYURmIGFuIDEKVXhqIGlqIDEKY1BnIGNoIDEKcVNxIHF1IDEKbUtxIHF1IDEKdkJ6IHN6IDEKeVBqIGlqIDEKVmt6IHN6IDEKcWlCIHF1IDEKdGtKIHRoIDEKT3VxIHF1IDEKem9IIG9uIDEKcVZ0IHRoIDEKR3hzIHN0IDEKanpGIHN6IDEKc3dIIHN0IDEKbkJiIGFuIDEKemhRIHRoIDEKeVJuIGFuIDEKZm5YIGFuIDEKcW9RIHF1IDEKbXhQIG1lIDEKYndSIHdhIDEKZ0pqIG5nIDEKcW5rIGFuIDEKdE1rIHRoIDEKZHhPIGRlIDEKcnpWIGVyIDEKdnBQIHZhIDEKTnZ6IHN6IDEKTmZwIHByIDEKQ256IGFuIDEKb1RkIG9uIDEKZHFHIHF1IDEKSG14IG1lIDEKcHNYIHN0IDEKc3dNIHN0IDEKZHFDIHF1IDEKVnd4IHdhIDEKblhmIGFuIDEKd2tZIGthIDEKd2ZDIHdhIDEKcVNyIHF1IDEKcVZjIGNoIDEKa0RuIGFuIDEKWXZiIHZhIDEKenFIIHF1IDEKcXhKIHF1IDEKektqIHN6IDEKamNOIGNoIDEKdFdrIHRoIDEKUnJ6IGVyIDEKYm1HIG1lIDEKc3JaIGVyIDEKd1dxIHF1IDEKQ2ZoIHRoIDEKbE50IHRoIDEKaGNWIHRoIDEKWm5mIGFuIDEKSmh2IHRoIDEKcUlwIHF1IDEKdlN6IHN6IDEKZmVVIGVyIDEKeElpIGluIDEKWm1xIHF1IDEKZUdmIGVyIDEKYlFrIGthIDEKWGNiIGNoIDEKbmxLIGFuIDEKdG1KIHRoIDEKamxMIGxlIDEKbXdDIG1lIDEKcWpyIHF1IDEKekJiIHN6IDEKZmhVIHRoIDEKc1BxIHF1IDEKc0JmIHN0IDEKdVh5IHF1IDEKTGt4IGthIDEKckd6IGVyIDEKaFh6IHRoIDEKenVXIHF1IDEKUnZ4IHZhIDEKYmNKIGNoIDEKRW9qIG9uIDEKaVZ0IGluIDEKeWhIIHRoIDEKeFZ2IHZhIDEKcE1yIGVyIDEKdlpkIGRlIDEKVnZuIGFuIDEKaUN2IGluIDEKdlFwIHZhIDEKdmxCIGxlIDEKd1Z0IHRoIDEKVWdrIG5nIDEKa3RRIHRoIDEKakNyIGVyIDEKcXZ6IHF1IDEKYlZmIGJlIDEKclB2IGVyIDEKd2ZIIHdhIDEKaGJVIHRoIDEKcGpGIGlqIDEKb1hnIG5nIDEKelNyIGVyIDEKd1JiIHdhIDEKSGN1IGNoIDEKeXhKIG55IDEKbFRjIGNoIDEKYlliIGJlIDEKV3h6IHN6IDEKdnJFIGVyIDEKekd5IHN6IDEKSnFtIHF1IDEKcnpJIGVyIDEKeGdWIGdpIDEKUnZ3IHZhIDEKVm54IGFuIDEKdUpnIG5nIDEKaEZxIHRoIDEKVGd6IG5nIDEKYVFjIGFuIDEKeHpKIHN6IDEKdE5jIHRoIDEKamZBIGlqIDEKeWNPIGNoIDEKV2tqIGlqIDEKeUJwIHByIDEKaGdEIHRoIDEKaVN4IGluIDEKeENtIG1lIDEKeWpYIGlqIDEKdUloIHRoIDEKcWdxIG5nIDEKVHpqIHN6IDEKeWpPIGlqIDEKeXJZIGVyIDEKYm1aIG1lIDEKenFUIHF1IDEKbUJkIGRlIDEKcXZLIHF1IDEKemNBIGNoIDEKeHJYIGVyIDEKbUptIG1lIDEKWHFmIHF1IDEKUHhrIGthIDEKYURiIGFuIDEKcVhnIG5nIDEKZUd3IGVyIDEKaGpEIHRoIDEKdFR4IHRoIDEKb01kIG9uIDEKZktnIG5nIDEKTnBuIGFuIDEKa3FVIHF1IDEKbGJGIGxlIDEKSHZqIGlqIDEKcVplIHF1IDEKbFFqIGxlIDEKZGtZIGRlIDEKZFpsIGxlIDEKelpoIHRoIDEKcXlNIHF1IDEKZG1KIGRlIDEKa2ZLIGthIDEKaVBxIHF1IDEKendVIHN6IDEKcHZTIHZhIDEKaWhKIHRoIDEKdWNXIGNoIDEKSmp6IHN6IDEKbU1kIGRlIDEKdnB3IHZhIDEKeENnIG5nIDEKaEtzIHRoIDEKdmxJIGxlIDEKTm1jIGNoIDEKeHpWIHN6IDEKZ1pzIG5nIDEKclJwIGVyIDEKVWZkIGRlIDEKZnBGIHByIDEKZndZIHdhIDEKR3hyIGVyIDEKeExyIGVyIDEKdnpFIHN6IDEKalJmIGlqIDEKYnJSIGVyIDEKZ2taIG5nIDEKZFV5IGRlIDEKWGppIGluIDEKS2RiIGRlIDEKanBDIGlqIDEKb1VqIG9uIDEKcW1oIHRoIDEKcWpMIHF1IDEKd1JzIHN6IDEKamhNIHRoIDEKUmhyIHRoIDEKYnROIHRoIDEKUGpxIGlqIDEKeHdVIHdhIDEKcXlFIHF1IDEKSnhkIGRlIDEKUHFyIHF1IDEKbFJkIGxlIDEKanFJIHF1IDEKcUZzIHF1IDEKTXdrIGthIDEKakViIGlqIDEKTnh5IG55IDEKUHptIHN6IDEKdGZMIHRoIDEKdkZjIGNoIDEKalFnIG5nIDEKQm54IGFuIDEKbE12IGxlIDEKdEtxIHRoIDEKZVZxIHF1IDEKVHlxIHF1IDEKZHJKIGVyIDEKb0h3IG9uIDEKbEZrIGxlIDEKanBXIGlqIDEKUWp3IGlqIDEKY054IGNoIDEKQmh6IHRoIDEKYmhCIHRoIDEKcER4IHByIDEKeHBZIHByIDEKdG5IIHRoIDEKZGZMIGRlIDEKaHpMIHRoIDEKek5rIHN6IDEKbEJtIGxlIDEKbFhsIGxlIDEKeVB2IHZhIDEKWmNsIGNoIDEKaE1xIHRoIDEKckpqIHJpIDEKYVh3IGFuIDEKenNRIHN6IDEKY1FtIGNoIDEKU3FjIGNoIDEKdEttIHRoIDEKaHZPIHRoIDEKaEdkIHRoIDEKV2JuIGFuIDEKdkNmIHZhIDEKbEdnIG5nIDEKdkRoIHRoIDEKd0RxIHF1IDEKeFJ5IG55IDEKdlhpIGluIDEKcWlRIHF1IDEKY0ZzIGNoIDEKTGhwIHRoIDEKeEVwIHByIDEKZlF0IHRoIDEKY0p2IGNoIDEKbHpPIGxlIDEKRnhrIGthIDEKdERkIHRoIDEKWG54IGFuIDEKdHhDIHRoIDEKdEdiIHRoIDEKenZHIHN6IDEKZ3BDIG5nIDEKcHhEIHByIDEKWmZwIHByIDEKb1d0IHRoIDEKdnZWIHZhIDEKR3dmIHdhIDEKWWN2IGNoIDEKZ2NaIGNoIDEKbU13IG1lIDEKeVFsIGxlIDEKdUdwIHF1IDEKbE5qIGxlIDEKWWNtIGNoIDEKdkl4IHZhIDEKeUxwIHByIDEKbVJ4IG1lIDEKbnJLIGFuIDEKWnloIHRoIDEKTmN0IHRoIDEKUW1sIGxlIDEKelBkIGRlIDEKZFdxIHF1IDEKRWd4IG5nIDEKdk5zIHN0IDEKc05sIGxlIDEKcGRXIGRlIDEKU25oIHRoIDEKeXJQIGVyIDEKZkpsIGxlIDEKdFZnIHRoIDEKanZDIGlqIDEKeWhOIHRoIDEKcWRDIHF1IDEKcG1UIG1lIDEKTGJnIG5nIDEKeHBKIHByIDEKbVl0IHRoIDEKYndWIHdhIDEKd2pEIGlqIDEKZnFDIHF1IDEKeFVmIGZvIDEKZGhVIHRoIDEKYlpiIGJlIDEKdHdEIHRoIDEKYmJNIGJlIDEKaGdDIHRoIDEKZEtiIGRlIDEKdkptIHZhIDEKd0VxIHF1IDEKT2ZxIHF1IDEKY1hsIGNoIDEKd3BWIHByIDEKdHFNIHRoIDEKcFVmIHByIDEKVHd4IHdhIDEKTWdxIG5nIDEKdlFvIG9uIDEKeWpUIGlqIDEKYVZkIGFuIDEKZUhwIGVyIDEKdkd2IHZhIDEKc3JHIGVyIDEKcVZiIHF1IDEKdGxNIHRoIDEKbnJUIGFuIDEKelJoIHRoIDEKY0xyIGNoIDEKbHJIIGVyIDEKd1RsIGxlIDEKY3ZJIGNoIDEKa3FOIHF1IDEKSXhwIHByIDEKeGVRIGVyIDEKY055IGNoIDEKa1JoIHRoIDEKcnVZIHF1IDEKWGNxIGNoIDEKS3piIGJpIDEKV3hoIHRoIDEKcGpNIGlqIDEKamRPIGRlIDEKSmZ5IG55IDEKYlZ6IHN6IDEKZFFvIG9uIDEKbmNRIGFuIDEKcFZ3IHByIDEKU3hqIGlqIDEKVWJwIHByIDEKd3ZDIHZhIDEKa2hHIHRoIDEKY3FGIGNoIDEKTnhqIGlqIDEKd0RtIG1lIDEKeURkIGRlIDEKaXlJIGluIDEKZVhxIHF1IDEKaHFQIHRoIDEKS3hyIGVyIDEKdnNZIHN0IDEKVHdiIHdhIDEKZnF3IHF1IDEKd21DIG1lIDEKdkZ4IHZhIDEKdm5DIGFuIDEKbldxIGFuIDEKaHpCIHRoIDEKS2ZrIGthIDEKdFFlIHRoIDEKanVXIHF1IDEKcWxYIHF1IDEKaEd3IHRoIDEKT3FkIHF1IDEKTnB3IHByIDEKaGdXIHRoIDEKZnhNIGZvIDEKalN5IGlqIDEKZkp0IHRoIDEKbWpHIGlqIDEKdGdWIHRoIDEKT2d4IG5nIDEKSGJ4IGJlIDEKTGpsIGxlIDEKaXZaIGluIDEKYm1ZIG1lIDEKUWZwIHByIDEKd2ZRIHdhIDEKaENnIHRoIDEKdnVVIHF1IDEKeWRaIGRlIDEKdlZrIGthIDEKbVpmIG1lIDEKbE9xIHF1IDEKcUl2IHF1IDEKeFpiIGJlIDEKeHFrIHF1IDEKV215IG1lIDEKSnFpIHF1IDEKY3hMIGNoIDEKWnRxIHRoIDEKdGRUIHRoIDEKdVd0IHRoIDEKeEd6IHN6IDEKV3drIGthIDEKcEJrIGthIDEKeXFnIG5nIDEKY1lsIGNoIDEKeW5XIGFuIDEKd3lKIHdhIDEKcUd5IHF1IDEKZk5wIHByIDEKaEZzIHRoIDEKWXh1IHF1IDEKa3ZKIGthIDEKRnh6IHN6IDEKdHdHIHRoIDEKcXZHIHF1IDEKdlJwIHZhIDEKUXFpIHF1IDEKZ3pFIG5nIDEKcE5sIGxlIDEKenBXIHN6IDEKZGNQIGNoIDEKY1B4IGNoIDEKd2NRIGNoIDEKcFFjIGNoIDEKcXlGIHF1IDEKemNYIGNoIDEKd3FrIHF1IDEKa21ZIGthIDEKcWxHIHF1IDEKeEV6IHN6IDEKcHFWIHF1IDEKT2hwIHRoIDEKeGRNIGRlIDEKZkxwIHByIDEKcUFlIHF1IDEKWHd2IHZhIDEKTHppIGluIDEKcU9rIHF1IDEKY1huIGFuIDEKS2RzIGRlIDEKZ3ZVIG5nIDEKZlBrIGthIDEKblpyIGFuIDEKSHhxIHF1IDEKZkNtIG1lIDEKcWZEIHF1IDEKV2Z2IHZhIDEKcWZiIHF1IDEKanFDIHF1IDEKZnVYIHF1IDEKcWZBIHF1IDEKUmx0IHRoIDEKeGpEIGlqIDEKd3RGIHRoIDEKWG16IHN6IDEKcFdwIHByIDEKUXh2IHZhIDEKelZmIHN6IDEKZ21aIG5nIDEKcWRVIHF1IDEKanFWIHF1IDEKZ1hjIGNoIDEKcW1LIHF1IDEKR2ZqIGlqIDEKY1FyIGNoIDEKWWhyIHRoIDEKdnZTIHZhIDEKdURiIHF1IDEKY2RCIGNoIDEKYnZFIHZhIDEKeHZTIHZhIDEKalJxIHF1IDEKcnZEIGVyIDEKWHl5IG55IDEKSmZpIGluIDEKYUJ3IGFuIDEKbldjIGFuIDEKeEJxIHF1IDEKa2dZIG5nIDEKYkdiIGJpIDEKZ2pFIG5nIDEKUmx3IGxlIDEKd3JUIGVyIDEKYlFyIGVyIDEKbGpZIGxlIDEKcXZVIHF1IDEKZkttIG1lIDEKcFR0IHRoIDEKelR3IHN6IDEKcW5WIGFuIDEKcld4IGVyIDEKbldkIGFuIDEKbktmIGFuIDEKa01mIGthIDEKZmtHIGthIDEKYndYIHdhIDEKY3dWIGNoIDEKdXdLIHF1IDEKckx2IGVyIDEKek1iIHN6IDEKenBaIHN6IDEKck1xIHF1IDEKVHRqIHRoIDEKZ3ZPIG5nIDEKSmN6IGNoIDEKQ3l4IG55IDEKbmpYIGFuIDEKYVZ4IGFuIDEKcVhuIGFuIDEKVXFzIHF1IDEKZFZ6IGRlIDEKUmNwIGNoIDEKZUtnIG5nIDEKWHpuIGluIDEKdnlGIHZhIDEKS2xjIGNoIDEKeGRJIGRlIDEKSHFiIHF1IDEKeEVlIGVyIDEKcXBJIHF1IDEKZ0R4IG5nIDEKSmhmIHRoIDEKcXVLIHVuIDEKdmdVIG5nIDEKcld2IGVyIDEKUG5tIGFuIDEKbkxtIGFuIDEKQmhqIHRoIDEKYlB0IHRoIDEKanBJIGlqIDEKdEx6IHRoIDEKdnBTIHZhIDEKRnhqIGlqIDEKcURzIHF1IDEKd3pNIHN6IDEKZ3dKIG5nIDEKekJ3IHN6IDEKcUd2IHF1IDEKckxoIHRoIDEKQmpsIGxlIDEKaGZIIHRoIDEKY2xXIGNoIDEKUmdrIG5nIDEKR3NnIG5nIDEKVXZ4IHZhIDEKUWd2IG5nIDEKZ2ZYIG5nIDEKclF2IGVyIDEKeHZHIHZhIDEKa2p4IGlqIDEKZEdmIGRlIDEKZmNBIGNoIDEKRWhxIHRoIDEKekJ6IHN6IDEKR3BrIGthIDEKdEJ2IHRoIDEKWGZnIG5nIDEKeUptIG1lIDEKc3FUIHF1IDEKcHJZIGVyIDEKRHFvIHF1IDEKSnpnIG5nIDEKcU1wIHF1IDEKeWZNIG55IDEKR3hmIGZvIDEKd3pQIHN6IDEKek5tIHN6IDEKd0tnIG5nIDEKUnJkIGVyIDEKSHZ3IHZhIDEKZ2ZEIG5nIDEKV216IHN6IDEKY0puIGFuIDEKblRmIGFuIDEKdXZXIHF1IDEKdVBmIHF1IDEKdndSIHZhIDEKYk1mIGJlIDEKd0l1IHF1IDEKa3hZIGthIDEKZ1prIG5nIDEKcUZkIHF1IDEKYk1sIGxlIDEKd0hsIGxlIDEKd1ZnIG5nIDEKd2xYIGxlIDEKZnNMIHN0IDEKcFJmIHByIDEKenNYIHN0IDEKcUJrIHF1IDEKWHpwIHN6IDEKamRSIGRlIDEKWmx6IGxlIDEKV2ZjIGNoIDEKUmp2IGlqIDEKdkZ6IHN6IDEKdGtWIHRoIDEKWGJ3IHdhIDEKeFFjIGNoIDEKS3h5IG55IDEKeEN2IHZhIDEKbnFWIGFuIDEKV3d4IHdhIDEKa2RXIGRlIDEKcGtJIGthIDEKb2hTIHRoIDEKWmRjIGNoIDEKbUNnIG5nIDEKc3hMIHN0IDEKUXJ4IGVyIDEKcVh3IHF1IDEKd3FRIHF1IDEKaWpLIGluIDEKc0Z6IHN0IDEKSGx3IGxlIDEKR3FuIGFuIDEKeFBrIGthIDEKd1pxIHF1IDEKanFtIHF1IDEKTHpwIHN6IDEKQmR6IGRlIDEKd1FsIGxlIDEKd3RKIHRoIDEKVXlpIGluIDEKV2N5IGNoIDEKd3FIIHF1IDEKQm5zIGFuIDEKY0R0IHRoIDEKeEp2IHZhIDEKV2Z6IHN6IDEKeGhQIHRoIDEKY1dwIGNoIDEKcnFaIHF1IDEKYmtCIGthIDEKV3RsIHRoIDEKZ3pmIG5nIDEKYk1yIGVyIDEKcHhOIHByIDEKdmhWIHRoIDEKa3FYIHF1IDEKS2RxIHF1IDEKdlFsIGxlIDEKeWtDIGthIDEKek1oIHRoIDEKRXF6IHF1IDEKbFhxIHF1IDEKem1aIHN6IDEKcXBCIHF1IDEKdkdqIGlqIDEKVGp4IHpqIDEKdHZLIHRoIDEKZ1ljIGNoIDEKbEZjIGNoIDEKaUp0IHRoIDEKUGt4IGthIDEKY0R2IGNoIDEKWXlkIGRlIDEKVmNxIGNoIDEKWGhxIHRoIDEKek5mIHN6IDEKdmNEIGNoIDEKYm5XIGFuIDEKdXZRIHF1IDEKWnpqIHN6IDEKZ1BqIG5nIDEKandEIGlqIDEKanBPIGlqIDEKYkR4IGJlIDEKdkVpIGluIDEKWmN0IHRoIDEKd3JYIGVyIDEKZGhTIHRoIDEKempKIHN6IDEKZERrIGRlIDEKc3JKIGVyIDEKYVdnIGFuIDEKbXZKIHZhIDEKWXRjIHRoIDEKamlRIGluIDEKdEZ6IHRoIDEKc0psIGxlIDEKdlpxIHF1IDEKeFVkIGRlIDEKb3FCIHF1IDEKeERoIHRoIDEKaGZFIHRoIDEKbVNiIG1lIDEKam1SIGlqIDEKckZwIGVyIDEKWGp5IGlqIDEKYlBwIHByIDEKaXFRIHRpIDEKbWZxIHF1IDEKdHhMIHRoIDEKakJkIGRlIDEKWHZxIHF1IDEKZHZZIGRlIDEKc2RNIGRlIDEKeGdZIG5nIDEKclloIHRoIDEKdmxBIGxlIDEKcEZiIHByIDEKeUZ6IHN6IDEKZ2NLIGNoIDEKeGZaIGZvIDEKakRjIGNoIDEKeU52IHZhIDEKdEt0IHRoIDEKd3RVIHRoIDEKYkhrIGthIDEKcUN3IHF1IDEKWmNhIGFuIDEKa0R3IGthIDEKWXdjIGNoIDEKcFhzIHN0IDEKeU1tIG1lIDEKR3dxIHF1IDEKbVl2IHZhIDEKd0N4IHdhIDEKalp4IGlqIDEKb1FkIG9uIDEKRnprIHN6IDEKbHdGIGxlIDEKWHprIHN6IDEKTmp4IGlqIDEKeW9JIG9uIDEKc0ptIHN0IDEKd0trIGthIDEKUXRoIGNoIDEKTGx6IGxlIDEKZ1ZmIGdpIDEKcFBxIHF1IDEKbEd5IGxlIDEKZ3pSIG5nIDEKclhnIG5nIDEKTnBmIHByIDEKd3ZSIHZhIDEKeVhzIHN0IDEKbU1sIGxpIDEKYll4IGJlIDEKZnpaIHN6IDEKdnJHIGVyIDEKS2RrIGRlIDEKeXF3IHF1IDEKTGtxIHF1IDEKaktzIHN0IDEKWnF4IHF1IDEKUGZtIG1lIDEKcmxXIGVyIDEKaFB2IHRoIDEKT2p4IGlqIDEKR3RxIHRoIDEKdnRKIHRoIDEKV2x5IGxlIDEKeUhkIGRlIDEKa1FiIGthIDEKTGRjIGRlIDEKc1V4IHN0IDEKY0pnIGNoIDEKZkxkIGRlIDEKTWpxIHF1IDEKQ2ptIGlqIDEKYXdYIGFuIDEKR3RsIHRoIDEKd3pOIHN6IDEKYnF4IHF1IDEKZkFxIHF1IDEKZXpYIGVyIDEKY0J4IGNoIDEKY3NYIGNoIDEKY1VmIGNoIDEKcXNKIHF1IDEKaHNaIHRoIDEKcXpnIG5nIDEKUWdrIG5nIDEKTnhnIG5nIDEKSHFhIGFuIDEKclhsIGVyIDEKbmxQIGFuIDEKYVZnIGFuIDEKeWhHIHRoIDEKa2ZBIGthIDEKVm1rIG1HIDEKakttIGlqIDEKaFBkIHRoIDEKYVBkIGFuIDEKYll5IGJlIDEKYm5aIGFuIDEKR3NqIHN0IDEKa3hRIGthIDEKdmtGIGthIDEKanpTIHN6IDEKZldtIG1lIDEKUWN1IGNoIDEKclpmIGVyIDEKamJaIGlqIDEKYVFqIGFuIDEKYnpPIHN6IDEKZlpxIHF1IDEKbHJOIGVyIDEKZmtMIGthIDEKRHF2IHF1IDEKemtDIHN6IDEKc0x3IHN0IDEKTnZyIGVyIDEKTmJ5IGJlIDEKZU1oIHRoIDEKd0ZjIGNoIDEKQ3h6IHN6IDEKaVpwIGluIDEKZHZaIGRlIDEKdkloIHRoIDEKcUNsIHF1IDEKUHpvIG9uIDEKdk5xIHF1IDEKenFLIHF1IDEKTG14IG1lIDEKeFZ0IHRoIDEKZ2xEIG5nIDEKR2JmIGJlIDEKSnZxIHF1IDEKekZ3IHN6IDEKdE1xIHRoIDEKdmtKIGthIDEKU3h1IHF1IDEKYWZVIGFuIDEKbUhiIG1lIDEKanhVIGlqIDEKY0psIGNoIDEKdXFFIHF1IDEKTnFxIHF1IDEKeEd0IHRoIDEKY3pHIGNoIDEKS2ZnIG5nIDEKeldoIHRoIDEKeVhtIG1lIDEKZm5EIGFuIDEKSnJkIGVyIDEKb3haIG9uIDEKaFhuIHRoIDEKZnFJIHF1IDEKd0FvIG9uIDEKaUdrIGluIDEKeEV3IHdhIDEKZlZxIHF1IDEKeXRVIHRoIDEKYmhHIHRoIDEKb1F6IG9uIDEKcGdPIG5nIDEKWXFtIHF1IDEKYkppIGluIDEKa2NWIGNoIDEKa25NIGFuIDEKQ3dyIGVyIDEKV2dkIG5nIDEKYnBUIHByIDEKSmRqIGRlIDEKTmJxIHF1IDEKdHdKIHRoIDEKUWVwIGVyIDEKS2RjIGNoIDEKa1FxIHF1IDEKclBxIHF1IDEKbFdwIGxlIDEKRmJxIHF1IDEKYlZrIGthIDEKemxJIGxlIDEKQnpwIHN6IDEKamZLIGlqIDEKWXZtIHZhIDEKRnRtIHRoIDEKYU1qIGFuIDEKenpWIHN6IDEKek9hIGFuIDEKbUhjIGNoIDEKeFduIGFuIDEKZkZoIHRoIDEKc0R2IHN0IDEKdm1EIHZhIDEKeGpMIGlqIDEKaUJxIHF1IDEKanFUIHF1IDEKaHNSIHRoIDEKUXhvIG9uIDEKanNHIHN0IDEKY1hiIGNoIDEKWWJqIGlqIDEKeGVKIGVyIDEKb1BxIHF1IDEKeVh0IHRoIDEKeHZMIHZhIDEKamNGIGNoIDEKa0ZiIGthIDEKalh2IGlqIDEKQW94IG9uIDEKemtRIHN6IDEKZlBkIGRlIDEKRnZ4IHZhIDEKZmJYIGJlIDEKb0NmIG9uIDEKWWpkIGRlIDEKUHBmIHByIDEKTmpzIHN0IDEKY1poIHRoIDEKdm5HIGFuIDEKY3dKIGNtIDEKcUpsIHF1IDEKZ05mIG5nIDEKVGZ2IHZhIDEKdndLIHZhIDEKWmNzIGNoIDEKZUJ2IGVyIDEKcUxmIHF1IDEKWXF0IHRoIDEKY3JEIGNoIDEKSWNqIGNoIDEKcUJsIHF1IDEKZ3pYIG5nIDEKdWpGIHF1IDEKdnhVIHZhIDEKa1p0IHRoIDEKTGRoIHRoIDEKYmZNIGJlIDEKbVFtIFFPIDEKemxRIGxlIDEKamJVIGlqIDEKS3Z6IHN6IDEKVXh3IHdhIDEKcGpTIGlqIDEKWHZ2IHZhIDEKa2pJIGlqIDEKY1lpIGNoIDEKbkpuIGFuIDEKUXh6IHN6IDEKYU53IGFuIDEKSmZwIHByIDEKYk56IHN6IDEKeGRRIGRlIDEKQnprIHN6IDEKcVp6IHF1IDEKWWNwIGNoIDEKcEdzIHN0IDEKa0NmIGthIDEKZ3dQIG5nIDEKd2JWIHdhIDEKRXF0IGVxIDEKWGhuIHRoIDEKb1VmIG9uIDEKZEtjIGNoIDEKc3hOIHN0IDEKT2Z6IHN6IDEKZ0NwIG5nIDEKYmhJIHRoIDEKaGdVIHRoIDEKa25VIGFuIDEKa2pUIGlqIDEKZnNaIHN0IDEKbEd2IGxlIDEKd01kIGRlIDEKdWtRIHF1IDEKR2hrIHRoIDEKa1J3IGthIDEKelJjIGNoIDEKZ3dLIG5nIDEKdkpwIHZhIDEKdFZjIHRoIDEKcHFUIHF1IDEKaVlsIGluIDEKeEx2IHZhIDEKWGRxIHF1IDEKemNPIGNoIDEKcGxNIGxlIDEKYkR6IHN6IDEKTm14IG1lIDEKZEt2IGRlIDEKaFBrIHRoIDEKVGp5IGlqIDEKd1lzIHN0IDEKbmZKIGFuIDEKdGZDIHRoIDEKekp0IHRoIDEKbEtwIGxlIDEKSXljIGNoIDEKeHVCIHF1IDEKZUt4IGVyIDEKc1pmIHN0IDEKenBRIHN6IDEKc2ZMIHN0IDEKbWpUIGlqIDEKelh3IHN6IDEKeUt0IHRoIDEKcndWIGVyIDEKcGpCIGlqIDEKcVliIHF1IDEKYll6IHN6IDEKcXFZIGVxIDEKdUlmIHF1IDEKalRjIGNoIDEKc3FDIHF1IDEKdUpjIGNoIDEKZEd4IGRlIDEKc3dGIHN0IDEKSGZuIGFuIDEKSHRiIHRoIDEKcGZXIGhXIDEKaXlHIGluIDEKelBjIGNoIDEKeXpWIHN6IDEKcFZ6IHN6IDEKc1BnIG5nIDEKZktqIGlqIDEKZUZiIGVyIDEKUWppIGpTIDEKbXRIIHRoIDEKd2daIG5nIDEKaEhkIHRoIDEKZlR0IHRoIDEKZ3haIG5nIDEKS3RnIHRoIDEKaFdkIHRoIDEKZldxIHF1IDEKd1N2IHZhIDEKRnpuIGFuIDEKZ2hIIHRoIDEKbnBXIGFuIDEKanZQIGlqIDEKdVlrIHF1IDEKVXhuIGFuIDEKU3FnIG5nIDEKemNKIGNoIDEKZE1yIGVyIDEKWmdjIGNoIDEKcUdwIHF1IDEKb1ZxIHF1IDEKb1VhIGFuIDEKb3FWIHF1IDEKakdzIHN0IDEKWWJxIHF1IDEKcVJmIHF1IDEKYnJaIGVyIDEKcVR2IHF1IDEKd1pmIHdhIDEKZ09qIG5nIDEKSmppIGluIDEKUHB4IHByIDEKcXdCIHF1IDEKcWNKIGNoIDEKZkZ6IHN6IDEKd3dZIHdhIDEKa1RjIGNoIDEKdUduIGFuIDEKZVFxIHF1IDEKcUdrIHF1IDEKZHBWIGRlIDEKdlRtIHZhIDEKT2pxIHF1IDEKZHBYIGRlIDEKYllmIGJlIDEKdGpWIHRoIDEKTHpuIExHIDEKWWptIGlqIDEKdVl3IHF1IDEKWmRnIG5nIDEKaFhzIHRoIDEKSXdwIHByIDEKaEp3IHRoIDEKVGZkIGRlIDEKY3hPIGNoIDEKUXF5IHF1IDEKbER2IGxlIDEKenNPIHN0IDEKbXJHIGVyIDEKY2pKIGNoIDEKZGdEIG5nIDEKY1V3IGNoIDEKemRCIGRlIDEKamxVIGxlIDEKYkJmIGJlIDEKcWJKIHF1IDEKcWxSIHF1IDEKY1djIGNoIDEKWGdiIG5nIDEKenJVIGVyIDEKYmdJIG5nIDEKd2pKIGlqIDEKbXZVIHZhIDEKckNwIEdDIDEKblZ4IGFuIDEKeGJHIGJlIDEKdGROIHRoIDEKeWpSIGlqIDEKd1FqIGlqIDEKeHpaIHN6IDEKcVVrIHF1IDEKeGpZIGlqIDEKSnh6IHN6IDEKeFpzIHN0IDEKdlp4IHZhIDEKbFJzIGxlIDEKdndwIHZhIDEKd3BqIGlqIDEKc3dTIHN0IDEKRXF4IHF1IDEKdkV3IHZhIDEKdGtRIHRoIDEKdmdYIG5nIDEKUndiIHdhIDEKc2pXIHN0IDEKZFhtIGRlIDEKZnZZIHZLIDEKbHJPIGVyIDEKTGR4IGRlIDEKY3hWIGNoIDEKcUZoIHRoIDEKcVZ3IHF1IDEKUHlmIG55IDEKS3h6IHN6IDEKaHdKIHRoIDEKY3BMIGNoIDEKSGdlIG5nIDEKV2JoIHRoIDEKbFFxIHF1IDEKaERsIHRoIDEKWnBoIHRoIDEKd1pqIGlqIDEKWnF0IHRoIDEKeG1VIG1lIDEKdFVmIHRoIDEKcVdvIHF1IDEKTHJkIGVyIDEKcFFzIHN0IDEKclp2IGVyIDEKbWpJIGlqIDEKeFF5IG55IDEKdkd5IHZhIDEKandZIGlqIDEKY05uIGFuIDEKenBQIHN6IDEKdktkIGRlIDEKd1ZrIGthIDEKdE1oIGNoIDEKS3RkIHRoIDEKdHBHIHRoIDEKaURmIGluIDEKcUtsIHF1IDEKakxjIGNoIDEKSmpsIGxlIDEKaGNRIHRoIDEKVHFnIHF1IDEKYkdrIGthIDEKanhWIGlqIDEKZmNDIGNoIDEKRnd4IHdhIDEKcVB5IHF1IDEKam1FIGlqIDEKeG1UIG1lIDEKbHhDIEdDIDEKbFJyIGVyIDEKUWtsIGxlIDEKaWhGIHRoIDEKTGx0IHRoIDEKS3FlIHF1IDEKSGhmIHRoIDEKblBxIGFuIDEKenZRIFFPIDEKakd5IGlqIDEKbE1rIGxlIDEKdU9qIHF1IDEKZmRUIGRlIDEKcXZIIHF1IDEKcGNaIGNoIDEKcWtjIGNoIDEKY2JKIGNoIDEKZ2ZLIG5nIDEKcE10IHRoIDEKdnBGIHZhIDEKZGdQIG5nIDEKbXhGIG1lIDEKclpwIGVyIDEKY0dkIGNoIDEKc1B4IHN0IDEKckdkIGVyIDEKZ2JRIG5nIDEKRGZ6IHN6IDEKc2pDIHN0IDEKelN4IHN6IDEKcUlvIHF1IDEKZEl3IGRlIDEKa3BGIGthIDEKZVV3IGVyIDEKSHhjIGNoIDEKeXZHIHZhIDEKdlVmIHZhIDEKZmpGIGlqIDEKa0xxIHF1IDEKWmp0IHRoIDEKZkxxIHF1IDEKeWRTIGRlIDEKendLIHN6IDEKaEh5IHRoIDEKU3N3IHN0IDEKaGpHIHRoIDEKRGRwIGRlIDEKYlBzIHN0IDEKV3BxIHF1IDEKY3JXIGNoIDEKWHBqIGlqIDEKb1hyIGVyIDEKdmpLIGlqIDEKVnpmIHN6IDEKbFlkIGxlIDEKT2R4IGRlIDEKaFZ0IHRoIDEKZ1JjIGNoIDEKWnRmIHRoIDEKaFZqIHRoIDEKSmpmIGlqIDEKakZiIGlqIDEKTGhmIHRoIDEKamxPIGxlIDEKanZCIGlqIDEKZ2JOIG5nIDEKdlBtIHZhIDEKdFFkIHRoIDEKVnZqIGlqIDEKcnFYIHF1IDEKekVvIG9uIDEKanNCIHN0IDEKcW1IIHF1IDEKYnRFIHRoIDEKV2RkIGRlIDEKRG1qIGlqIDEKeXdJIHdhIDEKanBRIGlqIDEKdVhzIHF1IDEKYlltIG1lIDEKb0Z6IG9uIDEKdEJnIHRoIDEKY0NuIGNoIDEKZFpnIG5nIDEKd3JMIGVyIDEKSnJ5IGVyIDEKaUtkIGluIDEKdmNOIGNoIDEKek5wIHN6IDEKblJmIGFuIDEKZGNIIGNoIDEKcWFPIGFuIDEKdWFRIGFuIDEKanhMIGlqIDEKbVVmIG1lIDEKdk9rIGthIDEKUHh0IHRoIDEKZnVRIHF1IDEKc2ZOIHN0IDEKUWx2IGxlIDEKYlp5IGJlIDEKdkVxIHZLIDEKWHZnIG5nIDEKSnhiIGJlIDEKekd6IHN6IDEKQ3FmIHF1IDEKc1BwIHN0IDEKdkFxIHF1IDEKa1dkIGRlIDEKcmNaIGNtIDEKbERzIGxlIDEKeERkIGRlIDEKcFNqIGlqIDEKdndTIHZhIDEKa2dRIG5nIDEKY3JUIGNoIDEKZktzIHN0IDEKcWhjIHRoIDEKZ01sIG5nIDEKekt0IHRoIDEKamRGIGRlIDEKY2ZOIGNoIDEKc2RPIHN0IDEKa0hoIHRoIDEKeHZFIHZhIDEKYlBmIGJlIDEKcnpYIGVyIDEKdlNqIGlqIDEKZEZmIGRlIDEKdlhsIGxlIDEKYlJ2IHZhIDEKWnh3IHdhIDEKWHp3IHN6IDEKdnJSIGVyIDEKeEhiIGJlIDEKcWVFIHF1IDEKanJRIGVyIDEKdmtJIGthIDEKZnJZIGVyIDEKanFMIHF1IDEKY1pqIGNoIDEKVG1nIG5nIDEKbUh3IG1lIDEKZHFTIHF1IDEKcWxJIHF1IDEKWnZiIHZhIDEKS2x4IGxlIDEKZ2JTIG5nIDEKc2JRIHN0IDEKcXVGIHVuIDEKcXpUIHF1IDEKcWFJIGFuIDEKVm1kIGRlIDEKcWFRIGFuIDEKUWtiIGthIDEKWGpiIGlqIDEKb0NxIEdDIDEKcVFoIFFPIDEKY3dPIGNoIDEKdE1mIHRoIDEKenJLIGVyIDEKd0t5IHdhIDEKd0tiIHdhIDEKY3FTIGNoIDEKaUd2IGluIDEKeFh3IHdhIDEKZk14IGZvIDEKWm12IHZhIDEKWXFxIHF1IDEKa0RoIHRoIDEKSnh5IG55IDEKeXlFIG55IDEKc1V2IHN0IDEKY1ZyIGNoIDEKYnFIIHF1IDEKV2dxIHF1IDEKdXFRIHF1IDEKYlRnIG5nIDEKaU12IGluIDEKcVdrIHF1IDEKZmRWIGRlIDEKb1FxIHF1IDEKblpwIGFuIDEKem9ZIG9uIDEKalJrIGlqIDEKcVBqIHF1IDEKdXFMIHF1IDEKY3FYIGNoIDEKbEJxIHF1IDEKZnBYIHByIDEKYll3IHdhIDEKWWVxIHF1IDEKaGpOIHRoIDEKdHFXIHRoIDEKamhUIHRoIDEKY3ZGIGNoIDEKWWN4IGNoIDEKakZzIHN0IDEKSGR5IGRlIDEKbHJaIGVyIDEKZlp2IHZhIDEKVGZ3IHdhIDEKenJJIGVyIDEKZER2IGRlIDEKeGVIIGVyIDEKbHpIIGxlIDEKc0xyIGVyIDEKaUtxIHF1IDEKRnpjIGNtIDEKeFJkIGRlIDEKZlNkIGRlIDEKcXdGIHF1IDEKd3hZIHdhIDEKWWt3IGthIDEKb1ZwIG9uIDEKY2dCIGNoIDEKYkZoIHRoIDEKbmpUIGFuIDEKZFp6IGRlIDEKYmhTIHRoIDEKRnp1IHF1IDEKZkhtIG1lIDEKdk56IHN6IDEKcWxGIHF1IDEKTHZmIHZhIDEKenBVIHN6IDEKanRMIHRoIDEKY1FxIGNoIDEKbUttIG1lIDEKUndjIGNoIDEKanJPIGVyIDEKbnBCIGFuIDEKUXR4IHRoIDEKTXFqIHF1IDEKT3F4IHF1IDEKRHpwIHN6IDEKaFZnIHRoIDEKcFRuIGFuIDEKZ1FqIG5nIDEKbVRuIGFuIDEKdFF2IHRoIDEKbFpoIHRoIDEKa0pqIGlqIDEKY3JQIGNoIDEKbXFDIHF1IDEKRHdsIGxlIDEKdlZqIGlqIDEKaHFUIHRoIDEKbUp3IG1lIDEKdHhUIHRoIDEKd1ptIG1lIDEKWG5xIGFuIDEKaGZVIHRoIDEKa1ZyIGVyIDEKZ1ZwIG5nIDEKbkJwIGFuIDEKeG5aIGFuIDEKanFBIHF1IDEKUHprIHN6IDEKZkpxIHF1IDEKR25mIGFuIDEKS3hwIHByIDEKZFhsIFhtIDEKaHdMIHRoIDEKUnJuIGFuIDEKa2xMIGxlIDEKZk9nIG5nIDEKUXd4IHdhIDEKQ214IG1lIDEKRmJmIGJlIDEKaFdxIHRoIDEKYlN3IHdhIDEKQnhyIGVyIDEKemNCIGNoIDEKbHZYIGxlIDEKS2t4IGthIDEKcWZJIHF1IDEKdUtnIHF1IDEKWWt1IHF1IDEKakp6IHN6IDEKdUlwIHF1IDEKcUFkIHF1IDEKcGZIIHByIDEKUXdmIHdhIDEKd2JVIHdhIDEKdkR2IHZhIDEKZ0puIGFuIDEKemxSIGxlIDEKbVhyIGVyIDEKckh4IGVyIDEKb1Z6IG9uIDEKZ3RHIHRoIDEKbHJLIEhLIDEKV3hlIGVyIDEKcG5KIGFuIDEKRnF5IHF1IDEKalZsIGxlIDEKY2JQIGNoIDEKR2pjIGpTIDEKalFzIHN0IDEKdHZWIHRoIDEKSHprIHN6IDEKanlXIGlqIDEKWGJmIGJlIDEKcWZTIHF1IDEKV3ZwIHZhIDEKd2JMIHdhIDEKbWtPIGthIDEKZXFCIHF1IDEKZHZTIGRlIDEKekdoIHRoIDEKdld1IHF1IDEKZmxYIGxlIDEKeEpxIHF1IDEKcUxrIHF1IDEKdk5sIGxlIDEKa3pRIHN6IDEKQ3p2IHN6IDEKa25WIGFuIDEKUmpiIGlqIDEKYk5xIHF1IDEKelBtIHN6IDEKcXhCIHF1IDEKTGhoIHRoIDEKVXZ0IHRoIDEKeGZVIGZvIDEKaU5wIGluIDEKeVlnIG5nIDEKb1BiIG9uIDEKcWlXIHF1IDEKeWNEIGNoIDEKd1Z6IHN6IDEKd0dxIHF1IDEKaFJiIHRoIDEKeGJCIGJlIDEKc1psIGxlIDEKZ3hPIG5nIDEKd0ZrIGthIDEKTXhkIGRlIDEKZHhQIGRlIDEKbFJxIHF1IDEKaGJaIHRoIDEKRWFvIGFuIDEKemdBIG5nIDEKcWNXIGNoIDEKdm1RIHZhIDEKWXFmIHF1IDEKd2lPIGluIDEKeE9lIGVyIDEKSGZ5IG55IDEKYmZTIGJlIDEKUWhuIHRoIDEKQ21rIGthIDEKbFlzIGxlIDEKTnF0IHRoIDEKcWVKIHF1IDEKenRKIHRoIDEKcE12IHZhIDEKdWhXIHRoIDEKalNiIGlqIDEKZFloIHRoIDEKY2ZXIGNoIDEKZ1N4IG5nIDEKcVN2IHF1IDEKakNzIHN0IDEKcHdDIHByIDEKR3hxIHF1IDEKZk1xIHF1IDEKa2tDIGthIDEKdXFJIHF1IDEKekJrIHN6IDEKenNXIHN0IDEKZlpiIGJlIDEKeGpiIGlqIDEKdkhxIHF1IDEKZndOIHdhIDEKdk13IHZhIDEKSGhxIHRoIDEKY3NKIGNoIDEKYnJKIGVyIDEKeHZNIHZhIDEKbVhuIGFuIDEKcVd3IHdhIDEKZHhaIGRlIDEKc1ZqIHN0IDEKeHJGIGVyIDEKcGJVIHByIDEKVGZ6IHN6IDEKd3FUIHF1IDEKdmNGIGNoIDEKbnJTIGFuIDEKV2h6IHRoIDEKa2dYIG5nIDEKeVhrIGthIDEKa0piIGthIDEKclprIGVyIDEKcEJjIGNoIDEKZ1V2IG5nIDEKSHFlIHF1IDEKS3FqIHF1IDEKb0ZqIG9uIDEKeGJOIGJlIDEKcG5LIGFuIDEKTGJ3IHdhIDEKZE1iIGRlIDEKcVNwIHF1IDEKWnN2IHN0IDEKd3JWIGVyIDEKdUtmIHF1IDEKbWxZIGxlIDEKZ3hGIG5nIDEKdGpMIHRoIDEKWHJjIGNoIDEKcnZGIGVyIDEKbUxxIHF1IDEKanJLIGVyIDEKUWx6IGxlIDEKenhEIHN6IDEKZmRZIGRlIDEKanZEIGlqIDEKeFFnIG5nIDEKcUZ1IHVuIDEKc2ZKIHN0IDEKcElmIHByIDEKaHhKIHRoIDEKY05jIGNoIDEKSWRxIHF1IDEKeUhmIG55IDEKcVhtIHF1IDEKeWxEIGxlIDEKekZxIHF1IDEKaldwIGlqIDEKZUtwIGVyIDEKeGhmIHRoIDEKeWJWIGJlIDEKeFhzIHN0IDEKWWhrIHRoIDEKZndYIHdhIDEKYnFLIHF1IDEKbnZZIGFuIDEKeHZrIGthIDEKcmJQIGVyIDEKc1hsIGxlIDEKVXd0IHRoIDEKd21XIG1lIDEKcHhWIHByIDEKbmpaIGFuIDEKVHFrIHF1IDEKem1FIHN6IDEKUnF1IHVuIDEKcXFNIHF1IDEKZGhRIHRoIDEKdUp6IHF1IDEKVnFkIHF1IDEKeUNrIGthIDEKcFd1IHF1IDEKVmR5IGRlIDEKaVJ4IGluIDEKVmNtIGNoIDEKd0lnIG5nIDEKWGJoIHRoIDEKdmNHIGNoIDEKampYIGlqIDEKbm1PIGFuIDEKZFFqIGRlIDEKZGZWIGRlIDEKZGJLIGRlIDEKZ3FrIHF1IDEKbkZkIGFuIDEKb1d2IG9uIDEKbkhwIGFuIDEKa25LIGFuIDEKYnhaIGJlIDEKd21IIG1lIDEKZmdYIG5nIDEKZ3pIIG5nIDEKWmJ2IHZhIDEKdmdNIG5nIDEKZG1LIGRlIDEKY3ZCIGNoIDEKZVFzIGVyIDEKY0htIGNoIDEKc0J0IHRoIDEKYkh4IGJlIDEKdnFkIHF1IDEKTnB5IHByIDEKeHpMIHN6IDEKZ014IG5nIDEKdndVIHZhIDEKcGZYIHByIDEKbkZnIGFuIDEKc0ZzIHN0IDEKVnFoIHRoIDEKRW1xIHF1IDEKdFh5IHRoIDEKdVZkIHF1IDEKWXZqIGlqIDEKcUhvIHF1IDEKcFdtIG1lIDEKeGNLIGNoIDEKcFV2IHZhIDEKcExuIGFuIDEKdVZuIGFuIDEKRnNxIHF1IDEKY0dqIGNoIDEKWHd5IHdhIDEKZ3pUIG5nIDEKZE5xIHF1IDEKanJVIGVyIDEKcXRBIHRoIDEKZ3FUIHF1IDEKcHdNIHByIDEKbHJQIGVyIDEKam1DIGlqIDEKcG1QIG1lIDEKeWlZIGluIDEKcFRzIHN0IDEKWndqIGlqIDEKcXBGIHF1IDEKZmhKIGNoIDEKZk92IHZhIDEKd2NLIGNoIDEKa3FrIHF1IDEKVWd6IG5nIDEKeGZGIGZvIDEKY1R2IGNoIDEKZ3BYIG5nIDEKTGZ4IGZvIDEKZ3dVIG5nIDEKRHp4IHN6IDEKa0RjIGNoIDEKUHZoIHRoIDEKa2RZIGRlIDEKd1d2IHZhIDEKc1FxIHF1IDEKbWpZIGlqIDEKeUNiIGJlIDEKclNxIHF1IDEKU2Z2IHZhIDEKZlpoIHRoIDEKZE1kIGRlIDEKZE5zIHN0IDEKalR2IGlqIDEKdG1XIHRoIDEKY3hKIGNoIDEKdUFvIHF1IDEKbUh4IG1lIDEKZmdBIG5nIDEKUmh4IHRoIDEKd1d0IHRoIDEKcGZVIHByIDEKb0lqIG9uIDEKbGhRIHRoIDEKdkRrIGthIDEKdkpkIGRlIDEKc0RwIHN0IDEKcWlVIHF1IDEKWWZzIHN0IDEKcXhXIHF1IDEKc0ZoIHRoIDEKdmhQIHRoIDEKVmpqIGlqIDEKdG1RIHRoIDEKd21NIG1lIDEKY1Z5IGNoIDEKS3p3IHN6IDEKdGZBIHRoIDEKZ2pSIGlqIDEKeHlRIG55IDEKbUJ2IHZhIDEKZlF5IG55IDEKZFpjIGNoIDEKZVZoIHRoIDEKTnZjIGNoIDEKcUZiIHF1IDEKcWhsIHRoIDEKWmNuIGNoIDEKcXdXIHF1IDEKeFpxIHF1IDEKamhMIHRoIDEKbFdmIGxlIDEKakp4IGlqIDEKWXp0IHRoIDEKRW9xIHF1IDEKTmptIGlqIDEKWmdkIG5nIDEKcEdxIHF1IDEKc2dZIG5nIDEKanlFIGlqIDEKanpFIHN6IDEKdWpLIHF1IDEKcWJtIHF1IDEKV3NmIHN0IDEKbVFuIGFuIDEKc1FzIHN0IDEKeVhnIG5nIDEKdlllIGVyIDEKZVB2IGVyIDEKYUN2IGFuIDEKcFZtIG1lIDEKenhPIHN6IDEKampXIGlqIDEKdmdJIG5nIDEKdFpjIHRoIDEKUXRnIHRoIDEKdk10IHRoIDEKa1R0IHRoIDEKTXhqIGlqIDEKZmJJIGJlIDEKcUF1IHVuIDEKd2ZUIHdhIDEKZmNGIGNoIDEKcGZLIHByIDEKYk9xIHF1IDEKaHVYIHRoIDEKY0ptIGNoIDEKWHBnIG5nIDEKdHFKIHRoIDEKT3ZmIHZhIDEKWGxqIGxlIDEKTnJsIGVyIDEKZnhXIGZvIDEKU3dxIHF1IDEKcXZFIHF1IDEKcXBZIHF1IDEKb053IG9uIDEKa1ljIGNoIDEKalhiIGlqIDEKUWZrIGthIDEKZURwIGVyIDEKVnFiIHF1IDEKc0t6IHVzIDEKcWpwIHF1IDEKVXhsIGxlIDEKTGt5IGthIDEKekZ5IHN6IDEKbk1sIGFuIDEKeVlpIGluIDEKY1FlIGNoIDEKb1lqIG9uIDEKdGJCIHRoIDEKWWJnIG5nIDEKblZrIG5kIDEKYlhjIGNoIDEKTHFuIGFuIDEKbWRLIGRlIDEKcGRQIGRlIDEKdHFTIHRoIDEKWmpmIGlqIDEKa2NDIGNoIDEKcVpxIHF1IDEKYVNkIGFuIDEKQ21oIHRoIDEKaHpHIHRoIDEKd1FtIG1lIDEKR3FnIHF1IDEKeVdwIHByIDEKWHJ3IGVyIDEKeUp5IG55IDEKc3FEIHF1IDEKZFdiIGRlIDEKbmJRIGFuIDEKaXdQIGluIDEKbFdzIGxlIDEKVHNnIG5nIDEKZEh6IGRlIDEKdGNGIHRoIDEKUWt0IHRoIDEKQmRkIGRlIDEKTXhxIHF1IDEKcGpWIGlqIDEKa1FyIGVyIDEKZG5JIGFuIDEKZnlZIG55IDEKYUZxIGFuIDEKWWx4IGxlIDEKWXltIG1lIDEKamJWIGlqIDEKcWNWIGNoIDEKcHpYIHN6IDEKcVJoIHRoIDEKZGpBIGRlIDEKYm5JIGFuIDEKTGx2IGxlIDEKdG1aIHRoIDEKaFFvIHRoIDEKenRXIHRoIDEKUnh6IHN6IDEKZHhXIGRlIDEKcXRXIHRoIDEKa3FPIHF1IDEKbEhjIGNoIDEKbFJqIGxlIDEKaE5mIHRoIDEKR2lxIHF1IDEKY1lxIGNoIDEKWWRwIGRlIDEKcVduIGFuIDEKeGtCIGthIDEKa3hDIGthIDEKbGpBIGxlIDEKUXdwIHByIDEKbUNwIG1lIDEKZkpkIGRlIDEKdkN0IHRoIDEKVmN6IGNoIDEKdkJmIHZhIDEKY1l4IGNoIDEKZkh3IHdhIDEKa3ZXIGthIDEKSm16IHN6IDEKaFFqIHRoIDEKcmJRIGVyIDEKdnhYIHZhIDEKd0ZoIHRoIDEKVGp6IHN6IDEKaHhSIHRoIDEKdmRZIGRlIDEKcG1GIG1lIDEKc0RsIGxlIDEKclZoIHRoIDEKd0RjIGNoIDEKZ0J3IG5nIDEKY0hmIGNoIDEKcHpRIHN6IDEKbFZwIGxlIDEKZ2ZIIG5nIDEKb0djIGNoIDEKdHZKIHRoIDEKY012IGNoIDEKeG5TIGFuIDEKdlF4IHZhIDEKdW9NIHF1IDEKemtYIHN6IDEKekhwIHN6IDEKeXVXIHF1IDEKUWJ2IHZhIDEKendHIHN6IDEKY3BYIGNoIDEKUnB2IHZhIDEKektxIHF1IDEKd1ViIHdhIDEKcW5KIGFuIDEKUnB5IHByIDEKYmNTIGNoIDEKcXhLIHF1IDEKcWpEIHF1IDEKbFFnIG5nIDEKa3JYIGVyIDEKRmNnIGNoIDEKb1Z4IG9uIDEKdkpmIHZhIDEKQnZrIGthIDEKZG1YIGRlIDEKV2RqIGRlIDEKWXpwIHN6IDEKWWNkIGNoIDEKakt4IGlqIDEKa3JIIGVyIDEKTG5tIGFuIDEKekNtIHN6IDEKVXdqIGlqIDEKVXZrIGthIDEKTWZqIGlqIDEKeXFKIHF1IDEKTGZxIHF1IDEKeUh6IHN6IDEKa2dKIG5nIDEKYUdxIGFuIDEKdGpIIHRoIDEKWmtjIGNoIDEKd0h2IHZhIDEKTnpwIHN6IDEKY1p4IGNoIDEKanZLIGlqIDEKY2xGIGNoIDEKeG1EIG1lIDEKWXB6IHN6IDEKcEZ5IHByIDEKaHZGIHRoIDEKbXRXIHRoIDEKaHFHIHRoIDEKa3ZOIGthIDEKdGNaIHRoIDEKdGtSIHRoIDEKcGRIIGRlIDEKcUVzIHF1IDEKWmN3IGNoIDEKVnd1IHVuIDEKZ1h6IG5nIDEKbVdqIGlqIDEKbVd2IHZhIDEKSnF4IHF1IDEKb1NqIG9uIDEKbHdZIGxlIDEKVGtmIGthIDEKcGNDIGNoIDEKb2hHIHRoIDEKZHpHIGRlIDEKZmROIGRlIDEKeHJTIGVyIDEKaEhrIHRoIDEKRmp6IHN6IDEKdmJaIHZhIDEKVWR4IGRlIDEKd3pYIHN6IDEKdU5xIHF1IDEKd2ZaIHdhIDEKc3dCIHN0IDEKZG1RIGRlIDEKZGNBIGNoIDEKcXpQIHF1IDEKakpqIGlqIDEKcVdxIHF1IDEKdFZrIHRoIDEKZ3dCIG5nIDEKYkl3IHdhIDEKYnBVIHByIDEKYndNIHdhIDEKZmtBIGthIDEKeFVjIGNoIDEKeFRkIGRlIDEKZktsIGxlIDEKbHhTIGxlIDEKeGFTIGFuIDEKeXZRIHZhIDEKZGhWIHRoIDEKbWRXIGRlIDEKd2ZKIHdhIDEKV3FxIHF1IDEKc1pqIHN0IDEKTHh5IG55IDEKeFh5IG55IDEKcURtIHF1IDEKZ0txIHF1IDEKUXZqIGlqIDEKa2ZIIGthIDEKYVFwIGFuIDEKeEZ6IHN6IDEKbmpXIGFuIDEKUnBuIGFuIDEKTW1uIGFuIDEKZmhEIHRoIDEKaktrIGlqIDEKekFxIHF1IDEKcWZMIHF1IDEKeXdOIHdhIDEKcXB6IHF1IDEKaHhQIHRoIDEKR2RxIHF1IDEKdE14IHRoIDEKandMIGlqIDEKa0JiIGthIDEKZkF3IHdhIDEKU2R4IGRlIDEKSm12IHZhIDEKYmdYIG5nIDEKeFdwIHByIDEKaEh0IHRoIDEKR3d3IHdhIDEKRmJiIGJlIDEKem9UIG9uIDEKeWpHIGlqIDEKUmxnIG5nIDEKdkZuIGFuIDEKemNLIGNoIDEKeGRDIGRlIDEKd3ZPIHZhIDEKb1FsIGxlIDEKbkl3IGFuIDEKd3pBIHN6IDEKUnpqIHN6IDEKUXpuIGFuIDEKWWp0IHRoIDEKeGtRIGt1IDEKbHJxIHF1IDEKbndaIGFuIDEKcEdrIGthIDEKbW5MIGFuIDEKUmxxIHF1IDEKY2NEIGNoIDEKclJkIGVyIDEKT2ZqIGlqIDEKRmpoIHRoIDEKdXVPIHF1IDEKelp4IHN6IDEKTmJqIGlqIDEKem5XIGFuIDEKamJIIGlqIDEKckR4IGVyIDEKUW1jIGNoIDEKZHdWIGRlIDEKT3F2IHF1IDEKWnFlIHF1IDEKZndJIHdhIDEKbmpQIGFuIDEKT3FxIHF1IDEKcFZ2IHZhIDEKZnF4IHF1IDEKZ2ZPIG5nIDEKaHFVIHRoIDEKZ0RqIG5nIDEKVG1qIGlqIDEKdmNLIGNoIDEKcW1WIHF1IDEKc1Z4IHN0IDEKV2ZoIHRoIDEKbUprIGthIDEKZnVLIHF1IDEKYmZOIGJlIDEKcWZUIHF1IDEKRm1qIGlqIDEKdGJOIHRoIDEKa2pOIGlqIDEKeWhaIHRoIDEKTnhrIGthIDEKd3hVIHdhIDEKelhiIHN6IDEKTnpkIGRlIDEKb2hMIHRoIDEKcFZ0IHRoIDEKWnN4IHN0IDEKWnFqIHF1IDEKd1VqIGlqIDEKeWpDIGlqIDEKa1RuIGFuIDEKdnFWIHF1IDEKRnljIGNoIDEKSWNkIGNoIDEKc3ZOIHN0IDEKSmp2IGlqIDEKYlZwIHByIDEKZmRJIGRlIDEKbmJYIGFuIDEKY2ZVIGNoIDEKbEdtIGxlIDEKT3ZnIG5nIDEKekRjIGNoIDEKamdxIHF1IDEKbFlyIGVyIDEKaGpSIHRoIDEKcVBtIHF1IDEKaVJxIHF1IDEKWnJ4IGVyIDEKd3BUIHByIDEKeHNCIHN0IDEKcXhUIHF1IDEKZ0Z4IG5nIDEKcW9KIHF1IDEKc21EIHN0IDEKbGJNIGxlIDEKd0NjIGNoIDEKd0ZtIG1lIDEKWGx2IGxlIDEKenlVIHN6IDEKdkZrIGthIDEKdGpSIHRoIDEKaVl4IGluIDEKdUprIHF1IDEKUWVoIHRoIDEKWHJ2IGVyIDEKQnFxIHF1IDEKVmRiIGRlIDEKem5SIGFuIDEKcG1MIG1lIDEKdHZIIHRoIDEKVG1kIGRlIDEKRGdiIG5nIDEKb3pPIG9uIDEKZlFiIGJlIDEKUHFiIHF1IDEKcVluIGFuIDEKeFBtIG1lIDEKZ1dmIG5nIDEKY0N2IGNoIDEKcWVQIHF1IDEKcVptIHF1IDEKZGdaIG5nIDEKbWpPIGlqIDEKZ0N3IG5nIDEKc3ZRIHN0IDEKUnFxIHF1IDEKUWJ0IHRoIDEKTGtqIGlqIDEKRnphIGFuIDEKamxCIGxlIDEKaVdqIGluIDEKWnhpIGluIDEKS3h3IHdhIDEKamNKIGlqIDEKdUNmIHF1IDEKY0F4IGNoIDEKVmp3IGlqIDEKdlVzIHN0IDEKTW5xIGFuIDEKampNIGlqIDEKdlV4IHZhIDEKdVpyIHF1IDEKdHdVIHRoIDEKWXR2IHRoIDEKaFJwIHRoIDEKa3pWIHN6IDEKbXZZIHZhIDEKakZqIGlqIDEKakJwIGlqIDEKa0d6IHN6IDEKcVVxIHF1IDEKcWdSIHF1IDEKbFdiIGxlIDEKd3dQIHdhIDEKd3ZFIHZhIDEKRnN4IHN0IDEKSXp4IHN6IDEKYndDIHdhIDEKRm1xIHF1IDEKY0xkIGNoIDEKYlJsIGxlIDEKaVhmIGluIDEKeU1xIHF1IDEKY3FQIGNoIDEKanNMIHN0IDEKaklxIHF1IDEKd3VHIHF1IDEKTGJ2IHZhIDEKRXFmIHF1IDEKT2dmIG5nIDEKa0d2IGthIDEKcGpLIGlqIDEKdmNRIGNoIDEKWHpoIHRoIDEKalV2IGlqIDEKd0dkIGRlIDEKaG1YIHRoIDEKeXFtIHF1IDEKcWtFIHF1IDEKemdYIG5nIDEKdndPIHZhIDEKd21TIG1lIDEKdmhUIHRoIDEKc3lYIHN0IDEKbmJDIGFuIDEKemdXIG5nIDEKdnFNIHF1IDEKZFdmIGRlIDEKY3dGIGNoIDEKZG5GIGFuIDEKcURpIHF1IDEKcVN3IHF1IDEKalFmIGlqIDEKY3JaIGNoIDEKcUdsIHF1IDEKV3h1IHF1IDEKZ3JXIG5nIDEKZ2xYIG5nIDEKdkZkIGRlIDEKcGJGIHByIDEKYk5mIGJlIDEKUWNmIGNoIDEKZlZ4IGZvIDEKcFBmIHByIDEKcFZxIHF1IDEKeGxHIGxlIDEKRHdqIGlqIDEKeFFqIGlqIDEKbGtRIGxlIDEKc3FIIHF1IDEKWXl4IG55IDEKdkZtIHZhIDEKdFFvIHRoIDEKemxVIGxlIDEKdmxXIGxlIDEKZ2xXIG5nIDEKcW1XIHF1IDEKYVdsIGFuIDEKem1WIHN6IDEKZ0xtIG5nIDEKZ2xCIG5nIDEKdHFBIHRoIDEKaGdKIHRoIDEKY0diIGNoIDEKcXdFIHF1IDEKRmZ5IG55IDEKd21MIG1lIDEKeExoIHRoIDEKc2JFIHN0IDEKYlFsIGxlIDEKeGtSIGthIDEKeUZkIGRlIDEKT21xIHF1IDEKWGZqIGlqIDEKd0pqIGlqIDEKTHdzIHN0IDEKd2ZVIHdhIDEKemZrIHN6IDEKbE52IGxlIDEKeWtRIGthIDEKeER0IHRoIDEKakR3IGlqIDEKemJ4IHN6IDEKdlFzIHN0IDEKdnZNIHZhIDEKWHFxIHF1IDEKakxxIHF1IDEKemtaIHN6IDEKcUFnIHF1IDEKWGp3IGlqIDEKY0Z3IGNoIDEKcndRIGVyIDEKbVdrIGthIDEKWXJ4IGVyIDEKZVVvIGVyIDEKdURtIHF1IDEKTWh3IHRoIDEKZkdwIHByIDEKUnB6IHN6IDEKc2JGIHN0IDEKbmZYIGFuIDEKV2Z1IHF1IDEKTXdxIHF1IDEKcURqIHF1IDEKV3B3IHByIDEKekZ2IHN6IDEKcVhjIGNoIDEKcXNUIHF1IDEKcFpoIHRoIDEKbExjIGNoIDEKcHFCIHF1IDEKWGpvIG9uIDEKa0RrIGthIDEKSnhmIGZvIDEKVnF6IHF1IDEKSHZxIHF1IDEKWnF3IHF1IDEKa1JjIGNoIDEKdHZSIHRoIDEKZE54IGRlIDEKaldxIHF1IDEKblJ3IGFuIDEKckdiIGVyIDEKdlp6IHN6IDEKWHR6IHRoIDEKa1puIGFuIDEKVm1qIGlqIDEKZE1wIGRlIDEKY1B5IGNoIDEKdXpSIHF1IDEKeWpFIGlqIDEKZ3pGIG5nIDEKdENwIHRoIDEKcWZDIHF1IDEKdmNxIGNoIDEKWmZnIG5nIDEKa3dDIGthIDEKZmtNIGtvIDEKdkpoIHRoIDEKZUNxIHF1IDEKd1BwIHByIDEKcUp5IHF1IDEKZG1ZIGRlIDEKdU1qIHF1IDEKZktoIHRoIDEKc3FVIHF1IDEKdk5wIHZhIDEKQ3JqIGVyIDEKaHNIIHRoIDEKVnduIGFuIDEKU2R5IGRlIDEKRnB3IHByIDEKV2NxIGNoIDEKcGpXIGlqIDEKZHdXIGRlIDEKZ2pYIG5nIDEKeVprIGthIDEKY0tnIGNoIDEKeGRSIGRlIDEKd3FXIHF1IDEKa2hEIHRoIDEKdmdHIG5nIDEKdk1sIGxlIDEKcW5RIGFuIDEKaEp0IHRoIDEKZnZDIHZhIDEKY3BSIGNoIDEKV3R0IHRoIDEKdXlYIHF1IDEKY1hmIGNoIDEKdUt2IHF1IDEKZ1Z2IG5nIDEKeHpnIG5nIDEKY1BxIGNoIDEKZlRuIGFuIDEKc0ZqIHN0IDEKbXpYIHN6IDEKZ01xIHF1IDEKcnhJIGVyIDEKZVlmIGVyIDEKa3dCIGthIDEKZVFrIGVyIDEKakJxIHF1IDEKbGJIIGxlIDEKcUN0IHRoIDEKV252IGFuIDEKZ1lkIG5nIDEKWnhlIGVyIDEKZlpqIGlqIDEKSGdqIG5nIDEKYlJqIGlqIDEKZnBSIHByIDEKY2JSIGNoIDEKbHFUIHF1IDEKY010IHRoIDEKdFF5IHRvIDEKdnhHIHZhIDEKZ3BCIG5nIDEKR2t3IGthIDEKenFYIHF1IDEKdFB3IHRoIDEKZm5OIGFuIDEKR2twIGthIDEKbXZRIHZhIDEKaEhmIHRoIDEKd2ZTIHdhIDEKcUN4IHF1IDEKbXFIIHF1IDEKaGdSIHRoIDEKTXdnIG5nIDEKYnFRIHF1IDEKRmt6IHN6IDEKb0Z2IG9uIDEKRGRxIHF1IDEKdUlvIHF1IDEKWWZoIHRoIDEKeWdRIG5nIDEKZnhoIHRoIDEKWnFkIHF1IDEKSHRuIHRoIDEKR3Z6IHN6IDEKelJ3IHN6IDEKdkNiIHZhIDEKcmpUIHJvIDEKcmpEIGVyIDEKUXBtIG1lIDEKWGRiIGRlIDEKTGtmIGthIDEKQWp4IGlqIDEKWWx6IGxlIDEKUXRiIHRoIDEKYkh6IHN6IDEKYkRnIG5nIDEKTHF4IHF1IDEKeWhXIHRoIDEKekx2IHN6IDEKeGdLIG5nIDEKZVdxIHF1IDEKc2pTIHN0IDEKcVZlIHF1IDEKT2txIHF1IDEKRXdqIGlqIDEKRHN2IHN0IDEKamhJIHRoIDEKeEdmIGZvIDEKT2t4IGthIDEKRnF4IHF1IDEKZFB2IGRlIDEKenNLIHN0IDEKcUxuIGFuIDEKZmtCIGthIDEKY0NiIGNoIDEKZ05wIG5nIDEKUXdkIGRlIDEKelRmIHN6IDEKUHFxIHF1IDEKckZ2IHJvIDEKUnd0IHRoIDEKdUtjIGNoIDEKaHFOIHRoIDEKa21LIGthIDEKd3VDIHF1IDEKcG5aIGFuIDEKdGdNIHRoIDEKUWRzIHN0IDEKQXhxIHF1IDEKeHdPIHdhIDEKZVFnIG5nIDEKbUZqIGlqIDEKRHBtIG1lIDEKcFFtIG1lIDEKYUZwIGFuIDEKbWZCIG1lIDEKZnBBIHByIDEKamdaIG5nIDEKbEdrIGxlIDEKeGNBIGNoIDEKZ1d3IG5nIDEKbHpGIGxlIDEKeHNRIHN0IDEKYlF4IGJlIDEKd2pjIGNoIDEKYkRjIGNoIDEKV3B6IHN6IDEKcmZWIGVyIDEKWmJzIHN0IDEKaEtxIHRoIDEKcVhhIGFyIDEKd2pBIGlqIDEKdnpTIHN6IDEKY1d5IGNoIDEKZ2pLIG5nIDEKeVJiIGJlIDEKcWdVIHF1IDEKcHFGIHF1IDEKcW5VIGFuIDEKWnFjIGNoIDEKWHFnIHF1IDEKekxxIHF1IDEKZ3pWIG5nIDEKS3FzIHF1IDEKemdaIG5nIDEKanFHIHF1IDEKcHFKIHF1IDEKSWVxIHF1IDEKaGpIIHRoIDEKdm1OIHZhIDEKaXVGIHF1IDEKd0d5IHdhIDEKS2RoIHRoIDEKaFFiIHRoIDEKaldyIGVyIDEKQ3h5IG55IDEKS3F6IHF1IDEKd1hyIGVyIDEKeG9RIG9uIDEKd0JoIHRoIDEKcXlJIHF1IDEKcWhDIHRoIDEKVnB5IHByIDEKbkpiIGFuIDEKdUd3IHF1IDEKaGhYIHRoIDEKbWpTIGlqIDEKU2N2IGNoIDEKaEZ3IHRoIDEKYktnIG5nIDEKWG1uIGFuIDEKYmRUIGRlIDEKc0pxIHF1IDEKeFRtIG1lIDEKcWp6IHF1IDEKTXFwIHF1IDEKZEhwIGRlIDEKclJuIGFyIDEKWGxmIGxlIDEKY05zIGNoIDEKWHFsIHF1IDEKaUZ6IGluIDEKTmxrIGxlIDEKc1B3IHN0IDEKdldxIHF1IDEKd1h0IHRoIDEKRm5xIGFuIDEKb3pKIG9uIDEKeklnIG5nIDEKbFNmIGxlIDEKd1JjIGNoIDEKQnZwIHZhIDEKV3dyIGVyIDEKcFdnIHByIDEKcExrIGthIDEKa3JKIGVyIDEKWmZ2IHZhIDEKeUl4IG55IDEKb0t4IG9uIDEKcUxiIHF1IDEKZEhqIGRlIDEKb3FLIHF1IDEKY3hDIGNoIDEKd0poIHRoIDEKd1pkIGRlIDEKY1d6IGNoIDEKeXFTIHF1IDEKa1hxIHF1IDEKZllkIGRlIDEKZEd5IGRlIDEKZER0IHRoIDEKcEtnIG5nIDEKWGpkIGRlIDEKc2pNIHN0IDEKc2ZDIHN0IDEKZE1oIHRoIDEKZFpwIGRlIDEKd2NEIGNoIDEKUW9qIG9uIDEKZ3hDIG5nIDEKWmZuIGFuIDEKaFl2IHRoIDEKeFdxIHF1IDEKZ1p3IG5nIDEKcFFpIGluIDEKWGxiIGxlIDEKZ1F6IG5nIDEKbmJaIGFuIDEKRXp4IHN6IDEKd05nIG5nIDEKWHJqIGVyIDEKY3hYIGNoIDEKZFFwIGRlIDEKWXBuIGFuIDEKcE5wIHByIDEKcGJRIHByIDEKZ012IG5nIDEKcWVGIHF1IDEKdVZ2IHF1IDEKZFZrIGRlIDEKdU12IHF1IDEKalFuIGFuIDEKbWhQIHRoIDEKaVRiIGluIDEKUHZ3IHZhIDEKekN3IHN6IDEKd2NSIGNoIDEKc3ZVIHN0IDEKbk16IGFuIDEKY2pFIGNoIDEKam1IIGlqIDEKUXpjIGNoIDEKbXFjIGNoIDEKcWxVIHF1IDEKWnZwIHZhIDEKeEhsIGxlIDEKZ3FCIHF1IDEKeHNOIHN0IDEKa0NqIGlqIDEKT2x4IGxlIDEKR3h3IHdhIDEKeHdWIHdhIDEKZlBiIGJlIDEKUmh2IHRoIDEKcGdWIG5nIDEKUWRwIGRlIDEKekZzIHN0IDEKa2xRIGxlIDEKeUpkIGRlIDEKcnhFIGVyIDEKdUh2IHF1IDEKd0tsIGxlIDEKd3BKIHByIDEKQ2pyIGVyIDEKdFlnIHRoIDEKVnB6IHN6IDEKWnhoIHRoIDEKcFFsIGxlIDEKRnhlIGVyIDEKUW9rIG9uIDEKcGxLIGxlIDEKbHBYIGxlIDEKamRQIGRlIDEKWnF5IHF1IDEKeVJ6IHN6IDEKbkRnIGFuIDEKa3FMIHF1IDEKdWdXIHF1IDEKTWJmIGJlIDEKS3FsIHF1IDEKTnF3IHF1IDEKSnp3IHN6IDEKc0duIGFuIDEKd0R2IHZhIDEKSmprIGlqIDEKenRRIHRoIDEKaHdQIHRoIDEKd0RwIHByIDEKZ2ZHIG5nIDEKcWhMIHRoIDEKY1V2IGNoIDEKV2JrIGthIDEKZmtGIGtvIDEKUHF2IHF1IDEKbmJLIGFuIDEKcVN6IHF1IDEKdndJIHZhIDEKY0ZjIGNoIDEKcWZHIHF1IDEKcmhGIHRoIDEKeHpsIGxlIDEKZE5jIGNoIDEKendSIHN6IDEKd3pLIHN6IDEKYlFhIGFuIDEKaExxIHRoIDEKZlV2IHZhIDEKckhnIG5nIDEKdUpqIHF1IDEKRmh6IHRoIDEKTnptIHN6IDEKZ1J6IG5nIDEKcVhmIHF1IDEKVHptIHN6IDEKWmt4IGthIDEKaEx4IHRoIDEKVWtkIGRlIDEKZk1mIGZvIDEKdkdwIHZhIDEKanRJIHRoIDEKaHhFIHRoIDEKanJIIGVyIDEKRmdoIHRoIDEKZGxGIGxlIDEKamNPIGphIDEKc0N3IHN0IDEKQnFoIHRoIDEKa1p5IGthIDEKZk9oIHRoIDEKckpiIGVyIDEKcmpWIGVyIDEKS3dxIHF1IDEKSGN3IGNoIDEKbUN3IG1hIDEKaHhNIHRoIDEKalRiIGlqIDEKbW1RIG1lIDEKcGpSIGlqIDEKY2RQIGNoIDEKWmpzIHN0IDEKanFGIHF1IDEKdk1uIGFuIDEKTXFzIHF1IDEKc3ZYIHN0IDEKaVhuIGFuIDEKbndSIGFuIDEKeXRSIHRoIDEKVmpiIGlqIDEKQ2psIGxlIDEKcFhkIGRlIDEKR3d1IHF1IDEKcUlqIHF1IDEKa1FuIGFuIDEKZlltIG1lIDEKdnRaIHRoIDEKVXN4IHN0IDEKbmZQIGFuIDEKZFF4IGRlIDEKb1hmIG9uIDEKZkV3IHdhIDEKc2dYIG5nIDEKY1BwIGNoIDEKeWJXIGJlIDEKa2NXIGNoIDEKa0hmIGthIDEKdmNVIGNoIDEKdFhvIHRoIDEKS3poIHRoIDEKQ2ZxIHF1IDEKVWp5IGlqIDEKRnhhIGFuIDEKaHhTIHRoIDEKdFd4IHRoIDEKbWxLIGxlIDEKblpqIGFuIDEKcU92IHF1IDEKWGt0IHRoIDEKRnpmIHN6IDEKdVRkIHF1IDEKcXJTIHF1IDEKUHR3IHRoIDEKZERzIHN0IDEKck5tIGVyIDEKRXdmIHdhIDEKaEprIHRoIDEKSGRxIHF1IDEKSnR3IHRoIDEKa3FjIGNoIDEKbkhxIGFuIDEKcmhIIHRoIDEKb3FIIHF1IDEKdnBaIHZhIDEKRGdkIG5nIDEKcXhWIHF1IDEKQ3h2IHZhIDEKcGxWIHByIDEKa0lpIGluIDEKS2hjIHRoIDEKanNZIHN0IDEKZkxoIHRoIDEKWWtxIHF1IDEKUW14IG1lIDEKenZJIHN6IDEKeWhTIHRoIDEKcWZnIHF1IDEKd3haIHdhIDEKalZ5IGlqIDEKa1F3IGthIDEKelh2IHN6IDEKTGhzIHRoIDEKTWtxIHF1IDEKamtVIGlqIDEKWWhxIHRoIDEKenJIIGVyIDEKdmhHIHZhIDEKZHJEIGVyIDEKUHNqIHN0IDEKZ0RmIG5nIDEKWGpqIGlqIDEKcExtIG1lIDEKa2xDIGxlIDEKaFR4IHRoIDEKenJKIGVyIDEKWGdrIG5nIDEKV3hmIGZvIDEKZmREIGRlIDEKakhwIGlqIDEKeUR3IHdhIDEKa1B2IGthIDEKUmttIGthIDEKbXpnIG5nIDEKbEh6IGxlIDEKdnBSIHZhIDEKd1p0IHRoIDEKcEJkIGRlIDEKcVBmIHF1IDEKaE53IHRoIDEKTnZqIGlqIDEKcHlVIHByIDEKU2poIHRoIDEKS3p4IHN6IDEKb1FwIG9uIDEKeGRMIGRlIDEKZG5aIGFuIDEKcWZCIHF1IDEKa0pjIGNoIDEKZlduIGFuIDEKWG1jIGNoIDEKckd4IGVyIDEKc0ZmIHN0IDEKVnd2IHZhIDEKdEtkIHRoIDEKc1F4IHN0IDEKb05tIG9uIDEKdVhqIHF1IDEKWHNxIHF1IDEKeVdjIGNoIDEKaGZDIHRoIDEKSWpkIGRlIDEKZGtXIGRlIDEKTnhuIGFuIDEKanVDIHF1IDEKYlB5IGJlIDEKbEtzIGxlIDEKYUxxIGFuIDEKalBwIGlqIDEKd3BaIHByIDEKZmpFIGlqIDEKek50IHRoIDEKbWhOIHRoIDEKYlFuIGFuIDEKYnhCIGJlIDEKZmRYIGRlIDEKSmN2IHZhIDEKRmRwIGRlIDEKd1Z4IHdhIDEKdG1VIHRoIDEKbmpKIGFuIDEKcXpLIHF1IDEKanREIHRoIDEKYmNYIGNoIDEKR2h4IHRoIDEKeFpqIGlqIDEKdkt3IHZhIDEKcHZPIHZhIDEKZ1hzIG5nIDEKd1J2IHZhIDEKaGdOIHRoIDEKZ3BPIG5nIDEKaFdjIHRoIDEKVXBxIHF1IDEKdndEIHZhIDEKbXhFIG1lIDEKWnZtIHZhIDEKb3pNIG9uIDEKZmJKIGJlIDEKdHBRIHRoIDEKeWVWIGVyIDEKWm5iIGFuIDEKd1h2IHZhIDEKYmNZIGNoIDEKc2daIG5nIDEKcWZNIHF1IDEKZmNMIGNoIDEKbVhsIGxlIDEKdUJxIHF1IDEKanhXIGlqIDEKbXRVIHRoIDEKcWdKIHF1IDEKZEFxIHF1IDEKakJ2IGlqIDEKR3R5IHRoIDEKSmZtIG1lIDEKeHFRIHF1IDEKY0JwIGNoIDEKWHFkIHF1IDEKZnZNIHZhIDEKdVdtIHF1IDEKclNiIGVyIDEKWHFqIHF1IDEKcVRkIHF1IDEKbExnIG5nIDEKSnJwIGVyIDEKb0piIG9uIDEKcFh5IHByIDEKenJRIGVyIDEKY25UIGNoIDEKcXNFIHF1IDEKcFpjIGNoIDEKYlZ5IGJlIDEKcUl6IHF1IDEKZGdSIG5nIDEKbUx2IHZhIDEKaFZsIHRoIDEKcVJqIHF1IDEKZmhBIHRoIDEKekxjIGNoIDEKU2dxIHF1IDEKcExjIGNoIDEKVHhxIHF1IDEKeXBZIHByIDEKdFh6IHRoIDEKZGNDIGNoIDEKaVlmIGluIDEKV3dtIG1lIDEKa1prIGthIDEKWXdyIGVyIDEKZ0Z2IG5nIDEKRm16IHN6IDEKdVFxIHF1IDEKeHdSIHdhIDEKWWZjIGNoIDEKYUlvIGFuIDEKc0JxIHF1IDEKR3piIHN6IDEKandJIGlqIDEKY0ZmIGNoIDEKYVd2IGFuIDEKRWF3IGFuIDEKdmtXIGthIDEKTmZoIHRoIDEKZmxOIGxlIDEKTHBtIG1lIDEKeWxLIGxlIDEKWm5yIGFuIDEKbWNRIGNoIDEKa2ZFIGthIDEKSXlmIG55IDEKcXJWIHF1IDEKZlB4IGZvIDEKZmdKIG5nIDEKaklpIGluIDEKYlB3IHdhIDEKUXl4IG55IDEKUW5iIGFuIDEKV2RtIGRlIDEKbkp0IHRoIDEKcUNkIHF1IDEKZ1psIG5nIDEKTmx6IGxlIDEKWndoIHRoIDEKaVdsIGluIDEKYlV1IHF1IDEKbGJKIGxlIDEKc05xIHF1IDEKcWpVIHF1IDEKd2JUIHdhIDEKeU5jIGNoIDEKbXhNIG1lIDEKcEhrIGthIDEKUmRxIHF1IDEKZ2tFIG5nIDEKaGJOIHRoIDEKVGdxIHF1IDEKZ2pWIG5nIDEKR2p3IGlqIDEKZ3FYIHF1IDEKcVh4IHF1IDEKdlFxIHF1IDEKcE5iIHByIDEKZkp5IG55IDEKeXZaIHZhIDEKek5sIGxlIDEKekRiIHN6IDEKbFV6IGxlIDEKRHh5IG55IDEKV3duIGFuIDEKaFBuIHRoIDEKa05iIGtvIDEKV2RiIGRlIDEKelh0IHRoIDEKcGpMIGlqIDEKdEpnIHRoIDEKam1NIGlqIDEKYlhnIG5nIDEKaFR2IHRoIDEKWXNmIHN0IDEKaG1RIHRoIDEKVnlxIHF1IDEKRnBkIGRlIDEKeVF3IHdhIDEKUGJuIGFuIDEKeFZqIGlqIDEKd2hQIHRoIDEKZlNnIG5nIDEKR3h6IHplIDEKRGZ3IHdhIDEKck14IGVyIDEKek1mIHN6IDEKdkp3IHZhIDEKeEpsIGxlIDEKeGZOIGZvIDEKZFF3IGRlIDEKZnVEIHF1IDEKeGpCIGlqIDEKbFBqIGxlIDEKbXFBIHF1IDEKbWZNIG1lIDEKa3dHIGthIDEKZWFZIGFuIDEKVm1tIG1lIDEKemZTIHN6IDEKRm15IG1lIDEKc3FQIHF1IDEKZktrIGthIDEKUWR2IGRlIDEKZGpaIGRlIDEKcXJSIHF1IDEKdHhLIHRoIDEKYnhIIGJlIDEKalJiIGlqIDEKY2pEIGNoIDEKU3h3IHdhIDEKU3hoIHRoIDEKdnJaIGVyIDEKeG1IIG1lIDEKZGZIIGRlIDEKZkp3IHdhIDEKbXdaIG1lIDEKdlJtIHZhIDEKeHdqIGlqIDEKWHFyIGVyIDEKR3ZqIGlqIDEKaHpGIHRoIDEKeG5LIGFuIDEKeGhVIHRoIDEKTmxzIGxlIDEKemJWIHN6IDEKZlRxIHF1IDEKV3h2IHZhIDEKdXBHIHF1IDEKcUFvIHF1IDEKa0t4IGthIDEKemxEIGxlIDEKaFRsIHRoIDEKR3FyIHF1IDEKR3htIG1lIDEKelBqIHN6IDEKYnZaIHZhIDEKakhjIGNoIDEKaVhnIG5nIDEKS2d6IG5nIDEKSnlpIGluIDEKdkZoIHRoIDEKeXRXIHRoIDEKcUJkIHF1IDEKWGpxIHF1IDEKZGdPIG5nIDEKbWpOIGlqIDEKRGpnIG5nIDEKeklqIHN6IDEKdUR4IHF1IDEKcUpmIHF1IDEKZkF4IGZvIDEKRnNqIHN0IDEKeURmIG55IDEKeGpWIGlqIDEKaGRCIHRoIDEKZHdHIGRlIDEKc2xXIGxlIDEKelliIHN6IDEKdnpPIHN6IDEKdnFPIHF1IDEKSnp2IHN6IDEKeG1HIG1lIDEKS2R3IGRlIDEKeFZxIHF1IDEKanRFIHRoIDEKa0p5IGthIDEKeGpXIGlqIDEKbXdSIG1lIDEKelZ4IHN6IDEKdE1qIHRoIDEKcXFiIHF1IDEKbmxRIGxlIDEKYnhRIGJlIDEKaEp2IHRoIDEKam5ZIGFuIDEKeWZTIG55IDEKTWR3IGRlIDEKelpjIGNoIDEKeXNKIHN0IDEKUXF2IHF1IDEKenhsIGxlIDEKakFxIHF1IDEKbEp3IGxlIDEKa3dKIGthIDEKc3hDIHN0IDEKaEpyIHRoIDEKeEdwIHByIDEKY2NGIGNoIDEKdkdxIHF1IDEKcVNjIGNoIDEKZnFxIHF1IDEKa2tWIGthIDEKZ1ZxIHF1IDEKV3FnIHF1IDEKa0pwIGthIDEKV2xyIGVyIDEKSnd6IHN6IDEKcUVhIGFuIDEKa3JMIGVyIDEKdHFFIHRoIDEKZUp6IGVyIDEKV2h4IHRoIDEKdld3IHZhIDEKUXpoIHRoIDEKcGNGIGNoIDEKVm14IG1lIDEKZHZDIGRlIDEKcWpaIHF1IDEKcGtGIGthIDEKY3ZPIGNoIDEKUXl2IHZhIDEKaE5zIHRoIDEKc25KIGFuIDEKeWpVIGlqIDEKWWZxIHF1IDEKeEx3IHdhIDEKclZ6IGVyIDEKZ093IG5nIDEKZnhMIGZvIDEKc25XIGFuIDEKeVdrIGthIDEKd2dLIG5nIDEKYVRmIGFuIDEKZVZmIGVyIDEKdlpwIHZhIDEKdVZwIHF1IDEKVmpoIHRoIDEKendUIHN6IDEKd1NuIGFuIDEKbk5wIGFuIDEKZ2ZGIG5nIDEKaGNXIHRoIDEKZ1RmIG5nIDEKcWFKIGFuIDEKa3pZIHN6IDEKbGpYIGxlIDEKd01tIG1lIDEKYnRCIHN0IDEKemZFIHN6IDEKYnhPIGJlIDEKd1BjIGNoIDEKZmdLIG5nIDEKZnpXIHN6IDEKZGNYIGNoIDEKcXFSIHF1IDEKa2pxIHF1IDEKdk1oIHRoIDEKZ1pqIG5nIDEKcXR3IHRoIDEKdmtZIGthIDEKbENiIGxlIDEKZHBPIGRlIDEKbVhtIG1lIDEKdldjIGNoIDEKZk9xIHF1IDEKVmd5IG5nIDEKZGtEIGRlIDEKZlFoIHRoIDEKdklxIHF1IDEKbFpyIGVyIDEKektuIGFuIDEKVnB0IHRoIDEKRG13IG1lIDEKTndmIHdhIDEKa1lsIGxlIDEKanBKIGlqIDEKcVhpIHF1IDEKQm5qIGFuIDEKeGZLIGZvIDEKZkNjIGNoIDEKdlBkIGRlIDEKUW5wIGFuIDEKeXBXIHByIDEKdXdKIHF1IDEKUHZiIHZhIDEKY25DIGNoIDEKaHZBIHRoIDEKaEd6IHRoIDEKblp4IGFuIDEKa2JTIGthIDEKU3d4IHdhIDEKaHZQIHRoIDEKa3FHIHF1IDEKYkxxIHF1IDEKcWpQIHF1IDEKc1VvIG9uIDEKbERxIHF1IDEKWmxwIGxlIDEKZHdRIGRlIDEKZGxOIGxlIDEKZlRsIGxlIDEKTnB2IHZhIDEKYk1uIGFuIDEKZE56IHN6IDEKZWZWIGVyIDEKYUN3IGFuIDEKYVdmIGFuIDEKTHFvIHF1IDEKZnpUIHN6IDEKSmpyIGVyIDEKenZLIHN6IDEKbndUIGFuIDEKZlhyIGVyIDEKY0dtIGNoIDEKbHZTIGxlIDEKcURxIHF1IDEKcVJtIHF1IDEKdll0IHRoIDEKaVF2IGluIDEKZmtIIGthIDEKZmNPIGNoIDEKck5uIGFuIDEKcW1TIHF1IDEKa3pSIHN6IDEKRGZjIGNoIDEKcVVzIHF1IDEKeHFQIHF1IDEKc1hrIHN0IDEKWHl0IHRoIDEKcFd0IHRoIDEKamJMIGlqIDEKallkIGlqIDEKa3FWIHF1IDEKRnFtIHF1IDEKeG9YIG9uIDEKenVYIHF1IDEKeFVxIHF1IDEKY2dDIGNoIDEKd0JxIHF1IDEKZ1FwIG5nIDEKam5FIGFuIDEKeVpzIHN0IDEKZmtEIGthIDEKc1ZrIHN0IDEKcXlYIHF1IDEKY0JmIGNoIDEKQ2p5IGlqIDEKZFBxIHF1IDEKd0RnIG5nIDEKZHhCIGRlIDEKRGttIGthIDEKa1BwIGthIDEKaFd6IHRoIDEKQmp2IGlqIDEKSXpmIHN6IDEKSG5rIGFuIDEKclFjIGNoIDEKSnd1IHF1IDEKZmJQIGJlIDEKZnJRIGVyIDEKQW92IG9uIDEKeXFRIHF1IDEKamZZIGlqIDEKeHNIIHN0IDEKenhoIHRoIDEKSmJqIGlqIDEKTWp6IHN6IDEKZ1JwIG5nIDEKR3Z3IHZhIDEKbXpGIHN6IDEKb3FGIHF1IDEKZWpVIGVyIDEKeG1RIG1lIDEKaE9xIHRoIDEKcHdYIHByIDEKemdLIG5nIDEKd0xrIGthIDEKZnFjIGNoIDEKZFBtIGRlIDEKdENnIHRoIDEKcXJGIHF1IDEKcFdsIGxlIDEKckRmIGVyIDEKWW53IGFuIDEKam5RIGFuIDEKdEZiIHRoIDEKcnBVIGVyIDEKcFBqIGlqIDEKeWpNIGlqIDEKam1ZIGlqIDEKQ3B6IHN6IDEKdURuIGFuIDEKdXFZIHF1IDEKUGp4IGlqIDEKcUZ2IHF1IDEKS3RmIHRoIDEKSmNqIGNoIDEKa3BPIHByIDEKcGdaIG5nIDEKa2ZPIGthIDEKdFp2IHRoIDEKakhxIHF1IDEKY1JxIGNoIDEKekRtIHN6IDEKbFBtIGxlIDEKc3ZQIHN0IDEKcWt4IHF1IDEKYk5wIHByIDEKS2pxIHF1IDEKdnFTIHF1IDEKZlFwIHByIDEKdHhSIHRoIDEKSHBmIHByIDEKaVFnIG5nIDEKdnZQIHZhIDEKaUdmIGluIDEKdGpJIHRoIDEKcFduIGFuIDEKUXFnIHF1IDEKcWlGIHRpIDEKWnpyIGVyIDEKYVlmIGFuIDEKempBIHN6IDEKa3dSIGthIDEKZ2tNIG5nIDEKQ2pmIGlqIDEKemdNIG5nIDEKUnhrIGthIDEKYkNkIGRlIDEKWXB2IHZhIDEKd3lFIHdhIDEKaXlCIGluIDEKaFFwIHRoIDEKaXBRIGluIDEKVWNqIGNoIDEKcWtXIHF1IDEKa3JLIGVyIDEKSHBwIHByIDEKeG5OIGFuIDEKandCIGlqIDEKWmRtIGRlIDEKbVlqIGlqIDEKdFF4IHRoIDEKcXdTIHF1IDEKSHhvIG9uIDEKcUR4IHF1IDEKY1hkIGNoIDEKZ2RPIG5nIDEKYUVvIGFuIDEKVHdkIGRlIDEKYXZRIGFuIDEKbGhaIHRoIDEKbHpWIGxlIDEKYkhmIGJlIDEKYkpuIGFuIDEKVXF6IHF1IDEKdUZ5IHF1IDEKak5sIGxlIDEKeEJwIHByIDEKZFJiIGRlIDEKbmxUIGFuIDEKd3JPIGVyIDEKbHpXIGxlIDEKZllmIGZvIDEKbVJ3IG1lIDEKclh5IGVyIDEKcXlSIHF1IDEKZkd2IHZhIDEKVXdrIGthIDEKa1htIGthIDEKaEp5IHRoIDEKWGd2IG5nIDEKeFl2IHZhIDEKeVlkIGRlIDEKeHpDIHN6IDEKZ2pCIG5nIDEKanpJIHN6IDEKenJPIGVyIDEKdHFGIHRoIDEKdndNIHZhIDEKekNxIHF1IDEKbGpMIGxlIDEKdm5aIGFuIDEKZURxIHF1IDEKUXZxIHF1IDEKcGZMIHByIDEKaVJiIGluIDEKZ2RSIG5nIDEKcUF2IHF1IDEKdm5MIGFuIDEKbWtUIGthIDEKcFZrIGthIDEKeEtoIHRoIDEKak5rIGlqIDEKakx0IHRoIDEKY05wIGNoIDEKdG1QIHRoIDEKdlZ0IHRoIDEKcWZQIHF1IDEKVXFvIHF1IDEKRG5wIGFuIDEKeUdiIGJlIDEKc0hkIHN0IDEKcHdGIHByIDEKZlB5IG55IDEKRHJxIHF1IDEKYkpoIHRoIDEKc1FwIHN0IDEKSXdzIHN0IDEKdUN3IHF1IDEKTHdqIGlqIDEKckZ3IGVyIDEKc0pwIHN0IDEKeGlJIGluIDEKUnF2IHF1IDEKYmtRIGthIDEKcU5wIHF1IDEKZFlsIGxlIDEKVm1mIG1lIDEKbFljIGNoIDEKb1B3IG9uIDEKa2pPIGlqIDEKbUtiIG1lIDEKZkRmIGZvIDEKZkZiIGJlIDEKVmh2IHRoIDEKSGpxIHF1IDEKcWZLIHF1IDEKS2pwIGlqIDEKdlRnIG5nIDEKcEJxIHF1IDEKSHRkIHRoIDEKcE5kIGRlIDEKYlF2IHZhIDEKYVN4IGFuIDEKand4IGlqIDEKVXl4IG55IDEKd1ZqIGlqIDEKSW9xIHF1IDEKTmhtIHRoIDEKSHFoIHRoIDEKclVxIHF1IDEKYkJ4IGJlIDEKR3FiIHF1IDEKQ2N3IGNoIDEKaFp3IHRoIDEKUWJsIGxlIDEKeEZ2IHZhIDEKc1p2IHN0IDEKcXpZIHF1IDEKcERiIHByIDEKY2ZSIGNoIDEKcnFrIHF1IDEKZnpQIHN6IDEKaHFPIHRoIDEKcHpIIHN6IDEKcVNqIHF1IDEKcHhKIHByIDEKeGJxIHF1IDEKc1hmIHN0IDEKeWJUIGJlIDEKc0huIGFuIDEKdlR6IHN6IDEKUGdmIG5nIDEKaEt3IHRoIDEKalBqIGlqIDEKd1R4IHdhIDEKalNqIGlqIDEKRmd6IG5nIDEKYktrIGthIDEKZVVqIGVyIDEKY0RmIGNoIDEKeEZnIG5nIDEKY25XIGFuIDEKdFV5IHRoIDEKSmd4IG5nIDEKeXVGIHF1IDEKdnlRIHZhIDEKeEN6IHN6IDEKalJoIHRoIDEKY1h4IGNoIDEKa0drIGthIDEKWG5oIHRoIDEKcVBoIHRoIDEKbGZaIGxlIDEKcVZhIGFuIDEKeHdzIHN0IDEKRHp0IHRoIDEKeGZHIGZvIDEKZlhoIHRoIDEKamdWIG5nIDEKdkpqIGlqIDEKYlhqIGlqIDEKY2dHIGNoIDEKdnVXIHF1IDEKdHhHIHRoIDEKWnh6IHN6IDEKZk5jIGNoIDEKb0JxIHF1IDEKV2d2IG5nIDEKSHd6IHN6IDEKb2FXIGFuIDEKdlJnIG5nIDEKdVh6IHF1IDEKZnpRIHN6IDEKYmNCIGNoIDEKQm53IGFuIDEKZ3ZCIG5nIDEKclFtIGVyIDEKY3ZVIGNoIDEKeGhSIHRoIDEKenhSIHN6IDEKYnRaIHRoIDEKS2tmIGthIDEKekp3IHN6IDEKdXdxIHF1IDEKcFN4IHByIDEKeVJ2IHZhIDEKbkNxIGFuIDEKdEd2IHRoIDEKd2dUIG5nIDEKa056IHN6IDEKb0hrIG9uIDEKV3p3IHN6IDEKaHZVIHRoIDEKc2tYIHN0IDEKdll6IHN6IDEKam9aIG9uIDEKbkdxIGFuIDEKcW1NIHF1IDEKQm1yIGVyIDEKc1ZnIG5nIDEKdUN2IHF1IDEKaVh6IGluIDEKdktwIHZhIDEKbEV3IGxlIDEKaGhGIHRoIDEKaXdTIGluIDEKcXlVIHF1IDEKampZIGlqIDEKWWdtIG5nIDEKd0pkIGRlIDEKZVFwIGVyIDEKWWZiIGJlIDEKV3BnIG5nIDEKamRTIGRlIDEKdm1HIHZhIDEKbWRUIGRlIDEKZ3JaIG5nIDEKeXFOIHF1IDEKcEJwIHBvIDEKZmtaIGthIDEKcWVCIHF1IDEKY0dzIGNoIDEKRXFnIHF1IDEKY2ZPIGNoIDEKdVN4IHF1IDEKRGhmIHRoIDEKUWpyIGVyIDEKeHFaIHF1IDEKeVFmIG55IDEKbnBZIGFuIDEKeERjIGNoIDEKYm1RIG1lIDEKa01iIGthIDEKYXFDIGFuIDEKallsIGxlIDEKd2tEIGthIDEKY1dzIGNoIDEKeXlKIG55IDEKd3ZWIHZhIDEKbFliIGxlIDEKcXJXIHF1IDEKYnF6IHF1IDEKd2pDIGlqIDEKdkt5IHZhIDEKdmpEIGlqIDEKc0RzIHN0IDEKZktmIGZvIDEKenNUIHN0IDEKalljIGNoIDEKWXd0IHRoIDEKSGp3IGlqIDEKd0l5IHdhIDEKZmZVIGZvIDEKV254IGFuIDEKZUhxIHF1IDEKZld5IG55IDEKTnd2IHZhIDEKeVNqIGlqIDEKamZDIGlqIDEKeFhxIHF1IDEKZ3JJIG5nIDEKb1ZmIG9uIDEKVmZ5IG55IDEKamdZIG5nIDEKSGpwIGlqIDEKenFDIHF1IDEKcXlIIHF1IDEKa2NRIGNoIDEKenNFIHN0IDEKcEN4IHByIDEKa3dQIGthIDEKamZRIGlqIDEKd1pnIG5nIDEKVnhtIG1lIDEKSnZiIHZhIDEKc0V3IHN6IDEKakxsIGxlIDEKZE94IGRlIDEKd3BTIHByIDEKeUlvIG9uIDEKdEd0IHRoIDEKdkh6IHN6IDEKeEdqIGlqIDEKZ3ZRIG5nIDEKcE5yIGVyIDEKZ3FZIHF1IDEKc2ZLIHN0IDEKZFlkIGRlIDEKc01tIHN0IDEKb0J4IG9uIDEKcXNGIHF1IDEKYm1JIG1lIDEKdG1DIHRoIDEKd2xXIGxlIDEKVHdnIG5nIDEKc3JWIGVyIDEKck56IGVyIDEKVXVjIGNoIDEKR2pnIG5nIDEKbmpZIGFuIDEKdk9oIHRoIDEKUW1oIHRoIDEKRm5mIGFuIDEKeXZZIHZhIDEKcEdmIHByIDEKbEhwIGFsIDEKcWdaIHF1IDEKamJTIGlqIDEKeFFpIGluIDEKdHFHIHRoIDEKbndJIGFuIDEKcWtZIHF1IDEKV3h5IG55IDEKaERtIHRoIDEKcVFlIHF1IDEKaUpwIGluIDEKeHJOIGVyIDEKZEdnIG5nIDEKa1F4IGthIDEKSnFnIHF1IDEKaE1rIHRoIDEKbGpUIGxlIDEKWGtuIGFuIDEKenRxIHRoIDEKcU5kIHF1IDEKc3VZIHF1IDEKVW9hIGFuIDEKZGpSIGRlIDEKbUZmIG1lIDEKanpxIHF1IDEKempSIHN6IDEKTm5sIGFuIDEKdEpwIHRoIDEKZ1pyIG5nIDEKQnd4IHdhIDEKZFd6IHN6IDEKbHdNIGxlIDEKSXFrIHF1IDEKdHdaIHRoIDEKTXd0IHRoIDEKa2pZIGlqIDEKekJ2IHN6IDEKaXdGIGluIDEKckh6IGVyIDEKU3FoIHRoIDEKb0txIHF1IDEKcWpPIHF1IDEKaHRRIHRoIDEKY0t4IGNoIDEKYnFXIHF1IDEKa1loIHRoIDEKdEJxIHRoIDEKZ21KIG5nIDEKZVl4IGVyIDEKaEd2IHRoIDEKaFFkIHRoIDEKcG5YIGFuIDEKYnZKIHZhIDEKc3hNIHN0IDEKcU50IHRoIDEKV2xqIGxlIDEKa3FEIHF1IDEKcWRaIHF1IDEKbWhZIHRoIDEKdGxDIHRoIDEKcHFJIHF1IDEKeWJEIGJlIDEKeEFlIGVyIDEKcEx0IHRoIDEKbEhiIGxlIDEKeFZjIGNoIDEKZGhOIHRoIDEKcXhVIHF1IDEKZFZmIGRlIDEKWmttIGthIDEKa3BEIGthIDEKcGpIIGlqIDEKeUdtIG1lIDEKaXlQIGluIDEKd21LIG1lIDEKbUp6IHN6IDEKZm1MIG1lIDEKY0J2IGNoIDEKVnZmIHZhIDEKRXFsIHF1IDEKb2hWIHRoIDEKbEN4IGxlIDEKb1djIGNoIDEKbnpYIGFuIDEKZklqIGlqIDEKa1B0IHRoIDEKcFltIG1lIDEKemhHIHRoIDEKY3FOIGNoIDEKdW1RIHF1IDEKd1hzIHN0IDEKbFpqIGxlIDEKU3hzIHN0IDEKS3FkIHF1IDEKdFdjIHRoIDEKS2NjIGNoIDEKcHZCIHBvIDEKdGdSIHRoIDEKeXJOIGVyIDEKeFFyIGVyIDEKWHZ6IHN6IDEKbEpoIHRoIDEKWGZrIGthIDEKRnZyIGVyIDEKZlViIGJlIDEKbFpiIGxlIDEKZ2RJIG5nIDEKam9JIG9uIDEKeUtxIHF1IDEKdHd6IHRoIDEKcUpqIHF1IDEKdnhNIHZhIDEKVnpzIHN0IDEKZmpSIGlqIDEKS216IHN6IDEKcUl3IHF1IDEKanlEIGlqIDEKcWJVIHF1IDEKcWtaIHF1IDEKalZnIG5nIDEKRmhqIHRoIDEKcUpxIHF1IDEKd1BxIHF1IDEKVWVvIGVyIDEKelhkIHN6IDEKZ0ZiIG5nIDEKakp5IGlqIDEKTnNqIHN0IDEKbE1iIGxlIDEKeVFuIGFuIDEKZG5NIGFuIDEKeVJnIG5nIDEKRmpjIGNoIDEKZEtnIG5nIDEKZ3FWIG5nIDEKZ0NrIG5nIDEKc096IHN0IDEKaGxPIHRoIDEKcWJOIHF1IDEKc2pOIHN0IDEKVWp6IHN6IDEKclZtIGVyIDEKV2pzIHN0IDEKYm1NIG1lIDEKVnp4IHN6IDEKaFpnIHRoIDEKekZ0IHRoIDEKeWhKIHRoIDEKdk5rIGthIDEKemJUIHN6IDEKeG1KIG1lIDEKRmNzIGNoIDEKeVRjIGNoIDEKY1NnIGNoIDEKcW1QIHF1IDEKbUZ6IHN6IDEKYmRJIGRlIDEKamxLIGxlIDEKYm5CIGFuIDEKcXlRIHF1IDEKVmprIGlqIDEKaHpVIHRoIDEKcWdwIHF1IDEKbHFXIHF1IDEKZk5uIGFuIDEKVGpwIGlqIDEKdmxWIGxlIDEKclZwIGVyIDEKYkxkIGRlIDEKeWRRIGRlIDEKZ1lnIG5nIDEKcWhFIHRoIDEKR3NxIHF1IDEKZ1d6IG5nIDEKUXRrIHRoIDEKSHp3IHN6IDEKa0lvIGhvIDEKa2ZDIGthIDEKekJnIG5nIDEKakpwIGlqIDEKZUlxIHF1IDEKdnVCIHF1IDEKV2JnIG5nIDEKSmpwIGlqIDEKbFhrIGxlIDEKVGZ4IGZvIDEKekxsIGxlIDEKZHFUIHF1IDEKb1pxIHF1IDEKSmZ1IHF1IDEKUWhoIHRoIDEKcWtLIHF1IDEKRWpjIGNoIDEKendOIHN6IDEKeVFxIHF1IDEKZERwIGRlIDEKUHd3IHdhIDEKenRDIHRoIDEKanRIIHRoIDEKeXJYIGVyIDEKdndUIHZhIDEKeVJoIHRoIDEKd1F0IHRoIDEKbFh6IGxlIDEKY2ZMIGNoIDEKRndsIGxlIDEKck53IGVyIDEKQmh4IHRoIDEKZ2xaIG5nIDEKZ2NEIGNoIDEKU2ZzIHN0IDEKVXpmIHN6IDEKVGRsIGxlIDEKZFJuIGFuIDEKdll3IHZhIDEKeGNEIGNoIDEKeGNDIGNoIDEKbEJ4IGxlIDEKZ0hxIHF1IDEKd0p5IHdhIDEKeXJPIGVyIDEKdnFGIHF1IDEKdFliIHRoIDEKWmp3IGlqIDEKakxrIGlqIDEKSHZmIHZhIDEKcG5TIGFuIDEKcGNUIGNoIDEKc0ZrIHN0IDEKZGNPIGNoIDEKelB3IHN6IDEKdk5mIHZhIDEKR2R4IGRlIDEKZGxQIGxlIDEKakx4IGpvIDEKalpqIGlqIDEKd3dUIHdhIDEKdEd4IHRoIDEKZmhTIHRoIDEKWHRrIHRoIDEKeG5XIG9uIDEKcGtKIGthIDEKeElvIG9uIDEKWnhiIGJlIDEKbk9qIGFuIDEKd0hqIGlqIDEKZmpTIGlqIDEKd2RMIGRlIDEKamJOIGlqIDEKeWtPIGthIDEKeHFCIHF1IDEKcXpOIHF1IDEKUWJxIHF1IDEKRnF3IHF1IDEKald3IGlqIDEKbnhNIGFuIDEKdHBYIHRoIDEKVHR6IHRoIDEKenNIIHN0IDEKZmp6IHN6IDEKeElnIG5nIDEKeGtZIGthIDEKRnFhIGFuIDEKb0drIG9uIDEKSG5jIGFuIDEKalBxIHF1IDEKemxXIGxlIDEKdVJ4IHF1IDEKdUd4IHF1IDEKall2IGlqIDEKS3B6IHN6IDEKZ1FvIG5nIDEKS3d4IHdhIDEKak53IGlqIDEKdGREIHRoIDEKeUdqIGlqIDEKTGJxIHF1IDEKUnJjIGNoIDEKcXZYIHF1IDEKaGhLIHRoIDEKa1p4IGthIDEKeERmIGZvIDEKUGpmIGlqIDEKY2dGIGNoIDEKdkNrIGthIDEKZld3IG93IDEKbUpwIG1lIDEKZlhlIGVyIDEKdVlwIHF1IDEKakhrIGlqIDEKd2RQIGRlIDEKcUZrIHF1IDEKanJHIGVyIDEKZmdEIG5nIDEKZnNHIHN0IDEKVmdiIG5nIDEKeEFhIGFuIDEKZ3RaIHRoIDEKdGxxIHRoIDEKVG13IG1lIDEKZ3lZIG5nIDEKUXh0IHRoIDEKVXh6IHN6IDEKaVZyIGluIDEKenFJIHF1IDEKTmJ3IHdhIDEKRGhkIHRoIDEKbU9xIHF1IDEKaUJkIGluIDEKY3FCIGNoIDEKelFxIHF1IDEKV2J2IHZhIDEKUWtzIGthIDEKcVBhIGFuIDEKdGZJIHRoIDEKbVpzIHN0IDEKcERzIHN0IDEKbkpqIGFuIDEKemNwIGNoIDEKdFdqIHRoIDEKWnhwIHByIDEKdlB5IHZhIDEKZHhLIGRlIDEKb1B2IG9uIDEKcmpOIGVyIDEKb1FoIHRoIDEKdndIIHZhIDEKUWhwIHRoIDEKeHNVIHN0IDEKa0dxIHF1IDEKd2pXIGlqIDEKUHd4IHdhIDEKQmJuIGFuIDEKeE9xIHF1IDEKcXBOIHF1IDEKbmJxIGFuIDEKenBNIHN6IDEKam1CIGlqIDEKTnFqIHF1IDEKellkIHN6IDEKWWJjIGNoIDEKeGNXIGNoIDEKZ1BnIG5nIDEKUXlzIHN0IDEKQmhxIHRoIDEKeUd4IG55IDEKcXhMIHF1IDEKSmZkIGRlIDEKbWJWIG1lIDEKcGtZIGthIDEKY1dsIGNoIDEKd0JnIG5nIDEKdk93IHZhIDEKR3BiIHByIDEKUHBxIHF1IDEKZnNYIHN0IDEKdnRRIHRoIDEKeUNqIGlqIDEKeW9ZIG9uIDEKcHdRIHByIDEKeUdkIGRlIDEKcXRKIHRoIDEKbnJaIGFuIDEKZVZ4IGVyIDEKTnJxIHF1IDEKd3RBIHRoIDEKZkhmIGZvIDEKZ3NRIG5nIDEKaGxDIHRoIDEKZExjIGNoIDEKempDIHN6IDEKanZZIGlqIDEKdElqIHRoIDEKcHZMIHZhIDEKSGhnIHRoIDEKeU12IHZhIDEKeE1uIGFuIDEKdFl4IHRoIDEKdlZwIHZhIDEKWW5iIGFuIDEKdm1YIHZhIDEKcWpRIHF1IDEKdlFyIGVyIDEKaFF6IHRoIDEKbU5mIG1lIDEKemZZIHN6IDEKeGpTIGlqIDEKakJtIGlqIDEKanBxIHF1IDEKbkpxIGFuIDEKS256IGFuIDEKZ0dmIG5nIDEKcFp4IHByIDEKR3FsIHF1IDEKVXFtIHF1IDEKZVd2IGVyIDEKZkdnIG5nIDEKcXNBIHF1IDEKdWhZIHRoIDEKeGhIIHRoIDEKeXhTIG55IDEKcnhLIGVyIDEKaE5jIHRoIDEKVndoIHRoIDEKYU52IGFuIDEKUXp2IHN6IDEKZlFuIGFuIDEKanpIIHN6IDEKUnZoIHRoIDEKUXB0IHRoIDEKcVh2IHF1IDEKcGhRIHRoIDEKUWxiIGxlIDEKYm5RIGFuIDEKbmpLIGFuIDEKSmpzIHN0IDEKdEp4IHRoIDEKaXdYIGluIDEKblZkIGFuIDEKa3pBIHN6IDEKdXdFIHF1IDEKVHNxIHF1IDEKaHFNIHRoIDEKUm5xIGFuIDEKckRuIGFuIDEKeU5iIGJlIDEKdXFOIHF1IDEKZkt3IHdhIDEKSXFuIGFuIDEKeEhjIGNoIDEKV3dxIHF1IDEKZ013IG5nIDEKeVdmIG55IDEKdmNPIGNoIDEKR2ttIGthIDEKZlJoIHRoIDEKZE1jIG5kIDEKWmh4IHRoIDEKcWxIIHF1IDEKcVVsIHF1IDEKekhmIHN6IDEKd0NrIGthIDEKUWZqIGlqIDEKUWt3IGthIDEKbVloIHRoIDEKZGNVIGNoIDEKalRmIGlqIDEKcmpGIGVyIDEKaHhRIHRoIDEKd05mIHdhIDEKTGdnIG5nIDEKRmR1IHF1IDEKdEp3IHRoIDEKeWNRIGNoIDEKeFhmIGZvIDEKd3dRIHdhIDEKZXZRIGVyIDEKRmNqIGNoIDEKQ3lxIHF1IDEKdHBGIHRoIDEKQXhqIGlqIDEKekdnIG5nIDEKUWJiIGJlIDEKdmZZIHZhIDEKb1hkIG9uIDEKd0FxIHF1IDEKWGJrIGthIDEKd21SIG1lIDEKcnpOIGVyIDEKZmNCIGNoIDEKQndjIGNoIDEKeGdTIG5nIDEKZFFyIGVyIDEKa0p3IGthIDEKYmd4IG5nIDEKcFpzIHN6IDEKd2ZBIHdhIDEKam1YIGlqIDEKZE5wIGRlIDEKVnhyIGVyIDEKUnZiIHZhIDEKd1psIGxlIDEKd2dBIG5nIDEKV3JxIHF1IDEKSmNxIGNoIDEKbGpXIGxlIDEKcVB0IHRoIDEKZ2pZIG5nIDEKalVvIG9uIDEKbUlqIGlqIDEKSHB5IHByIDEKTXBqIGlqIDEKYmtPIGthIDEKQXZ6IHN6IDEKdktrIGthIDEKQmZ6IHN6IDEKeVlqIGlqIDEKRWdxIHF1IDEKd3hIIHdhIDEKekhoIHRoIDEKc3ZBIHN0IDEKemNQIGNoIDEKQnhvIG9uIDEKaFN2IHRoIDEKTHh0IHRoIDEKaEJ6IHRoIDEKY1drIGNoIDEKeEJ2IHZhIDEKaHdOIHRoIDEKbWtKIGthIDEKb05qIG9uIDEKVWdxIHF1IDEKalpxIHF1IDEKeGZQIGZvIDEKYll2IHZhIDEKcXhGIHF1IDEKZGNJIGNoIDEKZGhZIHRoIDEKY3ZQIGNoIDEKcVV5IHF1IDEKbXhDIG1lIDEKelB4IHN6IDEKTnFsIHF1IDEKWWZ3IHdhIDEKV2dwIG5nIDEKamdEIG5nIDEKUWZxIHF1IDEKbGNXIGNoIDEKcXh5IHF1IDEKWHBxIHF1IDEKd3JEIGVyIDEKYkVvIG9uIDEKYnpWIHN6IDEKZndTIHdhIDEKbUxqIGlqIDEKd01yIGVyIDEKdkZiIHZhIDEKemZUIHN6IDEKblJrIGFuIDEKa0poIHRoIDEKUm13IG1lIDEKbnFSIGFuIDEKcXBPIHF1IDEKYkhiIGJlIDEKVGtxIHF1IDEKc2pHIHN0IDEKcWFUIGFuIDEKUHFsIHF1IDEKaGxRIHRoIDEKa3pXIHN6IDEKeUZjIGNoIDEKdUJ2IHF1IDEKdnhPIHZhIDEKcXZDIHF1IDEKWXF4IHF1IDEKakNiIGlqIDEKUWprIGlqIDEKZkJoIHRoIDEKdktxIHF1IDEKck1nIG5nIDEKaFJ3IHRoIDEKeWtVIGthIDEKYlVxIHF1IDEKdll2IHZhIDEKUGR4IGRlIDEKb0d2IG9uIDEKakx5IGlqIDEKZHVZIHF1IDEKV2NwIGNoIDEKb0d4IG9uIDEKdkdsIGxlIDEKSmR6IHN6IDEKaWpIIGluIDEKbWxYIGxlIDEKak5yIGVyIDEKa0NxIHF1IDEKR2hoIHRoIDEKck12IGVyIDEKQmdwIG5nIDEKYkZ0IHRoIDEKdVdsIHF1IDEKZFhnIG5nIDEKV2NmIGNoIDEKZGJJIGRlIDEKYkd4IGJlIDEKZXhRIGVyIDEKaldqIGpvIDEKcFFiIHByIDEKamNIIGNoIDEKcU9sIHF1IDEKbXRMIHRoIDEKY3JDIGNoIDEKcEJoIHRoIDEKV2x6IGxlIDEKbkhuIGFuIDEKSGZwIHByIDEKWHBjIGNoIDEKVXhwIHByIDEKS3NxIHF1IDEKeFdrIGthIDEKbnFaIGFuIDEKQ3hkIGRlIDEKekp4IHN6IDEKcldxIHF1IDEKQ2JxIHF1IDEKcXFQIHF1IDEKbGhVIHRoIDEKVWZ2IHZhIDEKVXhnIG5nIDEKaEpmIHRoIDEKbnZRIGFuIDEKZGhGIHRoIDEKQ3ZiIHZhIDEKYVBmIGFuIDEKSnhqIGlqIDEKRHdwIHByIDEKSXh3IHdhIDEKa2ZTIGthIDEKclptIGVyIDEKZm1FIG1lIDEKc0xxIHF1IDEKYm1SIG1lIDEKdUNzIHF1IDEKa0ZtIGthIDEKS3FrIHF1IDEKeFFrIGthIDEKU2ZuIGFuIDEKZmdVIG5nIDEKdnZUIHZhIDEKbVFlIGVyIDEKR2J0IHRoIDEKdGJZIHRoIDEKbFFrIGxlIDEKY0loIHRoIDEKVGpxIHF1IDEKblFnIGFuIDEKeVlwIHByIDEKcVB3IHF1IDEKeE9hIGFuIDEKcE53IHByIDEKZkp6IHN6IDEKekhiIHN6IDEKa0JoIHRoIDEKZmRFIGRlIDEKd1BnIG5nIDEKbFZ2IGxlIDEKbVB3IG1lIDEKUm1nIG5nIDEKeG9FIG9uIDEKaG5KIHRoIDEKdXZFIHF1IDEKV29xIHF1IDEKdWNYIGNoIDEKbm1EIGFuIDEKcGNYIGNoIDEKaER3IHRoIDEKZGdJIG5nIDEKdlZkIGRlIDEKdERoIGNoIDEKakhuIGFuIDEKaGtYIHRoIDEKcHhUIHByIDEKeFl6IHN6IDEKclRwIGVyIDEKVWJ6IHN6IDEKTGxtIGxlIDEKeWpaIGlqIDEKUXNzIHN0IDEKY2ZNIGNoIDEKamJHIGJlIDEKSmZ6IHN6IDEKbVdiIG1lIDEKakRwIGlqIDEKbFd6IGxlIDEKY1h5IGNoIDEKb1FyIGVyIDEKdWNaIGNoIDEKY3ZOIGNoIDEKY3ZLIGNoIDEKekRrIHN6IDEKYkxyIGVyIDEKZERsIGxlIDEKaGhEIHRoIDEKdm1LIHZhIDEKaEx0IHRoIDEKbXFXIHF1IDEKQmZzIHN0IDEKQWNqIGNoIDEKZGNHIGNoIDEKeUpjIGNoIDEKbWZTIG1lIDEKZHJMIGVyIDEKcXlLIHF1IDEKdFF6IHRoIDEKanJMIGVyIDEKY2NKIGNoIDEKd3BYIHByIDEKWnpmIHN6IDEKc25VIGFuIDEKcUV3IHF1IDEKdFFiIHRoIDEKbVBkIGRlIDEKdkpxIHF1IDEKdnBVIHZhIDEKdnpNIHN6IDEKdVpiIHF1IDEKeXdVIHdhIDEKUmpzIHN0IDEKaEt0IHRoIDEKQmZiIGJlIDEKd3VRIHF1IDEKYnZNIHZhIDEKeWlXIGluIDEKaHFDIHRoIDEKaVVxIHF1IDEKbEJkIGxlIDEKWnhqIGlqIDEKd3BXIHByIDEKckhtIGVyIDEKbWhRIHRoIDEKZk1iIGJlIDEKdldmIHZhIDEKRmRxIHF1IDEKakdiIGlqIDEKRGh3IHRoIDEKY2pSIGNoIDEKa3ZEIGthIDEKcXZEIHF1IDEKWG1rIGthIDEKQ2pqIGlqIDEKa2tYIGthIDEKcWtGIHF1IDEKdldnIG5nIDEKTXNxIHF1IDEKbk52IGFuIDEKSHp1IHF1IDEKenJZIGVyIDEKaGdCIHRoIDEKcHdCIHByIDEKSnhjIGNoIDEKdmNKIGNoIDEKc1l3IHN0IDEKVHF4IHF1IDEKZUpmIGxlIDEKY3pKIGNoIDEKUXloIHRoIDEKYnZWIHZhIDEKWHloIHRoIDEKZmpxIHF1IDEKZFljIGNoIDEKcEJ4IHByIDEKanZSIGlqIDEKZ2JIIG5nIDEKeWdIIG5nIDEKaGJWIHRoIDEKbHdVIGxlIDEKdEprIHRoIDEKcEl3IHByIDEKVmpsIGxlIDEKRGdtIG5nIDEKbnZSIGFuIDEKeVJwIHByIDEKZk9qIGlqIDEKRWNmIGNoIDEKWnJmIGVyIDEKbXhEIG1lIDEKSXFmIHF1IDEKekJqIHN6IDEKdFRzIHRoIDEKbHFCIHF1IDEKa0N2IGthIDEKblZoIHRoIDEKakdxIHF1IDEKY2dRIGNoIDEKUHBkIGRlIDEKSmNkIGNoIDEKaGhQIHRoIDEKc0xnIG5nIDEKeFl0IHRoIDEKUXBzIHN0IDEKc2ZFIHN0IDEKd3hSIHdhIDEKcEZwIHByIDEKWW1mIG1lIDEKSmd5IG5nIDEKeXZJIHZhIDEKTmN6IGNoIDEKd0JmIHdhIDEKclZ4IGVyIDEKanZYIGlqIDEKbllwIGFuIDEKbk5iIGFuIDEKY1FpIGNoIDEKUXd5IHdhIDEKdlBmIHZhIDEKcXZkIHF1IDEKaGtEIHRoIDEKV21yIGVyIDEKZ2RZIG5nIDEKS2pqIGlqIDEKcXNOIHF1IDEKdkpnIG5nIDEKbURjIGNoIDEKa3ZGIGthIDEKa1d4IGthIDEKeFl1IHF1IDEKZU1xIHF1IDEKbVl5IG1lIDEKSHh0IHRoIDEKcGJNIHByIDEKSHdkIGRlIDEKbVd1IHF1IDEKek5zIHN0IDEKUWpoIHRoIDEKYXFEIGFuIDEKR2NkIGNoIDEKYnRYIHRoIDEKWnFsIHF1IDEKVWp3IGlqIDEKeXZNIHZhIDEKSGh3IHRoIDEKeldkIHN6IDEKcFlqIGlqIDEKeFd0IHRoIDEKeWxPIGxlIDEKY25YIGNoIDEKY01mIGNoIDEKcEtiIHByIDEKd29WIG9uIDEKZnpHIHN6IDEKTHFiIHF1IDEKZU9qIGVyIDEKR3RiIHRoIDEKY2xYIGNoIDEKa2RDIGRlIDEKY2ZxIGNoIDEKaEtrIHRoIDEKY0ppIGNoIDEKdVNiIHF1IDEKamdUIG5nIDEKdGNHIHRoIDEKcU52IHF1IDEKZnBCIHByIDEKdlB3IHZhIDEKam1BIGlqIDEKZHhJIGRlIDEKakdnIG5nIDEKQnZnIG5nIDEKcXJDIHF1IDEKblB4IGFuIDEKUW1uIGFuIDEKY3FDIGNoIDEKa0ZoIHRoIDEKSnRmIHRoIDEKQ3F6IHF1IDEKckNkIGVyIDEKWm1zIHN0IDEKZFZxIHF1IDEKR3dnIG5nIDEKY3dQIGNoIDEKd1Z1IHF1IDEKZE5nIG5nIDEKalhjIGNoIDEKTWJ6IHN6IDEKd3ZHIHZlIDEKVnB3IHByIDEKeVhxIHF1IDEKaGxLIHRoIDEKcFl2IHZhIDEKRmJkIGRlIDEKemNWIGNoIDEKclFrIGVyIDEKd3ROIHRoIDEKcWVJIHF1IDEKZUd0IHRoIDEKa01xIHF1IDEKa3FTIHF1IDEKY3FkIGNoIDEKcExmIHBvIDEKeHZPIHZhIDEKcmZIIGVyIDEKZ0lxIHF1IDEKUHFrIHF1IDEKeENuIGFuIDEKZFZzIHN0IDEKaXFZIHF1IDEKYnNKIHN0IDEKVnd3IHdhIDEKWm5tIGFuIDEKWXJ6IGVyIDEKUnZ6IHN6IDEKZHpLIGRlIDEKemJXIHN6IDEKdGt4IHRoIDEKeGtQIGthIDEKa3pTIHN6IDEKZ1hxIHF1IDEKTHhmIGZvIDEKRndyIGVyIDEKbEhzIGxlIDEKenJCIGVyIDEKak5iIGlqIDEKSHh5IG55IDEKR2Z3IHdhIDEKRWd3IG5nIDEKSnh3IHdhIDEKdFZtIHRoIDEKYndRIHdhIDEKZ0l4IG5nIDEKV3F1IHVuIDEKanZJIGlqIDEKY0djIGNoIDEKa1NiIGthIDEKaHhHIHRoIDEKekhtIHN6IDEKSnBrIGthIDEKZlZiIGJlIDEKVWtmIGthIDEKcnhGIGVyIDEKZFZ1IHF1IDEKc2RYIHN0IDEKbWpNIGlqIDEKeHdxIHF1IDEKT2drIG5nIDEKcWhyIHRoIDEKdmZBIHZhIDEKcWJBIHF1IDEKTGZ1IHF1IDEKaHpZIHRoIDEKaUhmIGluIDEKanhiIGlqIDEKdm1QIHZhIDEKYnZJIHZhIDEKZm1IIG1lIDEKcXR4IHRoIDEKYnZRIHZhIDEKcXpYIHF1IDEKYlZuIGFuIDEKWG10IHRoIDEKcVhvIHF1IDEKcGZEIHByIDEKZkNkIGRlIDEKdmJ4IHZhIDEKWmh6IHRoIDEKS3dnIG5nIDEKcmNKIGNoIDEKamxUIGxlIDEKanpNIHN6IDEKcnBQIGVyIDEKdG1BIHRoIDEKYVl3IGFuIDEKekJxIHF1IDEKeGhUIHRoIDEKeUxxIHF1IDEKY0tmIGNoIDEKcWRQIHF1IDEKWWJ4IGJlIDEKZEhzIHN0IDEKamhIIHRoIDEKQnN2IHN0IDEKclp0IHRoIDEKbWhKIHRoIDEKWndxIHF1IDEKa1hmIGthIDEKenZUIHN6IDEKeWlDIGluIDEKZ2tUIG5nIDEKbkp3IGFuIDEKenBWIHN6IDEKdFBxIHRoIDEKY1Z0IHRoIDEKZEJnIG5nIDEKY1JmIGNoIDEKdlJxIHF1IDEKamdBIG5nIDEKYk16IHN6IDEKaEpoIHRoIDEKbUhkIGRlIDEKQ2txIHF1IDEKcWNqIGNoIDEKeUliIGJlIDEKd3FFIHF1IDEKcE1oIHRoIDEKSHFqIHF1IDEKalp1IHF1IDEKaXFPIHF1IDEKdHFDIHRoIDEKcW9LIHF1IDEKS25xIGFuIDEKYlFtIG1lIDEKdXVYIHF1IDEKV3pjIGNoIDEKUHh5IG55IDEKUWdmIG5nIDEKc0Z3IHN0IDEKZ0hmIG5nIDEKa2dOIG5nIDEKckN3IGVyIDEKWWp5IGlqIDEKcG5WIGFuIDEKZmJTIGJlIDEKaUh6IGluIDEKa0d4IGthIDEKa3dTIGthIDEKc0RtIHN0IDEKVmhrIHRoIDEKcGhOIHRoIDEKSmJmIGJlIDEKcFd6IHN6IDEKdnZRIHZhIDEKdk5tIHZhIDEKbFl3IGxlIDEKekh4IHN6IDEKWnpjIGNoIDEKYkR0IHRoIDEKRmN2IGNoIDEKZEpnIG5nIDEKUXdiIHdhIDEKcUZ3IHF1IDEKd21PIG1lIDEKQnZ5IHZhIDEKcWdZIHF1IDEKdllzIHN0IDEKeHdGIHdhIDEKcXdQIHF1IDEKdUVjIGNoIDEKbVdxIHF1IDEKZnpPIHN6IDEKYlBnIG5nIDEKcG5XIGFuIDEKaEd4IHRoIDEKVmtrIGthIDEKWHJ4IGVyIDEKZ0pkIG5nIDEKTGxxIHF1IDEKVnF1IHVuIDEKZmdIIG5nIDEKVmN5IGNoIDEKaFZjIHRoIDEKcndaIGVyIDEKWGxjIGNoIDEKeEpkIGRlIDEKRm5uIGFuIDEKWXBqIGlqIDEKbGhKIHRoIDEKYVVqIGFuIDEKbEJwIHByIDEKZGxXIGxlIDEKcHZWIHZhIDEKTXdyIGVyIDEKWndjIGNoIDEKd2NVIGNoIDEKY1ZxIGNoIDEKeWNVIGNoIDEKTGNxIGNoIDEKcnZRIGVyIDEKZVltIGVyIDEKcUNuIGFuIDEKZEJ4IGRlIDEKSXdxIHF1IDEKZ010IHRoIDEKYmhDIHRoIDEKYkRzIHN0IDEKVmh6IHRoIDEKa0p6IHN6IDEKT2h6IHRoIDEKa0R6IHN6IDEKaFRuIHRoIDEKZXFHIHF1IDEKZ0pyIG5nIDEKWnB6IHN6IDEKaHdRIHRoIDEKZmdZIG5nIDEKc2RWIHN0IDEKbGpWIGxlIDEKeUdnIG5nIDEKdVdnIHF1IDEKc2JPIHN0IDEKcWREIHF1IDEKeUpqIGlqIDEKbndxIGFuIDEKQXBxIHF1IDEKY2NLIGNoIDEKUXdsIGxlIDEKb3lRIG9uIDEKbFB3IGxlIDEKY1l0IHRoIDEKYnJHIGVyIDEKeGtUIGthIDEKZFVqIGRlIDEKcmhSIHRoIDEKeFB3IHdhIDEKeG9GIG9uIDEKaFlqIHRoIDEKaFl3IHRoIDEKbFBuIGFuIDEKekNnIG5nIDEKc0p0IHRoIDEKd0RzIHN0IDEKZlZoIHRoIDEKendXIHN6IDEKeUxqIGlqIDEKYUJ4IGFuIDEKRHZ2IHZhIDEKdEtiIHRoIDEKamZHIGlqIDEKeE1tIG1lIDEKYkxwIHByIDEKeHdXIHdhIDEKYnpIIHN6IDEKY0l3IGNoIDEKemROIHN6IDEKR2d2IHZhIDEKbHdWIGxlIDEKcXlWIHF1IDEKdkJ2IHZhIDEKT3dtIG1lIDEKTHR4IHRoIDEKbXFFIHF1IDEKWGpjIGNoIDEKcHpZIHN6IDEKSmRzIHN0IDEKa01sIGxlIDEKRGRqIGRlIDEKdGZYIHRoIDEKY3FUIGNoIDEKYnVHIHF1IDEKb0hiIHBvIDEKdlJ4IHZhIDEKcXlxIHF1IDEKa3BZIGthIDEKdnFOIHF1IDEKak5xIHF1IDEKY1diIGNoIDEKZ2JKIG5nIDEKb1p3IG9uIDEKY0J6IGNoIDEKUHZ2IHZhIDEKbGpJIGxlIDEKaHZRIHRoIDEKa3dZIGthIDEKaEJnIHRoIDEKa2ROIGRlIDEKeXhIIG55IDEKZnhIIGZvIDEKdFhqIHRoIDEKdUJ4IHF1IDEKdUptIHF1IDEKR3hoIHRoIDEKZmpLIGlqIDEKZ3FPIHF1IDEKZE10IHRoIDEKbFZ4IGxlIDEKUmhwIHRoIDEKY0RuIGNoIDEKWGt2IGthIDEKem1CIHN6IDEKcWFZIGFuIDEKSXZxIHF1IDEKd21QIG1lIDEKYmpxIHF1IDEKY21VIGNoIDEKc2xDIGxlIDEKS3J4IGVyIDEKaVZ2IGluIDEKWnd6IHN6IDEKeVBkIGRlIDEKcVV2IHF1IDEKUGR6IHN6IDEKUXprIHN6IDEKem9VIG9uIDEKeEpmIGZvIDEKVWRxIHF1IDEKUXdqIGlqIDEKS3ZkIGRlIDEKdlF3IHZhIDEKUmRrIGRlIDEKc0lqIHN0IDEKR2d0IHRoIDEKbE53IGxlIDEKcXZyIHF1IDEKeXFEIHF1IDEKZlhsIGxlIDEKanFnIHF1IDEKcW1BIHF1IDEKVGdkIG5nIDEKenBPIHBvIDEKdEV6IHRoIDEKQnF6IHF1IDEKd2ZMIHdhIDEKdll1IHF1IDEKRHh3IHdhIDEKcVdsIHF1IDEKUnpjIGNoIDEKbVFvIG9uIDEKVHRjIHRoIDEKdFZ2IHRoIDEKUnFuIGFuIDEKV2NuIGNoIDEKTnd1IHF1IDEKeG9KIG9uIDEKdkRmIHZhIDEKcGhIIHRoIDEKZkpzIHN0IDEKUHhtIG1lIDEKckZiIGVyIDEKaGxNIHRoIDEKbWtYIGthIDEKbm5RIGFuIDEKWGZuIGFuIDEKc2JaIHN0IDEKWXlmIG55IDEKQmp3IGlqIDEKSWx4IGxlIDEKcXBBIHF1IDEKTXFjIGNoIDEKZ3FaIHF1IDEKc052IHN0IDEKWnZxIHF1IDEKa1N4IGthIDEKdkJkIGRlIDEKd3ZaIHZhIDEKVW9lIGVyIDEKRmp5IGlqIDEKektiIHN6IDEKcHZJIHZhIDEKWmxsIGxlIDEKaGRFIHRoIDEKRnB2IHZhIDEKbGhWIHRoIDEKcnFRIHF1IDEKd2pHIGlqIDEKcExxIHF1IDEKYnBKIHByIDEKd3pWIHN6IDEKSGdxIG5nIDEKemhXIHRoIDEKTHZxIHF1IDEKWGhyIHRoIDEKcXVZIHVuIDEKanFaIHF1IDEKdnVIIHF1IDEKRnpqIHN6IDEKZ3pHIG5nIDEKdEZjIHRoIDEKdmZFIHZhIDEKSWd4IG5nIDEKZnFZIHF1IDEKZ1liIG5nIDEKbEpnIG5nIDEKd2NPIGNoIDEKUXZrIGthIDEKVHFxIHF1IDEKYmRZIGRlIDEKd3VUIHF1IDEKbEh3IGxlIDEKelJtIHN6IDEKSGd3IG5nIDEKdFBrIHRoIDEKSnF2IHF1IDEKdEt4IHRoIDEKeHBBIHByIDEKYmtJIGthIDEKYlNqIGlqIDEKbXhXIG1lIDEKbWpSIGlqIDEKT2lwIGluIDEKd3lZIHdhIDEKZEZjIGNoIDEKcURnIHF1IDEKd1hwIHByIDEKVmJwIHByIDEKanlOIGlqIDEKeXZQIHZhIDEKeVZyIGVyIDEKYVdtIGFuIDEKR2prIGlqIDEKQXB3IHByIDEKWnN3IHN0IDEKalF2IGlqIDEKamJUIGlqIDEKYmRCIGRlIDEKa2NZIGNoIDEKcnFDIHF1IDEKYnhEIGJlIDEKdmx4IGxlIDEKa2pKIGlqIDEKeHFXIHF1IDEKenhFIHN6IDEKc0hmIHN0IDEKanVGIHF1IDEKa3dYIGthIDEKb3FXIHF1IDEKcVd0IHRoIDEKZkhjIGNoIDEKY0hjIGNoIDEKSmptIGlqIDEKeGJBIGJlIDEKUnFqIHF1IDEKSWp5IGlqIDEKdlN4IHZhIDEKcFZqIGlqIDEKclF4IGVyIDEKZm1LIG1lIDEKZm5BIGFuIDEKUGh2IHRoIDEKYmhOIHRoIDEKSHhwIHByIDEKVmpxIHF1IDEKbHFDIHF1IDEKV2hkIHRoIDEKenNGIHN0IDEKdFl0IHRoIDEKSnpxIHF1IDEKTmZmIGZvIDEKcVhzIHF1IDEKeEpqIGlqIDEKbFhuIGFuIDEKWnB2IHZhIDEKcVRoIHRoIDEKbnBIIGFuIDEKa1l4IGthIDEKYkJzIHN0IDEKdkVhIGFuIDEKcGpxIHF1IDEKcUlpIHF1IDEKRmRrIGRlIDEKZk54IGZvIDEKT2ZoIHRoIDEKd1hlIGVyIDEKbXZaIHZhIDEKQ2pzIHN0IDEKRm1tIG1lIDEKcGtSIGthIDEKemZaIHN6IDEKWnBtIG1lIDEKY2JBIGNoIDEKdHZZIHRoIDEKTG1wIG1lIDEKZ0ZkIG5nIDEKYkZ4IGJlIDEKRmptIGlqIDEKd2pGIGlqIDEKYmp2IGlqIDEKZGJUIGRlIDEKam1RIGlqIDEKeEZ3IHdhIDEKY0RrIGNoIDEKaEZ6IHRoIDEKdUdtIHF1IDEKWWh4IHRoIDEKVnRsIHRoIDEKYXpWIGFuIDEKeEpzIHN0IDEKTXh3IHdhIDEKdmdLIG5nIDEKY3dRIGNoIDEKR254IGFuIDEKbGJQIGxlIDEKa2RTIGRlIDEKa0R0IHRoIDEKUHZxIHF1IDEKeUhzIHN0IDEKTGdxIHF1IDEKWG1qIGlqIDEKcHZBIHZhIDEKdlV1IHF1IDEKUWp1IHF1IDEKcURmIHF1IDEKR3hqIGlqIDEKR2Z6IHN6IDEKZ2JZIG5nIDEKU2pmIGlqIDEKT2d3IG5nIDEKaEd0IHRoIDEKYnRUIHRoIDEKZ3dIIG5nIDEKTXdqIGlqIDEKZnZVIHZhIDEKZnJHIGVyIDEKY014IGNoIDEKWWR2IGRlIDEKeGtaIGthIDEKZmpMIGlqIDEKeVB4IG55IDEKZHJYIGVyIDEKanhSIGlqIDEKaFlxIHRoIDEKeEhuIGFuIDEKanJQIGVyIDEKdGNKIHRoIDEKcUp6IHF1IDEKelVkIHN6IDEKalhqIGlqIDEKcURkIHF1IDEKQmpoIHRoIDEKcUZ6IHN6IDEKbXhHIG1lIDEKeE9kIGRlIDEKaGdMIHRoIDEKY3BEIGNoIDEKamhTIHRoIDEKWnFwIHF1IDEKeU5xIHF1IDEKcEhxIHF1IDEKclpxIHF1IDEKV2p5IGlqIDEKVGZiIGJlIDEKTndiIHdhIDEKelFrIHN6IDEKUmtjIGNoIDEKUXZ3IHZhIDEKd2xKIGxlIDEKY0ZwIGNoIDEKb0RiIG9uIDEKbHNZIGxlIDEKWmJuIGFuIDEKd0NkIGRlIDEKenhOIHN6IDEKYlFmIGJlIDEKS2p5IGlqIDEKT3ZrIGthIDEKY3hBIGNoIDEKSHF3IHF1IDEKaHdZIHRoIDEKc0d2IHN0IDEKUnduIGFuIDEKenZIIHN6IDEKeVZ3IHdhIDEKem1YIHN6IDEKcWRNIHF1IDEKZEp2IGRlIDEKd0RqIGlqIDEKVmhtIHRoIDEKZkx0IHRoIDEKYnZDIHZhIDEKeFZuIGFuIDEKSGZ4IGZvIDEKdFFsIHRoIDEKbGhXIHRoIDEKb3FTIHF1IDEKUXlhIGFuIDEKZ1pmIG5nIDEKYkt5IGJlIDEKdGpYIHRoIDEKVmtjIGNoIDEKeWp2IGlqIDEKYmdOIG5nIDEKbE5tIGxlIDEKSnpsIGxlIDEKTHd4IHdhIDEKdmNMIGNoIDEKeVhoIHRoIDEKenRaIHRoIDEKeUp4IG55IDEKbnBWIGFuIDEKc3dHIHN0IDEKc1huIGFuIDEKZUpiIGVyIDEKZGNSIGNoIDEKWnJnIG5nIDEKUGd2IG5nIDEKeFlyIGVyIDEKamxJIGxlIDEKRm1mIG1lIDEKR3FrIHF1IDEKdmxaIGxlIDEKQ3NxIHF1IDEKdVFqIHF1IDEKbExtIGxlIDEKaHdLIHRoIDEKY1F2IGNoIDEKcWZIIHF1IDEKclJ3IGVyIDEKYVVvIGFuIDEKcXBFIHF1IDEKbFBjIGNoIDEKZEhkIGRlIDEKZ3FMIHF1IDEKeldwIHN6IDEKYkJxIGJlIDEKd1dwIHByIDEKY2ZLIGNoIDEKZld4IGZvIDEKcnZWIGVyIDEKemhSIHRoIDEKS2xoIHRoIDEKY2JRIGNoIDEKSm1nIG5nIDEKZlBnIG5nIDEKUW5uIGFuIDEKc01xIHF1IDEKYUZ6IGFuIDEKc0pzIHN0IDEKUHdqIGlqIDEKamNMIGNoIDEKZ21RIG5nIDEKWXFyIHF1IDEKQ2d6IG5nIDEKd3F6IHF1IDEKZm5JIG50IDEKcU90IHRoIDEKdnlVIHZhIDEKd1F6IHN6IDEKdlVhIGFuIDEKeEJ0IHRoIDEKZE5tIGRlIDEKRXd4IHdhIDEKeXBEIHByIDEKd3hMIHdhIDEKcWVOIHF1IDEKdmtCIGthIDEKakJqIGlqIDEKZ1VqIG5nIDEKa1FrIGthIDEKZndPIHdhIDEKcVF0IHRoIDEKUXJsIGVyIDEKZFR4IGRlIDEKZldkIGRlIDEKanhLIGlqIDEKZkhsIGxlIDEKamNZIGNoIDEKb0pzIG9uIDEKc1J4IHN0IDEKdVFnIHF1IDEKaGhZIHRoIDEKc2ROIHN0IDEKbXhSIG1lIDEKWHN2IHN0IDEKUGNxIGNoIDEKcGtaIGthIDEKekRsIGxlIDEKckloIHRoIDEKSG52IGFuIDEKanBBIGlqIDEKaFpqIHRoIDEKWm5kIGFuIDEKaFpkIHRoIDEKcXJPIHF1IDEKU2J4IGJlIDEKdFdwIHRoIDEKSHBkIGRlIDEKSGp6IHN6IDEKemNTIGNoIDEKa1B6IHN6IDEKSHRxIHRoIDEKZ2NHIGNoIDEKWHF4IHF1IDEKbVpjIGNoIDEKWHp2IHN6IDEKS2d3IG5nIDEKYVVmIGFuIDEKWW1xIHF1IDEKd2NZIGNoIDEKb1ZoIHRoIDEKcGRNIGRlIDEKdnpLIHN6IDEKbHJYIGVyIDEKeWRWIGRlIDEKdXFQIHF1IDEKZm1OIG1lIDEKT2NnIGNoIDEKZkxrIGthIDEKY0pzIGNoIDEKdUdmIHF1IDEKY01rIGNoIDEKZ1R4IG5nIDEKeE5jIGNoIDEKYkhsIGxlIDEKdVdwIHF1IDEKZHhMIGRlIDEKenhHIHN6IDEKZFZuIGFuIDEKTmJoIHRoIDEKQ3hzIHN0IDEKY3ZHIGNoIDEKd0NmIHdhIDEKa2pDIGlqIDEKY2ZZIGNoIDEKemNmIGNoIDEKZHBXIGRlIDEKUHF5IHF1IDEKdGxOIHRoIDEKc0lpIGluIDEKcXhDIHF1IDEKS2ptIGlqIDEKelprIHN6IDEKRmtzIHN0IDEKZ1diIG5nIDEKdHFLIHRoIDEKSmx2IGxlIDEKa0NrIGthIDEKd2hUIHRoIDEKT3d2IHZhIDEKekttIHN6IDEKanFsIHF1IDEKdEd6IHRoIDEKZEN3IGRlIDEKeW1RIG1lIDEKeG5GIGFuIDEKd3VGIHF1IDEKcEZxIHF1IDEKanlTIGlqIDEKcGpYIGlqIDEKbE9qIGxlIDEKSm1kIGRlIDEKWnZ6IHN6IDEKanFNIHF1IDEKalRkIGRlIDEKcU9pIHF1IDEKb0pnIG5nIDEKTWp4IGlqIDEKVHBiIHByIDEKV3R2IHRoIDEKanhPIGlqIDEKZEJzIHN0IDEKdE52IHRoIDEKcVRiIHF1IDEKdm5VIGFuIDEKekR4IHN6IDEKcFNxIHF1IDEKeFJtIG1lIDEKcVVmIHF1IDEKbUJiIG1lIDEKcWpJIHF1IDEKc0l5IHN0IDEKZENnIG5nIDEKcUl4IHF1IDEKcFpwIHByIDEKcUR0IHRoIDEKeHJNIGVyIDEKdU9lIHF1IDEKeGdPIG5nIDEKZ3JYIG5nIDEKUGdnIG5nIDEKeVZxIHF1IDEKcUV1IHVuIDEKa0JjIGNoIDEKU2d6IG5nIDEKaGpYIHRoIDEKZ09xIHF1IDEKcG1XIG1lIDEKR253IGFuIDEKeFpsIGxlIDEKaFRkIHRoIDEKR2ZxIHF1IDEKc0xmIHN0IDEKUGdqIG5nIDEKdHdGIHRoIDEKbURrIGthIDEKcWRZIHF1IDEKdnNaIHN0IDEKdmNDIGNoIDEKRGNqIGNoIDEKd1VoIHRoIDEKcUlkIHF1IDEKcXJaIHF1IDEKY2JTIGNoIDEKWHpjIGNoIDEKdldqIGlqIDEKcHZDIHZhIDEKSnJ3IGVyIDEKeXhJIG55IDEKZHFJIHF1IDEKdUNtIHF1IDEKdlhkIGRlIDEKV2RwIGRlIDEKRHpjIGNoIDEKaGRWIHRoIDEKcWJPIHF1IDEKSndrIGthIDEKV3FtIHF1IDEKaVh3IGluIDEKZllsIGxlIDEKcXVRIHVuIDEKa2pEIGlqIDEKbUloIHRoIDEKeFd3IHdhIDEKb0N3IG9uIDEKWmN2IGNoIDEKamROIGRlIDEKdVliIHF1IDEKU3J4IGVyIDEKcGdVIG5nIDEKclFnIG5nIDEKbUhmIG1lIDEKZkJ0IHRoIDEKalZ4IGlqIDEKdlljIGNoIDEKVmdqIG5nIDEKcWFTIGFuIDEKcHhXIHByIDEKbW5KIGFuIDEKQnd3IHdhIDEKVHF6IHF1IDEKakZ2IGlqIDEKeHdNIHdhIDEKRHF3IHF1IDEKbXdJIG1lIDEKdmhXIHRoIDEKc3FYIHF1IDEKdGxSIHRoIDEKYUJoIHRoIDEKcW5aIGFuIDEKZ1hnIG5nIDEKc0NqIHN0IDEKZ3JOIG5nIDEKdFl2IHRoIDEKV3dnIG5nIDEKZllpIGluIDEKYnRGIHRoIDEKd1FuIGFuIDEKWmx0IHRoIDEKY0p6IGNoIDEKWGJuIGFuIDEKdExtIHRoIDEKWmx4IGxlIDEKTm1qIGlqIDEKaGNHIHRoIDEKV3JrIGVyIDEKTmhjIHRoIDEKdnFEIHF1IDEKdWpZIHF1IDEKaUpkIGluIDEKZExmIGRlIDEKY1FuIGNoIDEKV2Z4IGZvIDEKaGtaIHRoIDEKbWhDIHRoIDEKek1xIHF1IDEKekx6IHN6IDEKWGd0IHRoIDEKcUtyIHF1IDEKeWpKIGlqIDEKckptIGVyIDEKVnhjIGNoIDEKQnhuIGFuIDEKY25RIGNoIDEKcWtRIHF1IDEKTmx3IGxlIDEKaFd2IHRoIDEKd2RVIGRlIDEKcXRCIHRoIDEKcUllIHF1IDEKcWVZIHF1IDEKWnJwIGVyIDEKTmhkIHRoIDEKZkRwIHBvIDEKQ25qIGFuIDEKa3hVIGthIDEKQnF2IHF1IDEKdlhyIGVyIDEKa0J4IGthIDEKZkJuIGFuIDEKcE14IHByIDEKa3hSIGthIDEKTHpnIG5nIDEKakJoIHRoIDEKRmpuIGFuIDEKd3BDIHByIDEKZkt5IG55IDEKaHdEIHRoIDEKZnFmIHF1IDEKcUJ5IHF1IDEKWWNxIGNoIDEKTm5zIGFuIDEKam1aIGlqIDEKZ0t3IG5nIDEKZHFBIHF1IDEKQmpnIG5nIDEKZkd4IGZvIDEKTG5wIGFuIDEKd2hVIHRoIDEKcVBkIHF1IDEKeU14IG55IDEKd0VqIGlqIDEKa21KIGthIDEKUXN4IHN0IDEKbEN3IGxlIDEKUXFiIHF1IDEKaHZKIHRoIDEKeGtOIGthIDEKdVZnIHF1IDEKc1FtIHN0IDEKdUpwIHF1IDEKWXpuIGFuIDEKY1hoIHRoIDEKc3JJIGVyIDEKdEJ6IHRoIDEKY1JqIGNoIDEKeUl3IHdhIDEKakhnIG5nIDEKeEZwIHByIDEKd0pxIHF1IDEKcWRGIHF1IDEKdkt2IHZhIDEKc0hjIGNoIDEKaEJmIHRoIDEKakR5IGlqIDEKR2p4IGlqIDEKRmtkIGRlIDEKSGh6IHRoIDEKeFNnIG5nIDEKakZmIGlqIDEKcXZNIHF1IDEKb1J3IG9uIDEKeGdYIG5nIDEKZ2pGIG5nIDEKcUR6IHF1IDEKWWNmIGNoIDEKWGN3IGNoIDEKbmZRIGFuIDEKcUdzIHF1IDEKa0dzIHN0IDEKZnhWIGZvIDEKaVBqIGluIDEKcWdQIHF1IDEKakl2IGlqIDEKVmh1IHRoIDEKQnpqIHN6IDEKSnZnIG5nIDEKVmpmIGlqIDEKd1RxIHF1IDEKcER3IHByIDEKWXN2IHN0IDEKenRWIHRoIDEKbXRaIHRoIDEKakZ5IGlqIDEKZ3FDIHF1IDEKVnNnIG5nIDEKZ2pTIG5nIDEKdlh6IHN6IDEKYnBLIHByIDEKbkRxIGFuIDEKc0t4IHN0IDEKeFlnIG5nIDEKZlpkIGRlIDEKcHhmIHByIDEKanFTIHF1IDEKaFRiIHRoIDEKTmtxIHF1IDEKcXBIIHF1IDEKdkV6IHN6IDEKdnFQIHF1IDEKdkh3IHZhIDEKRGtwIGthIDEKY3FZIGNoIDEKbXFTIHF1IDEKc1Z0IHRoIDEKUHhoIHRoIDEKaHhOIHRoIDEKeVRmIG55IDEKd0NqIGlqIDEKcVF3IHF1IDEKVmZ2IHZhIDEKeVFkIGRlIDEKZ1VjIGNoIDEKd3NRIHN0IDEKZkd3IHdhIDEKd0tmIHdhIDEKd3dCIHdhIDEKdkZ0IHRoIDEKdHdRIHRoIDEKbnJCIGFuIDEKbHBZIGxlIDEKeGxSIGxlIDEKZmRLIGRlIDEKZUZ6IGVyIDEKanlRIGlqIDEKbHdUIGxlIDEKeEN3IHdhIDEKY2dNIGNoIDEKd3RWIHRoIDEKYXFKIGFuIDEKYlh1IHF1IDEKcWRRIHF1IDEKWXhkIGRlIDEKeGNTIGNoIDEKbm1WIGFuIDEKclFkIGVyIDEKR2xrIGxlIDEKcUVtIHF1IDEKdXZPIHF1IDEKc3ZGIHN0IDEKc0p4IHN0IDEKUXlnIG5nIDEKbVhoIHRoIDEKYnREIHRoIDEKd0djIGNoIDEKZlpvIG9uIDEKRXZ4IHZhIDEKdnpEIHN6IDEKdWZDIHF1IDEKUHhxIHF1IDEKcWR0IHRoIDEKckt6IGVyIDEKSmhoIHRoIDEKQ3hrIGthIDEKcXhSIHF1IDEKZ1RsIG5nIDEKcUdmIHF1IDEKd1loIHRoIDEKY0VoIHRoIDEKYnpVIHN6IDEKeldxIHF1IDEKcldiIGVyIDEKV3JwIGVyIDEKc0xjIGNoIDEKSnB1IHF1IDEKSmtmIGthIDEKdmdFIG5nIDEKQnFrIHF1IDEKb1FzIG9uIDEKa2JaIGthIDEKclZmIGVyIDEKcUx3IHF1IDEKTHJjIGNoIDEKeHNSIHN0IDEKaHdCIHRoIDEKUW5rIGFuIDEKY1B6IGNoIDEKVWNxIGNoIDEKZWdKIG5nIDEKUXlxIHF1IDEKWHdyIHByIDEKeGZEIGZvIDEKd3lIIHdhIDEKbEJ3IGxlIDEKTWR4IGRlIDEKUXN5IHN0IDEKenFWIHF1IDEKdnBZIHZhIDEKc2xZIGxlIDEKd2dMIG5nIDEKc25OIGFuIDEKaFZkIHRoIDEKeUt4IG55IDEKYmRXIGRlIDEKbHFMIHF1IDEKeWhEIHRoIDEKdE56IHRoIDEKekpnIG5nIDEKa0l4IGthIDEKZkhwIHByIDEKeXJKIGVyIDEKbHJSIGVyIDEKd3pZIHN6IDEKcGdCIHByIDEKbWZDIG1lIDEKcWtMIHF1IDEKalV1IHF1IDEKcUNoIHRoIDEKemxOIGxlIDEKQmdqIG5nIDEKZ2NFIGNoIDEKelJ4IHN6IDEKamhOIHRoIDEKZUd6IGVyIDEKRnBxIHF1IDEKV3ZpIGluIDEKbUJmIG1lIDEKaGhXIHRoIDEKb1VxIHF1IDEKZHhRIGRlIDEKV2hxIHRoIDEKck1rIGVyIDEKbFdkIGxlIDEKeFd6IHN6IDEKb1FuIGFuIDEKbVd4IG1lIDEKbnVWIGFuIDEKd1d6IHN6IDEKaHZSIHRoIDEKWndkIGRlIDEKc21KIHN0IDEKSGxoIHRoIDEKc0poIHRoIDEKem1ZIHN6IDEKaFpuIHRoIDEKVmpnIG5nIDEKSmh6IHRoIDEKbXFSIHF1IDEKaGNPIHRoIDEKZHFMIHF1IDEKQmZoIHRoIDEKcGtWIGthIDEKdEJ4IHRoIDEKSGtjIGNoIDEKS3FtIHF1IDEKcVd2IHF1IDEKbFh5IGxlIDEKeVJkIGRlIDEKbWpIIGlqIDEKcXpBIHF1IDEKcXhtIHF1IDEKUXZtIHZhIDEKZ2NNIGNoIDEKeHF4IHF1IDEKa0t2IGthIDEKeW9YIHBvIDEKeHJUIGVyIDEKY1dxIGNoIDEKanFXIHF1IDEKc1dqIHN0IDEKU2R3IGRlIDEKZGZSIGRlIDEKS3FuIGFuIDEKR2pkIGRvIDEKUWJkIGRlIDEKeXlLIG55IDEKeG1YIG1lIDEKeHVGIHF1IDEKeVZnIG5nIDEKcW9PIHF1IDEKR2xxIHF1IDEKTWt4IGthIDEKeExiIGJlIDEKZ01yIG5nIDEKc0NwIHN0IDEKYkdoIHRoIDEKY1hvIGNoIDEKelR6IHN6IDEKcWtDIHF1IDEKaFRwIHRoIDEKcU5mIHF1IDEKbVhrIGthIDEKeGNaIGNoIDEKalZtIGlqIDEKYklpIGluIDEKcW5IIGFuIDEKbndDIGFuIDEKZFNnIG5nIDEKcW9EIHF1IDEKdER4IHRoIDEKamRVIGRlIDEKWG13IG1lIDEKa05oIHRoIDEKallyIGVyIDEKWWdwIG5nIDEKYmxKIGxlIDEKbUZ2IHZhIDEKU3hyIGVyIDEKRnpsIGxlIDEKalRxIHF1IDEKY0lwIHByIDEKYWpZIGFuIDEKeVliIGJlIDEKcktiIGVyIDEKcHpCIHN6IDEKZUl5IGVyIDEKd2ZLIHdhIDEKRm1oIHRoIDEKdWZMIHF1IDEKWGxtIGxlIDEKQ3pnIG5nIDEKbFBxIHF1IDEKdHFWIHRoIDEKd0Z5IHdhIDEKYlFjIGNoIDEKa1Z3IGthIDEKbk1oIHRoIDEKY0NqIGNoIDEKb2VFIGVyIDEKd0hmIHdhIDEKZk5mIGZvIDEKbVh2IHZhIDEKTmtnIG5nIDEKaldjIGNoIDEKekZqIHN6IDEKS2Z4IGZvIDEKYmdZIG5nIDEKbFl6IGxlIDEKY2dEIGNoIDEKcGdNIG5nIDEKZmhIIHRoIDEKanJEIGVyIDEKandBIGlqIDEKanlNIGlqIDEKdnpDIHN6IDEKbFFkIGxlIDEKemNIIGNoIDEKbGJYIGxlIDEKdnpHIHN6IDEKbVNyIGVyIDEKeFlmIGZvIDEKcWdCIHF1IDEKallrIGlqIDEKZElxIHF1IDEKd3BHIHByIDEKaFZrIHRoIDEKVGpiIGlqIDEKenZQIHN6IDEKYlpnIG5nIDEKYkZnIG5nIDEKa2ZVIGthIDEKU3h6IHN6IDEKZndGIHdhIDEKUXdnIG5nIDEKZldiIGJlIDEKanFRIGlqIDEKVmZ4IGZvIDEKY0pqIGNoIDEKendKIHN6IDEKeEJnIG5nIDEKRGRtIGRlIDEKYld2IHZhIDEKenBHIHN6IDEKeHJRIGVyIDEKaGNTIHRoIDEKd0huIGFuIDEKaEl5IHRoIDEKWXhqIGlqIDEKc2RDIHN0IDEKeVZ1IHF1IDEKcWpmIHF1IDEKVHp5IHN6IDEKRmZuIGFuIDEKenpYIHN6IDEKSGR4IGRlIDEKZ0xnIG5nIDEKWXFnIHF1IDEKZkxiIGJlIDEKbFFjIGNoIDEKdmpHIGlqIDEKd3BMIHByIDEKY0pyIGNoIDEKYUpxIGFuIDEKWW5xIGFuIDEKV3ZjIGNoIDEKbEt5IGxlIDEKZVlxIHF1IDEKa3hMIGthIDEKZ0NiIG5nIDEKc1JkIHN0IDEKck1kIGVyIDEKQnZoIHRoIDEKa0tnIG5nIDEKd2xLIGxlIDEKbURkIGRlIDEKemtKIHN6IDEKdlJjIGNoIDEKWGxoIHRoIDEKcFJrIGthIDEKeHZOIHZhIDEKbnhJIGFuIDEKZkN4IGZvIDEKWWJ0IHRoIDEKRWJxIHF1IDEKYmtOIGthIDEKYlF5IGJlIDEKckR3IGVyIDEKZGpKIGRlIDEKdG1NIHRoIDEKbndIIGFuIDEKaEp6IHRoIDEKbGNNIGNoIDEKb3pWIG9uIDEKbUxkIGRlIDEKYktjIGNoIDEKZVpmIGVyIDEKRmhnIHRoIDEKWmNqIGNoIDEKcExyIGVyIDEKd3FzIHF1IDEKYlhpIGluIDEKdGdEIHRoIDEKaFFjIHRoIDEKekRwIHN6IDEKb0RnIG5nIDEKc2dNIG5nIDEKYm5EIGFuIDEKZ0hwIG5nIDEKV2tmIGthIDEKcUlzIHF1IDEKd0xkIGRlIDEKenROIHRoIDEKZ2RRIG5nIDEKd0NtIG93IDEKdlZmIHZhIDEKSm13IG1lIDEKaGJDIHRoIDEKc3JXIGVyIDEKbnhOIGFuIDEKcFZzIHN0IDEKdVdxIHF1IDEKaGdNIHRoIDEKbEJjIGNoIDEKd1VvIG9uIDEKZmxIIGxlIDEKeVdnIG5nIDEKampOIGlqIDEKVXduIGFuIDEKbllqIGFuIDEKbXROIHRoIDEKUGdwIG5nIDEKekZjIGNoIDEKb1h6IG9uIDEKaUNnIG5nIDEKTHBjIGNoIDEKR3FkIHF1IDEKclljIGNoIDEKdnFBIHF1IDEKVmhjIHRoIDEKem1GIHN6IDEKQnBjIGNoIDEKSmZxIHF1IDEKb1h2IG9uIDEKbGdYIG5nIDEKSmZ4IGZvIDEKenBTIHN6IDEKZ2NPIGNoIDEKeHdRIHdhIDEKcGtRIGthIDEKd09jIGNoIDEKV2dtIG5nIDEKY09qIGNoIDEKTmZ0IHRoIDEKcHFOIHF1IDEKcXNCIHF1IDEKeWRIIGRlIDEKcVJzIHF1IDEKeWtYIGthIDEKY0RxIGNoIDEKbWZVIG1lIDEKeHpNIHN6IDEKdkd0IHRoIDEKZnVXIHF1IDEKbHFHIHF1IDEKVHFwIHF1IDEKenZEIHN6IDEKd1diIHdhIDEKRnppIGluIDEKcXBLIHF1IDEKb3lxIHF1IDEKZ1FlIG5nIDEKWm13IG1lIDEKcVlwIHF1IDEKV3ZmIHZhIDEKYVFsIGFuIDEKb3FPIHF1IDEKZXFKIHF1IDEKbnZUIGFuIDEKZlVrIGthIDEKaWJIIGluIDEKanZaIGlqIDEKV3d6IHN6IDEKbGdZIG5nIDEKZUZwIGVyIDEKWGd4IG5nIDEKZllzIHN0IDEKa1pzIHN0IDEKdnBEIHZhIDEKcWNaIGNoIDEKQnFvIHF1IDEKakxiIGlqIDEKcndYIGVyIDEKZnlLIG55IDEKU3h2IHZhIDEKc3haIHN0IDEKd2tLIGthIDEKeUpwIHByIDEKdGpUIHRoIDEKcVB2IHF1IDEKeVpqIGlqIDEKUnJtIGVyIDEKbmhKIHRoIDEKdnFKIHF1IDEKeXhZIG55IDEKdnNFIHN0IDEKZmtLIGthIDEKZnVZIHF1IDEKelFvIG9uIDEKWHZyIGVyIDEKbU1xIHF1IDEKT3FtIHF1IDEKRHhzIHN0IDEKTHFhIGFuIDEKV25oIHRoIDEKam1HIGlqIDEKV3FhIGFuIDEKbWhUIHRoIDEKYmdaIG5nIDEKdm1PIHZhIDEKekZtIHN6IDEKS2hrIHRoIDEKeXFCIHF1IDEKblZ2IGFuIDEKUmZ0IHRoIDEKem1MIHN6IDEKaGREIHRoIDEKbldwIGFuIDEKdnZPIHZhIDEKZFlwIGRlIDEKb2hYIHRoIDEKcW9VIHF1IDEKcmpCIGVyIDEKRHdjIGNoIDEKYVdxIGFuIDEKY2xEIGNoIDEKVmRrIGRlIDEKdHdNIHRoIDEKZlp6IHN6IDEKd1FwIHByIDEKZHdEIGRlIDEKaVl2IGluIDEKQXd2IHZhIDEKcGdHIG5nIDEKWG9xIHF1IDEKa3JRIGVyIDEKVnhnIG5nIDEKbHdCIGxlIDEKUHh3IHdhIDEKSndmIHdhIDEKekxoIHRoIDEKYnRIIHRoIDEKcHdZIHByIDEKTWpkIGRlIDEKWHJoIHRoIDEKcVh1IHVuIDEKRXF5IHF1IDEKQnB5IHByIDEKem5ZIGFuIDEKUnFkIHF1IDEKblFmIGFuIDEKWnZ3IHZhIDEKempPIHN6IDEKd05kIGRlIDEKbElxIHF1IDEKdk1xIHF1IDEKR3F0IHRoIDEKbE1mIGxlIDEKSnFuIGFuIDEKZlZ3IHdhIDEKcXZRIHF1IDEKZUhrIGVyIDEKamJLIGlqIDEKZldzIHN0IDEKcVRrIHF1IDEKem5GIGFuIDEKeXhPIG55IDEKRnFyIHF1IDEKbkZiIGFuIDEKb0RwIG9uIDEKalVjIGNoIDEKcUhnIHF1IDEKZ0dxIHF1IDEKcVBzIHF1IDEKakh2IGlqIDEKSXdqIGlqIDEKdnpWIHN6IDEKeVVxIHF1IDEKalF0IHRoIDEKc0ZiIHN0IDEKTHZnIG5nIDEKelR0IHRoIDEKYnZLIHZhIDEKQ2N4IGNoIDEKanlBIGlqIDEKeUVqIGlqIDEKemRHIHN6IDEKdHFUIHRoIDEKcWJIIHF1IDEKbkhkIGFuIDEKSGhqIHRoIDEKalZiIGlqIDEKdUh3IHVuIDEKWmNrIGNoIDEKZ1BxIHF1IDEKbXhxIHF1IDEKd0hzIHN0IDEKZkR5IG55IDEKdGxWIHRoIDEKTHN2IHN0IDEKenZGIHZhIDEKbXF4IHF1IDEKbnFGIGFuIDEKeGdNIG5nIDEKZ3lxIHF1IDEKZ3JKIG5nIDEKalNxIHF1IDEKTW13IG1lIDEKQ2d4IG5nIDEKUmxyIGVyIDEKbXZHIHZhIDEKZnVBIHF1IDEKdVZoIHRoIDEKc016IHN0IDEKd1dyIGVyIDEKcXBEIHF1IDEKaFF3IHRoIDEKeEJjIGNoIDEKZmNXIGNoIDEKaHhMIHRoIDEKcmZLIGVyIDEKbUZuIGFuIDEKUW53IGFuIDEKdGpCIHRoIDEKUmt4IGthIDEKc3JFIGVyIDEKZHJHIGVyIDEKQ2Z5IG55IDEKeVp3IHdhIDEKV3h3IHdhIDEKekNwIHN6IDEKalp0IHRoIDEKTnFmIHF1IDEKamdPIG5nIDEKZldjIGNoIDEKcXJOIHF1IDEKTnpqIHN6IDEKSGp5IGlqIDEKVXh5IG55IDEKb0l5IG9uIDEKcmZYIGVyIDEKb0J3IG9uIDEKeXlWIG55IDEKUWl2IGluIDEKZEtoIHRoIDEKcURrIHF1IDEKdGdRIHRoIDEKeE53IHdhIDEKcWRMIHF1IDEKb3ZZIG9uIDEKZmJaIGJlIDEKcWlJIHF1IDEKYnZUIHZhIDEKallxIHF1IDEKa2JLIGthIDEKTWZuIGFuIDEKUnBkIGRlIDEKcEhiIHByIDEKcXFPIHF1IDEKdmtWIGthIDEKc1dwIHN0IDEKa1BmIGthIDEKcUx5IHF1IDEKcW9FIHF1IDEKd0xoIHRoIDEKemhWIHRoIDEKYnBMIHByIDEKVHFmIHF1IDEKcHpHIHN6IDEKa2NUIGNoIDEKd2pYIGlqIDEKa1B5IGt1IDEKZmRCIGRlIDEKUXhzIHN0IDEKZ1lmIG5nIDEKWXB4IHByIDEKelNrIHN6IDEKdERnIHRoIDEKeGJKIGJlIDEKeWZPIG55IDEKdVFmIHF1IDEKYnBRIHByIDEKZFhjIGNoIDEKbHdQIGxlIDEKdlRzIHN0IDEKSmxxIHF1IDEKQ3F3IHF1IDEKYld5IGJlIDEKY1VxIGNoIDEKWWJrIGthIDEKd3lxIHF1IDEKamhxIHRoIDEKeFV5IG55IDEKTmNqIGNoIDEKa01oIHRoIDEKdlp5IHZhIDEKemNxIGNoIDEKUXNyIGVyIDEKTGh4IHRoIDEKR2NqIGNoIDEKdVF0IHRoIDEKd1luIGFuIDEKZFltIGRlIDEKUXZ4IHZhIDEKUmNnIGNoIDEKcUd6IHF1IDEKYnhKIGJlIDEKakZnIG5nIDEKeExwIHByIDEKbERuIGFuIDEKd3FTIHF1IDEKYklxIHF1IDEKdEJtIHRoIDEKYlFzIHN0IDEKekpiIHN6IDEKamZKIGlqIDEKcVRjIGNoIDEKa2JYIGthIDEKSGx6IGxlIDEKcHVRIHF1IDEKaEtiIHRoIDEKckJiIGVyIDEKdnBXIHZhIDEKWWprIGlqIDEKV25tIGFuIDEKcFpyIGVyIDEKbGRaIGxlIDEKZ01tIG5nIDEKcFpmIHBpIDEKZVlwIGVyIDEKdlRwIHZhIDEKR2tjIGNoIDEKQ2d5IG5nIDEKcUR3IHF1IDEKZ3hXIG5nIDEKQ3d6IHN6IDEKamhZIHRoIDEKRnZrIGthIDEKbmZIIGFuIDEKemNXIGNoIDEKemdDIG5nIDEKRGZrIGthIDEKdnBKIHZhIDEKV3BqIGlqIDEKc0NiIHN0IDEKZmdGIG5nIDEKdFB4IHRoIDEKb0NwIG9uIDEKTnJ4IGVyIDEKSHdtIG1lIDEKZlJwIHByIDEKYWVYIGFuIDEKamRJIGRlIDEKc0J2IHN0IDEKdk92IHZhIDEKZ1F0IHRoIDEKV21rIGthIDEKUHFqIHF1IDEKa2hWIHRoIDEKSGtqIGlqIDEKaGJCIHRoIDEKdnpGIHN6IDEKWWJ6IHN6IDEKc1hiIHN0IDEKeVFyIGVyIDEKaGhWIHRoIDEKdGdXIHRoIDEKYlhvIG9uIDEKTnhwIHByIDEKYU94IGFuIDEKemZiIHN6IDEKUXhwIHByIDEKcXdRIHF1IDEKZmpWIGlqIDEKaGpZIGlqIDEKd3RYIHRoIDEKamdVIG5nIDEKbk1xIGFuIDEKTnd4IHdhIDEKdlBnIG5nIDEKWGZoIHRoIDEKeUZmIG55IDEKZkh6IHN6IDEKblpmIGFuIDEKalB0IHRoIDEKSmdiIG5nIDEKeEJiIGJpIDEKc2pPIHN0IDEKd0R4IHdhIDEKbmpOIGFuIDEKb2hGIHRoIDEKcHFSIHF1IDEKRnp3IHN6IDEKcXJVIHF1IDEKY2pHIGNoIDEKa0Z2IGthIDEKelFkIHN6IDEKdmJFIHZpIDEKVWp0IHRoIDEKcUliIHF1IDEKY0Z0IHRoIDEKYnZZIHZhIDEKU3pxIHF1IDEKd2xIIGxlIDEKcWNZIGNoIDEKZ0V3IG5nIDEKeGhMIHRoIDEKa1ZnIG5nIDEKYmZIIGJlIDEKTnJ6IGVyIDEKc0puIGFuIDEKYlduIGFuIDEKbnZLIGFuIDEKcWlIIHF1IDEKcWJTIHF1IDEKdnhCIHZhIDEKdHZUIHRoIDEKTnJoIHRoIDEKbFl4IGxlIDEKdGtYIHRoIDEKR3p4IHN6IDEKdkN4IHZpIDEKWmJqIGlqIDEKbVdwIG1lIDEKRHF4IHF1IDEKcGZFIHByIDEKaHZXIHRoIDEKRW94IG9uIDEKZGJaIGRlIDEKbE5iIGxlIDEKclRkIGVyIDEKbGpRIGxlIDEKVnZwIHZhIDEKZ0p3IG5nIDEKdXFXIHF1IDEKR2pmIGlqIDEKcERkIGRlIDEKc2dRIG5nIDEKaGtRIHRoIDEKZkpjIGNoIDEKbWRJIGRlIDEKR2NwIGNoIDEKcFhhIGFuIDEKcFFqIGlqIDEKYmdFIG5nIDEKS3p2IHN6IDEKY1BiIGNoIDEKSGN6IGNoIDEKZGpRIGRlIDEKcEdkIGRlIDEKZnlFIG55IDEKZEJiIGRlIDEKZVBqIGVyIDEKZmdPIG5nIDEKeFJxIHF1IDEKeHFLIHF1IDEKcEtwIHByIDEKeG1ZIG1lIDEKaGdPIHRoIDEKd2RHIGRlIDEKaHZaIHRoIDEKc3JGIGVyIDEKQnZmIHZpIDEKeXZEIHZhIDEKeFZnIG5nIDEKZllnIG5nIDEKYnFkIHF1IDEKZUZxIHF1IDEKY3daIGNoIDEKY3FHIGNoIDEKc0twIHN0IDEKaEpxIHRoIDEKdkxkIGRlIDEKaGRLIHRoIDEKcGNOIGNoIDEKdE5mIHRoIDEKeGxLIGxlIDEKckp4IGVyIDEKcWFOIGFuIDEKektmIHN6IDEKc05mIHN0IDEKcVB6IHF1IDEKYnpMIHN6IDEKSmR3IGRlIDEKblJiIGFuIDEKak5zIHN0IDEKdG5WIHRoIDEKeW5JIGFuIDEKdFpwIHRoIDEKZlpwIHByIDEKd01xIHF1IDEKT25xIGFuIDEKekloIHRoIDEKYnZIIHZhIDEKVXZjIGNoIDEKenhKIHN6IDEKVm1xIHF1IDEKdVBtIHF1IDEKbXdEIG1lIDEKalFjIGNoIDEKZ1BrIG5nIDEKdmZWIHZhIDEKVHFsIHF1IDEKYkpsIGxlIDEKbHdPIGxlIDEKd2JHIHdhIDEKZlRkIGRlIDEKWHRxIHRoIDEKaHpYIHRoIDEKUHp2IHN6IDEKUG14IG1lIDEKeFptIG1lIDEKakNwIGlqIDEKYkttIG1lIDEKVG1xIHF1IDEKSG5mIGFuIDEKa2pYIGlqIDEKdmdIIG5nIDEKZlNtIG1lIDEKeWxOIGxlIDEKZ3ZxIHF1IDEKalR6IHN6IDEKdFd3IHRoIDEKeXdCIHdhIDEKYkNxIHF1IDEKZE5rIGRlIDEKeUNxIHF1IDEKUnhqIGlqIDEKblRxIGFuIDEKZ0ZzIG5nIDEKWHdxIHF1IDEKZ0psIG5nIDEKdmNSIGNoIDEKZmJUIGJlIDEKRmNkIGNoIDEKV3htIG1lIDEKcXd2IHF1IDEKU2ZoIHRoIDEKbGNLIGNoIDEKc2JWIHN0IDEKZlNmIGZvIDEKbGJCIGxlIDEKT2N3IGNoIDEKamdNIG5nIDEKbmJJIGFuIDEKcXNLIHF1IDEKWHlmIG55IDEKcHh2IHZhIDEKbVJjIGNoIDEKT2dxIHF1IDEKenVZIHF1IDEKZlh1IHF1IDEKV2JqIGlqIDEKVGJ3IHdhIDEKenJSIGVyIDEKZ21QIG5nIDEKY0NtIGNoIDEKZ3RRIHRoIDEKcGhHIHRoIDEKcWpWIHF1IDEKeWdHIG5nIDEKd0ZiIHdhIDEKcnFMIHF1IDEKcVN4IHF1IDEKeWJLIGJlIDEKbXFKIHF1IDEKUXJxIHF1IDEKcWRJIHF1IDEKYmNHIGNoIDEKaUZiIGluIDEKbWNaIGNoIDEKdkN6IHN6IDEKeEh6IHR6IDEKaGpNIHRoIDEKcXRMIHRoIDEKdG1IIHRoIDEKc2xEIGxlIDEKdlJ6IHN6IDEKZ0NkIG5nIDEKWHhjIGNoIDEKcUtjIGNoIDEKc0l3IHN0IDEKZnNZIHN0IDEKeHJKIGVyIDEKdE5zIHRoIDEKZ2JEIG5nIDEKd0xsIGxlIDEKaEZmIHRoIDEKTnhpIGluIDEKZlJiIGJlIDEKSnJiIGVyIDEKakVxIHF1IDEKaHdNIHRoIDEKdVZ3IHF1IDEKZmdOIG5nIDEKbUFvIG9uIDEKUGpiIGlqIDEKbnBQIGluIDEKSmN5IGNoIDEKeUpiIGJpIDEKanhJIGlqIDEKS2tjIGNoIDEKa3dWIGthIDEKZ1JmIG5nIDEKV2ZtIG1lIDEKVGRwIHBvIDEKd0V6IHN6IDEKTHZrIGthIDEKRHFuIGFuIDEKdHFMIHRoIDEKakpxIHF1IDEKdmRDIGRlIDEKaHhVIHRoIDEKeFVlIGVyIDEKdFFjIHRoIDEKTHprIHN6IDEKZFRqIGRlIDEKVGx6IGxlIDEKeFF3IHdhIDEKRmNxIGNoIDEKd2dFIG5nIDEKQ2tkIGRlIDEKeUtzIHN0IDEKeHdTIHdhIDEKd1J0IHRoIDEKZ2tLIG5nIDEKaFF2IHRoIDEKc0xwIHN0IDEKakFpIGluIDEKZG1HIGRlIDEKaktuIGFuIDEKcVViIHF1IDEKd1h5IHdhIDEKYnpKIHN6IDEKZ3pKIG5nIDEKaE56IHRoIDEKeWdZIG5nIDEKcWhVIHRoIDEKYWZYIGFuIDEKalp3IGlqIDEKWGR4IGRlIDEKVGR4IGRlIDEKak5uIGFuIDEKdlhmIHZhIDEKcWNFIGNoIDEKTW53IGFuIDEKcURoIHRoIDEKVGRqIGRlIDEKZGdKIG5nIDEKc2RSIHN0IDEKcUduIGFuIDEKTWpqIGlqIDEKc3hIIHN0IDEKUHB6IHN6IDEKZ2ZWIG5nIDEKZk95IG55IDEKTnZ4IHZpIDEKcWFWIGFuIDEKeGpsIGxlIDEKeGdaIG5nIDEKY0d2IGNoIDEKWnh1IHF1IDEKTWZwIHByIDEKekZwIHN6IDEKamdKIG5nIDEKYnBHIHByIDEKdkt6IHN6IDEKaHFJIHRoIDEKUWd3IG5nIDEKUXl5IG55IDEKam1JIGlqIDEKVmdkIG5nIDEKeEN0IHRoIDEKeVZzIHN0IDEKdUVxIHF1IDEKZGNOIGNoIDEKQnpiIHN6IDEKZ1ZsIG5nIDEKc1hnIG5nIDEKa1FmIGthIDEKbHJZIGVyIDEKVnRkIHRoIDEKbkhzIGFuIDEKd2pOIGlqIDEKcnpKIGVyIDEKc1l5IHN0IDEKd3hRIHdhIDEKWnRiIHRoIDEKdFdmIHRoIDEKdEN4IHRoIDEKYUZiIGFuIDEKbHFmIHF1IDEKZmVaIGVyIDEKZlB6IHN6IDEKY2pZIGNoIDEKd0toIHRoIDEKUWh5IHRoIDEKZENqIGRlIDEKYmtIIGthIDEKeWpEIGlqIDEKalRzIHN0IDEKaHhJIHRoIDEKbHZLIHZpIDEKTHd6IHN6IDEKc3dRIHN0IDEKZFRrIGRpIDEKZnNPIHN0IDEKbGpFIGxlIDEKd2pNIGlqIDEKdVFrIHF1IDEKeFBnIG5nIDEKdm1DIHZhIDEKcXNEIHF1IDEKZ0R3IG5nIDEKd0prIGthIDEKWnBxIHF1IDEKWWhnIHRoIDEKa05jIGNoIDEKYldsIGxlIDEKRndoIHRoIDEKZkh4IGZvIDEKRm52IGFuIDEKZmRMIGRlIDEKb3FEIHF1IDEKYVl4IGFuIDEKVnF4IHF1IDEKdktmIHZhIDEKQ2J3IHdhIDEKdnlxIHF1IDEKY3FaIGNoIDEKUmZoIHRoIDEKU3djIGNoIDEKcU5pIHF1IDEKcW9XIHF1IDEKamhEIHRoIDEKa0pxIHF1IDEKZ2RGIG5nIDEKcHZGIHZhIDEKY3BWIGNoIDEKcXRDIHRoIDEKZ1dtIG5nIDEKZ1BjIGNoIDEKakJzIHN0IDEKcmxWIGVyIDEKZ1pjIGNoIDEKa1RrIGthIDEKaGZKIHRoIDEKU3Z2IHZhIDEKa21HIGthIDEKc0RxIHF1IDEKaEdiIHRoIDEKQmxxIHF1IDEKUXJ5IGVyIDEKaEh6IHRoIDEKeUx4IG55IDEKbHFGIHF1IDEKd2JCIGJpIDEKaVlyIGluIDEKd0R6IHR6IDEKeHNKIHN0IDEKYnpZIHN6IDEKcE13IHByIDEKVXVqIHF1IDEKaHhLIHRoIDEKWHZmIHZhIDEKa3JaIGVyIDEKZndWIHdhIDEKZ1B3IG5nIDEKcVZuIGFuIDEKUW5xIGFuIDEKZ0RiIG5nIDEKaFZyIHRoIDEKektoIHRoIDEKRnh5IG55IDEKb1pqIG9uIDEKekF5IHN6IDEKak1tIGlqIDEKbXZJIHZhIDEKRndtIG1lIDEKenFsIHF1IDEKZVZ2IGVyIDEKeVdxIHF1IDEKTHdrIGthIDEKTG13IG1lIDEKdlhiIHZhIDEKWGhzIHRoIDEKaGxSIHRoIDEKUXF3IHF1IDEKemJLIHN6IDEKUHhsIGxlIDEKblBtIGFuIDEKd1FvIG9uIDEKRGNiIGNoIDEKaGpUIHRoIDEKcmpKIGVyIDEKYk1jIGNoIDEKaVliIGluIDEKRnFqIHF1IDEKVW9xIHF1IDEKWHZwIHZhIDEKTHdiIHdhIDEKSnBkIGRlIDEKcVVnIHF1IDEKbEp4IGxlIDEKWHdkIGRlIDEKeEtmIGZvIDEKWm5xIGFuIDEKcUNiIHF1IDEKWmJ6IHN6IDEKUXV4IHF1IDEKcU5xIHF1IDEKZnZWIHZhIDEKUXF6IHF1IDEKSGRmIGRlIDEKeVN4IG55IDEKcVNtIHF1IDEKTGhiIHRoIDEKTXZmIHZhIDEKY0RwIGNoIDEKYkhxIHF1IDEKV21nIG5nIDEKeXRHIHRoIDEKZGJKIGRlIDEKRmZnIG5nIDEKaHZNIHRoIDEKV3F5IHF1IDEKZ1hkIG5nIDEKdUZnIHF1IDEKanBSIGlqIDEKWGNjIGNoIDEKVGJwIHByIDEKUXdxIHF1IDEKdFBwIHRoIDEKZk1oIHRoIDEKcWlWIHF1IDEKZGNCIGNoIDEKZEZ4IGRlIDEKWW1qIGlqIDEKTGRxIHF1IDEKbHhWIGxlIDEKY0NrIGNoIDEKaFZ4IHRoIDEKZGxUIGxlIDEKa2hQIHRoIDEKcVZnIHF1IDEKTGpqIGlqIDEKekN2IHN6IDEKeXdWIHdhIDEKeWJaIGJlIDEKdkdoIHRoIDEKQnZqIGlqIDEKWnFxIHF1IDEKR3drIGthIDEKcUxxIHF1IDEKZmtYIGthIDEKTmJ6IHN6IDEKYlhtIG1lIDEKZFFoIHRoIDEKdVlkIHF1IDEKeFlzIHN0IDEKelNzIHN0IDEKeWNaIGNoIDEKbG5VIGFuIDEKdENqIHRoIDEKeG5ZIGFuIDEKcHRRIHRoIDEKc3dPIHN0IDEKaFh1IHRoIDEKbUJ3IG1iIDEKd21GIG1lIDEKeEp4IHhlIDEKZFhqIGRlIDEKZXFnIHF1IDEKbkJmIGFuIDEKWGJkIGRlIDEKZmNRIGNoIDEKeGtTIGthIDEKdE9xIHRoIDEKdVFiIHF1IDEKY3ZWIGNoIDEKc0JoIHRoIDEKZENrIGRlIDEKY0t2IGNoIDEKY1ZmIGNoIDEKd1p4IHdhIDEKQnZtIHZhIDEKbHFKIHF1IDEKZnhSIGZvIDEKdm1GIHZhIDEKeG5xIGFuIDEKYkJnIG5nIDEKdFBkIHRoIDEKZk5zIHN0IDEKRmtwIGthIDEKWXllIGVyIDEKVWJxIHF1IDEKeHpQIHN6IDEKZm1RIG1lIDEKcWNBIGNoIDEKeUtjIGNoIDEKeHZaIHZhIDEKY2JOIGNoIDEKeVlsIGxlIDEKUG13IG1lIDEKd0Z4IHdhIDEKaFJoIHRoIDEKcXBTIHF1IDEKVnFmIHF1IDEKR2hnIHRoIDEKV3ZxIHF1IDEKeGtDIGthIDEKeXRNIHRoIDEKTG5oIHRoIDEKZHhEIGRlIDEKYk13IHdhIDEKeHZVIHZhIDEKUXp4IHN6IDEKc3JNIGVyIDEKdkxnIG5nIDEKY0dxIGNoIDEKVm15IG1lIDEKaGNMIHRoIDEKcEt4IHByIDEKSnhzIHN0IDEKYmxXIGxlIDEKcFFvIG9uIDEKYkVxIHF1IDEKZld0IHRoIDEKc1ltIHN0IDEKbkt3IGFuIDEKZHRGIHRoIDEKa1R6IHN6IDEKZXBYIGVyIDEKZkNwIHByIDEKYkZrIGthIDEKUnpiIHN6IDEKdnFJIHF1IDEKWmhjIHRoIDEKSHZ2IHZhIDEKbVZ0IHRoIDEKSXd4IHdhIDEKcGhSIHRoIDEKd05iIHdhIDEKZlJjIGNoIDEKbGpxIHF1IDEKbHZZIGxlIDEKamNBIGNoIDEKZEd3IGRlIDEKQ3FuIGFuIDEKbUJ4IG1lIDEKTW14IG1lIDEKVnhhIGFuIDEKWGh3IHRoIDEKZXFLIHF1IDEKdEN3IHRoIDEKenZVIHN6IDEKbHhRIGxlIDEKdk12IHZhIDEKZ3FBIHF1IDEKSmJuIGFuIDEKZ0NqIG5nIDEKb1RmIG9uIDEKa2JXIGthIDEKcWpZIHF1IDEKUnFmIHF1IDEKaFloIHRoIDEKeWhFIHRoIDEKZ1lqIG5nIDEKamNJIGNoIDEKcXZKIHF1IDEKcW9DIHF1IDEKcUZjIGNoIDEKcXFIIHF1IDEKTnhxIHF1IDEKd1ZvIG9uIDEKekh2IHN6IDEKeWJTIGJlIDEKSHdjIGNoIDEKTXhhIGFuIDEKeGtMIGthIDEKcW1PIHF1IDEKcWJSIHF1IDEKWmZ5IG55IDEKUmtmIGthIDEKdmdWIG5nIDEKaEJ3IHRoIDEKcFh4IHByIDEKYnJRIGVyIDEKZnZPIHZhIDEKaERjIHRoIDEKeFFhIGFuIDEKd2ZGIHdhIDEKaFp4IHRoIDEKSmd6IG5nIDEKcW5ZIGFuIDEKcVhsIGxlIDEKZU5iIGVyIDEKZnhTIGZvIDEKc05rIHN0IDEKbUZjIGNoIDEKVXV4IHF1IDEKWWRnIG5nIDEKb3pXIG9uIDEKWHpkIGRlIDEKSmZlIGVyIDEKRnR4IHRoIDEKdnpSIHN6IDEKd1prIGthIDEKb0h6IG9uIDEKcXZUIHF1IDEKcW9BIHF1IDEKU2RxIHF1IDEKdHhXIHRoIDEKRWdmIG5nIDEKZE1mIGRlIDEKUmhoIHRoIDEKdlJuIGFuIDEKdWpYIHF1IDEKZlJqIGlqIDEKZ2pBIG5nIDEKZ0RnIG5nIDEKc21aIHN0IDEKaklkIGRlIDEKcWtNIHF1IDEKYkt6IHN6IDEKc0NnIG5nIDEKdVRwIHF1IDEKbFZzIGxlIDEKdVFvIHF1IDEKSmZzIHN0IDEKdkttIHZhIDEKalFoIHRoIDEKZlVmIGZvIDEKdVRmIHF1IDEKQm52IGFuIDEKdGRVIHRoIDEKZHhZIGRlIDEKaGdWIHRoIDEKWmRmIGRlIDEKaHFTIHRoIDEKZUpnIG5nIDEKcUd1IHVuIDEKdm1FIHZhIDEKZ0t6IG5nIDEKbVVnIG5nIDEKVmp5IGlqIDEKdXZKIHF1IDEKbUhyIGVyIDEKTWh2IHRoIDEKenNaIHN0IDEKVnp5IHN6IDEKaktiIGlqIDEKelBwIHN6IDEKcWdEIHF1IDEKWGhmIHRoIDEKT2dwIG5nIDEKandYIGlqIDEKbFl5IGxlIDEKcXpEIHF1IDEKd1hqIGpvIDEKS3B4IHByIDEKeWRZIGRlIDEKdkJxIHF1IDEKWnBwIHByIDEKYkRkIGRlIDEKRmprIGlqIDEKa2RBIGRlIDEKeld0IHRoIDEKd1NkIGRlIDEKa0ZkIGRlIDEKU3hsIGxlIDEKRnZoIHRoIDEKcGJSIHByIDEKcXJEIHF1IDEKdlpzIHN0IDEKdlVtIHZhIDEKd0V5IHdhIDEKampIIGpvIDEKc0RnIG5nIDEKVWpjIGNoIDEKa25JIGFuIDEKZk9hIGFuIDEKQ2pnIG5nIDEKdGJWIHRoIDEKZ3FkIHF1IDEKZVB4IGVyIDEKd1JtIG1lIDEKcHZHIHZhIDEKUXlsIGxlIDEKY3dHIGNoIDEKRHRxIHRoIDEKUGJ6IHN6IDEKUmdxIHF1IDEKZmpVIGlqIDEKakpmIGlqIDEKUnhxIHF1IDEKSnR4IHRoIDEKcXZaIHF1IDEKa0ttIGthIDEKaEZtIHRoIDEKa2NYIGNoIDEKZk5tIG1lIDEKYnBCIHByIDEKeHFZIHF1IDEKaFl5IHRoIDEKZ0dwIG5nIDEKVmZzIHN0IDEKd0R0IHRoIDEKYlRzIHN0IDEKaGZWIHRoIDEKcXpwIHF1IDEKeVV2IHZhIDEKcUdjIGNoIDEKVmRsIGxlIDEKWGp0IHRoIDEKa01qIGlqIDEKaFRnIHRoIDEKSGxjIGNoIDEKdEt6IHRoIDEKV3Z0IHRoIDEKbE16IGxlIDEKTXd4IHdhIDEKV2x2IGxlIDEKeHpHIHN6IDEKZ21EIG5nIDEKek9pIGluIDEKYmJJIGJlIDEKYnBJIHByIDEKZlFnIG5nIDEKcFF2IHZhIDEKdkViIHZhIDEKakZ6IHN6IDEKV2hmIHRoIDEKanZRIGlqIDEKcVl4IHF1IDEKcnhNIGVyIDEKdlBwIHZhIDEKZmpEIGlqIDEKVnd5IHdhIDEKWXFjIGNoIDEKdGNXIHRoIDEKallnIG5nIDEKZ0piIG5nIDEKVGtjIGNoIDEKcWhqIHRoIDEKanhGIGlqIDEKRnB6IHN6IDEKa1hoIHRoIDEKbGdaIG5nIDEKem5JIGFuIDEKcXlOIHF1IDEKdkJqIGlqIDEKalN4IGlqIDEKY3FJIGNoIDEKcVl2IHF1IDEKWnJyIGVyIDEKc0hyIGVyIDEKdnJLIGVyIDEKcGJIIHByIDEKelZoIHRoIDEKZFFiIGRlIDEKbHhGIGxlIDEKc2dXIG5nIDEKR2hmIHRoIDEKeHBxIHF1IDEKcWhOIHRoIDEKRnNmIHN0IDEKUWdhIGFuIDEKUmRwIGRlIDEKZnZLIHZhIDEKWWR6IGRlIDEKd3ZXIHZhIDEKY1BtIGNoIDEKY1F5IGNoIDEKeXdGIHdhIDEKWXBxIHF1IDEKUnNqIHN0IDEKWWd3IG5nIDEKeFZwIHByIDEKeXhMIG55IDEKWXdsIGxlIDEKak1jIGNoIDEKelRsIGxlIDEKYUlxIGFuIDEKcVFpIHF1IDEKdHFJIHRoIDEKSHZwIHZhIDEKd1FkIGRlIDEKaGZHIHRoIDEKY1RkIGNoIDEKYmZRIGJlIDEKS2ZkIGRlIDEKY1hzIGNoIDEKdll4IHZhIDEKUW9jIHJvIDEKdnJMIGVyIDEKcFprIGthIDEKY2RYIGNoIDEKWWduIGFuIDEKbG5PIGFuIDEKbWZZIG1lIDEKZm5WIGFuIDEKbWJaIG1lIDEKZ2JFIG5nIDEKeGpaIGlqIDEKRnB5IHByIDEKbnBFIGFuIDEKUnh5IG55IDEKb1dwIG9uIDEKaFZoIHRoIDEKeUpmIG55IDEKc1FkIHN0IDEKWnZnIG5nIDEKYkRtIG1lIDEKcEx2IHZhIDEKd3dGIHdhIDEKeEJoIHRoIDEKcUttIHF1IDEKd1h4IHdhIDEKSXV4IHF1IDEKZGdCIG5nIDEKZ0pwIG5nIDEKcWd4IHF1IDEKZk5oIGhvIDEKY3ZFIGNoIDEKY2dIIGNoIDEKbE5zIGxlIDEKdkRqIGlqIDEKemNHIGNoIDEKZlpuIG9uIDEKdVV4IHF1IDEKY2xRIGxlIDEKZmRIIGRlIDEKZVpqIGVyIDEKVnFjIGNoIDEKUmN4IGNoIDEKakdoIHRoIDEKcXpNIHN6IDEKUXB3IHByIDEKU3B4IHByIDEKY0d4IGNoIDEKY3FBIGNoIDEKdmJLIHZhIDEKeGVXIGVyIDEKdmtDIGthIDEKeHpCIHN6IDEKeHVSIHF1IDEKT3lxIHF1IDEKTXF4IHF1IDEKcXFqIHF1IDEKeXFZIHF1IDEKY3dMIGNoIDEKcFB0IHRoIDEKZFN4IGRlIDEKZFBrIGRlIDEKdXpIIHF1IDEKZnZIIHZhIDEKcGNIIGNoIDEKaGxZIGxlIDEKcXRYIHRoIDEKTnZzIHN0IDEKaHZMIHRoIDEKelJrIHN6IDEKdE5qIHRoIDEKRGJ2IHZhIDEKaktjIGNoIDEKZEt5IGRlIDEKeVZ6IHN6IDEKaXFKIHF1IDEKemdKIG5nIDEKZUpzIGVyIDEKd094IHdhIDEKclhoIHRoIDEKSHFwIHF1IDEKdld4IHZhIDEKYlR0IHRoIDEKZkN5IG55IDEKYU9xIGFuIDEKb0NnIG5nIDEKcG5FIGFuIDEKRndjIGNoIDEKenJUIGVyIDEKeEhzIHN0IDEKeWRYIGRlIDEKZGtWIGRlIDEKUnF5IHF1IDEKWnlxIHF1IDEKa1hsIGxlIDEKb0p0IHRoIDEKc3hJIHN0IDEKcVp3IHF1IDEKenF4IHF1IDEKY2xaIGNoIDEKc3dYIHN6IDEKYUh3IGFuIDEKcldjIGNoIDEKY1FwIGNoIDEKSndqIGlqIDEKcWVWIHF1IDEKc1FqIHN0IDEKUnBiIHByIDEKbVpxIHF1IDEKckJ4IGVyIDEKbXhWIG1lIDEKTXZ5IG55IDEKY1JsIGNoIDEKRnp2IHN6IDEKcEJzIHN6IDEKaldzIHN0IDEKdnFLIHF1IDEKSXhsIGxlIDEKeWh3IHRoIDEKd3lRIHdhIDEKdUNiIHF1IDEKenJGIHN6IDEKaXlRIGluIDEKcXNQIHF1IDEKaExyIGVyIDEKY3ZYIGNoIDEKU2NxIGNoIDEKenJMIGVyIDEKZWNVIGNoIDEKVnh6IHN6IDEKZkNxIHF1IDEKb3ZYIG9uIDEKVXFuIGFuIDEKc1Z3IHN0IDEKc3BYIHN0IDEKUWt2IGthIDEKZnlXIG55IDEKckJjIGNoIDEKbWRDIGRlIDEKV2prIGlqIDEKalloIHRoIDEKaFhxIHRoIDEKeGttIGthIDEKaGhVIHRoIDEKRHZ6IHN6IDEKdGNxIHRoIDEKd1p5IHdhIDEKanRDIHRoIDEKcW5EIGFuIDEKdm1CIHZhIDEKa2pCIGlqIDEKY2RHIGNoIDEKVmt0IHRoIDEKaE5xIHRoIDEKSmZ0IHRoIDEKaVd2IGluIDEKV3RuIHRoIDEKbGZFIGxlIDEKZFpiIGRlIDEKZXFRIHF1IDEKZ1VxIHF1IDEKcXdMIHF1IDEKaFVxIHRoIDEKaEdjIHRoIDEKbndYIGFuIDEKTmJ0IHRoIDEKampQIGlqIDEKc3FKIHF1IDEKbFFmIGxlIDEKalp6IHN6IDEKd1duIGFuIDEKTXh1IHF1IDEKcUZpIHF1IDEKbWpYIGlqIDEKdkR4IHZhIDEKdkRuIGFuIDEKd1VjIGNoIDEKemhVIHRoIDEKekh3IHN6IDEKVGpsIGxlIDEKeHVYIHF1IDEKalpwIGlqIDEKd1ZjIGNoIDEKZ0ZwIG5nIDEKR3lxIHF1IDEKSmxoIHRoIDEKQmtmIGthIDEKaGhKIHRoIDEKdHZXIHRoIDEKYkl5IG55IDEKTGxnIG5nIDEKekp6IHN6IDEKcWVRIHF1IDEKbmxYIGFuIDEKdGNRIHRoIDEKcXRVIHRoIDEKZmtXIGthIDEKZ0prIG5nIDEKZ1F5IG5nIDEKc1B6IHN0IDEKYm1PIG1lIDEKWXR4IHRoIDEKeXFGIHF1IDEKaUJrIGluIDEKdXpWIHF1IDEKeE5wIHByIDEKelJ6IHN6IDEKcUhxIHF1IDEKeXVZIHF1IDEKanFoIHRoIDEKeEJkIGRlIDEKdnZBIHZhIDEKZVZqIGVyIDEKekdwIHN6IDEKdmNCIGNoIDEKa3BIIGthIDEKbUR3IG1lIDEKdnVHIHF1IDEKdlZ5IG55IDEKbXpTIHN6IDEKanZNIGlqIDEKc2ZWIHN0IDEKaFFxIHRoIDEKd1RtIG1lIDEKUGxxIHF1IDEKZnhKIGZvIDEKcVFxIHF1IDEKRm53IGFuIDEKcUpvIHF1IDEKTnNnIG5nIDEKTGp4IGlqIDEKc1JiIHN0IDEKcGNZIGNoIDEKdlZtIHZhIDEKc1FnIG5nIDEKWXd6IHN6IDEKaHFKIHRoIDEKc2pLIHN0IDEKWmtzIHN0IDEKTWp0IHRoIDEKRHdoIHRoIDEKd2JOIHdhIDEKbXZLIHZhIDEKckxwIGVyIDEKTGJtIG1lIDEKd2pPIGlqIDEKbFF6IGxlIDEKS3dmIHdhIDEKcW1CIHF1IDEKWGJ2IHZhIDEKY0txIGNoIDEKaHFSIHRoIDEKeVZiIGJlIDEKeGNGIGNoIDEKRXd2IHZhIDEKR3BxIHF1IDEKR2JoIHRoIDEKeUhqIGlqIDEKZ1hrIG5nIDEKcU94IHF1IDEKS2J3IHdhIDEKcUh4IHF1IDEKd2pQIGlqIDEKalFsIGxlIDEKRmZxIHF1IDEKb1liIG9uIDEKRnFvIHF1IDEKd1h6IHN6IDEKZklwIHByIDEKcE1mIHByIDEKbnFQIGFuIDEKYmJaIGJlIDEKaHNYIHRoIDEKV2pyIGVyIDEKWnFuIGFuIDEKUHhiIGJlIDEKQnpzIHN0IDEKcGJJIHByIDEKWXZwIHZhIDEKanhNIGlqIDEKanlaIGlqIDEKbXpKIHN6IDEKdllnIG5nIDEKcU1tIHF1IDEKZmhMIHRoIDEKcU9nIHF1IDEKTW5wIGFuIDEKSWZ2IHZhIDEKcVltIHF1IDEKZ3h2IG5nIDEKemZHIHN6IDEKZnFHIHF1IDEKbExxIHF1IDEKaGtLIHRoIDEKb1lrIG9uIDEKbFJnIGxlIDEKbE94IGxlIDEKVnh2IHZhIDEKcUFzIHF1IDEKdEtrIHRoIDEKbGhGIHRoIDEKZEN2IGRlIDEKd3ZZIHZhIDEKd2lWIGluIDEKY3JGIGNoIDEKZkVwIHByIDEKUnJsIGVyIDEKWmp5IGlqIDEKcWJZIHF1IDEKa013IGthIDEKdlppIGluIDEKRnhpIGluIDEKemtTIHN6IDEKdktiIHZhIDEKemJJIHN6IDEKdUhnIHF1IDEKcXpHIHF1IDEKak1rIGlqIDEKRmtjIGNoIDEKZEttIGRlIDEKbkhoIHRoIDEKeEdjIGNoIDEKcXBVIHF1IDEKcmNVIGNoIDEKYVd4IGFuIDEKeGRTIGRlIDEKcWhWIHRoIDEKYUhjIGNoIDEKdm1JIHZhIDEKV2NjIGNoIDEKekJuIGFuIDEKa1FlIGVyIDEKYXdKIGFuIDEKeGREIGRlIDEKeVp4IG55IDEKS2tkIGRlIDEKd0J6IHN6IDEKbHpBIGxlIDEKeXlUIG55IDEKcWVLIHF1IDEKenBFIHN6IDEKekZuIGFuIDEKeXlHIG55IDEKbEx3IGxlIDEKYnZTIHZhIDEKbXZYIHZhIDEKaGxXIHRoIDEKcGdYIG5nIDEKbFF0IHRoIDEKeW1ZIG1lIDEKbWpKIGlqIDEKbVZjIGNoIDEKWHFzIHF1IDEKYktyIGVyIDEKYkh0IHRoIDEKalJ2IGlqIDEKTHB3IHByIDEKelBiIHN6IDEKd2tSIGthIDEKa3hTIGthIDEKaldmIGlqIDEKTmt4IGthIDEKS2NqIGNoIDEKYkpiIGJlIDEKeHdaIHdhIDEKUnFjIGNoIDEKUXpnIG5nIDEKandIIGlqIDEKRHFkIHF1IDEKdkxmIHZhIDEKaFhkIHRoIDEKY2ZEIGNoIDEKc2pYIHN0IDEKaHpJIHRoIDEKcVVkIHF1IDEKdFN4IHRoIDEKaHhBIHRoIDEKZ3hLIG5nIDEKaFZtIHRoIDEKeXpYIHN6IDEKVWNzIGNoIDEKcWFIIGFuIDEKWWZ5IG55IDEKc0pnIG5nIDEKaUhwIGluIDEKaXlDIGluIDEKVGpmIGlqIDEKZEpwIGRlIDEKSmd2IG5nIDEKdUpmIHF1IDEKbk5sIGFuIDEKemRBIHN6IDEKeElxIHF1IDEKcWpLIHF1IDEKdnpZIHN6IDEKd3F2IHF1IDEKWHZ4IHZhIDEKZkpyIGVyIDEKbnFIIGFuIDEKcUdkIHF1IDEKdlFnIG5nIDEKaVF6IGluIDEKdExuIHRoIDEKbFZqIGxlIDEKdnFXIHF1IDEKenJOIGVyIDEKeEt6IHN6IDEKd2FWIGFuIDEKWWRxIHF1IDEKZGtxIHF1IDEKZkNuIGFuIDEKWGN5IGNoIDEKcElsIGxlIDEKaFhsIHRoIDEKYUZzIGFuIDEKaXdNIGluIDEKR3d4IHdhIDEKWGxwIGxlIDEKUWZ1IHF1IDEKanFFIHF1IDEKbHFQIHF1IDEKa1ZxIHF1IDEKeHFKIHF1IDEKTXpmIHN6IDEKbU53IG1lIDEKV3N2IHN0IDEKZm5NIGFuIDEKdVNmIHF1IDEKaENmIHRoIDEKempIIHN6IDEKbVRzIHN0IDEKald6IHN6IDEKRHhrIGthIDEKWnRkIHRoIDEKUnZ2IHZhIDEKZ0J4IG5nIDEKTHp4IHN6IDEKZXpVIGVyIDEKanFIIHF1IDEKUmpoIHRoIDEKRGNnIGNoIDEKYkJoIHRoIDEKZmhPIHRoIDEKaHBIIHRoIDEKWnFhIGFuIDEKa0N4IGthIDEKclJ2IGVyIDEKZGtaIGRlIDEKR2d4IG5nIDEKcFFoIHRoIDEKR2N2IGNoIDEKU2NnIGNoIDEKdkRiIHZhIDEKcGJEIHByIDEKdkVoIHRoIDEKdmxFIGxlIDEKUmpsIGxlIDEKbEZ3IGxlIDEKenFOIHF1IDEKYVBxIGFuIDEKZ2pEIG5nIDEKamNFIGNoIDEKd1N3IHdhIDEKRGdqIG5nIDEKaHVaIHRoIDEKZ1B2IG5nIDEKcEpqIGlqIDEKY1FoIHRoIDEKbXdxIHF1IDEKdnBBIHZhIDEKaEdmIHRoIDEKY1h6IGNoIDEKTGNiIGNoIDEKZkptIG1lIDEKUXp5IHN6IDEKelFtIHN6IDEKSGhuIHRoIDEKeGRZIGRlIDEKdVlsIHF1IDEKWGtqIGlqIDEKanZBIGlqIDEKSnZwIHZhIDEKaXdaIGluIDEKemtxIHF1IDEKTmhiIHRoIDEKa21WIGthIDEKcUtkIHF1IDEKQmNxIGNoIDEKcGZZIHByIDEKcVVqIHF1IDEKZ3FSIHF1IDEKZ3dPIG5nIDEKZ1htIG5nIDEKakhoIHRoIDEKckJuIGFuIDEKdVB3IHF1IDEKcEprIGthIDEKSXBqIGlqIDEKeXFNIHF1IDEKWXFuIGFuIDEKS2J6IHN6IDEKdmZMIHZhIDEKbnBaIGFuIDEKb3FZIHF1IDEKWnFmIHF1IDEKanpVIHN6IDEKdk54IHZhIDEKaFhmIHRoIDEKZkNnIG5nIDEKbnpKIGFuIDEKbUtqIGlqIDEKd21CIG1lIDEKV2pxIHF1IDEKRGJxIHF1IDEKelh5IHN6IDEKeFl3IHdhIDEKZlFmIGZvIDEKZHFQIHF1IDEKS3hxIHF1IDEKamRaIGRlIDEKcXJYIHF1IDEKTHhiIGJlIDEKeWZMIG55IDEKeVltIG1lIDEKc2JIIHN0IDEKd2xWIGxlIDEKdUtwIHF1IDEKaGhOIHRoIDEKWHhxIHF1IDEKakxnIG5nIDEKblFoIHRoIDEKV3FwIHF1IDEKTnFkIHF1IDEKamZEIGlqIDEKSm5xIGFuIDEKQnpuIGFuIDEKbUpyIGVyIDEKcWFYIGFuIDEKcEp3IHByIDEKakh6IHN6IDEKeWFYIGFuIDEKV2hzIHRoIDEKaFlyIHRoIDEKdG1TIHRoIDEKRmh5IHRoIDEKR2dkIG5nIDEKWG15IG1lIDEKUnFoIHRoIDEKRnNuIGFuIDEKcWhBIHRoIDEKZmhYIHRoIDEKSHF4IHF1IDEKd0lvIG9uIDEKSWJ4IGJlIDEKY0Z4IGNoIDEKZFJnIG5nIDEKc25WIGFuIDEKa3F6IHF1IDEKZXFPIGVyIDEKR2t6IHN6IDEKTm56IGFuIDEKeXFFIHF1IDEKY0poIHRoIDEKeHZBIHZhIDEKcU14IHF1IDEKZHdTIGRlIDEKeUFqIGlqIDEKeENxIHF1IDEKZ21FIG5nIDEKYmhQIHRoIDEKcndFIGVyIDEKWG56IGFuIDEKVWh3IHRoIDEKeG5SIGFuIDEKbmZaIGFuIDEKUXB4IHByIDEKcXhPIHF1IDEKbEd0IHRoIDEKcVJjIGNoIDEKUnd4IHdhIDEKdGNNIHRoIDEKZkJkIGRlIDEKUmpjIGNoIDEKZGZZIGRlIDEKaGhSIHRoIDEKYkNqIGlqIDEKZnFMIHF1IDEKbHpTIGxlIDEKTHJtIGVyIDEKZXFFIHF1IDEKdmdMIG5nIDEKd1FyIGVyIDEKYndCIHdhIDEKbEdmIGxlIDEKTndxIHF1IDEKc2RVIHN0IDEKWnh2IHZhIDEKeURtIG1lIDEKTHN3IHN0IDEKY05xIGNoIDEKRHFjIGNoIDEKdkx6IHN6IDEKZFd2IGRlIDEKZmtRIGthIDEKempEIHN6IDEKeVl2IHZhIDEKcWVUIHF1IDEKY3ZMIGNoIDEKd2tBIGthIDEKTnZiIHZhIDEKZGpNIGRlIDEKaGdLIHRoIDEKcFhiIHByIDEKVGx3IGxlIDEKUmh6IGhhIDEKd2tQIGthIDEKd0RrIGthIDEKZUZjIGNoIDEKZWhVIHRoIDEKWGx5IGxlIDEKd3hLIHdhIDEKZFB3IGRlIDEKc0ZkIHN0IDEKdmNJIGNoIDEKRnhkIGRlIDEKZnZSIHZhIDEKanFzIHF1IDEKck1qIGVyIDEKcWJXIHF1IDEKa3BQIGthIDEKQnZ3IHZhIDEKVG1rIGthIDEKaGJQIHRoIDEKaE14IHRoIDEKamdMIG5nIDEKZWZVIGVyIDEKY1FiIGNoIDEKbWNBIGNoIDEKRXdxIHF1IDEKeG1WIG1lIDEKUWNxIGNoIDEKbXpHIHN6IDEKcEttIG1lIDEKRndxIHF1IDEKbFJuIGFuIDEKalBrIGlqIDEKak1iIGlqIDEKbXpPIHN6IDEKb0Z3IG9uIDEKaEpiIHRoIDEKc1ZxIHF1IDEKaVZ6IGluIDEKb3FVIHF1IDEKYmhXIHRoIDEKT3hxIHF1IDEKbVFrIGthIDEKWGZiIGJlIDEKY053IGNoIDEKZmdaIG5nIDEKVHZmIHZhIDEKc0l4IHN0IDEKdVpzIHF1IDEKeHpYIHN6IDEKWWxxIHF1IDEKb0hmIG9uIDEKY3NVIGNoIDEKUXpzIHN0IDEKQmZxIHF1IDEKeUpuIGFuIDEKcGdRIG5nIDEKd3hrIGthIDEKVG53IGFuIDEKYkt4IGJlIDEKYnFYIHF1IDEKUWpzIHN0IDEKcEZoIHRoIDEKWHZsIGxlIDEKa2ZCIGthIDEKbVpsIGxlIDEKQ3NnIG5nIDEKdnJKIGVyIDEKR2Z5IG55IDEKamJQIGlqIDEKWXZsIGxlIDEKSHhiIGJlIDEKbHJEIGVyIDEKcVRsIHF1IDEKYUJjIGNoIDEKZkdiIGJlIDEKbWhTIHRoIDEKelRwIHN6IDEKa1JkIGRlIDEKV3BoIHRoIDEKTnBqIGlqIDEKbHdTIGxlIDEKbUdtIG1lIDEKbnFUIGFuIDEKVWpuIGFuIDEKeGpPIGlqIDEKZE16IHN6IDEKd0tqIGlqIDEKeVpyIGVyIDEKTmpiIGlqIDEKWWxyIGVyIDEKbVZmIG1lIDEKZ1pnIG5nIDEKSGNiIGNoIDEKeGNCIGNoIDEKa01tIGthIDEKbHdDIGxlIDEKRG5mIGFuIDEKaGpXIHRoIDEKclRrIGVyIDEKVnpqIHN6IDEKVnh5IG55IDEKd2xRIGxlIDEKTnJ2IGVyIDEKcGpQIGlqIDEKZndaIHdhIDEKdG5XIHRoIDEKb0p3IG9uIDEKa0p4IGthIDEKVnBqIGlqIDEKcUF3IHF1IDEKUWh0IHRoIDEKYkNuIGFuIDEKdnJVIGVyIDEKaFJjIHRoIDEKY2xDIGNoIDEKckZkIGVyIDEKdHdIIHRoIDEKa0N3IGthIDEKbVNkIGRlIDEKWG53IGFuIDEKZlhtIG1lIDEKVHdmIHdhIDEKRndqIGlqIDEKYmpKIGlqIDEKbGJRIGxlIDEKa3ZTIGthIDEKU216IHN6IDEKZkJwIHByIDEKTnp6IHN6IDEKYlFwIHByIDEKdkx4IHZhIDEKaFZmIHRoIDEKeVVqIGlqIDEKY1pkIGNoIDEKZ0l5IGVnIDEKaFZxIHRoIDEKYVF4IGFuIDEKUWZ2IHZhIDEKbEtiIGxlIDEKemhOIHRoIDEKWmJtIG1lIDEKR2NxIGNoIDEKZ2JUIG5nIDEKcFlrIGthIDEKWHZkIGRlIDEKeE1sIGxlIDEKdUhiIHF1IDEKYlhmIGJlIDEKc05jIGNoIDEKcVZ5IHF1IDEKY3BPIGNoIDEKRmdiIG5nIDEKZVdsIGVyIDEKa0tkIGRlIDEKQ2JqIGlqIDEKbWZIIG1lIDEKcUlhIGFuIDEKc2ZYIHN0IDEKc25IIGFuIDEKSGpnIG5nIDEKTG1mIG1lIDEKeGdmIG5nIDEKRXZ3IHZhIDEKd09rIGthIDEKSGpmIGlqIDEKenVKIHF1IDEKZlptIG1lIDEKbE5xIHF1IDEKeFVnIG5nIDEKbkxzIGFuIDEKamtTIGlqIDEKR3ZwIHZhIDEKalBkIGRlIDEKeXdRIHdhIDEKcXJHIHF1IDEKYmJIIGJlIDEKZ2hKIHRoIDEKbU1oIHRoIDEKWXZ0IHRoIDEKeExxIHF1IDEKQmRxIHF1IDEKekpkIHN6IDEKeFJzIHN0IDEKdmdQIG5nIDEKSGhiIHRoIDEKbnBMIGFuIDEKdkZwIHZhIDEKaFNqIHRoIDEKYmRDIGRlIDEKa0dnIG5nIDEKa1ZmIGthIDEKcXZQIHF1IDEKa3dPIGthIDEKSnF0IHRoIDEKeld4IHN6IDEKc1FrIHN0IDEKaG5WIHRoIDEKcnJEIGVyIDEKalZoIHRoIDEKdnZZIHZhIDEKYmZJIGJlIDEKZlN6IHN6IDEKQ3pmIHN6IDEKa1dsIGxlIDEKakpjIGNoIDEKR3dqIGlqIDEKbEZoIHRoIDEKVnBmIGZvIDEKZmtWIGthIDEKY1lqIGNoIDEKbXJXIGVyIDEKaEJiIHRoIDEKaEp4IHRoIDEKd0lxIHF1IDEKY2RBIGNoIDEKd1F5IHdhIDEKd0NxIHF1IDEKd3FaIHF1IDEKamZYIGlqIDEKanRHIHRoIDEKeGtKIGthIDEKUXpmIHN6IDEKZ0tzIG5nIDEKUXpvIG9uIDEKYndJIHdhIDEKVHNiIHN0IDEKdnZYIHZhIDEKamxSIGxlIDEKcWxRIHF1IDEKZGJYIGRlIDEKSGZjIGNoIDEKQnNqIHN0IDEKWXFrIHF1IDEKWG5jIGNoIDEKYnpaIHN6IDEKZEd0IHRoIDEKWGdnIG5nIDEKandFIHdhIDEKT3ljIGNoIDEKcFFkIGRlIDEKalJ5IGlqIDEKcG1YIG1lIDEKbFp4IGxlIDEKZ0ZxIHF1IDEKbUpkIGRlIDEKc0txIHF1IDEKSWtqIGlqIDEKemtHIHN6IDEKd0dmIHdhIDEKcVJwIHF1IDEKeERuIGFuIDEKZ3ZMIG5nIDEKbUd4IG1lIDEKaUlqIGluIDEKR3pkIHN6IDEKYkx4IGJlIDEKalVsIGxlIDEKUXZjIGNoIDEKbVZoIHRoIDEKdWhGIHRoIDEKZlZrIGthIDEKY25NIGNoIDEKdUZoIHRoIDEKbVhmIG1lIDEKckNiIGVyIDEKbkx3IGFuIDEKdmZIIGZvIDEKaXFWIHF1IDEKcWhEIHRoIDEKc0h4IHN0IDEKWXd5IHdhIDEKbUR4IG1lIDEKY0J0IHRoIDEKQm1xIHF1IDEKeFJjIGNoIDEKYlN6IHN6IDEKdkNqIGlqIDEKVGN2IGNoIDEKYVpxIGFuIDEKSmN4IGNoIDEKbmJGIGFuIDEKUXpiIHN6IDEKdmtRIGthIDEKaHpEIHRoIDEKeEhwIHByIDEKaHFYIHRoIDEKZkV2IHZhIDEKeWpGIGlqIDEKUGprIGlqIDEKc2ZVIHN0IDEKYkdjIGNoIDEKbWNYIGNoIDEKcFhjIGNoIDEKeXZTIHZhIDEKcE1sIGxlIDEKd0pzIHN0IDEKVndxIHF1IDEKeUN3IHdhIDEKcWRzIHF1IDEKclJqIGVyIDEKUWh2IHRoIDEKdWNHIGNoIDEKb0VoIHRoIDEKd1FpIGluIDEKbFNnIG5nIDEKTHF0IHRoIDEKbmxIIGFuIDEKdXFHIHF1IDEKT2FvIGFuIDEKaGxYIHRoIDEKZlB3IHdhIDEKdEliIHRoIDEKeklxIHF1IDEKcW1HIHF1IDEKeEptIG1lIDEKVmd3IG5nIDEKVWt4IGthIDEKenRIIHRoIDEKbGhQIHRoIDEKSnRrIHRoIDEKSHpkIHN6IDEKeXhRIG55IDEKbnJQIGFuIDEKZkhoIHRoIDEKWWN0IHRoIDEKR3FhIGFuIDEKRmd5IG5nIDEKb0JuIGFuIDEKdnVDIHF1IDEKQm56IGFuIDEKdlB1IHF1IDEKeEZmIGZvIDEKamRKIGRlIDEKZkdmIGZvIDEKWWpxIHF1IDEKUWpwIGlqIDEKeFRqIGlqIDEKdk9xIHF1IDEKdkx3IHZhIDEKc01mIHN0IDEKb1ZsIG9uIDEKY3dOIGNoIDEKc2dSIG5nIDEKampRIGlqIDEKd3pSIHN6IDEKemhZIHRoIDEKdmJSIHZhIDEKd2dXIG5nIDEKcXdYIHF1IDEKTnh3IHdhIDEKZVFvIGVyIDEKbVFwIG1lIDEKS3FoIHRoIDEKdHZBIHRoIDEKZGxKIGxlIDEKeVZ4IG55IDEKc1BmIHN0IDEKZFF6IHN6IDEKc1piIHN0IDEKemhTIHRoIDEKa1diIGthIDEKbXFQIHF1IDEKRmZrIGthIDEKeHFsIHF1IDEKZ3FIIHF1IDEKVGx5IGxlIDEKa3BMIGthIDEKcUVnIHF1IDEKYk1nIG5nIDEKeFJqIGlqIDEKeHNDIHN0IDEKamxTIGxlIDEKbHpNIGxlIDEKUGZiIGJlIDEKdUp2IHF1IDEKeVZmIG55IDEKWmdxIHF1IDEKeGJTIGJlIDEKb0ZoIHRoIDEKeHZiIHZhIDEKaGNVIHRoIDEKd3dVIHdhIDEKeUNnIG5nIDEKbVB6IHN6IDEKc0pkIHN0IDEKYm1OIG1lIDEKdVZjIGNoIDEKcWRTIHF1IDEKVndwIHByIDEKVm1sIGxlIDEKSHF5IHF1IDEKTGZ6IHN6IDEKQXlqIGlqIDEKeXhLIG55IDEKSHd2IHZhIDEKZ0lwIG5nIDEKWmd0IHRoIDEKWHR3IHRoIDEKaExmIHRoIDEKTmtkIGRlIDEKak1zIHN0IDEKeEZ0IHRoIDEKeEJ3IHdhIDEKd0hkIGRlIDEKUXp6IHN6IDEKZ1l0IHRoIDEKUHZrIGthIDEKcHZZIHZhIDEKSnh0IHRoIDEKdWdRIHF1IDEKTHFxIHF1IDEKeGxMIGxlIDEKd01iIHdhIDEKU2J6IHN6IDEKdkV2IHZhIDEKcWZ6IHF1IDEKZ2NTIGNoIDEKdENxIHRoIDEKeUhwIHByIDEKemtGIHN6IDEKeHVLIHF1IDEKVGJmIGJlIDEKSXBnIG5nIDEKWXprIHN6IDEKUXd6IHN6IDEKcEZqIGlqIDEKalBtIGlqIDEKRHBxIHF1IDEKcEp6IHN6IDEKd3BOIHByIDEKd3pFIHN6IDEKZ3FEIHF1IDEKWHdtIG1lIDEKb1F4IG9uIDEKbENwIGxlIDEKTWhrIHRoIDEKZFRxIHF1IDEKeFV3IHdhIDEKaGdFIHRoIDEKZ2NCIGNoIDEKaHBKIHRoIDEKbXFLIHF1IDEKZ0JuIGFuIDEKaEl2IHRoIDEKbHFEIHF1IDEKd1B4IHdhIDEKc010IHRoIDEKeVh3IHdhIDEKaktxIHF1IDEKTHJ6IGVyIDEKSHdqIGlqIDEKeWZXIG55IDEKWXl1IHF1IDEKcVlzIHF1IDEKeXZSIHZhIDEKc1J6IHN0IDEKS3l4IG55IDEKbnhSIGFuIDEKY2RKIGNoIDEKTndjIGNoIDEKdGJFIHRoIDEKb2VaIGVyIDEKYmNRIGNoIDEKU3diIHdhIDEKSWtxIHF1IDEKQnZ6IHN6IDEKemhGIHRoIDEKWHF5IHF1IDEKa0tiIGthIDEKV2RrIGRlIDEKd3BQIHByIDEKa1F5IGthIDEKQnFlIHF1IDEKcWZaIHF1IDEKcFB3IHByIDEKQW9oIHRoIDEKcGxKIGxlIDEKWW52IGFuIDEKak1oIHRoIDEKYlFnIG5nIDEKYWZNIGFuIDEKanZPIGlqIDEKZUhmIGVyIDEKaFFnIHRoIDEKa3FZIHF1IDEKekpxIHF1IDEKcFloIHRoIDEKcWVNIHF1IDEKS3BrIGthIDEKa2ZXIGthIDEKV2RzIHN0IDEKYk5jIGNoIDEKdkJ4IHZhIDEKc3VKIHF1IDEKcUV4IHF1IDEKcmZaIGVyIDEKb0hnIG5nIDEKZUZ3IGVyIDEKZlBwIHByIDEKa0RiIGthIDEKdFpuIHRoIDEKZGNLIGNoIDEKeVd2IHZhIDEKVXh2IHZhIDEKeVFlIGVyIDEKWmpxIHF1IDEKV2p2IGlqIDEKeWdPIG5nIDEKb2pRIG9uIDEKS3djIGNoIDEKcEZnIG5nIDEKc01kIHN0IDEKTWZxIHF1IDEKTXp5IHN6IDEKTndwIHByIDEKeXdUIHdhIDEKd0xxIHF1IDEKSHFtIHF1IDEKcXNDIHF1IDEKYk5uIGFuIDEKYlV2IHZhIDEKblJjIGNoIDEKUmxrIGxlIDEKQnFwIHF1IDEKY2ZJIGNoIDEKbVZxIHF1IDEKcUdqIHF1IDEKdmxYIGxlIDEKa2ZHIGthIDEKd1ZkIGRlIDEKY2RFIGNoIDEKaHpFIHRoIDEKRGh2IHRoIDEKYnpqIHN6IDEKdnZMIHZhIDEKYnpRIHN6IDEKd1ZiIHdhIDEKWnhsIGxlIDEKekx3IHN6IDEKaFRxIHRoIDEKVnFwIHF1IDEKaG1XIHRoIDEKZmxEIGxlIDEKS2NkIGNoIDEKcERxIHF1IDEKa3ZZIGthIDEKY1FsIGNoIDEKSXhrIGthIDEKc0dmIHN0IDEKZ0ZoIHRoIDEKUmtkIGRlIDEKcUhsIHF1IDEKckNnIG5nIDEKcUJuIGFuIDEKc0p3IHN0IDEKY1dqIGNoIDEKelhwIHN6IDEKSGhsIHRoIDEKaGpQIHRoIDEKcWxaIHF1IDEKSHhyIGVyIDEKenJFIGVyIDEKZ2tIIG5nIDEKdUhrIHF1IDEKR3ptIHN6IDEKY0JjIGNoIDEKemZmIHN6IDEKekxzIHN0IDEKVXF5IHF1IDEKdmtEIGthIDEKZnFYIHF1IDEKaExqIHRoIDEKZll1IHF1IDEKakt3IGlqIDEKakliIGlqIDEKbnJVIGFuIDEKZkZwIHByIDEKc2JDIHN0IDEKbUd2IHZhIDEKZlhwIHByIDEKUGt2IGthIDEKQ3FlIHF1IDEKY0N4IGNoIDEKck5xIHF1IDEKWndmIHdhIDEKSmdjIGNoIDEKeGxRIGxlIDEKZ0J6IG5nIDEKY0l4IGNoIDEKb2RRIG9uIDEKUW56IGFuIDEKVXp4IHN6IDEKSnB0IHRoIDEKZ3hYIG5nIDEKWmtkIGRlIDEKWGtrIGthIDEKaFJ2IHRoIDEKeWNWIGNoIDEKek1tIHN6IDEKZUJxIHF1IDEKZ0hkIG5nIDEKYnhVIGJlIDEKeGRLIGRlIDEKbVFjIGNoIDEKdFlqIHRoIDEKaGxGIHRoIDEKY1J6IGNoIDEKbEd6IGxlIDEKekZ6IHplIDEKcU9wIHF1IDEKR2djIGNoIDEKb0dtIG9uIDEKWG5wIGFuIDEKd1lnIG5nIDEKd3VKIHF1IDEKc05zIHN0IDEKenFVIHF1IDEKa0NwIGthIDEKV2h3IHRoIDEKblF4IGFuIDEKdndBIHZhIDEKVmNnIGNoIDEKa1dqIGlqIDEKSHFkIHF1IDEKQ3B5IHByIDEKemNMIGNoIDEKY2ZGIGNoIDEKa1huIGFuIDEKYVhqIGFuIDEKU3drIGthIDEKZmhxIHRoIDEKVnhpIGluIDEKR3F1IHVuIDEKVXhkIGRlIDEKemRLIHN6IDEKaFpxIHRoIDEKbXdKIG1lIDEKY3ZEIGNoIDEKbGJaIGxlIDEKUHpsIGxlIDEKaGRPIHRoIDEKaEpuIHRoIDEKcVdwIHF1IDEKZFh5IGRlIDEKZnVVIHF1IDEKZlh5IG55IDEKeG5MIGFuIDEKZ01mIG5nIDEKck5mIGVyIDEKeFFoIHRoIDEKa3FIIHF1IDEKckZ6IGVyIDEKdnBUIHZhIDEKTnd5IHdhIDEKeXFBIHF1IDEKdmhPIHRoIDEKa1ZoIHRoIDEKblliIGFuIDEKanZOIGlqIDEKYklmIGJlIDEKcXFTIHF1IDEKamJGIGlqIDEKZ01rIG5nIDEKYlRkIGRlIDEKUmhkIHRoIDEKdFdxIHRoIDEKZ0x6IG5nIDEKZnNEIHN0IDEKdU10IHRoIDEKeUhxIHF1IDEKWGdqIG5nIDEKTG1tIG1lIDEKdmtVIGthIDEKbEF4IGxlIDEKS3pkIHN6IDEKaEttIHRoIDEKa1FkIGRlIDEKZ0ZjIGNoIDEKd3lYIHdhIDEKemZVIHN6IDEKeHBVIHByIDEKeXdKIHdhIDEKQXlxIHF1IDEKZ0l1IHF1IDEKenVRIHF1IDEKVmZuIGFuIDEKdkJuIGFuIDEKSHR5IHRoIDEKZ1J2IG5nIDEKcFRiIHByIDEKVXF4IHF1IDEKdlRuIGFuIDEKdkpjIGNoIDEKVWl3IGluIDEKSmxwIGxlIDEKelBxIHF1IDEKckN4IGVyIDEKbHFTIHF1IDEKemxaIGxlIDEKek93IHN6IDEKa2xLIGxlIDEKa2ZRIGthIDEKdUp4IHF1IDEKcGtQIGthIDEKR3F6IHF1IDEKSmxjIGNoIDEKeXlEIG55IDEKamhYIHRoIDEKY3JWIGNoIDEKRHd3IHdhIDEKeWp3IGlqIDEKcXBYIHF1IDEKUW1kIGRlIDEKeVd6IHN6IDEKd1BkIGRlIDEKVXFrIHF1IDEKbmJSIGFuIDEKWWRjIGNoIDEKcVFsIHF1IDEKcG1EIG1lIDEKSmtqIGthIDEKalRrIGthIDEKd1lmIHdhIDEKWnp4IHN6IDEKcmtRIGVyIDEKYkRwIHByIDEKcVNzIHF1IDEKZ1hyIG5nIDEKY1piIGNoIDEKTmdwIG5nIDEKaHFRIHRoIDEKV3Z3IHZhIDEKV2J3IHdhIDEKd3ZLIHZhIDEKY0pmIGNoIDEKTXdkIGRlIDEKZGRKIGRlIDEKaXdFIGluIDEKYnhYIGJlIDEKanhUIGlqIDEKWWNuIGNoIDEKd01mIHdhIDEKYnFEIHF1IDEKeXFJIHF1IDEKZFJqIGRlIDEKd1l5IHdhIDEKVHh6IHN6IDEKdnJOIGVyIDEKcVZ1IHVuIDEKbVJqIGlqIDEKRmp4IGlqIDEKZnlRIG55IDEKeGVJIGVyIDEKV3FmIHF1IDEKSmx5IGxlIDEKakRiIGlqIDEKWXp1IHF1IDEKQnhtIG1lIDEKd0xqIGlqIDEKYnFjIGNoIDEKc2dLIG5nIDEKa3FXIHF1IDEKWnNuIGFuIDEKRnFxIHF1IDEKclh6IGVyIDEKbEpxIHF1IDEKakVoIHRoIDEKbkNiIGFuIDEKWHJkIGVyIDEKUnpoIHRoIDEKZ2ZXIG5nIDEKWHRsIHRoIDEKbVR4IG1lIDEKdWZBIHF1IDEKd2pRIGlqIDEKeGxXIGxlIDEKZHFIIHF1IDEKeGhNIHRoIDEKWHd0IHRoIDEKZG5XIGFuIDEKUmZ6IHN6IDEKZktwIHByIDEKa0Z3IGthIDEKUXV2IHF1IDEKbVh3IG1lIDEKVmt3IGthIDEKdEZoIGNoIDEKaEl1IHRoIDEKbFRmIGxlIDEKTXd2IHZhIDEKd3ZUIHZhIDEKa0twIGthIDEKdFJ2IHRoIDEKd1hvIG9uIDEKdnpMIHN6IDEKSmNmIGNoIDEKVGJxIHF1IDEKamRRIGRlIDEKUmJ4IGJlIDEKSnJtIGVyIDEKc1JqIHN0IDEKeld6IHN6IDEKcW5FIGFuIDEKS2NmIGNoIDEKUXFtIHF1IDEKZnBJIHByIDEKaU53IGluIDEKdWpFIHF1IDEKcUh2IHF1IDEKSnZ4IHZhIDEKaEhjIHRoIDEKZnZKIHZhIDEKbnFZIGFuIDEKd3BFIHdhIDEKSHdzIHN0IDEKeHpJIHN6IDEKQ2dnIG5nIDEKY1dkIGNoIDEKcXVWIHVuIDEKYmpOIGlqIDEKeFFwIHByIDEKYnhFIGJlIDEKdVZrIHF1IDEKV3JsIGVyIDEKTHJ4IGVyIDEKSXdsIGxlIDEKYXFCIGFuIDEKVmNwIGNoIDEKV3d0IHRoIDEKYUd4IGFuIDEKZlBuIGFuIDEKbUZxIHF1IDEKcWdkIHF1IDEKWnNkIHN0IDEKVnhzIHN6IDEKS2hxIHRoIDEKd1NzIHN0IDEKb0dxIHF1IDEKWXp2IHN6IDEKZHFYIHF1IDEKbXBRIG1lIDEKS2NwIGNoIDEKc3dEIHN0IDEKclpnIG5nIDEKalltIGlqIDEKdUpsIHF1IDEKdld2IHZhIDEKc3ZPIHN0IDEKcEZkIGRlIDEKWWp4IGlqIDEKdHBJIHRoIDEKZFZ0IHRoIDEKc05tIHN0IDEKbEt0IHRoIDEKbnZVIGFuIDEKSHhmIGZvIDEKcHVXIHF1IDEKd0pnIG5nIDEKZ3hSIG5nIDEKZkFnIG5nIDEKWXFlIHF1IDEKUHd6IHN6IDEKaG1DIHRoIDEKeWxKIGxlIDEKbXFUIHF1IDEKY0NmIGNoIDEKcFpnIG5nIDEKYUZ4IGFuIDEKb1lxIHF1IDEKZlBqIGlqIDEKZEp0IHRoIDEKeHduIGFuIDEKQ2NiIGNoIDEKd0ZuIGFuIDEKd3JZIGVyIDEKQ2RoIHRoIDEKaExjIHRoIDEKWnhnIG5nIDEKTXhjIGNoIDEKaGNZIHRoIDEKelZ3IHN6IDEKaGtWIHRoIDEKdHhFIHRoIDEKeXZUIHZhIDEKTWx3IGxlIDEKenRGIHRoIDEKZkdkIGRlIDEKempFIHN6IDEKZ2pNIG5nIDEKandQIGlqIDEKS3h0IHRoIDEKeUZnIG5nIDEKV2NnIGNoIDEKdGhaIGNoIDEKaHpRIHRoIDEKSnRnIHRoIDEKeXZLIHZhIDEKelZ6IHN6IDEKUHdiIHdhIDEKeHFEIHF1IDEKdXlRIHF1IDEKZ0NtIG5nIDEKempVIHN6IDEKeEdxIHF1IDEKTXF5IHF1IDEKT2N4IGNoIDEKc3FNIHF1IDEKbFJiIGxlIDEKdGZVIHRoIDEKdlpnIG5nIDEKZlpjIGNoIDEKZ3BaIG5nIDEKRnBmIHByIDEKcXRRIHRoIDEKbWhaIHRoIDEKYnFGIHF1IDEKZmdHIG5nIDEKd29UIG9uIDEKelNiIHN6IDEKd3hTIHdhIDEKV3JmIGVyIDEKT3FrIHF1IDEKeExjIGNoIDEKUXpqIHN6IDEKd1hrIGthIDEKdGRYIHRoIDEKSnFjIGNoIDEKZlhrIGthIDEKa0JkIGRlIDEKaXFXIHF1IDEKT2NiIGNoIDEKZlVvIG9uIDEKalhrIGlqIDEKaGJJIHRoIDEKWmNnIGNoIDEKendTIHdhIDEKY1ZtIGNoIDEKdndqIGlqIDEKZ3dHIG5nIDEKenNNIHN0IDEKUHFvIHF1IDEKaFBqIHRoIDEKZndHIHdhIDEKWHdoIHRoIDEKV3doIHRoIDEKVnF3IHF1IDEKdm1ZIHZhIDEKdXZGIHF1IDEKdGZLIHRoIDEKWGJnIG5nIDEKTmZuIGFuIDEKd3BIIHByIDEKeUpxIHF1IDEKd3FPIHF1IDEKbmNWIGNoIDEKd2dNIG5nIDEKZlFrIGthIDEKaHZLIHRoIDEKcUxyIHF1IDEKV2NlIGNoIDEKa0ZuIGFuIDEKckJtIGVyIDEKbWRWIGRlIDEKakZjIGNoIDEKa25YIGFuIDEKbk1mIGFuIDEKc0NjIGNoIDEKcENxIHF1IDEKdUp0IHRoIDEKQ2ZrIGthIDEKQ3hiIGJlIDEKZk93IHdhIDEKYUp6IGFuIDEKZ0x0IHRoIDEKYm1YIG1lIDEKWWZvIG9uIDEKZEpmIGRlIDEKRWF5IGFuIDEKcVNkIHF1IDEKbWpRIGlqIDEKcE5rIGthIDEKTnZoIHRoIDEKeGtYIGthIDEKSnd4IHdhIDEKanZMIGlqIDEKZnBIIHByIDEKcHhPIHByIDEKdlB4IHZhIDEKZFd1IHF1IDEKaGJSIHRoIDEKd29FIG9uIDEKZ3RYIHRoIDEKYmZGIGJlIDEKbXZXIHZhIDEKeHNNIHN0IDEKd0x2IHZhIDEKd0hoIHRoIDEKc0NuIGFuIDEKcEx3IHByIDEKa1h3IGthIDEKeFZsIGxlIDEKaENjIHRoIDEKb1VrIG9uIDEKemNGIGNoIDEKc012IHN0IDEKZHJaIGVyIDEKd2ZPIHdhIDEKeUZ2IHZhIDEKaFhhIHRoIDEKcU11IHVuIDEKZkN2IHZhIDEKZndDIHdhIDEKb1RnIG5nIDEKRmttIGthIDEKZVF0IHRoIDEKUHhkIGRlIDEKa2pHIGlqIDEKdEdzIHRoIDEKZHFCIHF1IDEKZm1YIG1lIDEKeFlpIGluIDEKa0lrIGthIDEKdkRkIGRlIDEKa3ZDIGthIDEKcXRaIHRoIDEKZlBjIGNoIDEKZHBOIGRlIDEKaE5yIHRoIDEKWm5qIGFuIDEKSGtlIGVyIDEKSXFwIHF1IDEKd2ZOIHdhIDEKVmh4IHRoIDEKRGdrIG5nIDEKbWtRIGthIDEKV3hkIGRlIDEKSWN4IGNoIDEKeVl0IHRoIDEKdHF4IHRoIDEKWnZmIHZhIDEKc3hVIHN0IDEKTHFrIHF1IDEKbmZJIGFuIDEKanlxIHF1IDEKV3ZuIGFuIDEKU2R2IGRlIDEKdVljIGNoIDEKUWdtIG5nIDEKY1hhIGNoIDEKd0J4IHdhIDEKcFl4IHByIDEKaldsIGxlIDEKS2Z3IHdhIDEKcWpKIHF1IDEKUGpqIGlqIDEKYWpYIGFuIDEKc1hkIHN0IDEKeEhnIG5nIDEKeGhBIHRoIDEKckdtIGVyIDEKUXRtIHRoIDEKc3JZIGVyIDEKcVB4IHF1IDEKd1J6IHN6IDEKd09nIHdhIDEKZkxnIG5nIDEKaFF0IHRoIDEKamhXIHRoIDEKQ3drIGthIDEKeldsIGxlIDEKd0pjIGNoIDEKUHh2IHZhIDEKbnBJIGFuIDEKbG5XIGFuIDEKa3F5IHF1IDEKeXdnIG5nIDEKc0NkIHN0IDEKcWZGIHF1IDEKcXBnIHF1IDEKTWJ4IGJlIDEKbndOIGFuIDEKd0xzIHN0IDEKV2N2IGNoIDEKVnZyIGVyIDEKVmt4IGthIDEKZG1VIGRlIDEKZkdzIHN0IDEKZ0p6IG5nIDEKZEZ6IHN6IDEKcUNmIHF1IDEKbHZXIGxlIDEKU3ZiIHZhIDEKeEpyIGVyIDEKdVpmIHF1IDEKVGpjIGNoIDEKcElqIGlqIDEKYlZnIG5nIDEKdmRPIGRlIDEKbFRxIHF1IDEKYk1oIHRoIDEKbkRtIGFuIDEKVHpiIHN6IDEKcEN3IHByIDEKUWtnIG5nIDEKZnBZIHByIDEKeVFqIGlqIDEKcWlDIHF1IDEKbVFpIGluIDEKd1VxIHF1IDEKa1ZqIGlqIDEKdGpRIHRoIDEKbVhqIGlqIDEKWGZkIGRlIDEKY2dJIGNoIDEKUGtqIGlqIDEKampGIGlqIDEKanJKIGVyIDEKcXdaIHF1IDEKUnR6IHRoIDEKZkhiIGJlIDEKSGd4IG5nIDEKRHpmIHN6IDEKY2JFIGNoIDEKWGZzIHN0IDEKUmptIGlqIDEKZm1ZIG1lIDEKd1lqIGlqIDEKdUZwIHF1IDEKdldtIHZhIDEKeVZjIGNoIDEKY2dMIGNoIDEKem1SIHN6IDEKemZCIHN6IDEKem5IIGFuIDEKaGdHIHRoIDEKeHVFIHF1IDEKQnNsIGxlIDEKb1d4IG9uIDEKUGpsIGxlIDEKSmRmIGRlIDEKWG1wIG1lIDEKc2dPIG5nIDEKaENqIHRoIDEKd3RSIHRoIDEKZkRzIHN0IDEKYlFiIGJlIDEKcXVNIHVuIDEKZkxsIGxlIDEKTmhwIHRoIDEKem5VIGFuIDEKc2RTIHN0IDEKd1d1IHF1IDEKdEZxIHRoIDEKY0ZxIGNoIDEKV3dsIGxlIDEKTHF5IHF1IDEKbnFRIGFuIDEKem1EIHN6IDEKR3l4IG55IDEKYmtSIGthIDEKbFF3IGxlIDEKUHFtIHF1IDEKRndrIGthIDEKdEh0IHRoIDEKanlMIGlqIDEKcXhBIHF1IDEKbXJDIGVyIDEKcXpMIHF1IDEKakpnIG5nIDEKamZTIGlqIDEKcU1oIHRoIDEKbWxWIGxlIDEKYmtKIGthIDEKa25IIGFuIDEKVXF0IHRoIDEKY3VGIGNoIDEKaVlxIHF1IDEKZlVlIGVyIDEKc0JiIHN0IDEKTmh4IHRoIDEKcmhQIHRoIDEKZFdwIGRlIDEKWXZmIHZhIDEKUnhyIGVyIDEKa3pHIHN6IDEKeHVaIHF1IDEKeHZEIHZhIDEKZndxIHF1IDEKaGpKIHRoIDEKa1pyIGVyIDEKdkpuIGFuIDEKeG5PIGFuIDEKdmNBIGNoIDEKbWZLIG1lIDEKdmpTIGlqIDEKTnZwIHZhIDEKZGZCIGRlIDEKUXNiIHN0IDEKZFhwIHByIDEKelJsIGxlIDEKRWpxIHF1IDEKYUd6IGFuIDEKbkhnIGFuIDEKYnZBIHZhIDEKQmZkIGRlIDEKelZnIG5nIDEKenNZIHN0IDEKaFZ6IHRoIDEKUGptIGlqIDEKc1hpIGluIDEKaUtqIGluIDEKcWFFIGFuIDEKQ2ZqIGlqIDEKek1jIGNoIDEKbWdaIG5nIDEKdmdBIG5nIDEKaXdKIGluIDEKdkd4IHZhIDEKdGZZIHRoIDEKbGpIIGxlIDEKekdqIHN6IDEKYm1LIG1lIDEKblVxIGFuIDEKelJ0IHRoIDEKdEdqIHRoIDEKelZkIHN6IDEKalNyIGVyIDEKZk5xIHF1IDEKeFRnIG5nIDEKbnFFIGFuIDEKV25nIGFuIDEKelZ2IHN6IDEKZ1ZzIG5nIDEKZk5kIGRlIDEKcU53IHF1IDEKWm5jIGNoIDEKdUpzIHF1IDEKeXZKIHZhIDEKeGxNIGxlIDEKSnpjIGNoIDEKdlJoIHRoIDEKZmNLIGNoIDEKd1ZuIGFuIDEKcld3IGVyIDEKY0hrIGNoIDEKdk94IHZhIDEKaVVhIGFuIDEKblduIGFuIDEKenFaIHF1IDEKeEZqIGlqIDEKbkNnIGFuIDEKZllqIGlqIDEKVnN4IHN0IDEKbXRNIHRoIDEKbWhHIHRoIDEKanROIHRoIDEKaGNDIHRoIDEKTndrIGthIDEKZFh1IHF1IDEKbUpxIHF1IDEKeHNPIHN0IDEKcVJuIGFuIDEKUm5qIGFuIDEKa21QIGthIDEKWHRnIHRoIDEKR3ZoIHRoIDEKanF2IHF1IDEKY1ZsIGNoIDEKY2RJIGNoIDEKemRFIHN6IDEKaFprIHRoIDEKQmR4IGRlIDEKaEhuIHRoIDEKaGtHIHRoIDEKdnhKIHZhIDEKbHJBIGVyIDEKbHJUIGVyIDEKaGpWIHRoIDEKcWJJIHF1IDEKbVRnIG5nIDEKZm1WIG1lIDEKckRrIGVyIDEKZE5kIGRlIDEKR3pqIHN6IDEKYVZqIGFuIDEKdk5yIGVyIDEKa1hhIGFuIDEKckdzIGVyIDEKeGFYIGFuIDEKY3JHIGNoIDEKcUphIGFuIDEKakR0IHRoIDEKTWZ4IGZvIDEKeEVhIGFuIDEKUXZ6IHN6IDEKd1JnIG5nIDEKcEZjIGNoIDEKQ3B2IHZhIDEKckprIGVyIDEKZmJRIGJlIDEKWHpnIG5nIDEKcUZ5IHF1IDEKWmZqIGlqIDEKdHdFIHRoIDEKT2FxIGFuIDEKeXNZIHN0IDEKd2RaIGRlIDEKZ21PIG5nIDEKd0duIGFuIDEKd1JrIGthIDEKZ3FTIHF1IDEKQWdxIHF1IDEKVHd2IHZhIDEKUW52IGFuIDEKYlZ2IHZhIDEKY0R3IGNoIDEKdEdxIHRoIDEKZmJxIHF1IDEKVHZ3IHZhIDEKbU52IHZhIDEKZHRFIHRoIDEKcHpQIHN6IDEKVnN3IHN6IDEKcUdxIHF1IDEKcVBjIGNoIDEKcXlDIHF1IDEKbnhGIGFuIDEKakRsIGxlIDEKakh0IHRoIDEKZnhaIGZvIDEKc1FjIGNoIDEKbm1IIGFuIDEKeHJEIGVyIDEKaE1oIHRoIDEKdkhrIGthIDEKaG1TIHRoIDEKWGR0IHRoIDEKWHdsIGxlIDEKdUpyIHF1IDEKc1BrIHN0IDEKWGpwIGlqIDEKVXFpIHF1IDEKa2dEIG5nIDEKamdJIG5nIDEKdUZ3IHF1IDEKeE5kIGRlIDEKZGhJIHRoIDEKTHhvIG9uIDEKU2ZxIHF1IDEKelJwIHN6IDEKeHdLIHdhIDEKZm1CIG1lIDEKdnJWIGVyIDEKcVNmIHF1IDEKalBuIGFuIDEKSGJwIHByIDEKYkp0IHRoIDEKbHFRIHF1IDEKeFNkIGRlIDEKZE1rIGRlIDEKdlZ6IHN6IDEKdmtLIGthIDEKWGRzIGRlIDEKeWJCIGJlIDEKZ3BFIG5nIDEKcWNDIGNoIDEKcHhMIHByIDEKZ1BtIG5nIDEKQnBkIGRlIDEKZHBCIGRlIDEKamxKIGxlIDEKcGtDIGthIDEKeXBQIHByIDEKTnFtIHF1IDEKdGdaIHRoIDEKRXFvIHF1IDEKZFJrIGRlIDEKVWJjIGNoIDEKeGhZIHRoIDEKbEpkIGxlIDEKcHZOIHZhIDEKUWZjIGNoIDEKRGJ3IHdhIDEKc0ZjIGNoIDEKd2tYIGthIDEKeHBSIHByIDEKcGpKIGlqIDEKZ2tRIG5nIDEKck1mIGVyIDEKSnNuIGFuIDEKeE93IHdhIDEKRHF1IHVuIDEKbmJKIGFuIDEKZ3ZGIG5nIDEKRm5wIGFuIDEKanBWIGlqIDEKcXREIHRoIDEKdUVqIHF1IDEKeWhZIHRoIDEKT2hxIHRoIDEKblh5IGFuIDEKcGRVIGRlIDEKbUR6IHN6IDEKaVZrIGluIDEKSHFxIHF1IDEKeHBaIHBvIDEKYWVVIGFuIDEKc2paIHN0IDEKc0dwIHN0IDEKV3FuIGFuIDEKeHFTIHF1IDEKSmpjIGNoIDEKcVBwIHF1IDEKc1h6IHN0IDEKeHZQIHZhIDEKV2JxIHF1IDEKdGpLIHRoIDEKbGhIIHRoIDEKaHFWIHRoIDEKZFlmIGRlIDEKcEZrIGthIDEKc0ZxIHF1IDEKdUhxIHF1IDEKdmhBIHRoIDEKamxFIGxlIDEKc3FCIHF1IDEKcW5yIGFuIDEKRnhxIHF1IDEKekhuIGFuIDEKcGRCIGRlIDEKd0hjIGNoIDEKUHhqIGlqIDEKZ0h4IG5nIDEKbnFKIGFuIDEKb3FYIHF1IDEKWGJ5IGJlIDEKdGJJIHRoIDEKa1NmIGthIDEKdmhEIHRoIDEKcUhqIHF1IDEKTnB4IHByIDEKUXpwIHN6IDEKeGlVIGluIDEKcmpaIGVyIDEKd2pVIGlqIDEKanRCIHRoIDEKWWdxIHF1IDEKYVFmIGFuIDEKeFd1IHF1IDEKYVZmIGFuIDEKcFF4IHByIDEKTG53IGFuIDEKcVdhIGFuIDEKdUhwIHF1IDEKTHZwIHZhIDEKSnhwIHByIDEKekhrIHN6IDEKd3ZVIHZhIDEKV3FoIHRoIDEKaFZzIHRoIDEKWGd5IG5nIDEKZFpqIGRlIDEKdUNxIHF1IDEKR3hsIGxlIDEKSGxnIG5nIDEKV3FkIHF1IDEKRHh6IHN6IDEKaGROIHRoIDEKcHZNIHZhIDEKV3hrIGthIDEKcVdkIHF1IDEKZmlPIGluIDEKZkR3IHdhIDEKYkhqIGlqIDEKaVZoIHRoIDEKUG1nIG5nIDEKZlhjIGNoIDEKeGZMIGZvIDEKeUdjIGNoIDEKeUJuIGFuIDEKaENrIHRoIDEKTGxrIGxlIDEKeU1oIHRoIDEKcXJZIHF1IDEKZ2RYIG5nIDEKcXhHIHF1IDEKWm10IHRoIDEKUnp3IHN6IDEKbkJkIGFuIDEKbVdsIGxlIDEKeHVJIHF1IDEKanlGIGlqIDEKYlZ1IHF1IDEKeWdQIG5nIDEKZEZxIHF1IDEKakZtIGlqIDEKUm1sIGxlIDEKa2xIIGxlIDEKVmZmIGZvIDEKS3prIHN6IDEKTGh2IHRoIDEKY1NqIGNoIDEKUXJoIHRoIDEKdUJ3IHF1IDEKc0NrIGthIDEKcXlTIHF1IDEKY1h1IGNoIDEKd2ZNIHdhIDEKa2RLIGRlIDEKY1hqIGNoIDEKY3RaIHRoIDEKZmpJIGlqIDEKY2dTIGNoIDEKbXdMIG1lIDEKa3pVIHN6IDEKY1pyIGNoIDEKZnFVIHF1IDEKcUppIHF1IDEKZ0RkIG5nIDEKYktxIHF1IDEKYVV3IGFuIDEKc3hFIHN0IDEKbXhVIG1lIDEKY3dZIGNoIDEKZnBDIHByIDEKc1J3IHN0IDEKS2txIHF1IDEKd3hBIHdhIDEKZ1FmIG5nIDEKcFBiIHByIDEKSHd1IGt1IDEKc3VYIHF1IDEKbHFZIHF1IDEKc3hXIHN0IDEKYUZoIHRoIDEKbFdxIHF1IDEKcGJaIHByIDEKYnFtIHF1IDEKa0prIGthIDEKcXRUIHRoIDEKek1kIHN6IDEKaEdzIHRoIDEKeGxIIGxlIDEKZG1xIHF1IDEKWHJrIGVyIDEKT2NmIGNoIDEKbUtjIGNoIDEKenJBIGVyIDEKZ3hFIG5nIDEKcVd1IHVuIDEKeFFmIGZvIDEKWG96IG9uIDEKZm1QIG1lIDEKa2REIGRlIDEKYkJ6IHN6IDEKd3BBIHByIDEKbk1iIGFuIDEKdEhxIHRoIDEKak10IHRoIDEKU3ZxIHF1IDEKak1sIGxlIDEKd0JjIGNoIDEKeW1YIG1lIDEKaGNCIHRoIDEKYnJVIGVyIDEKcGFYIGFuIDEKaGRHIHRoIDEKRndwIHByIDEKc2JZIHN0IDEKbWhCIHRoIDEKcGZaIHByIDEKVm1oIHRoIDEKc0NxIHF1IDEKWmZ3IHdhIDEKTGptIGlqIDEKcHFHIHF1IDEKZHBLIGRlIDEKdGZHIHRoIDEKaWpSIGluIDEKaUp5IGluIDEKcWZOIHF1IDEKY3JTIGNoIDEKY2dUIGNoIDEKd090IHRoIDEKZm5FIGFuIDEKaFdwIHRoIDEKWnB3IHByIDEKd2RPIGRlIDEKdll5IHZhIDEKcXJJIHF1IDEKZG1GIGRlIDEKamhKIHRoIDEKd0hyIGVyIDEKSnpiIHN6IDEKZkV5IG55IDEKaGhaIHRoIDEKd3BRIHByIDEKcVlnIHF1IDEKcXRZIHRoIDEKS2R4IGRlIDEKcWZqIHF1IDEKUmJ2IHZhIDEKYmJPIGJlIDEKWGNuIGNoIDEKa0NkIGRlIDEKR2N4IGNoIDEKem1DIHN6IDEKd0psIGxlIDEKcURjIGNoIDEKSnpyIGVyIDEKWXJ3IGVyIDEKS3N4IHN0IDEKdUt4IHF1IDEKalNjIGNoIDEKTGp6IHN6IDEKeGRCIGRlIDEKeldiIHN6IDEKdndZIHZhIDEKdk1kIGRlIDEKZGJIIGRlIDEKUXN1IHF1IDEKd0hxIHF1IDEKZ0poIHRoIDEKd1pwIHByIDEKYnRPIHRoIDEKWG12IHZhIDEKcXBkIHF1IDEKSm53IGFuIDEKdmxEIGxlIDEKeGNYIGNoIDEKWXZ2IHZhIDEKWmZ0IHRoIDEKSHF6IHF1IDEKeHFNIHF1IDEKSHRoIGNoIDEKenRMIHRoIDEKaU9qIGluIDEKY0l6IGNoIDEKaGhDIHRoIDEKdHZYIHRoIDEKRmdrIG5nIDEKbWpDIGlqIDEKT2pwIGlqIDEKa3ZJIGthIDEKenFiIHF1IDEKcXFXIHF1IDEKaUhnIG5nIDEKanhKIGlqIDEKR2J6IHN6IDEKblFjIGNoIDEKcFhxIHF1IDEKakRkIGRlIDEKcVFyIHF1IDEKdkp4IHZhIDEKemJZIHN6IDEKZlJtIG1lIDEKcUVsIHF1IDEKb2FaIGFuIDEKdmpGIGlqIDEKbHFYIHF1IDEKcFNkIGRlIDEKYlhxIHF1IDEKakp2IGlqIDEKV3J2IGVyIDEKS3B3IHByIDEKeGFZIGFuIDEKakN2IGlqIDEKZmJSIGJlIDEKcFRwIHByIDEKd2RJIGRlIDEKcWZRIHF1IDEKUnJxIHF1IDEKZGJGIGRlIDEKYnpGIHN6IDEKcXdPIHF1IDEKdnJZIGVyIDEKdHdJIHRoIDEKekxmIHN6IDEKYlZjIGNoIDEKWG5sIGFuIDEKV2diIG5nIDEKZnVTIHF1IDEKdklmIHZhIDEKVHd0IHRoIDEKbktkIGFuIDEKRGtoIHRoIDEKdUJkIHF1IDEKa096IGthIDEKek9qIHN6IDEKbnpFIGFuIDEKWmJoIHRoIDEKcU1nIHF1IDEKZ2ZDIG5nIDEKdmdEIG5nIDEKeXRDIHRoIDEKbXFNIHF1IDEKS2puIGFuIDEKeGJYIGJlIDEKemZIIHN6IDEKbXdIIG1lIDEKelFiIHN6IDEKR3prIHN6IDEKcXNXIHF1IDEKa05zIHN0IDEKTHF6IHF1IDEKbm1XIGFuIDEKcU54IHF1IDEKemNRIGNoIDEKcU16IHF1IDEKd0d6IHN6IDEKdUNkIHF1IDEKQnB2IHByIDEKcU5lIHF1IDEKYnBQIHByIDEKbFhmIGxlIDEKY0xxIGNoIDEKcGRYIGRlIDEKcXpVIHF1IDEKS3hkIGRlIDEKanZGIGlqIDEKckZuIGFuIDEKRXRxIHRoIDEKelloIHRoIDEKS3N2IHN0IDEKZkprIGthIDEKZmtDIGthIDEKbXhLIG1lIDEKZmJ6IHN6IDEKdnJXIGVyIDEKbVBxIHF1IDEKeUJ0IHRoIDEKaUNmIGluIDEKc3JIIGVyIDEKaGpCIHRoIDEKZmNHIGNoIDEKRnRnIHRoIDEKdUJwIHF1IDEKeXFUIHF1IDEKZGpGIGRlIDEKdGdVIHRoIDEKV3JqIGVyIDEKeEZjIGNoIDEKeWNDIGNoIDEKZXFBIHF1IDEKcGJHIHByIDEKQ3doIHRoIDEKZkRrIGthIDEKd1R6IHN6IDEKeHJXIGVyIDEKa1FzIHN0IDEKd01sIGxlIDEKeUNuIG5kIDEKZUdwIGVyIDEKdVB2IHF1IDEKV3FlIHF1IDEKeWlJIGluIDEKcnFGIHF1IDEKS2pzIHN0IDEKbHdLIGxlIDEKZmpRIGlqIDEKdUlxIHF1IDEKZHhSIGRlIDEKR3FqIHF1IDEKbkxiIGFuIDEKZ1JkIG5nIDEKcXl2IHF1IDEKd3RaIHRoIDEKY1JrIGNoIDEKaUtmIGluIDEKaGJLIHRoIDEKcnFUIHF1IDEKeG1GIG1lIDEKdkh0IHRoIDEKdHFOIHRoIDEKdkx2IHZhIDEKeHZKIHZhIDEKYmdKIG5nIDEKUWpxIHF1IDEKTHZiIHZhIDEKSHhnIG5nIDEKdFZxIHRoIDEKcmhaIHRoIDEKc2xMIGxlIDEKa2RIIGRlIDEKS2ZiIGJlIDEKRGZoIHRoIDEKQ3FxIHF1IDEKblFrIGFuIDEKV256IGFuIDEKTmpqIGlqIDEKYkpmIGJlIDEKd1JoIHRoIDEKRHBiIHByIDEKc1BqIHN0IDEKWnBuIGFuIDEKbVBqIGlqIDEKUWNsIGNoIDEKekNkIHN6IDEKeXJDIGVyIDEKaENiIHRoIDEKYUJ2IGFuIDEKeXVHIHF1IDEKZmNOIGNoIDEKYlpwIHByIDEKR3RmIHRoIDEKd2JXIHdhIDEKdlBxIHF1IDEKVnRqIHRoIDEKa1dxIHF1IDEKSmJtIG1lIDEKV21iIG1lIDEKcHhZIHByIDEKaFF4IHRoIDEKdE5uIHRoIDEKcWR4IHF1IDEKY1l2IGNoIDEKemxYIGxlIDEKcndGIGVyIDEKY1ptIGNoIDEKeWJKIGJlIDEKcWFCIGFuIDEKdFZqIHRoIDEKelVnIG5nIDEKY2ZDIGNoIDEKaHhCIHRoIDEKVGJ6IHN6IDEKb0ZuIGFuIDEKYlRwIHByIDEKaEJrIHRoIDEKaFFlIHRoIDEKcUJlIGRlIDEKZHBDIGRlIDEKa3BXIGthIDEKWmtqIGlqIDEKTnduIGFuIDEKZ3JDIG5nIDEKdVhxIHF1IDEKVW95IG9uIDEKWmZ1IHF1IDEKeEtiIGJlIDEKaFNiIHRoIDEKYlBjIGNoIDEKcWNnIGNoIDEKeEl1IHF1IDEKZ0J2IG5nIDEKZ1ptIG1lIDEKcVB1IHVuIDEKQmZwIHByIDEKcnhDIGVyIDEKc0xrIHN0IDEKaEdqIHRoIDEKcXZSIHF1IDEKcXBSIHF1IDEKdk5uIGFuIDEKRGZ0IHRoIDEKblJxIGFuIDEKa2hSIHRoIDEKcHFQIHF1IDEKdE5wIHRoIDEKVnd0IHRoIDEKeHdBIHdhIDEKd01uIGFuIDEKU25xIGFuIDEKZGZEIGRlIDEKdkd3IHZhIDEKWHFiIHF1IDEKS3d3IHdhIDEKUWh4IHRoIDEKT3l4IG55IDEKZHZCIGRlIDEKc1ZoIHRoIDEKSGNuIGNoIDEKc2JVIHN0IDEKZkZ3IHdhIDEKa2ZUIGthIDEKcnZXIGVyIDEKWXh3IHdhIDEKbkZrIGFuIDEKTHFkIHF1IDEKaG9RIHRoIDEKTmZqIGlqIDEKZ3JIIG5nIDEKY0prIGNoIDEKUG52IGFuIDEKTnF4IHF1IDEKeWZFIG55IDEKa21JIGthIDEKR216IHN6IDEKYnhTIGJlIDEKcXVVIHVuIDEKcVlmIHF1IDEKekt3IHN6IDEKd2hLIHRoIDEKb2ZZIG9uIDEKcHJIIGVyIDEKalh6IHN6IDEKdlFtIHZhIDEKaVd4IGluIDEKYnpDIHN6IDEKbll4IGFuIDEKcWFLIGFuIDEKR2diIG5nIDEKelNmIHN6IDEKclF6IGVyIDEKaGtXIHRoIDEKVm5sIGFuIDEKR3RkIHRoIDEKck13IGVyIDEKd3ZYIHZhIDEKanlVIGlqIDEKUXFwIHF1IDEKSG5xIGFuIDEKYkZiIGJlIDEKcWtIIHF1IDEKV2NrIGNoIDEKZk13IHdhIDEKemdFIG5nIDEKb0p6IG9uIDEKeHZIIHZhIDEKaFF5IHRoIDEKY1lmIGNoIDEKY3hEIGNoIDEKeURzIHN0IDEKcUJoIHRoIDEKY0p4IGNoIDEKZFBqIGRlIDEKd1dkIGRlIDEKckhuIGFuIDEKaXlNIGluIDEKeXhEIG55IDEKa1BjIGNoIDEKY1h2IGNoIDEKTm1nIG5nIDEKdmtOIGthIDEKbEZqIGxlIDEKeW1VIG1lIDEKcFp2IHZhIDEKZ1p0IHRoIDEKSnF5IHF1IDEKcUF6IHF1IDEKQmN5IGNoIDEKcHFqIHF1IDEKY3FFIGNoIDEKUnd2IHZhIDEKY3JNIGNoIDEKQXh6IHN6IDEKWmpwIGlqIDEKeXhGIG55IDEKdlpoIHRoIDEKc1BiIHN0IDEKdkNzIHN0IDEKZlFxIHF1IDEKcVlxIHF1IDEKaEJwIHRoIDEKSmJrIGthIDEKZ3FLIHF1IDEKa3JxIHF1IDEKQ2Z6IHN6IDEKbWJKIG1lIDEKZlJxIHF1IDEKSXd2IHZhIDEKdUZuIGFuIDEKY1l6IGNoIDEKcURiIHF1IDEKeEhkIGRlIDEKcW1JIHF1IDEKeWNFIGNoIDEKTWhmIHRoIDEKaXVFIHF1IDEKZ1hmIG5nIDEKbFB5IGxlIDEKYlB2IHZhIDEKalhoIHRoIDEKZ094IG5nIDEKTm12IHZhIDEKeERnIG5nIDEKQ3dkIGRlIDEKbGpQIGxlIDEKd3FWIHF1IDEKbnJFIGFuIDEKS213IG1lIDEKZ0p0IHRoIDEKdGdCIHRoIDEKeHpSIHN6IDEKdkpyIGVyIDEKYVVpIGFuIDEKeW5ZIGFuIDEKYlp2IHZhIDEKZkZxIHF1IDEKU3hnIG5nIDEKcUFjIGNoIDEKaVp2IGluIDEKalh1IHF1IDEKZ3BSIG5nIDEKd1ZsIGxlIDEKZE5qIGRlIDEKZkJ3IHdhIDEKTWp5IGlqIDEKa2paIGlqIDEKdExzIHRoIDEKaVlqIGluIDEKd2JPIHdhIDEKcVhiIHF1IDEKdUpxIHF1IDEKcUt0IHRoIDEKdmpPIGlqIDEKd3VEIHF1IDEKYmxRIGxlIDEKeWZCIG55IDEKUXNrIHN0IDEKVXdtIG1lIDEKWnFnIHF1IDEKbm1ZIGFuIDEKcFh3IHByIDEKeVZqIGlqIDEKZ0l3IG5nIDEKSHhrIGthIDEKUGd5IG5nIDEKbFF2IGxlIDEKYm5LIGFuIDEKeHRaIHRoIDEKUWNlIGNoIDEKTmpxIHF1IDEKbXZxIHF1IDEKTXd6IHN6IDEKR3RuIHRoIDEKZkpoIHRoIDEKdkp6IHN6IDEKZ0RrIG5nIDEKZEx3IGRlIDEKb2VVIGVyIDEKY3ZZIGNoIDEKR2JiIGJlIDEKVHFkIHF1IDEKYVRwIGFuIDEKWXdnIG5nIDEKamRUIGRlIDEKV2ttIGthIDEKcHhBIHByIDEKdkRsIGxlIDEKc2ZEIHN0IDEKcnFWIHF1IDEKY0hiIGNoIDEKaVZjIGNoIDEKTWZoIHRoIDEKc1ZtIHN0IDEKbnpSIGFuIDEKUXZzIHN0IDEKa1pnIG5nIDEKV253IGFuIDEKcVpiIHF1IDEKR3ZxIHF1IDEKdlBrIGthIDEKU3hxIHF1IDEKdk5nIG5nIDEKcXJIIHF1IDEKZkxjIGNoIDEKd1ZzIHN0IDEKcUVoIHRoIDEKdXFDIHF1IDEKdFp4IHRoIDEKeWhJIHRoIDEKd05oIHRoIDEKckZqIGVyIDEKeFBxIHF1IDEKcHFXIHF1IDEKUGpjIGNoIDEKallqIGlqIDEKcEZ2IHZhIDEKdkxyIGVyIDEKbHFxIHF1IDEKeEpnIG5nIDEKbFZ6IGxlIDEKY1pjIGNoIDEKaGNGIHRoIDEKdWhKIHRoIDEKY0xqIGNoIDEKcXlXIHF1IDEKemhUIHRoIDEKbXRLIHRoIDEKcFJiIHByIDEKYkN4IGJlIDEKbkpmIGFuIDEKandGIGlqIDEKUGRqIGRlIDEKanhFIGlqIDEKc2xaIGxlIDEKTHhuIGFuIDEKem5MIGFuIDEKbXpWIHN6IDEKbEdxIGxlIDEKUWJ3IHdhIDEKamJZIGlqIDEKelNtIHN6IDEKUXF4IHF1IDEKeXBSIHByIDEKZ0NjIGNoIDEKWXZ4IHZhIDEKaWhJIHRoIDEKWmZ4IGZvIDEKbmpJIG5kIDEKWXB0IHRoIDEKbHhUIGxlIDEKZlZ2IHZhIDEKSnptIHN6IDEKanhBIGlqIDEKZ0RsIG5nIDEKRWFxIGFuIDEKUWNuIGFuIDEKekdiIHN6IDEKakxoIHRoIDEKcWtYIHF1IDEKd2JLIHdhIDEKbk54IGFuIDEKc3FXIHF1IDEKd1J4IHdhIDEKeHJVIGVyIDEKZm5RIGFuIDEKa3pCIHN6IDEKUmNuIGNoIDEKcWJMIHF1IDEKc3JEIGVyIDEKVnh1IHF1IDEKcXZGIHF1IDEKd0pyIGVyIDEKWXhnIG5nIDEKcWlZIHF1IDEKZk1jIGNoIDEKaGJZIHRoIDEKaGdIIHRoIDEKZG1TIGRlIDEKalRuIGFuIDEKWmptIGlqIDEKTmpsIGxlIDEKZHFWIHF1IDEKWWpoIHRoIDEKckt3IGVyIDEKY3hVIGNoIDEKQ2tqIGlqIDEKemZKIHN6IDEKeXRGIHRoIDEKeHJQIGVyIDEKcUVqIHF1IDEKcnhPIGVyIDEKclpuIGFuIDEKYlpxIHF1IDEKY1hxIGNoIDEKd3ZEIHZhIDEKaGNYIHRoIDEKemtPIHN6IDEKaE54IHRoIDEKd0ZnIG5nIDEKa1h1IHF1IDEKVmtuIGFuIDEKR2p6IHN6IDEKUWNkIGNoIDEKeXZGIHZhIDEKeEZ4IHhlIDEKZFNqIGRlIDEKeFBiIGJlIDEKb0ZwIG9uIDEKcUFrIHF1IDEKcnFVIHF1IDEKcEd2IHZhIDEKaHpDIHRoIDEKcUlrIHF1IDEKTGhsIHRoIDEKRndiIHdhIDEKcGdFIG5nIDEKQXd6IHN6IDEKZkJrIGthIDEKeEtkIGRlIDEKUGZ3IHdhIDEKdXFLIHF1IDEKcEpjIGNoIDEKYlRjIGNoIDEKdFdnIHRoIDEKZ2ROIG5nIDEKanJOIGVyIDEKa2xTIGxlIDEKcUVpIHF1IDEKc0ZuIGFuIDEKdHFSIHRoIDEKRm5tIGFuIDEKaFh2IHRoIDEKZnhOIGZvIDEKYnZMIHZhIDEKb0dmIG9uIDEKaFptIHRoIDEKeWZIIG55IDEKZGNFIGNoIDEKcGdXIG5nIDEKd3JCIGVyIDEKa1dtIGthIDEKU2h4IHRoIDEKdHdQIHRoIDEKUXZkIGRlIDEKUWd1IHF1IDEKcEp0IHRoIDEKek52IHN6IDEKSHBoIHRoIDEKa2xGIGxlIDEKdnF6IHF1IDEKc2dHIG5nIDEKa2RaIGRlIDEKZWpYIGVyIDEKUHh1IHF1IDEKcHZUIHZhIDEKS3F4IHF1IDEKUW1iIG1lIDEKeEZrIGthIDEKd1FiIHdhIDEKUGd4IG5nIDEKeXBMIHByIDEKYndFIHdhIDEKeEh0IHRoIDEKa1Z6IHN6IDEKam1GIGlqIDEKSXhxIHF1IDEKcXlQIHF1IDEKclZ2IGVyIDEKWXR3IHRoIDEKcXBaIHF1IDEKdHBaIHRoIDEKempYIHN6IDEKS2hnIHRoIDEKcWZWIHF1IDEKSnp4IHN6IDEKa1RqIGlqIDEKQnpxIHF1IDEKbmpSIGFuIDEKY2dXIGNoIDEKY21JIGNoIDEKa0NiIGthIDEKcFlwIHByIDEKdmtaIGthIDEKd3ZrIGthIDEKVmZxIHF1IDEKbmxaIGFuIDEKcU5qIHF1IDEKckNxIHF1IDEKa2JWIGthIDEKRHFqIHF1IDEKYnJEIGVyIDEKbGJHIGxlIDEKeGhGIHRoIDEKa3haIGthIDEKSXVxIHF1IDEKeUZ4IG55IDEKcVZsIHF1IDEKbGNHIGNoIDEKdldyIGVyIDEKYUJxIGFuIDEKeUprIGthIDEKY3pMIGNoIDEKakl1IHF1IDEKdlVsIGxlIDEKcFpxIHF1IDEKdnRXIHRoIDEKUXh3IHdhIDEKZFl2IGRlIDEKaXFIIHF1IDEKWHdzIHN0IDEKZkRqIGlqIDEKeFZ6IHN6IDEKZEtxIHF1IDEKdmZRIHZhIDEKaHZEIHRoIDEKd2RZIGRlIDEKSHp6IHN6IDEKY1lzIGNoIDEKRnRqIHRoIDEKZHBVIGRlIDEKTGxkIGxlIDEKR3F3IHF1IDEKa2RSIGRlIDEKdlhnIG5nIDEKcXNZIHF1IDEKak5mIGlqIDEKUWpqIGlqIDEKcFZsIGxlIDEKSm14IG1lIDEKcERqIGlqIDEKaUJjIGNoIDEKa0xqIGlqIDEKeG5HIGFuIDEKdlRsIGxlIDEKTmRnIG5nIDEKcHFVIHF1IDEKVWF3IGFuIDEKZnpOIHN6IDEKZ05xIHF1IDEKa2pNIGlqIDEKbG5LIGFuIDEKenhiIHN6IDEKa2NTIGNoIDEKbmpNIGFuIDEKR2R3IGRlIDEKbG5aIGFuIDEKWWdqIG5nIDEKaEtkIHRoIDEKZ3BUIG5nIDEKeXFQIHF1IDEKaWpYIGluIDEKakdmIGlqIDEKYnhJIGJlIDEKdlh4IHZhIDEKVnJ3IGVyIDEKQ3d4IHdhIDEKbkJoIHRoIDEKcXZ5IHF1IDEKc3hCIHN0IDEKbVZrIGthIDEKQ3p4IHN6IDEKZnlWIG55IDEKY1h3IGNoIDEKUW5mIGFuIDEKWXFkIHF1IDEKbHFIIHF1IDEKZGJZIGRlIDEKU3FiIHF1IDEKS3F3IHF1IDEKenBKIHN6IDEKY2JNIGNoIDEKekZnIG5nIDEKc0tiIHN0IDEKcXJLIHF1IDEKekpjIGNoIDEKblJuIGFuIDEKZnFOIHF1IDEKaGZBIHRoIDEKcW9HIHF1IDEKT3d6IHN6IDEKbmxHIGFuIDEKd0l4IHdhIDEKcXJQIHF1IDEKTndnIG5nIDEKcWFXIGFuIDEKaGNUIHRoIDEKd2tCIGthIDEKTmR0IHRoIDEKS3pxIHF1IDEKZ3hCIG5nIDEKQmp6IHN6IDEKdlRmIHZhIDEKakZxIHF1IDEKcU1lIHF1IDEKdWZRIHF1IDEKbnBHIGFuIDEKdVprIHF1IDEKcVR3IHF1IDEKR2x3IGxlIDEKS3FxIHF1IDEKQ3hyIGVyIDEKalpzIHN0IDEKU3F2IHF1IDEKeVBtIG1lIDEKZVFqIGVyIDEKYUloIHRoIDEKZ0RxIHF1IDEKbElwIGxlIDEKak5qIGlqIDEKcU9kIHF1IDEKdmtNIGthIDEKdkZ5IHZhIDEKY2ZWIGNoIDEKS2poIHRoIDEKZ2tQIG5nIDEKckpjIGNoIDEKdVBxIHF1IDEKb3pRIG9uIDEKRGxrIGxlIDEKdlhoIHRoIDEKa3RZIHRoIDEKdld5IHZhIDEKZ1F2IG5nIDEKWXd3IHdhIDEKVHB6IHN6IDEKUWhjIHRoIDEKeHVUIHF1IDEKbmJTIGFuIDEKelFnIG5nIDEKdmdaIG5nIDEKcFVvIG9uIDEKdVdiIHF1IDEKbU1mIG1lIDEKWmNkIGNoIDEKaUJwIGluIDEKZndwIHByIDEKellmIHN6IDEKd0NwIHByIDEKQ3F5IHF1IDEKY2pGIGNoIDEKR2ZoIHRoIDEKbWNXIGNoIDEKY3FWIGNoIDEKdUpkIHF1IDEKaVVqIGluIDEKdmtSIGthIDEKd2dJIG5nIDEKdlVnIG5nIDEKV2RuIGRlIDEKc2pGIHN0IDEKdFB2IHRoIDEKeFJuIGFuIDEKa2xWIGxlIDEKc2JNIHN0IDEKbWZUIG1lIDEKZGJWIGRlIDEKRm1uIGFuIDEKZ2ZVIG5nIDEKY2JCIGNoIDEKWXh6IHN6IDEKS3hrIGthIDEKRHdxIHF1IDEKd2dYIG5nIDEKc1B2IHN0IDEKdkhkIGRlIDEKbmJIIGFuIDEKY0ZuIGFuIDEKcXFYIHF1IDEKakZlIGVyIDEKcUViIHF1IDEKZEZoIHRoIDEKdUVvIHF1IDEKbGNJIGNoIDEKYk1tIG1lIDEKelp3IHN6IDEKaGpPIHRoIDEKaEt4IHRoIDEKamdDIG5nIDEKY25MIGFuIDEKRmRnIG5nIDEKYkdmIGJlIDEKU2p6IHN6IDEKYk1qIGlqIDEKdlh3IHZhIDEKR2ZmIGZvIDEKQ3d3IHdhIDEKanNRIHN0IDEKWmd2IG5nIDEKbFBmIGxlIDEKbm1RIGFuIDEKVmRxIHF1IDEKbGNYIGNoIDEKZ2pUIG5nIDEKbXdFIG1lIDEKcUxtIHF1IDEKY0hxIGNoIDEKWHRuIHRoIDEKTnRxIHRoIDEKZ1drIG5nIDEKUHFkIHF1IDEKcXBQIHF1IDEKc1JmIHN0IDEKcXBMIHF1IDEKY25EIGFuIDEKcXBHIHF1IDEKZHpTIHN6IDEKdFpiIHRoIDEKeWdNIG5nIDEKYnhDIGJlIDEKZGZVIGRlIDEKYm1CIG1lIDEKbEJ6IGxlIDEKZ0p4IG5nIDEKWWt2IGthIDEKWmRrIGRlIDEKd25RIGFuIDEKdFpqIHRoIDEKWnptIHN6IDEKVmZoIHRoIDEKTXdjIGNoIDEKclVvIG9uIDEKcXdwIHF1IDEKdGNJIHRoIDEKdGZEIHRoIDEKdW9aIHF1IDEKZkN3IHdhIDEKaVFxIHF1IDEKcUJnIHF1IDEKc1ZiIHN0IDEKcGpVIGlqIDEKc2NRIGNoIDEKcHFRIHF1IDEKc3ZaIHN0IDEKWnBqIGlqIDEKcGlWIGluIDEKa2JQIGthIDEKd3FNIHF1IDEKclZiIGVyIDEKcVpyIHF1IDEKaHhPIHRoIDEKd1RuIGFuIDEKSnpmIHN6IDEKUWpiIGlqIDEKdVl2IHF1IDEKcHdLIHByIDEKaHZIIHRoIDEKRHFlIHF1IDEKcGZJIHByIDEKbWhWIHRoIDEKamdFIG5nIDEKcmNRIGNoIDEKa21UIGthIDEKV3pqIHN6IDEKeE5zIHN0IDEKUGJqIGlqIDEKenZCIHN6IDEKeGhKIHRoIDEKc3ZxIHF1IDEKTnZuIGFuIDEKc3daIHN0IDEKamdGIG5nIDEKbWZMIG1lIDEKemtMIHN6IDEKalZwIGlqIDEKRGtqIGlqIDEKeHVZIHF1IDEKaEhxIHRoIDEKY1NmIGNoIDEKSnpkIHN6IDEKbHFVIHF1IDEKcU1kIHF1IDEKUWdqIG5nIDEKZnhrIGthIDEKdFJ0IHRoIDEKekZrIHN6IDEKcUVvIHF1IDEKdm9ZIG9uIDEKQXdqIGlqIDEKVHhqIGlqIDEKY0lnIGNoIDEKeFV1IHF1IDEKc1JyIGVyIDEKSnhuIGFuIDEKaVBmIGluIDEKZWpZIGVyIDEKWHRzIHRoIDEKcGZUIHByIDEKUHFhIGFuIDEKenNWIHN0IDEKeXBDIHByIDEKd01zIHN0IDEKcUVjIGNoIDEKdnhZIHZhIDEKZlVnIG5nIDEKRGZmIGZvIDEKZ3FRIHF1IDEKek12IHN6IDEKdkppIGluIDEKZlB2IHZhIDEKZEx6IHN6IDEKY2RNIGNoIDEKZ054IG5nIDEKYUd2IGFuIDEKdnZEIHZhIDEKZEpoIHRoIDEKcnhZIGVyIDEKcldqIGVyIDEKUHZ4IHZhIDEKcmhEIHRoIDEKelJkIHN6IDEKS2d2IG5nIDEKWHZ5IHZhIDEKa1pqIGlqIDEKa3BLIGthIDEKUGZuIGFuIDEKd1VlIGVyIDEKd1d4IHdhIDEKalB3IGlqIDEKZ0xxIHF1IDEKaUpxIHF1IDEKZ1B4IG5nIDEKakhkIGRlIDEKdkpiIHZhIDEKeGhCIHRoIDEKeFF2IHZhIDEKRW9hIGFuIDEKcGpPIGlqIDEKeUZqIGlqIDEKc1hvIG9uIDEKd2JZIHdhIDEKY2pPIGNoIDEKbWxaIGxlIDEKYk52IHZhIDEKa2pQIGlqIDEKeVhuIGFuIDEKcVZqIHF1IDEKZk52IHZhIDEKZ2pXIG5nIDEKblhqIGFuIDEKZHFKIHF1IDEKSG5oIHRoIDEKUXlrIGthIDEKa3ZCIGthIDEKcXlCIHF1IDEKbUR0IHRoIDEKemdQIG5nIDEKWnprIHN6IDEKZk1rIGthIDEKeHpZIHN6IDEKcWJUIHF1IDEKeE90IHRoIDEKeHNBIHN0IDEKZ0xqIG5nIDEKenhIIHN6IDEKY0xtIGNoIDEKRG5rIGFuIDEKekl1IHF1IDEKa3BKIGthIDEKeHJLIGVyIDEKZUliIGVyIDEKSmJwIHByIDEKQnFnIHF1IDEKdFhnIHRoIDEKWmprIGlqIDEKZFJkIGRlIDEKdGpaIHRoIDEKaFFsIHRoIDEKaXlXIGluIDEKSndkIGRlIDEKcVp0IHRoIDEKY0pwIGNoIDEKakJnIG5nIDEKenJHIGVyIDEKaFdmIHRoIDEKWmRzIHN0IDEKcXNaIHF1IDEKY1F4IGNoIDEKY2NOIGNoIDEKeXdNIHdhIDEKZ2JYIG5nIDEKdGZUIHRoIDEKdnd0IHRoIDEKUWJwIHByIDEKeWVZIGVyIDEKYVViIGFuIDEKcUh3IHF1IDEKRmhxIHRoIDEKRm5nIGFuIDEKbHZJIGxlIDEKakNmIGlqIDEKaHFIIHRoIDEKdFRxIHRoIDEKc2ZJIHN0IDEKdnNNIHN0IDEKbERwIGxlIDEKd0piIHdhIDEKYmhYIHRoIDEKclJxIHF1IDEKcXRTIHRoIDEKWndwIHByIDEKSmJoIHRoIDEKaEhiIHRoIDEKcER5IHByIDEKc2pEIHN0IDEKT3lwIHByIDEKcXdEIHF1IDEKamJEIGlqIDEKdnBHIHZhIDEKV2piIGlqIDEKdnBCIHZhIDEKYVhxIGFuIDEKbVd6IHN6IDEKcUhpIHF1IDEKZnlOIG55IDEKbWJRIG1lIDEKeXdDIHdhIDEKb1ZnIG5nIDEKeG1aIG1lIDEKc2xPIGxlIDEKZlhuIGFuIDEKa1lzIHN0IDEKcFZ1IHF1IDEKYmtVIGthIDEKQnJxIHF1IDEKcUNxIHF1IDEKWGN4IGNoIDEKek10IHRoIDEKY1J3IGNoIDEKZ3pRIG5nIDEKUWJnIG5nIDEKanVVIHF1IDEKeFN6IHN6IDEKVmd6IG5nIDEKb013IG9uIDEKZnBFIHByIDEKeGpYIGlqIDEKcUNnIHF1IDEKendNIHN6IDEKdVFsIHF1IDEKcVBrIHF1IDEKcGpEIGlqIDEKUXptIHN6IDEKc0lwIHN0IDEKdW9HIHF1IDEKclZsIGVyIDEKY2JLIGNoIDEKaFhtIHRoIDEKS3NmIHN0IDEKa2JGIGthIDEKd0JtIG1lIDEKaVl0IHRoIDEKc2dIIG5nIDEKR3p2IHN6IDEKeXZFIHZhIDEKeEtxIHF1IDEKc1dmIHN0IDEKekJjIGNoIDEKeWtIIGthIDEKdmpIIGlqIDEKd2hJIHRoIDEKdlBqIGlqIDEKWmh0IHRoIDEKaUp4IGluIDEKY1p0IHRoIDEKZHFVIHF1IDEKaE1kIHRoIDEKY1VqIGNoIDEKdk1nIG5nIDEKcGNKIGNoIDEKQmNtIGNoIDEKalhpIGluIDEKeG9JIG9uIDEKWmtxIHF1IDEKWHpyIGVyIDEKeXpNIHN6IDEKcWpYIHF1IDEKbU5xIHF1IDEKaHBYIHRoIDEKZkJxIHF1IDEKdFhkIHRoIDEKWGtpIGluIDEKSHNxIHF1IDEKYnFVIHF1IDEKc2dGIG5nIDEKZFBjIGNoIDEKSnhpIGluIDEKVWdwIG5nIDEKUnhpIGluIDEKS3dtIG1lIDEKemtEIHN6IDEKUnFsIHF1IDEKcEpiIHByIDEKZmNWIGNoIDEKaVZkIGluIDEKYkJwIGJlIDEKT2p3IGlqIDEKdlpsIGxlIDEKSXlqIGlqIDEKZmtVIGthIDEKS2NxIGNoIDEKZEJxIHF1IDEKTXFxIHF1IDEKaU1nIG5nIDEKV3dzIHN0IDEKdHFYIHRoIDEKeGhEIHRoIDEKck5sIGVyIDEKcFdkIGRlIDEKanJWIGVyIDEKQm1qIGlqIDEKSG1xIHF1IDEKdmxIIGxlIDEKTXhiIGJlIDEKeXlTIG55IDEKcXZXIHF1IDEKZnZYIHZhIDEKVmZlIGVyIDEKQ2R3IGRlIDEKS2dlIG5nIDEKUWVqIGVyIDEKcnZaIGVyIDEKdnpJIHN6IDEKZERuIGFuIDEKbndTIGFuIDEKUWNiIGNoIDEKd2tWIGthIDEKdUN4IHF1IDEKSWdrIG5nIDEKVnBtIG1lIDEKaEJtIHRoIDEKcGRRIGRlIDEKZmdRIG5nIDEKeVFtIG1lIDEKZ3hIIG5nIDEKcHFLIHF1IDEKbFJjIGNoIDEKWGR2IGRlIDEKaER6IHRoIDEKZEZ3IGRlIDEKcVF1IHVuIDEKeGJEIGJlIDEKcW1FIHF1IDEKbVdtIG1lIDEKakJiIGlqIDEKalh0IHRoIDEKZnhVIGZvIDEKWHdjIGNoIDEKTHFmIHF1IDEKaGNQIHRoIDEKcGZCIHByIDEKdlNnIG5nIDEKeEp3IHdhIDEKbVJmIG1lIDEKaHFXIHRoIDEKblZiIGFuIDEKY0V1IGNoIDEKbmZOIGFuIDEKblZqIGFuIDEKUndrIGthIDEKbm1HIGFuIDEKb0R0IHRoIDEKa1BiIGthIDEKZ3FXIHF1IDEKUWhmIHRoIDEKcVpsIHF1IDEKekhxIHF1IDEKaVhsIGluIDEKAEG31AoLDb8AAAA/AACAPwAAAD8AQc7UCgsUgL4AAEA/AACAPwAAAD8AAIA+AAEAQerUCgsPgD8AAIA/AAAAPwAAAD8BAEGC1QoLOoA/AACAPwAAAD8AAAA/AAEAAAAAAL8AAAA/AACAPwAAAD8AAAAAAAEAAAAAAL8AAAA/AACAPwAAAD8AQcrVCgsOf0MAAH9DAAD/QgAA/0IAQeLVCgsPf0MAAH9DAAD/QgAA/0IBAEH61QoLDn9DAAB/QwAA/0IAAP9CAEGa1goLDn9DAAB/QwAA/0IAAP9CAEGy1goLDn9DAAB/QwAA/0IAAP9CAEHK1goLDn9DAAB/QwAA/0IAAP9CAEHm1goLE4C+AABAPwAAgD8AAAA/AACAPgEAQYLXCgsigD8AAIA/AAAAPwAAAD8AAAAAAAAAvwAAAD8AAIA/AAAAPwBBt9cKCw2/AAAAPwAAgD8AAAA/AEHO1woLEoC+AABAPwAAgD8AAAA/AACAPgBB6tcKCw+APwAAgD8AAAA/AAAAPwEAQYLYCgujAYA/AACAPwAAAD8AAAA/+PEFAADyBQAG8gUAD/IFABfyBQAg8gUAK/IFADfyBQBE8gUATvIFAFXyBQBe8gUAavIFAHbyBQCC8gUAh/IFAJDyBQCZ8gUApfIFAK3yBQCy8gUAt/IFAL7yBQDG8gUA0/IFAN/yBQDx8gUAAAAAAAUAAAAKAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAQbDZCgsX1vsFAOP7BQDv+wUA9vsFAAT8BQAR/AUAQdHZCgtCAQEAAQAAAAEAAAAAAAAA9FQHAKsZBgC3GQYAwhkGANEZBgDgGQYA5hkGAO0ZBgAgrQIAQK0CAGCtAgBwrQIA+hkGAEGg2goLEVN5c3RlbSBEaWN0aW9uYXJ5AEHA2goLE0RvY3VtZW50IERpY3Rpb25hcnkAQeDaCgspVXNlciBEaWN0aW9uYXJ5AEZyZXF1ZW50IFdvcmRzIERpY3Rpb25hcnkAQZTbCgveAQEAAAAFAAAABAAAAAAAAAADAAAAAgAAAAQAAAAAAAAA/////wIAAAD/////AAAAAAMAAAD/////BAAAAAAAAAD//////////wQAAAAFAAAA/////wIAAAD/////MC4GAEEuBgBSLgYAYS4GADG2BgA4tgYAQ7YGAFG2BgBZtgYAY7YGAG22BgB3tgYAgbYGAI22BgBgrgIAgK4CAJe2BgCmtgYAsbYGAL22BgDKtgYA17YGANy2BgDrtgYAkK4CALCuAgD6tgYAB7cGAGZpeGVkLWxlbmd0aC1kYXdncwBBgN0KCyBjdWJlLXVuaWNoYXJzZXQAbHN0bS1udW1iZXItZGF3ZwBBsN0KC5sGbHN0bS11bmljaGFyc2V0AJCNBQA4iwUAnI0FAKiNBQApuQYAPbkGAE+5BgBiuQYAc7kGAIK5BgCSuQYAo7kGALK5BgDCuQYA1LkGAOS5BgD1uQYAB7oGABe6BgAougYAQ7oGAF66BgByugYAhroGAKG6BgC6ugYA0boGAOW6BgBJbGxlZ2FsIGFtYmlndWl0eSBzcGVjaWZpY2F0aW9uIG9uIGxpbmUgJWQKAAAAAABJbGxlZ2FsIHVuaWNoYXIgJXMgaW4gYW1iaWd1aXR5IHNwZWNpZmljYXRpb24KAACsIAAAHCAAAB0gAAAYIAAAGSAAACIgAAAUIAAAAAAAAKIAAAAiAAAAIgAAACcAAAAnAAAAtwAAAC0AAAAAAAAAjUIHAKNCBwDDQgcA6EIHAAJDBwAhQwcANkMHAFNDBwB9QwcAvUMHANxDBwDzQwcACUQHAB1EBwBaRAcAikQHAKZEBwDJRAcAAEUHADdFBwBORQcAbkUHAJhFBwDlRQcAAEYHACtGBwBHRgcAbEYHAJJGBwC3RgcAykYHAN9GBwDyRgcABUcHACpHBwA/RwcAU0cHAHRHBwCKRwcAuUcHAOFHBwACSAcAI0gHAFJIBwBjSAcAf0gHAL1IBwDkSAcAC0kHAB9JBwBNSQcAdUkHAJFJBwC2SQcA2EkHAAJKBwAtSgcAS0oHAHlKBwChSgcAyEoHAPVKBwAlSwcAT0sHAHxLBwCoSwcAy0sHAOlLBwAHTAcAPUwHAGdMBwCGTAcAqUwHANBMBwDlTAcA+UwHAC5NBwA+TQcAfE0HAL5NBwDoTQcAFE4HADtOBwBXTgcAgk4HAJ1OBwCxTgcAyE4HANVOBwD9TgcAMk8HAG5PBwCcTwcAvU8HAORPBwD9TwcAJVAHAEhQBwBgUAcAhFAHAKlQBwCvUAcA6FAHACJRBwBBUQcAUFEHAG1RBwCLUQcAqFEHAMFRBwDaUQcAHFIHAFZSBwCMUgcAwFIHANRSBwDrUgcAEVMHADhTBwB6UwcAtlMHAOdTBwALVAcAOVQHAFRUBwCMVAcAt1QHAEHU4woLvQQBAAAACAAAABAAAAAJAAAAAgAAAAMAAAAKAAAAEQAAABgAAAAgAAAAGQAAABIAAAALAAAABAAAAAUAAAAMAAAAEwAAABoAAAAhAAAAKAAAADAAAAApAAAAIgAAABsAAAAUAAAADQAAAAYAAAAHAAAADgAAABUAAAAcAAAAIwAAACoAAAAxAAAAOAAAADkAAAAyAAAAKwAAACQAAAAdAAAAFgAAAA8AAAAXAAAAHgAAACUAAAAsAAAAMwAAADoAAAA7AAAANAAAAC0AAAAmAAAAHwAAACcAAAAuAAAANQAAADwAAAA9AAAANgAAAC8AAAA3AAAAPgAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAAAAAAAEAAAAIAAAAEAAAAAkAAAACAAAAAwAAAAoAAAARAAAAGAAAACAAAAAZAAAAEgAAAAsAAAAEAAAABQAAAAwAAAATAAAAGgAAACEAAAAoAAAAMAAAACkAAAAiAAAAGwAAABQAAAANAAAABgAAAA4AAAAVAAAAHAAAACMAAAAqAAAAMQAAADIAAAArAAAAJAAAAB0AAAAWAAAAHgAAACUAAAAsAAAAMwAAADQAAAAtAAAAJgAAAC4AAAA1AAAANgAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AQaToCgvtAgEAAAAIAAAAEAAAAAkAAAACAAAAAwAAAAoAAAARAAAAGAAAACAAAAAZAAAAEgAAAAsAAAAEAAAABQAAAAwAAAATAAAAGgAAACEAAAAoAAAAKQAAACIAAAAbAAAAFAAAAA0AAAAVAAAAHAAAACMAAAAqAAAAKwAAACQAAAAdAAAAJQAAACwAAAAtAAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAAAAAAABAAAACAAAABAAAAAJAAAAAgAAAAMAAAAKAAAAEQAAABgAAAAgAAAAGQAAABIAAAALAAAABAAAAAwAAAATAAAAGgAAACEAAAAiAAAAGwAAABQAAAAcAAAAIwAAACQAAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AEGk6woL3QEBAAAACAAAABAAAAAJAAAAAgAAAAMAAAAKAAAAEQAAABgAAAAZAAAAEgAAAAsAAAATAAAAGgAAABsAAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAAAAAAAEAAAAIAAAAEAAAAAkAAAACAAAACgAAABEAAAASAAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwBBlO0KC5QEAQAAAAgAAAAJAAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAIEBHVoOAoYlEAMUERIECwgUBdgDFwbaARkH5QAcCG8AHgk2ACEKGgAjCw0ACQwGAAoNAwAMDQEAjw9/WiQQJT8mEfIsJxJ8ICgTuRcqFIIRKxXvDC0WoQkuFy8HMBhcBTEZBgQzGgMDNBtAAjYcsQE4HUQBOR71ADsftwA8IIoAPiFoAD8iTgAgIzsAIQksAKUl4VpAJkxIQScNOkMo8S5EKR8mRSozH0YrqBlILBgVSS13EUoudA5LL/sLTTD4CU4xYQhPMgYHMDPNBTI03gQyNQ8EMzZjAzQ31AI1OFwCNjn4ATc6pAE4O2ABOTwlATo99gA7PssAPT+rAD0gjwDBQRJbUEIETVFDLEFSRNg3U0XoL1RGPClWR3kjV0jfHldJqRpISk4XSEskFEpMnBFKTWsPS05RDU1PtgtNMEAK0FEyWFhSHE1ZU45DWlTdO1tV7jRcVq4uXVeaKVZHFiXYWXBVX1qpTGBb2URhXCI+Y10kOGNetDJdVhcu32CoVmVhRk9mYuVHZ2PPQWhkPTxjXV43aWYxUmpnD0xraDlGZ2NeQelqJ1Zsa+dQbWeFS25tl1Vva09Q7m8QWnBtIlXwb+tZcXEdWgBBsPEKC8kB9FQHAAEAAAAeAAAA+VQHAAUAAAAfAAAA/VQHAAWAAAAgAAAABlUHACmAAAAhAAAAElUHAP5/AAAiAAAAF1UHAAcAAAAjAAAAHFUHAAYAAAAkAAAAK1UHAAIAAAAlAAAANVUHAAOAAAAmAAAAQVUHAAMAAAAnAAAAT1UHAAQAAAAoAAAAXVUHAGWHAAApAAAAZlUHALKAAAAqAAAAblUHAAgAAAAqAAAAe1UHAI2AAAArAAAAhFUHAHSHAAAsAAAAi1UHAHWHAAAsAEGQ8woLJxgAAQAAAAAAAwAAAAAAAQBHXAcAGQABAAAAAAADAAAAAAABAFVcBwBBwPMKCxFUSUZGQXBwZW5kVG9TdHJpcABB4PMKC6gKTG9nTDE2SW5pdFN0YXRlAF+bfT4EAAAANKF5PgYABAADfHc+BwAKAD6Vcz4JABEAWJFxPgoAGgCEuW0+DAAkABvVaT4OADAAcLBnPg8APgA5tWM+EQBNACmzYT4SAF4A8NxbPhUAcACz0Vk+FgCFAD/HVz4XAJsAO+VRPhoAsgCQ208+GwDMAOIGTD4dAOcAtTdIPh8ABAGYNEY+IAAjAWFvQj4iAEMBaK8+PiQAZQForz4+JACJAWb5Oj4mAK0BkEw3PigA0wFcrTM+KgD7AQghMD4sACUCCCEwPiwAUQKgqCw+LgB9AqCoLD4uAKsCNIAnPjEA2QIMcyI+NAAKAwxzIj40AD4DDHMiPjQAcgOugR0+NwCmA66BHT43AN0D4qwYPjoAFATirBg+OgBOBAIsEj4+AIgEAiwSPj4AxgQCLBI+PgAEBaeWDT5BAEIFp5YNPkEAgwWnlg0+QQDEBYZWBz5FAAUGhlYHPkUASgafOwE+SQCPBp87AT5JANgGnzsBPkkAIQdQivY9TQBqB1CK9j1NALcHUIr2PU0ABAhQivY9TQBRCJ9Y5z1SAJ4In1jnPVIA8AifWOc9UgBCCb8O3D1WAJQJvw7cPVYA6gm/Dtw9VgBACr8O3D1WAJYKoYDNPVsA7AqhgM09WwBHC6GAzT1bAKILbNHCPV8A/Qts0cI9XwBcDGzRwj1fALsMbNHCPV8AGg0MyrQ9ZAB5DQzKtD1kAN0NDMq0PWQAQQ4MyrQ9ZAClDoj1pj1pAAkPiPWmPWkAcg+I9aY9aQDbD4j1pj1pAEQQuVCZPW4ArRC5UJk9bgAbEblQmT1uAIkRuVCZPW4A9xGh24s9cwBlEqHbiz1zANgSoduLPXMASxOh24s9cwC+E5Aygj13ADEUkDKCPXcAqBSQMoI9dwAfFZAygj13AJYVeF5qPXwADRZ4Xmo9fACJFnheaj18AAUXeF5qPXwAgRem1VA9gQD9F6bVUD2BAH4YptVQPYEA/xim1VA9gQCAGabVUD2BAAEaEr43PYYAghoSvjc9hgAIGxK+Nz2GAI4bEr43PYYAFBzHLSY9igCaHMctJj2KACQdxy0mPYoArh3HLSY9igA4HjTYFD2OAMIeNNgUPY4AUB802BQ9jgDeHzTYFD2OAGwgL6QDPZIA+iAvpAM9kgCMIS+kAz2SAB4iL6QDPZIAsCIb8eQ8lgBCIxvx5DyWANgjG/HkPJYAbiRLeMI8mgAEJUt4wjyaAJ4lS3jCPJoAOCZLeMI8mgDSJtrGnzyeAGwn2safPJ4ACijaxp88ngCoKEERizyhAEYpQRGLPKEA5ylBEYs8oQCIKkERizyhACkrzxNPPKUAyivPE088pQBvLM8TTzylABQtS7EjPKgAuS1LsSM8qABhLkuxIzyoAAkv2LcTPKoAsS/YtxM8qgBbMNi3EzyqAAUx+rfLO60ArzH6t8s7rQBcMrwEpzuvAAkzvASnO68AuDO8BKc7rwBnNBIXgDuxABY1EheAO7EAxzWvWhk7sQB4NsWQHDuqACk3IvyLOqQA0zd6qdg6nQB3OA71OzqWABQ52ozTOo8AqjnJjo05iAA5OmHB/TmBAME6ipKQOnsAQjubyqI6cwC9O6q2mzptADA8iIOEOmcAnTwv3Dk6YQAEPYnPnTlZAGU9wVUeO1IAvj27DlU7TAAQPti6VDtFAFw+OrGHOz4AoT5FZcM7NwDfPnTREDwvABY/QN4rPCgART8AN4s8HwBtP4XQwTwVAIw/AEGQ/goLJExvZ0x1dkluaXRTdGF0ZQBmb3IgZmllbGQgaW5mbyBhcnJheQBBwP4KCxNfVElGRk1lcmdlRmllbGRJbmZvAEHg/goLEFRJRkZJbml0UGl4YXJMb2cAQYD/CgsDDQABAEGQ/woLB9NqHgAWAAEAQaT/CgsD02oeAEGw/woLEz0BAAABAAEAAwAAAEIAAACVXwcAQdD/CgsTUHJlZGljdG9yRW5jb2RlVGlsZQBB8P8KCxFQaXhhckxvZ1ZTZXRGaWVsZABBkIALCxJQaXhhckxvZ1Bvc3RFbmNvZGUAQbCACwsTUGl4YXJMb2dTZXR1cEVuY29kZQBB0IALCxNQaXhhckxvZ1NldHVwRGVjb2RlAEHwgAsLAxUAAQBB/oALCwUBANNqHgBBkIELCxMlAQAAAQABAAQAAABJAAAAnmQHAEG0gQsLHQEAAAADAAAABwAAAA8AAAAfAAAAPwAAAH8AAAD/AEHggQsLxwoIADUAAAAGAAcAAQAEAAcAAgAEAAgAAwAEAAsABAAEAAwABQAEAA4ABgAEAA8ABwAFABMACAAFABQACQAFAAcACgAFAAgACwAGAAgADAAGAAMADQAGADQADgAGADUADwAGACoAEAAGACsAEQAHACcAEgAHAAwAEwAHAAgAFAAHABcAFQAHAAMAFgAHAAQAFwAHACgAGAAHACsAGQAHABMAGgAHACQAGwAHABgAHAAIAAIAHQAIAAMAHgAIABoAHwAIABsAIAAIABIAIQAIABMAIgAIABQAIwAIABUAJAAIABYAJQAIABcAJgAIACgAJwAIACkAKAAIACoAKQAIACsAKgAIACwAKwAIAC0ALAAIAAQALQAIAAUALgAIAAoALwAIAAsAMAAIAFIAMQAIAFMAMgAIAFQAMwAIAFUANAAIACQANQAIACUANgAIAFgANwAIAFkAOAAIAFoAOQAIAFsAOgAIAEoAOwAIAEsAPAAIADIAPQAIADMAPgAIADQAPwAFABsAQAAFABIAgAAGABcAwAAHADcAAAEIADYAQAEIADcAgAEIAGQAwAEIAGUAAAIIAGgAQAIIAGcAgAIJAMwAwAIJAM0AAAMJANIAQAMJANMAgAMJANQAwAMJANUAAAQJANYAQAQJANcAgAQJANgAwAQJANkAAAUJANoAQAUJANsAgAUJAJgAwAUJAJkAAAYJAJoAQAYGABgAgAYJAJsAwAYLAAgAAAcLAAwAQAcLAA0AgAcMABIAwAcMABMAAAgMABQAQAgMABUAgAgMABYAwAgMABcAAAkMABwAQAkMAB0AgAkMAB4AwAkMAB8AAAoMAAEA//8JAAEA/v8KAAEA/v8LAAEA/v8MAAAA/v8AAAoANwAAAAMAAgABAAIAAwACAAIAAgADAAMAAwAEAAQAAwAFAAQAAgAGAAUAAwAHAAYABQAIAAYABAAJAAcABAAKAAcABQALAAcABwAMAAgABAANAAgABwAOAAkAGAAPAAoAFwAQAAoAGAARAAoACAASAAsAZwATAAsAaAAUAAsAbAAVAAsANwAWAAsAKAAXAAsAFwAYAAsAGAAZAAwAygAaAAwAywAbAAwAzAAcAAwAzQAdAAwAaAAeAAwAaQAfAAwAagAgAAwAawAhAAwA0gAiAAwA0wAjAAwA1AAkAAwA1QAlAAwA1gAmAAwA1wAnAAwAbAAoAAwAbQApAAwA2gAqAAwA2wArAAwAVAAsAAwAVQAtAAwAVgAuAAwAVwAvAAwAZAAwAAwAZQAxAAwAUgAyAAwAUwAzAAwAJAA0AAwANwA1AAwAOAA2AAwAJwA3AAwAKAA4AAwAWAA5AAwAWQA6AAwAKwA7AAwALAA8AAwAWgA9AAwAZgA+AAwAZwA/AAoADwBAAAwAyACAAAwAyQDAAAwAWwAAAQwAMwBAAQwANACAAQwANQDAAQ0AbAAAAg0AbQBAAg0ASgCAAg0ASwDAAg0ATAAAAw0ATQBAAw0AcgCAAw0AcwDAAw0AdAAABA0AdQBABA0AdgCABA0AdwDABA0AUgAABQ0AUwBABQ0AVACABQ0AVQDABQ0AWgAABg0AWwBABg0AZACABg0AZQDABgsACAAABwsADABABwsADQCABwwAEgDABwwAEwAACAwAFABACAwAFQCACAwAFgDACAwAFwAACQwAHABACQwAHQCACQwAHgDACQwAHwAACgwAAQD//wkAAQD+/woAAQD+/wsAAQD+/wwAAAD+/wAABwADAAAABgADAAAAAwADAAAAAQABAAAAAwACAAAABgACAAAABwACAEGwjQsLgAIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAwMDAwMDAwMDAwMDAwMDBAQEBAQEBAQFBQUFBgYHCAgHBgYFBQUFBAQEBAQEBAQDAwMDAwMDAwMDAwMDAwMDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEGwkAsL/RcMBwAAAAAAAAMBAAAAAAAABQMAAAEAAAADAQAAAAAAAAIDAAAAAAAAAwEAAAAAAAAEAwAAAQAAAAMBAAAAAAAAAQQAAAAAAAADAQAAAAAAAAUDAAABAAAAAwEAAAAAAAACAwAAAAAAAAMBAAAAAAAABAMAAAEAAAADAQAAAAAAAAUGAAACAAAAAwEAAAAAAAAFAwAAAQAAAAMBAAAAAAAAAgMAAAAAAAADAQAAAAAAAAQDAAABAAAAAwEAAAAAAAABBAAAAAAAAAMBAAAAAAAABQMAAAEAAAADAQAAAAAAAAIDAAAAAAAAAwEAAAAAAAAEAwAAAQAAAAMBAAAAAAAABQcAAAMAAAADAQAAAAAAAAUDAAABAAAAAwEAAAAAAAACAwAAAAAAAAMBAAAAAAAABAMAAAEAAAADAQAAAAAAAAEEAAAAAAAAAwEAAAAAAAAFAwAAAQAAAAMBAAAAAAAAAgMAAAAAAAADAQAAAAAAAAQDAAABAAAAAwEAAAAAAAAEBgAAAgAAAAMBAAAAAAAABQMAAAEAAAADAQAAAAAAAAIDAAAAAAAAAwEAAAAAAAAEAwAAAQAAAAMBAAAAAAAAAQQAAAAAAAADAQAAAAAAAAUDAAABAAAAAwEAAAAAAAACAwAAAAAAAAMBAAAAAAAABAMAAAEAAAADAQAAAAAAAAYHAAAAAAAAAwEAAAAAAAAFAwAAAQAAAAMBAAAAAAAAAgMAAAAAAAADAQAAAAAAAAQDAAABAAAAAwEAAAAAAAABBAAAAAAAAAMBAAAAAAAABQMAAAEAAAADAQAAAAAAAAIDAAAAAAAAAwEAAAAAAAAEAwAAAQAAAAMBAAAAAAAABQYAAAIAAAADAQAAAAAAAAUDAAABAAAAAwEAAAAAAAACAwAAAAAAAAMBAAAAAAAABAMAAAEAAAADAQAAAAAAAAEEAAAAAAAAAwEAAAAAAAAFAwAAAQAAAAMBAAAAAAAAAgMAAAAAAAADAQAAAAAAAAQDAAABAAAAAwEAAAAAAAAEBwAAAwAAAAMBAAAAAAAABQMAAAEAAAADAQAAAAAAAAIDAAAAAAAAAwEAAAAAAAAEAwAAAQAAAAMBAAAAAAAAAQQAAAAAAAADAQAAAAAAAAUDAAABAAAAAwEAAAAAAAACAwAAAAAAAAMBAAAAAAAABAMAAAEAAAADAQAAAAAAAAQGAAACAAAAAwEAAAAAAAAFAwAAAQAAAAMBAAAAAAAAAgMAAAAAAAADAQAAAAAAAAQDAAABAAAAAwEAAAAAAAABBAAAAAAAAAMBAAAAAAAABQMAAAEAAAADAQAAAAAAAAIDAAAAAAAAAwEAAAAAAAAEAwAAAQAAAAMBAAAAAAAADAsAAAAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAkAAA8AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAEgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAoAABEAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsLAAAABwAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICwAAFwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgLAAAUAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAsAABkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAQbioCwv1DwgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDAAAgAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAA4AAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAHgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwsAAEAHAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAA5AAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAsAABUAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAANgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgBBuLgLC/UPCAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgJAAAPAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAADQAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAwAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAALDAAAQAgAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAACwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAJAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoMAACAAQAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAEG4yAsL9Q8IAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAABwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAPAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAACgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsMAABACQAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAEAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAAAAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACgoAAEAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAQbjYCwv1DwgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICQAADwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAASAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAEQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwwAAMAHAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAyAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAACIAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDQAAgAYAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgBBuOgLC/UPCAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAaAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACg0AAIAFAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAgAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAALCwAAgAcAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAAD0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAKgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoNAAAABAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAEG4+AsL9Q8IAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAkAAA8AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDQAAAAMAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAAD4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsMAADACAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAALgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAmAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACg0AAAACAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAQbiIDAv1HwgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICwAAEwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgLAAAYAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICwAAFgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwwAAMAJAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAAQAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAoAAAAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKCgAAQAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAwLAAAAAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgJAAAPAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAoAABIAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAARAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAALCwAAAAcAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAsAABcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICwAAFAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgLAAAZAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAEG4qAwL9Q8IAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACgwAAMAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDQAAAAUAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAAB8AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsLAABABwAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAOgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgLAAAVAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACg0AAIADAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAQbi4DAv1DwgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICQAADwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoNAACAAgAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAMQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwwAAIAIAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAtAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAACUAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDAAAwAEAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgBBuMgMC/UPCAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAdAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACg0AAAAGAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAApAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAALDAAAgAkAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAoAABAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAAAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoKAABAAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAEG42AwL9Q8IAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAkAAA8AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAEgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAoAABEAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsMAAAACAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAMwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAjAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACgwAAEABAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAQbjoDAv1DwgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAGwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAA7AAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAIQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwsAAIAHAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoMAAAAAQAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAACsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDQAAgAQAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgBBuPgMC/UPCAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgJAAAPAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAADcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAA/AAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAALDAAAAAkAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAAC8AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAJwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAA1AAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAEG4iA0L9R8IAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAsAABMAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICwAAGAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAsAABYAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsMAAAACgAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAEAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAAAAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACgoAAEAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAMCwAAAAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICQAADwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAASAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAEQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwsAAAAHAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgLAAAXAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAsAABQAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICwAAGQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgBBuKgNC/UPCAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoMAACAAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAADgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAeAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAALCwAAQAcAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAADkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICwAAFQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAA2AAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAEG4uA0L9Q8IAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAkAAA8AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAANAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAADAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsMAABACAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAALAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAkAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACgwAAIABAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAQbjIDQv1DwgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAHAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAA8AAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAKAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwwAAEAJAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAAQAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAoAAAAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKCgAAQAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgBBuNgNC/UPCAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgJAAAPAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAoAABIAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAARAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAALDAAAwAcAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAADIAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAIgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoNAADABgAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAEG46A0L9Q8IAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAABoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDQAAwAUAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAACAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsLAACABwAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAPQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAqAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACg0AAEAEAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAQbj4DQv1DwgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICQAADwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoNAABAAwAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAPgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwwAAMAIAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAuAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAACYAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDQAAQAIAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgBBuIgOC/UfCAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgLAAATAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAsAABgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgLAAAWAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAALDAAAwAkAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAoAABAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAAAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoKAABAAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAADAsAAAAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAkAAA8AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAEgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAoAABEAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsLAAAABwAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICwAAFwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgLAAAUAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAsAABkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAQbioDgv1DwgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDAAAwAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoNAABABQAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAHwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwsAAEAHAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAA6AAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAsAABUAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDQAAwAMAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgBBuLgOC/UPCAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgJAAAPAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACg0AAMACAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAxAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAALDAAAgAgAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAAC0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAJQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoMAADAAQAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAEG4yA4L9Q8IAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAAB0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDQAAQAYAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAACkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsMAACACQAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAEAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAAAAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACgoAAEAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAQbjYDgv1DwgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICQAADwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAASAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAEQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwwAAAAIAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAzAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAACMAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDAAAQAEAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgBBuOgOC/UPCAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAbAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAADsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAhAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAALCwAAgAcAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACgwAAAABAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAKwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoNAADABAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAEG4+A4L9Q8IAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAkAAA8AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAANwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAAD8AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsMAAAACQAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAALwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAnAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAADUAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAQbiIDwv1HwgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICwAAEwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgLAAAYAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICwAAFgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwwAAAAKAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAAQAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAoAAAAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKCgAAQAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAwLAAAAAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAJwAAAAcGAAAQAAAACQgAAEACAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAANwAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA1AAAABwUAAAkAAAAJCAAAwAEAAAcEAAAGAAAABwgAACMAAAAJBQAAgAAAAAcIAAAzAAAABwYAAA8AAAAHCAAAPwAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAwAUAAAcEAAAFAAAABwgAACsAAAAHBgAAEQAAAAkJAADABAAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAhAAAACQUAAIAAAAAHCAAAMQAAAAcGAAAOAAAABwgAAD0AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALwAAAAcEAAADAAAABwgAADsAAAAHBAAABQAAAAcIAAApAAAABwYAABAAAAAJCQAAwAMAAAcEAAAGAAAABwgAAB8AAAAHBQAACAAAAAcIAAA5AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkJAADAAgAABwQAAAYAAAAHCAAAJQAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAABAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAALCwAAAAcAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACgAAAAHBgAAEAAAAAkJAABAAwAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADgAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANgAAAAcFAAAJAAAACQgAAAACAAAHBAAABgAAAAcIAAAkAAAACQUAAIAAAAAHCAAANAAAAAcGAAAPAAAABwgAAAAAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAEAGAAAHBAAABQAAAAcIAAAsAAAABwYAABEAAAAJCQAAQAUAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAeAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIgAAAAkFAACAAAAABwgAADIAAAAHBgAADgAAAAcIAAA+AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAADAAAAAHBAAAAwAAAAcIAAA8AAAABwQAAAUAAAAHCAAAKgAAAAcGAAAQAAAACQkAAEAEAAAHBAAABgAAAAcIAAAgAAAABwUAAAgAAAAHCAAAOgAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCAAAgAIAAAcEAAAGAAAABwgAACYAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAgAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAEG4qA8L9Q8HBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcHAAAUAAAACQUAAIAAAAAHBwAAGAAAAAcGAAAOAAAABwcAABwAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFwAAAAcEAAADAAAABwcAABsAAAAHBAAABQAAAAcIAAAnAAAABwYAABAAAAAJCAAAQAIAAAcEAAAGAAAABwcAABMAAAAHBQAACAAAAAcIAAA3AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAtAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwgAADUAAAAHBQAACQAAAAkIAADAAQAABwQAAAYAAAAHCAAAIwAAAAkFAACAAAAABwgAADMAAAAHBgAADwAAAAcIAAA/AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAkJAAAABgAABwQAAAUAAAAHCAAAKwAAAAcGAAARAAAACQkAAAAFAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAHQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwgAACEAAAAJBQAAgAAAAAcIAAAxAAAABwYAAA4AAAAHCAAAPQAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAvAAAABwQAAAMAAAAHCAAAOwAAAAcEAAAFAAAABwgAACkAAAAHBgAAEAAAAAkJAAAABAAABwQAAAYAAAAHCAAAHwAAAAcFAAAIAAAABwgAADkAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABYAAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBwAAGgAAAAcFAAAJAAAACQkAAAADAAAHBAAABgAAAAcIAAAlAAAACQUAAIAAAAAHBwAAGQAAAAcGAAAPAAAACQgAAEABAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAABwcAABIAAAAHBAAABQAAAAcHAAAVAAAABwYAABEAAAAJBwAAAAEAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAsLAABABwAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAKAAAAAcGAAAQAAAACQkAAIADAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAAOAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA2AAAABwUAAAkAAAAJCAAAAAIAAAcEAAAGAAAABwgAACQAAAAJBQAAgAAAAAcIAAA0AAAABwYAAA8AAAAHCAAAAAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAwAYAAAcEAAAFAAAABwgAACwAAAAHBgAAEQAAAAkJAACABQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAiAAAACQUAAIAAAAAHCAAAMgAAAAcGAAAOAAAABwgAAD4AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAMAAAAAcEAAADAAAABwgAADwAAAAHBAAABQAAAAcIAAAqAAAABwYAABAAAAAJCQAAgAQAAAcEAAAGAAAABwgAACAAAAAHBQAACAAAAAcIAAA6AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkIAACAAgAABwQAAAYAAAAHCAAAJgAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAACAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAQbi4Dwv1DwcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACcAAAAHBgAAEAAAAAkIAABAAgAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADcAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANQAAAAcFAAAJAAAACQgAAMABAAAHBAAABgAAAAcIAAAjAAAACQUAAIAAAAAHCAAAMwAAAAcGAAAPAAAABwgAAD8AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAMAFAAAHBAAABQAAAAcIAAArAAAABwYAABEAAAAJCQAAwAQAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAdAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIQAAAAkFAACAAAAABwgAADEAAAAHBgAADgAAAAcIAAA9AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC8AAAAHBAAAAwAAAAcIAAA7AAAABwQAAAUAAAAHCAAAKQAAAAcGAAAQAAAACQkAAMADAAAHBAAABgAAAAcIAAAfAAAABwUAAAgAAAAHCAAAOQAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCQAAwAIAAAcEAAAGAAAABwgAACUAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAQAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAACwwAAEAIAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcHAAAUAAAACQUAAIAAAAAHBwAAGAAAAAcGAAAOAAAABwcAABwAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFwAAAAcEAAADAAAABwcAABsAAAAHBAAABQAAAAcIAAAoAAAABwYAABAAAAAJCQAAQAMAAAcEAAAGAAAABwcAABMAAAAHBQAACAAAAAcIAAA4AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAuAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwgAADYAAAAHBQAACQAAAAkIAAAAAgAABwQAAAYAAAAHCAAAJAAAAAkFAACAAAAABwgAADQAAAAHBgAADwAAAAcIAAAAAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAkJAABABgAABwQAAAUAAAAHCAAALAAAAAcGAAARAAAACQkAAEAFAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAHgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwgAACIAAAAJBQAAgAAAAAcIAAAyAAAABwYAAA4AAAAHCAAAPgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAwAAAABwQAAAMAAAAHCAAAPAAAAAcEAAAFAAAABwgAACoAAAAHBgAAEAAAAAkJAABABAAABwQAAAYAAAAHCAAAIAAAAAcFAAAIAAAABwgAADoAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABYAAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBwAAGgAAAAcFAAAJAAAACQgAAIACAAAHBAAABgAAAAcIAAAmAAAACQUAAIAAAAAHBwAAGQAAAAcGAAAPAAAACQgAAIABAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAABwcAABIAAAAHBAAABQAAAAcHAAAVAAAABwYAABEAAAAJBwAAAAEAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwBBuMgPC/UPBwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAJwAAAAcGAAAQAAAACQgAAEACAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAANwAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA1AAAABwUAAAkAAAAJCAAAwAEAAAcEAAAGAAAABwgAACMAAAAJBQAAgAAAAAcIAAAzAAAABwYAAA8AAAAHCAAAPwAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAAAYAAAcEAAAFAAAABwgAACsAAAAHBgAAEQAAAAkJAAAABQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAhAAAACQUAAIAAAAAHCAAAMQAAAAcGAAAOAAAABwgAAD0AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALwAAAAcEAAADAAAABwgAADsAAAAHBAAABQAAAAcIAAApAAAABwYAABAAAAAJCQAAAAQAAAcEAAAGAAAABwgAAB8AAAAHBQAACAAAAAcIAAA5AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkJAAAAAwAABwQAAAYAAAAHCAAAJQAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAABAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAALDAAAQAkAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACgAAAAHBgAAEAAAAAkJAACAAwAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADgAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANgAAAAcFAAAJAAAACQgAAAACAAAHBAAABgAAAAcIAAAkAAAACQUAAIAAAAAHCAAANAAAAAcGAAAPAAAABwgAAAAAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAMAGAAAHBAAABQAAAAcIAAAsAAAABwYAABEAAAAJCQAAgAUAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAeAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIgAAAAkFAACAAAAABwgAADIAAAAHBgAADgAAAAcIAAA+AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAADAAAAAHBAAAAwAAAAcIAAA8AAAABwQAAAUAAAAHCAAAKgAAAAcGAAAQAAAACQkAAIAEAAAHBAAABgAAAAcIAAAgAAAABwUAAAgAAAAHCAAAOgAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCAAAgAIAAAcEAAAGAAAABwgAACYAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAgAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAEG42A8L9Q8HBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcHAAAUAAAACQUAAIAAAAAHBwAAGAAAAAcGAAAOAAAABwcAABwAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFwAAAAcEAAADAAAABwcAABsAAAAHBAAABQAAAAcIAAAnAAAABwYAABAAAAAJCAAAQAIAAAcEAAAGAAAABwcAABMAAAAHBQAACAAAAAcIAAA3AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAtAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwgAADUAAAAHBQAACQAAAAkIAADAAQAABwQAAAYAAAAHCAAAIwAAAAkFAACAAAAABwgAADMAAAAHBgAADwAAAAcIAAA/AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAkJAADABQAABwQAAAUAAAAHCAAAKwAAAAcGAAARAAAACQkAAMAEAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAHQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwgAACEAAAAJBQAAgAAAAAcIAAAxAAAABwYAAA4AAAAHCAAAPQAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAvAAAABwQAAAMAAAAHCAAAOwAAAAcEAAAFAAAABwgAACkAAAAHBgAAEAAAAAkJAADAAwAABwQAAAYAAAAHCAAAHwAAAAcFAAAIAAAABwgAADkAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABYAAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBwAAGgAAAAcFAAAJAAAACQkAAMACAAAHBAAABgAAAAcIAAAlAAAACQUAAIAAAAAHBwAAGQAAAAcGAAAPAAAACQgAAEABAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAABwcAABIAAAAHBAAABQAAAAcHAAAVAAAABwYAABEAAAAJBwAAAAEAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAsMAADABwAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAKAAAAAcGAAAQAAAACQkAAEADAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAAOAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA2AAAABwUAAAkAAAAJCAAAAAIAAAcEAAAGAAAABwgAACQAAAAJBQAAgAAAAAcIAAA0AAAABwYAAA8AAAAHCAAAAAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAQAYAAAcEAAAFAAAABwgAACwAAAAHBgAAEQAAAAkJAABABQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAiAAAACQUAAIAAAAAHCAAAMgAAAAcGAAAOAAAABwgAAD4AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAMAAAAAcEAAADAAAABwgAADwAAAAHBAAABQAAAAcIAAAqAAAABwYAABAAAAAJCQAAQAQAAAcEAAAGAAAABwgAACAAAAAHBQAACAAAAAcIAAA6AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkIAACAAgAABwQAAAYAAAAHCAAAJgAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAACAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAQbjoDwv1DwcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACcAAAAHBgAAEAAAAAkIAABAAgAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADcAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANQAAAAcFAAAJAAAACQgAAMABAAAHBAAABgAAAAcIAAAjAAAACQUAAIAAAAAHCAAAMwAAAAcGAAAPAAAABwgAAD8AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAAAGAAAHBAAABQAAAAcIAAArAAAABwYAABEAAAAJCQAAAAUAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAdAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIQAAAAkFAACAAAAABwgAADEAAAAHBgAADgAAAAcIAAA9AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC8AAAAHBAAAAwAAAAcIAAA7AAAABwQAAAUAAAAHCAAAKQAAAAcGAAAQAAAACQkAAAAEAAAHBAAABgAAAAcIAAAfAAAABwUAAAgAAAAHCAAAOQAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCQAAAAMAAAcEAAAGAAAABwgAACUAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAQAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAACwsAAIAHAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcHAAAUAAAACQUAAIAAAAAHBwAAGAAAAAcGAAAOAAAABwcAABwAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFwAAAAcEAAADAAAABwcAABsAAAAHBAAABQAAAAcIAAAoAAAABwYAABAAAAAJCQAAgAMAAAcEAAAGAAAABwcAABMAAAAHBQAACAAAAAcIAAA4AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAuAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwgAADYAAAAHBQAACQAAAAkIAAAAAgAABwQAAAYAAAAHCAAAJAAAAAkFAACAAAAABwgAADQAAAAHBgAADwAAAAcIAAAAAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAkJAADABgAABwQAAAUAAAAHCAAALAAAAAcGAAARAAAACQkAAIAFAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAHgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwgAACIAAAAJBQAAgAAAAAcIAAAyAAAABwYAAA4AAAAHCAAAPgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAwAAAABwQAAAMAAAAHCAAAPAAAAAcEAAAFAAAABwgAACoAAAAHBgAAEAAAAAkJAACABAAABwQAAAYAAAAHCAAAIAAAAAcFAAAIAAAABwgAADoAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABYAAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBwAAGgAAAAcFAAAJAAAACQgAAIACAAAHBAAABgAAAAcIAAAmAAAACQUAAIAAAAAHBwAAGQAAAAcGAAAPAAAACQgAAIABAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAABwcAABIAAAAHBAAABQAAAAcHAAAVAAAABwYAABEAAAAJBwAAAAEAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwBBuPgPC/UPBwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAJwAAAAcGAAAQAAAACQgAAEACAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAANwAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA1AAAABwUAAAkAAAAJCAAAwAEAAAcEAAAGAAAABwgAACMAAAAJBQAAgAAAAAcIAAAzAAAABwYAAA8AAAAHCAAAPwAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAwAUAAAcEAAAFAAAABwgAACsAAAAHBgAAEQAAAAkJAADABAAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAhAAAACQUAAIAAAAAHCAAAMQAAAAcGAAAOAAAABwgAAD0AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALwAAAAcEAAADAAAABwgAADsAAAAHBAAABQAAAAcIAAApAAAABwYAABAAAAAJCQAAwAMAAAcEAAAGAAAABwgAAB8AAAAHBQAACAAAAAcIAAA5AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkJAADAAgAABwQAAAYAAAAHCAAAJQAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAABAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAALDAAAwAgAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACgAAAAHBgAAEAAAAAkJAABAAwAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADgAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANgAAAAcFAAAJAAAACQgAAAACAAAHBAAABgAAAAcIAAAkAAAACQUAAIAAAAAHCAAANAAAAAcGAAAPAAAABwgAAAAAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAEAGAAAHBAAABQAAAAcIAAAsAAAABwYAABEAAAAJCQAAQAUAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAeAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIgAAAAkFAACAAAAABwgAADIAAAAHBgAADgAAAAcIAAA+AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAADAAAAAHBAAAAwAAAAcIAAA8AAAABwQAAAUAAAAHCAAAKgAAAAcGAAAQAAAACQkAAEAEAAAHBAAABgAAAAcIAAAgAAAABwUAAAgAAAAHCAAAOgAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCAAAgAIAAAcEAAAGAAAABwgAACYAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAgAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAEG4iBAL9R8HBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcHAAAUAAAACQUAAIAAAAAHBwAAGAAAAAcGAAAOAAAABwcAABwAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFwAAAAcEAAADAAAABwcAABsAAAAHBAAABQAAAAcIAAAnAAAABwYAABAAAAAJCAAAQAIAAAcEAAAGAAAABwcAABMAAAAHBQAACAAAAAcIAAA3AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAtAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwgAADUAAAAHBQAACQAAAAkIAADAAQAABwQAAAYAAAAHCAAAIwAAAAkFAACAAAAABwgAADMAAAAHBgAADwAAAAcIAAA/AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAkJAAAABgAABwQAAAUAAAAHCAAAKwAAAAcGAAARAAAACQkAAAAFAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAHQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwgAACEAAAAJBQAAgAAAAAcIAAAxAAAABwYAAA4AAAAHCAAAPQAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAvAAAABwQAAAMAAAAHCAAAOwAAAAcEAAAFAAAABwgAACkAAAAHBgAAEAAAAAkJAAAABAAABwQAAAYAAAAHCAAAHwAAAAcFAAAIAAAABwgAADkAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABYAAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBwAAGgAAAAcFAAAJAAAACQkAAAADAAAHBAAABgAAAAcIAAAlAAAACQUAAIAAAAAHBwAAGQAAAAcGAAAPAAAACQgAAEABAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAABwcAABIAAAAHBAAABQAAAAcHAAAVAAAABwYAABEAAAAJBwAAAAEAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAsMAADACQAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAKAAAAAcGAAAQAAAACQkAAIADAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAAOAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA2AAAABwUAAAkAAAAJCAAAAAIAAAcEAAAGAAAABwgAACQAAAAJBQAAgAAAAAcIAAA0AAAABwYAAA8AAAAHCAAAAAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAwAYAAAcEAAAFAAAABwgAACwAAAAHBgAAEQAAAAkJAACABQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAiAAAACQUAAIAAAAAHCAAAMgAAAAcGAAAOAAAABwgAAD4AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAMAAAAAcEAAADAAAABwgAADwAAAAHBAAABQAAAAcIAAAqAAAABwYAABAAAAAJCQAAgAQAAAcEAAAGAAAABwgAACAAAAAHBQAACAAAAAcIAAA6AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkIAACAAgAABwQAAAYAAAAHCAAAJgAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAACAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAMCwAAAAAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACcAAAAHBgAAEAAAAAkIAABAAgAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADcAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANQAAAAcFAAAJAAAACQgAAMABAAAHBAAABgAAAAcIAAAjAAAACQUAAIAAAAAHCAAAMwAAAAcGAAAPAAAABwgAAD8AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAMAFAAAHBAAABQAAAAcIAAArAAAABwYAABEAAAAJCQAAwAQAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAdAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIQAAAAkFAACAAAAABwgAADEAAAAHBgAADgAAAAcIAAA9AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC8AAAAHBAAAAwAAAAcIAAA7AAAABwQAAAUAAAAHCAAAKQAAAAcGAAAQAAAACQkAAMADAAAHBAAABgAAAAcIAAAfAAAABwUAAAgAAAAHCAAAOQAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCQAAwAIAAAcEAAAGAAAABwgAACUAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAQAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAACwsAAAAHAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcHAAAUAAAACQUAAIAAAAAHBwAAGAAAAAcGAAAOAAAABwcAABwAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFwAAAAcEAAADAAAABwcAABsAAAAHBAAABQAAAAcIAAAoAAAABwYAABAAAAAJCQAAQAMAAAcEAAAGAAAABwcAABMAAAAHBQAACAAAAAcIAAA4AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAuAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwgAADYAAAAHBQAACQAAAAkIAAAAAgAABwQAAAYAAAAHCAAAJAAAAAkFAACAAAAABwgAADQAAAAHBgAADwAAAAcIAAAAAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAkJAABABgAABwQAAAUAAAAHCAAALAAAAAcGAAARAAAACQkAAEAFAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAHgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwgAACIAAAAJBQAAgAAAAAcIAAAyAAAABwYAAA4AAAAHCAAAPgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAwAAAABwQAAAMAAAAHCAAAPAAAAAcEAAAFAAAABwgAACoAAAAHBgAAEAAAAAkJAABABAAABwQAAAYAAAAHCAAAIAAAAAcFAAAIAAAABwgAADoAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABYAAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBwAAGgAAAAcFAAAJAAAACQgAAIACAAAHBAAABgAAAAcIAAAmAAAACQUAAIAAAAAHBwAAGQAAAAcGAAAPAAAACQgAAIABAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAABwcAABIAAAAHBAAABQAAAAcHAAAVAAAABwYAABEAAAAJBwAAAAEAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwBBuKgQC/UPBwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAJwAAAAcGAAAQAAAACQgAAEACAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAANwAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA1AAAABwUAAAkAAAAJCAAAwAEAAAcEAAAGAAAABwgAACMAAAAJBQAAgAAAAAcIAAAzAAAABwYAAA8AAAAHCAAAPwAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAAAYAAAcEAAAFAAAABwgAACsAAAAHBgAAEQAAAAkJAAAABQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAhAAAACQUAAIAAAAAHCAAAMQAAAAcGAAAOAAAABwgAAD0AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALwAAAAcEAAADAAAABwgAADsAAAAHBAAABQAAAAcIAAApAAAABwYAABAAAAAJCQAAAAQAAAcEAAAGAAAABwgAAB8AAAAHBQAACAAAAAcIAAA5AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkJAAAAAwAABwQAAAYAAAAHCAAAJQAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAABAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAALCwAAQAcAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACgAAAAHBgAAEAAAAAkJAACAAwAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADgAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANgAAAAcFAAAJAAAACQgAAAACAAAHBAAABgAAAAcIAAAkAAAACQUAAIAAAAAHCAAANAAAAAcGAAAPAAAABwgAAAAAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAMAGAAAHBAAABQAAAAcIAAAsAAAABwYAABEAAAAJCQAAgAUAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAeAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIgAAAAkFAACAAAAABwgAADIAAAAHBgAADgAAAAcIAAA+AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAADAAAAAHBAAAAwAAAAcIAAA8AAAABwQAAAUAAAAHCAAAKgAAAAcGAAAQAAAACQkAAIAEAAAHBAAABgAAAAcIAAAgAAAABwUAAAgAAAAHCAAAOgAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCAAAgAIAAAcEAAAGAAAABwgAACYAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAgAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAEG4uBAL9Q8HBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcHAAAUAAAACQUAAIAAAAAHBwAAGAAAAAcGAAAOAAAABwcAABwAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFwAAAAcEAAADAAAABwcAABsAAAAHBAAABQAAAAcIAAAnAAAABwYAABAAAAAJCAAAQAIAAAcEAAAGAAAABwcAABMAAAAHBQAACAAAAAcIAAA3AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAtAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwgAADUAAAAHBQAACQAAAAkIAADAAQAABwQAAAYAAAAHCAAAIwAAAAkFAACAAAAABwgAADMAAAAHBgAADwAAAAcIAAA/AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAkJAADABQAABwQAAAUAAAAHCAAAKwAAAAcGAAARAAAACQkAAMAEAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAHQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwgAACEAAAAJBQAAgAAAAAcIAAAxAAAABwYAAA4AAAAHCAAAPQAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAvAAAABwQAAAMAAAAHCAAAOwAAAAcEAAAFAAAABwgAACkAAAAHBgAAEAAAAAkJAADAAwAABwQAAAYAAAAHCAAAHwAAAAcFAAAIAAAABwgAADkAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABYAAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBwAAGgAAAAcFAAAJAAAACQkAAMACAAAHBAAABgAAAAcIAAAlAAAACQUAAIAAAAAHBwAAGQAAAAcGAAAPAAAACQgAAEABAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAABwcAABIAAAAHBAAABQAAAAcHAAAVAAAABwYAABEAAAAJBwAAAAEAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAsMAACACAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAKAAAAAcGAAAQAAAACQkAAEADAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAAOAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA2AAAABwUAAAkAAAAJCAAAAAIAAAcEAAAGAAAABwgAACQAAAAJBQAAgAAAAAcIAAA0AAAABwYAAA8AAAAHCAAAAAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAQAYAAAcEAAAFAAAABwgAACwAAAAHBgAAEQAAAAkJAABABQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAiAAAACQUAAIAAAAAHCAAAMgAAAAcGAAAOAAAABwgAAD4AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAMAAAAAcEAAADAAAABwgAADwAAAAHBAAABQAAAAcIAAAqAAAABwYAABAAAAAJCQAAQAQAAAcEAAAGAAAABwgAACAAAAAHBQAACAAAAAcIAAA6AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkIAACAAgAABwQAAAYAAAAHCAAAJgAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAACAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAQbjIEAv1DwcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACcAAAAHBgAAEAAAAAkIAABAAgAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADcAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANQAAAAcFAAAJAAAACQgAAMABAAAHBAAABgAAAAcIAAAjAAAACQUAAIAAAAAHCAAAMwAAAAcGAAAPAAAABwgAAD8AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAAAGAAAHBAAABQAAAAcIAAArAAAABwYAABEAAAAJCQAAAAUAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAdAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIQAAAAkFAACAAAAABwgAADEAAAAHBgAADgAAAAcIAAA9AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC8AAAAHBAAAAwAAAAcIAAA7AAAABwQAAAUAAAAHCAAAKQAAAAcGAAAQAAAACQkAAAAEAAAHBAAABgAAAAcIAAAfAAAABwUAAAgAAAAHCAAAOQAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCQAAAAMAAAcEAAAGAAAABwgAACUAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAQAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAACwwAAIAJAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcHAAAUAAAACQUAAIAAAAAHBwAAGAAAAAcGAAAOAAAABwcAABwAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFwAAAAcEAAADAAAABwcAABsAAAAHBAAABQAAAAcIAAAoAAAABwYAABAAAAAJCQAAgAMAAAcEAAAGAAAABwcAABMAAAAHBQAACAAAAAcIAAA4AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAuAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwgAADYAAAAHBQAACQAAAAkIAAAAAgAABwQAAAYAAAAHCAAAJAAAAAkFAACAAAAABwgAADQAAAAHBgAADwAAAAcIAAAAAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAkJAADABgAABwQAAAUAAAAHCAAALAAAAAcGAAARAAAACQkAAIAFAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAHgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwgAACIAAAAJBQAAgAAAAAcIAAAyAAAABwYAAA4AAAAHCAAAPgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAwAAAABwQAAAMAAAAHCAAAPAAAAAcEAAAFAAAABwgAACoAAAAHBgAAEAAAAAkJAACABAAABwQAAAYAAAAHCAAAIAAAAAcFAAAIAAAABwgAADoAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABYAAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBwAAGgAAAAcFAAAJAAAACQgAAIACAAAHBAAABgAAAAcIAAAmAAAACQUAAIAAAAAHBwAAGQAAAAcGAAAPAAAACQgAAIABAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAABwcAABIAAAAHBAAABQAAAAcHAAAVAAAABwYAABEAAAAJBwAAAAEAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwBBuNgQC/UPBwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAJwAAAAcGAAAQAAAACQgAAEACAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAANwAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA1AAAABwUAAAkAAAAJCAAAwAEAAAcEAAAGAAAABwgAACMAAAAJBQAAgAAAAAcIAAAzAAAABwYAAA8AAAAHCAAAPwAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAwAUAAAcEAAAFAAAABwgAACsAAAAHBgAAEQAAAAkJAADABAAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAhAAAACQUAAIAAAAAHCAAAMQAAAAcGAAAOAAAABwgAAD0AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALwAAAAcEAAADAAAABwgAADsAAAAHBAAABQAAAAcIAAApAAAABwYAABAAAAAJCQAAwAMAAAcEAAAGAAAABwgAAB8AAAAHBQAACAAAAAcIAAA5AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkJAADAAgAABwQAAAYAAAAHCAAAJQAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAABAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAALDAAAAAgAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACgAAAAHBgAAEAAAAAkJAABAAwAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADgAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANgAAAAcFAAAJAAAACQgAAAACAAAHBAAABgAAAAcIAAAkAAAACQUAAIAAAAAHCAAANAAAAAcGAAAPAAAABwgAAAAAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAEAGAAAHBAAABQAAAAcIAAAsAAAABwYAABEAAAAJCQAAQAUAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAeAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIgAAAAkFAACAAAAABwgAADIAAAAHBgAADgAAAAcIAAA+AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAADAAAAAHBAAAAwAAAAcIAAA8AAAABwQAAAUAAAAHCAAAKgAAAAcGAAAQAAAACQkAAEAEAAAHBAAABgAAAAcIAAAgAAAABwUAAAgAAAAHCAAAOgAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCAAAgAIAAAcEAAAGAAAABwgAACYAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAgAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAEG46BAL9Q8HBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcHAAAUAAAACQUAAIAAAAAHBwAAGAAAAAcGAAAOAAAABwcAABwAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFwAAAAcEAAADAAAABwcAABsAAAAHBAAABQAAAAcIAAAnAAAABwYAABAAAAAJCAAAQAIAAAcEAAAGAAAABwcAABMAAAAHBQAACAAAAAcIAAA3AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAtAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwgAADUAAAAHBQAACQAAAAkIAADAAQAABwQAAAYAAAAHCAAAIwAAAAkFAACAAAAABwgAADMAAAAHBgAADwAAAAcIAAA/AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAkJAAAABgAABwQAAAUAAAAHCAAAKwAAAAcGAAARAAAACQkAAAAFAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAHQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwgAACEAAAAJBQAAgAAAAAcIAAAxAAAABwYAAA4AAAAHCAAAPQAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAvAAAABwQAAAMAAAAHCAAAOwAAAAcEAAAFAAAABwgAACkAAAAHBgAAEAAAAAkJAAAABAAABwQAAAYAAAAHCAAAHwAAAAcFAAAIAAAABwgAADkAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABYAAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBwAAGgAAAAcFAAAJAAAACQkAAAADAAAHBAAABgAAAAcIAAAlAAAACQUAAIAAAAAHBwAAGQAAAAcGAAAPAAAACQgAAEABAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAABwcAABIAAAAHBAAABQAAAAcHAAAVAAAABwYAABEAAAAJBwAAAAEAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAsLAACABwAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAKAAAAAcGAAAQAAAACQkAAIADAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAAOAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA2AAAABwUAAAkAAAAJCAAAAAIAAAcEAAAGAAAABwgAACQAAAAJBQAAgAAAAAcIAAA0AAAABwYAAA8AAAAHCAAAAAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAwAYAAAcEAAAFAAAABwgAACwAAAAHBgAAEQAAAAkJAACABQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAiAAAACQUAAIAAAAAHCAAAMgAAAAcGAAAOAAAABwgAAD4AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAMAAAAAcEAAADAAAABwgAADwAAAAHBAAABQAAAAcIAAAqAAAABwYAABAAAAAJCQAAgAQAAAcEAAAGAAAABwgAACAAAAAHBQAACAAAAAcIAAA6AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkIAACAAgAABwQAAAYAAAAHCAAAJgAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAACAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAQbj4EAv1DwcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACcAAAAHBgAAEAAAAAkIAABAAgAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADcAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANQAAAAcFAAAJAAAACQgAAMABAAAHBAAABgAAAAcIAAAjAAAACQUAAIAAAAAHCAAAMwAAAAcGAAAPAAAABwgAAD8AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAMAFAAAHBAAABQAAAAcIAAArAAAABwYAABEAAAAJCQAAwAQAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAdAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIQAAAAkFAACAAAAABwgAADEAAAAHBgAADgAAAAcIAAA9AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC8AAAAHBAAAAwAAAAcIAAA7AAAABwQAAAUAAAAHCAAAKQAAAAcGAAAQAAAACQkAAMADAAAHBAAABgAAAAcIAAAfAAAABwUAAAgAAAAHCAAAOQAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCQAAwAIAAAcEAAAGAAAABwgAACUAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAQAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAACwwAAAAJAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcHAAAUAAAACQUAAIAAAAAHBwAAGAAAAAcGAAAOAAAABwcAABwAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFwAAAAcEAAADAAAABwcAABsAAAAHBAAABQAAAAcIAAAoAAAABwYAABAAAAAJCQAAQAMAAAcEAAAGAAAABwcAABMAAAAHBQAACAAAAAcIAAA4AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAuAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwgAADYAAAAHBQAACQAAAAkIAAAAAgAABwQAAAYAAAAHCAAAJAAAAAkFAACAAAAABwgAADQAAAAHBgAADwAAAAcIAAAAAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAkJAABABgAABwQAAAUAAAAHCAAALAAAAAcGAAARAAAACQkAAEAFAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAHgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwgAACIAAAAJBQAAgAAAAAcIAAAyAAAABwYAAA4AAAAHCAAAPgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAwAAAABwQAAAMAAAAHCAAAPAAAAAcEAAAFAAAABwgAACoAAAAHBgAAEAAAAAkJAABABAAABwQAAAYAAAAHCAAAIAAAAAcFAAAIAAAABwgAADoAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABYAAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBwAAGgAAAAcFAAAJAAAACQgAAIACAAAHBAAABgAAAAcIAAAmAAAACQUAAIAAAAAHBwAAGQAAAAcGAAAPAAAACQgAAIABAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAABwcAABIAAAAHBAAABQAAAAcHAAAVAAAABwYAABEAAAAJBwAAAAEAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwBBuIgRC/sPBwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAJwAAAAcGAAAQAAAACQgAAEACAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAANwAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA1AAAABwUAAAkAAAAJCAAAwAEAAAcEAAAGAAAABwgAACMAAAAJBQAAgAAAAAcIAAAzAAAABwYAAA8AAAAHCAAAPwAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAAAYAAAcEAAAFAAAABwgAACsAAAAHBgAAEQAAAAkJAAAABQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAhAAAACQUAAIAAAAAHCAAAMQAAAAcGAAAOAAAABwgAAD0AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALwAAAAcEAAADAAAABwgAADsAAAAHBAAABQAAAAcIAAApAAAABwYAABAAAAAJCQAAAAQAAAcEAAAGAAAABwgAAB8AAAAHBQAACAAAAAcIAAA5AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkJAAAAAwAABwQAAAYAAAAHCAAAJQAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAABAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAALDAAAAAoAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACgAAAAHBgAAEAAAAAkJAACAAwAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADgAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANgAAAAcFAAAJAAAACQgAAAACAAAHBAAABgAAAAcIAAAkAAAACQUAAIAAAAAHCAAANAAAAAcGAAAPAAAABwgAAAAAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAMAGAAAHBAAABQAAAAcIAAAsAAAABwYAABEAAAAJCQAAgAUAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAeAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIgAAAAkFAACAAAAABwgAADIAAAAHBgAADgAAAAcIAAA+AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAADAAAAAHBAAAAwAAAAcIAAA8AAAABwQAAAUAAAAHCAAAKgAAAAcGAAAQAAAACQkAAIAEAAAHBAAABgAAAAcIAAAgAAAABwUAAAgAAAAHCAAAOgAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCAAAgAIAAAcEAAAGAAAABwgAACYAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAgAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAA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+gBB4LURCxNUSUZGUmVhZEJ1ZmZlclNldHVwAEGEthELXgEAAAAAAAAA/////wAAAAABAAAAAgAAAAMAAAAAAAAA/f////7/////////IExaV1NldHVwRGVjb2RlAG51bWFHZXRSZWZjb3VudABudW1hQ2hhbmdlUmVmY291bnQAQfC2EQsQcGl4R2V0RGltZW5zaW9ucwBBkLcRC0JudW1hRXh0ZW5kQXJyYXkAcGl4Y21hcEdldENvbG9yAHBpeGNtYXBHZXRDb3VudABwaXhDb3B5SW5wdXRGb3JtYXQAQeC3EQsRcGl4U2V0SW5wdXRGb3JtYXQAQYC4EQsRcGl4R2V0SW5wdXRGb3JtYXQAQaC4EQsRcGl4Q29weVJlc29sdXRpb24AQcC4EQsicGl4Q29weUNvbG9ybWFwAHBpeERlc3Ryb3lDb2xvcm1hcABB8LgRCxJwaXhSZXNpemVJbWFnZURhdGEAQZC5EQsRcGl4Q3JlYXRlVGVtcGxhdGUAQbC5EQsXcGl4Q3JlYXRlVGVtcGxhdGVOb0luaXQAQdC5EQshcGl4Q3JlYXRlTm9Jbml0AHBpeENoYW5nZVJlZmNvdW50AEGAuhELMnBpeENyZWF0ZUhlYWRlcgBjb21wb3NlUkdCUGl4ZWwAcGl4YUNoYW5nZVJlZmNvdW50AEHAuhELEWJveENoYW5nZVJlZmNvdW50AEHguhELE3BpeFBhaW50VGhyb3VnaE1hc2sAQYC7EQtAcGl4VW5wYWNrQmluYXJ5AHBpeENvbnZlcnQxVG8zMgBwaXhDb252ZXJ0MVRvMTYAcGl4U2V0TWFza2VkQ21hcABB0LsRCzFwaXhjbWFwQWRkQ29sb3IAcGl4Y21hcEdldEluZGV4AHBpeFJlbW92ZUNvbG9ybWFwAEGQvBELEGNvbXBvc2VSR0JBUGl4ZWwAQbC8EQsWcGl4Y21hcElzQmxhY2tBbmRXaGl0ZQBB0LwRC0JwaXhjbWFwSGFzQ29sb3IAcGl4Y21hcElzT3BhcXVlAHBpeGNtYXBUb0FycmF5cwBib3hhR2V0Qm94R2VvbWV0cnkAQaC9EQs1cGl4Q29ubkNvbXBQaXhhAHBpeGFFeHRlbmRBcnJheQBwaXhhRXh0ZW5kQXJyYXlUb1NpemUAQeC9EQsVYm94YUV4dGVuZEFycmF5VG9TaXplAEGAvhELEHBpeENsaXBSZWN0YW5nbGUAQaC+EQsSYm94Q2xpcFRvUmVjdGFuZ2xlAEHAvhELIWJveGFFeHRlbmRBcnJheQBsc3RhY2tFeHRlbmRBcnJheQBB8L4RCxNuZXh0T25QaXhlbEluUmFzdGVyAEGQvxELGHBpeFNjYWxlQW5kVHJhbnNmZXJBbHBoYQBBsL8RCxJwaXhTZXRSR0JDb21wb25lbnQAQdC/EQsxcGl4U2NhbGVHZW5lcmFsAHBpeFNjYWxlQ29sb3JMSQBwaXhTY2FsZUNvbG9yNHhMSQBBkMARCxFwaXhDcmVhdGVSR0JJbWFnZQBBsMARCxBwaXhTY2FsZUdyYXk0eExJAEHQwBELEXBpeFNjYWxlQ29sb3IyeExJAEHwwBELEHBpeFNjYWxlR3JheTJ4TEkAQZDBEQsRcGl4VW5zaGFycE1hc2tpbmcAQbDBEQsVcGl4VW5zaGFycE1hc2tpbmdHcmF5AEHQwRELEnBpeEZpbmFsQWNjdW11bGF0ZQBB8MERCzZwaXhhY2NHZXRPZmZzZXQAcGl4YWNjTXVsdENvbnN0AHBpeE11bHRDb25zdEFjY3VtdWxhdGUAQbDCEQsScGl4U2V0QWxsQXJiaXRyYXJ5AEHQwhELEHBpeEJsb2NrY29udkdyYXkAQfDCEQsRcGl4QmxvY2tjb252QWNjdW0AQZDDEQsRYmxvY2tjb252QWNjdW1Mb3cAQbDDEQs3cGl4VW5zaGFycE1hc2tpbmdHcmF5RmFzdAAAAAAAAABwaXhVbnNoYXJwTWFza2luZ0dyYXkyRABB8MMRCyJmcGl4R2V0UmVmY291bnQAZnBpeENoYW5nZVJlZmNvdW50AEGgxBELEWZwaXhTZXREaW1lbnNpb25zAEHAxBELF3BpeFVuc2hhcnBNYXNraW5nR3JheTFEAEHgxBELFXBpeFVuc2hhcnBNYXNraW5nRmFzdABBgMURCyNwaXhTY2FsZUFyZWFNYXAAcGl4Q29udmVydFJHQlRvR3JheQBBsMURCyNwaXhDb252ZXJ0MTZUbzgAcGl4QWRkR3JheUNvbG9ybWFwOABB4MURCxFwaXhjbWFwQ29udmVydFRvOABBgMYRCyJwaXhjbWFwR2V0RGVwdGgAcGl4Q29udmVydDFUbzhDbWFwAEGwxhELEHBpeFNjYWxlQXJlYU1hcDIAQdDGEQsRcGl4Q29udmVydFRvOE9yMzIAQfDGEQsScGl4R2V0UkdCQ29tcG9uZW50AEGQxxELFnBpeEdldFJHQkNvbXBvbmVudENtYXAAQbDHEQsTcGl4Q29weVJHQkNvbXBvbmVudABB0McRCxJwaXhTY2FsZVJlc29sdXRpb24AQfDHEQsQcGl4YUNvbnZlcnRUb1BkZgBBkMgRCxBmb3BlbldyaXRlU3RyZWFtAEGwyBELFWNvbnZlcnRTZXBDaGFyc0luUGF0aABB0MgRCxRwaXhhQ29udmVydFRvUGRmRGF0YQBB8MgRCyhwdHJhR2V0TWF4SW5kZXgAcHRyYUNvbmNhdGVuYXRlUGRmVG9EYXRhAEGgyRELJGxfYnl0ZWFDb3B5RGF0YQBtYWtlVHJhaWxlclN0cmluZ1BkZgBB0MkRCxNzYXJyYXlUb1N0cmluZ1JhbmdlAEHwyRELIXNhcnJheUFkZFN0cmluZwBzYXJyYXlFeHRlbmRBcnJheQBBoMoRCxVhcnJheUZpbmRFYWNoU2VxdWVuY2UAQcDKEQsRYXJyYXlGaW5kU2VxdWVuY2UAQeDKEQsQbF9kbmFFeHRlbmRBcnJheQBBgMsRCxNsX2J5dGVhQXBwZW5kU3RyaW5nAEGgyxELGGxfYnl0ZWFFeHRlbmRBcnJheVRvU2l6ZQBBwMsRCxFsX2J5dGVhQXBwZW5kRGF0YQBB4MsRCxJsX2RuYURpZmZBZGpWYWx1ZXMAQYDMEQswZ2VuZXJhdGVQYWdlc09ialN0cmluZ1BkZgAAAAAAAABsX2RuYUdldFJlZmNvdW50AEHAzBELE2xfZG5hQ2hhbmdlUmVmY291bnQAQeDMEQsQbnVtYWFFeHRlbmRBcnJheQBBgM0RCxFudW1hUmVwbGFjZU51bWJlcgBBoM0RCxBudW1hTWFrZVNlcXVlbmNlAEHAzRELEHB0cmFDb21wYWN0QXJyYXkAQeDNEQsRbF9kbmFhRXh0ZW5kQXJyYXkAQYDOEQsncGFyc2VUcmFpbGVyUGRmAGxfYnl0ZWFGaW5kRWFjaFNlcXVlbmNlAEGwzhELMHNhcnJheUNyZWF0ZUxpbmVzRnJvbVN0cmluZwAAAAAAcHRyYUdldFB0clRvSXRlbQBB8M4RCxJwdHJhR2V0QWN0dWFsQ291bnQAQZDPEQsicHRyYUV4dGVuZEFycmF5AGxfYnl0ZWFJbml0RnJvbU1lbQBBwM8RCxNwaXhDb252ZXJ0VG9QZGZEYXRhAEHgzxELEXB0YUNoYW5nZVJlZmNvdW50AEGA0BELJWxfQ0lEYXRhRGVzdHJveQBnZW5lcmF0ZU91dHB1dERhdGFQZGYAQbDQEQs2Z2VuZXJhdGVDb2xvcm1hcFN0cmluZ3NQZGYAAAAAAABnZW5lcmF0ZVByZVhTdHJpbmdzUGRmAEHw0BELGGdlbmVyYXRlQ29udGVudFN0cmluZ1BkZgBBkNERCxVnZW5lcmF0ZVBhZ2VTdHJpbmdQZGYAQbDREQsXZ2VuZXJhdGVGaXhlZFN0cmluZ3NQZGYAQdDREQsUZ2VuZXJhdGVFc2NhcGVTdHJpbmcAQfDREQshcHRhRXh0ZW5kQXJyYXlzAHBpeEdlbmVyYXRlQ0lEYXRhAEGg0hELFHBpeEdlbmVyYXRlRmxhdGVEYXRhAEHA0hELMmJidWZmZXJEZXN0cm95QW5kU2F2ZURhdGEAAAAAAAAAYmJ1ZmZlckV4dGVuZEFycmF5AEGA0xELEHBpeEdldFJhc3RlckRhdGEAQaDTEQsTcGl4Y21hcENvbnZlcnRUb0hleABBwNMRCxQBAAAAVQAAADkcAADtXgkAsYQcAwBB4NMRCxhwaXhjbWFwU2VyaWFsaXplVG9NZW1vcnkAQYDUEQsRcGl4R2VuZXJhdGVHNERhdGEAQaDUEQsQbF9nZW5lcmF0ZUc0RGF0YQBBwNQRCxVleHRyYWN0RzREYXRhRnJvbUZpbGUAQeDUEQv3Gf4AAAABAAEABAAAAAUAAQCmqgcA/gAAAAEAAQADAAAABQABAKaqBwD/AAAAAQABAAMAAAAFAAEAsqoHAAABAAABAAEABAAAAAEAAADBqgcAAAEAAAEAAQADAAAAAQAAAMGqBwABAQAAAQABAAQAAAABAAEA37UHAAEBAAABAAEAAwAAAAEAAQDftQcAAgEAAP////8DAAAABgAAAMyqBwACAQAA/////wQAAAAGAAAAzKoHAAMBAAD//wEAAwAAAAcAAADz7AcAAwEAAP//AQAEAAAABwAAAPPsBwAGAQAAAQABAAMAAAAIAAAAYHcEAAYBAAABAAEABAAAAAgAAABgdwQABwEAAAEAAQADAAAACQABANqqBwAIAQAAAQABAAMAAAAAAAEA6KoHAAkBAAABAAEAAwAAAAAAAQDyqgcACgEAAAEAAQADAAAACgAAAP2qBwANAQAA/////wIAAABBAAEAB6sHAA4BAAD/////AgAAAEEAAQAUqwcADwEAAP////8CAAAAQQABACWrBwAQAQAA/////wIAAABBAAEAKqsHABEBAAD/////BAAAABkAAAAotgcAEQEAAP////8DAAAAGQAAACi2BwASAQAAAQABAAMAAAAPAAAAMKsHABUBAAABAAEAAwAAABAAAAA8qwcAFgEAAAEAAQAEAAAAEQAAAEyrBwAWAQAAAQABAAMAAAARAAAATKsHABcBAAD/////BAAAABgAAACwtwcAFwEAAP////8DAAAAGAAAALC3BwAYAQAA/v///wMAAAASAAEAWasHABkBAAD+////AwAAABMAAQBoqwcAGgEAAAEAAQAFAAAAAwABAHerBwAbAQAAAQABAAUAAAADAAEAg6sHABwBAAABAAEAAwAAABQAAACPqwcAHQEAAP////8CAAAAQQABAKOrBwAeAQAAAQABAAUAAAAEAAEArKsHAB8BAAABAAEABQAAAAQAAQC2qwcAIAEAAP////8EAAAAAAAAAMCrBwAhAQAA/////wQAAAAAAAAAzKsHACIBAAABAAEAAwAAAAAAAQDbqwcAIwEAAP////8DAAAAAAABAOyrBwAoAQAAAQABAAMAAAAWAAEA/qsHACkBAAACAAIAAwAAABcAAQANrAcALAEAAAEAAQADAAAAAAABABisBwAtAQAA/////wMAAAAsAAEAKqwHADEBAAD/////AgAAAEEAAQA7rAcAMgEAABQAFAACAAAAQQABAESsBwA7AQAA/////wIAAABBAAEATawHADwBAAD/////AgAAAEEAAQBUrAcAPgEAAAIAAgAFAAAAQQABAGGsBwA/AQAABgAGAAUAAABBAAEAbKwHAEABAAD/////AwAAABoAAQCCrAcAQQEAAAIAAgADAAAAJQABAIusBwBCAQAAAQABAAQAAAACAAAAmawHAEIBAAABAAEAAwAAAAIAAACZrAcAQwEAAAEAAQAEAAAAAgAAAKOsBwBDAQAAAQABAAMAAAACAAAAo6wHAEQBAAD//wEABAAAABkAAAActgcARQEAAP//AQAEAAAAGAAAAK6sBwBFAQAA//8BAAMAAAAYAAAArqwHAEoBAAD/////DQAAADEAAQG9rAcASgEAAP////8EAAAAMQABAb2sBwBMAQAAAQABAAMAAABBAAAAy+wHAE0BAAD/////AgAAAC4AAQHErAcATgEAAAEAAQADAAAAQQABAM2sBwBQAQAAAgACAAMAAABBAAAA2qwHAFABAAACAAIAAQAAAEEAAADarAcAUQEAAP////8CAAAAQQABAOOsBwBSAQAA/////wMAAAAfAAAB8awHAFIBAAD/////AQAAAB8AAAHxrAcAUwEAAP////8DAAAAIAAAAP6sBwBUAQAA/v///wAAAAAhAAEAC60HAFUBAAD+////AAAAACIAAQAbrQcAVwEAAP///f8BAAAAQQAAASutBwBYAQAAAQABAAkAAABBAAAANK0HAFgBAAABAAEACAAAAEEAAAA0rQcAWAEAAAEAAQAGAAAAQQAAADStBwBZAQAAAQABAAkAAABBAAAAQ60HAFkBAAABAAEACAAAAEEAAABDrQcAWQEAAAEAAQAGAAAAQQAAAEOtBwARAgAAAwADAAUAAABBAAAAUq0HABICAAACAAIAAwAAACcAAABkrQcAEwIAAAEAAQADAAAAKAAAAHWtBwAUAgAABgAGAAUAAAApAAEAhq0HABQCAAAGAAYABAAAACkAAQCGrQcAvAIAAP3//f8BAAAAQQAAAZqtBwDjgAAAAQABAAMAAAAfAAAApK0HAOSAAAD+////AwAAACAAAACtrQcA5YAAAAEAAQAEAAAAIwAAALatBwDlgAAAAQABAAMAAAAjAAAAtq0HAOaAAAABAAEABAAAACQAAADBrQcA5oAAAAEAAQADAAAAJAAAAMGtBwAUggAAAQABAAQAAABBAAEAy60HABWCAAABAAEABAAAAEEAAQDarQcAFoIAAP////8CAAAAQQABAOqtBwAXggAA/////wIAAABBAAEA+K0HABiCAAABAAEACwAAAEEAAQAJrgcAGYIAABAAEAALAAAAQQABAB6uBwAaggAAEAAQAAsAAABBAAEAMq4HAJiCAAD/////AgAAAEEAAQBGrgcAu4MAAP3//f8EAAAAQQAAAVCuBwBJhgAA/f/9/wEAAABBAAABXa4HAGmHAAABAAEABAAAAEEAAABnrgcAc4cAAP3//f8HAAAAQQAAAXWuBwAliAAAAQABAAQAAABBAAAAga4HAD+SAAABAAEADAAAAEEAAACOrgcABaAAAAEAAQAEAAAAQQAAAJauBwASxgAABAAEAAEAAABBAAAAsK4HABPGAAAEAAQAAQAAAEEAAAC7rgcAFMYAAP////8CAAAAQQABAM6uBwAVxgAA/////wIAAABBAAEA4K4HABXGAAD/////AQAAAEEAAQHgrgcAFsYAAP////8BAAAAQQAAAfWuBwAXxgAAAQABAAMAAABBAAAAA68HABjGAAD/////AwAAAEEAAAENrwcAGcYAAAIAAgADAAAAQQAAACCvBwAaxgAA/////wQAAABBAAABNK8HABrGAAD/////AwAAAEEAAAE0rwcAGsYAAP////8FAAAAQQAAATSvBwAbxgAA/////woAAABBAAABP68HABzGAAD/////CgAAAEEAAAFQrwcAHcYAAP7//v8EAAAAQQAAAGGvBwAdxgAA/v/+/wMAAABBAAAAYa8HAB7GAAACAAIABQAAAEEAAABsrwcAXMYAAAEAAQAFAAAAQQAAAHmvBwAfxgAAAgACAAQAAABBAAAAiq8HAB/GAAACAAIAAwAAAEEAAACKrwcAH8YAAAIAAgAFAAAAQQAAAIqvBwAgxgAAAgACAAQAAABBAAAAnK8HACDGAAACAAIAAwAAAEEAAACcrwcAIMYAAAIAAgAFAAAAQQAAAJyvBwAhxgAA/////woAAABBAAABrK8HACLGAAD/////CgAAAEEAAAG5rwcAI8YAAP////8KAAAAQQAAAcavBwAkxgAA/////woAAABBAAAB2a8HACXGAAD/////CgAAAEEAAAHsrwcAJsYAAP////8KAAAAQQAAAf2vBwAnxgAA/////wUAAABBAAABDrAHACjGAAD/////AwAAAEEAAAEcsAcAKMYAAP////8FAAAAQQAAARywBwApxgAAAgACAAUAAABBAAAAKrAHACrGAAABAAEACgAAAEEAAAA4sAcAK8YAAAEAAQAFAAAAQQAAAEmwBwAsxgAAAQABAAUAAABBAAAAV7AHAC3GAAABAAEABAAAAEEAAABpsAcALsYAAAEAAQAFAAAAQQAAAHmwBwAvxgAA/////wIAAABBAAEAjbAHADDGAAAEAAQABQAAAEEAAACgsAcAMcYAAAEAAQAF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6jp6uvoOTo7OHl6e3i5uru4+fr7+A0ODwxNTk9MjY6PjM3Oz8wdHh8cXV5fXJ2en5zd3t/cLS4vLG1ub2ytrq+s7e7v7D0+Pzx9fn98vb6/vP3+//wAQIDBAUGBwgJCgsMDQ4PABESExQVFhcYGRobHB0eHxAhIiMkJSYnKCkqKywtLi8gMTIzNDU2Nzg5Ojs8PT4/MEFCQ0RFRkdISUpLTE1OT0BRUlNUVVZXWFlaW1xdXl9QYWJjZGVmZ2hpamtsbW5vYHFyc3R1dnd4eXp7fH1+f3CBgoOEhYaHiImKi4yNjo+AkZKTlJWWl5iZmpucnZ6fkKGio6SlpqeoqaqrrK2ur6CxsrO0tba3uLm6u7y9vr+wwcLDxMXGx8jJysvMzc7PwNHS09TV1tfY2drb3N3e39Dh4uPk5ebn6Onq6+zt7u/g8fLz9PX29/j5+vv8/f7/9waXhFbmRpYW5CeXRlU3dhcABB4P4RCxJwaXhXcml0ZVN0cmVhbUpwZWcAQYD/EQsRcGl4V3JpdGVTdHJlYW1CbXAAQaD/EQsVcGl4Q2hvb3NlT3V0cHV0Rm9ybWF0AEHA/xELEmxfbWFrZVRlbXBGaWxlbmFtZQBB4P8RCyNtYWtlVGVtcERpcm5hbWUAcGl4R2VuZXJhdGVKcGVnRGF0YQBBkIASCxJsX2dlbmVyYXRlSnBlZ0RhdGEAQbCAEgsSZmdldEpwZWdSZXNvbHV0aW9uAEHQgBILKGZyZWFkSGVhZGVySnBlZwBzZWxlY3REZWZhdWx0UGRmRW5jb2RpbmcAQYCBEgsmcGl4UmVtb3ZlQm9yZGVyAHBpeFJlbW92ZUJvcmRlckdlbmVyYWwAQbCBEgsYcGl4U2hpZnRBbmRUcmFuc2ZlckFscGhhAEHQgRILIGJveGFXcml0ZVN0cmVhbQBwaXhTZXRSZXNvbHV0aW9uAEGAghILFHBpeGFHZXRQaXhEaW1lbnNpb25zAEGgghILFHBpeEFscGhhQmxlbmRVbmlmb3JtAEHAghILFHBpeEJsZW5kV2l0aEdyYXlNYXNrAEHgghILEHBpeENvbnZlcnQyNHRvMzIAQYCDEgsgcGl4Q29udmVydDhUbzMyAG1ha2VQaXhlbFN1bVRhYjgAQbCDEgsTcGl4QWRkQm9yZGVyR2VuZXJhbABB0IMSCxJwaXhFeHBhbmRSZXBsaWNhdGUAQfCDEgsYcGl4RXhwYW5kQmluYXJ5UmVwbGljYXRlAEGQhBILFXBpeEV4cGFuZEJpbmFyeVBvd2VyMgBBtIQSC3D//wAAAAD///////9tYWtlRXhwYW5kVGFiOHgAbWFrZUV4cGFuZFRhYjR4AG1ha2VFeHBhbmRUYWIyeABwaXhSZWR1Y2VSYW5rQmluYXJ5Q2FzY2FkZQAAAAAAAHBpeFJlZHVjZVJhbmtCaW5hcnkyAEGwhRILEm1ha2VTdWJzYW1wbGVUYWIyeABB0IUSCxFwaXhDbG9zZVNhZmVCcmljawBB8IUSCxdzZWxhRmluZE1heFRyYW5zbGF0aW9ucwBBkIYSCxBzZWxHZXRQYXJhbWV0ZXJzAEGwhhILEXByb2Nlc3NNb3JwaEFyZ3MxAEHQhhILEXByb2Nlc3NNb3JwaEFyZ3MyAEHwhhILEGNyZWF0ZTJkSW50QXJyYXkAQZCHEgshc2FycmF5R2V0U3RyaW5nAHNhcnJheUdldFJlZmNvdW50AEHAhxILFHNhcnJheUNoYW5nZVJlZmNvdW50AEHghxILEXNhcnJheVNwbGl0U3RyaW5nAEGAiBILE3BpeFNldE9yQ2xlYXJCb3JkZXIAQaCIEgsTcGl4R2V0R3JheUhpc3RvZ3JhbQBBwIgSCxZwaXhjbWFwQWRkQmxhY2tPcldoaXRlAEHgiBILF3BpeGNtYXBHZXRSYW5rSW50ZW5zaXR5AEGAiRILEG51bWFHZXRTb3J0SW5kZXgAQaCJEgsScGl4Y21hcEFkZE5ld0NvbG9yAEHAiRILE3BpeGNtYXBHZXRGcmVlQ291bnQAQeeJEgt9gAAAAMAAAADgAAAA8AAAAPgAAAD8AAAA/gAAAP8AAID/AADA/wAA4P8AAPD/AAD4/wAA/P8AAP7/AAD//wCA//8AwP//AOD//wDw//8A+P//APz//wD+//8A////gP///8D////g////8P////j////8/////v////////8AQfCKEgsmcGl4UmVuZGVyUHRhQXJiAHBpeGNtYXBBZGROZWFyZXN0Q29sb3IAQaCLEgsWcGl4Y21hcEdldE5lYXJlc3RJbmRleABBwIsSCxNnZW5lcmF0ZVB0YVdpZGVMaW5lAEHgixILM2dlbmVyYXRlUHRhTGluZQBib3hhU29ydEJ5SW5kZXgAbnVtYUdldEJpblNvcnRJbmRleABBoIwSCxNwaXhDb3VudFBpeGVsc0J5Um93AEHAjBILE3BpeENvdW50UGl4ZWxzSW5Sb3cAQeCMEgsScGl4U2V0QmxhY2tPcldoaXRlAEGAjRILEXBpeFJlYWRTdHJlYW1TcGl4AEGgjRILGHBpeERlc2VyaWFsaXplRnJvbU1lbW9yeQBBwI0SCzBwaXhjbWFwRGVzZXJpYWxpemVGcm9tTWVtb3J5AAAAAHBpeFJlYWRTdHJlYW1Qbm0AQYCOEgsVcG5tUmVhZE5leHRBc2NpaVZhbHVlAEGgjhILEXBubVJlYWROZXh0TnVtYmVyAEHAjhILEXBubVJlYWROZXh0U3RyaW5nAEHgjhILE3BubVNraXBDb21tZW50TGluZXMAQYCPEgsRcGl4UmVhZFN0cmVhbVRpZmYAQaCPEgsVcGl4UmVhZEZyb21UaWZmU3RyZWFtAEH0jxILLAEAAAD/////AAAAAAEAAAABAAAAAQAAAAAAAAABAAAAAAAAAAEAAAD/////AEGwkBILFQEAAAAAAAAAAQAAAAEAAAAAAAAAAQBB1JASCwgBAAAA/////wBB5JASCw0BAAAAAAAAAAEAAAABAEH8kBILF/////9tYWtlUmV2ZXJzZUJ5dGVUYWI0AEGgkRILE21ha2VSZXZlcnNlQnl0ZVRhYjIAQcCREgsTbWFrZVJldmVyc2VCeXRlVGFiMQBB4JESCxNpbml0WUNiQ3JDb252ZXJzaW9uAEGAkhILFGluaXRDSUVMYWJDb252ZXJzaW9uAEGgkhILFHBpeEVuZGlhblR3b0J5dGVTd2FwAEHAkhILFFRJRkZBZHZhbmNlRGlyZWN0b3J5AEHgkhILEHBpeFJlYWRTdHJlYW1QbmcAQYCTEgs5gAAAAAgAAACIAAAAIgAAAKoAAABVAAAA/wAAAAAAAAAIAAAACAAAAAgAAAAEAAAABAAAAAIAAAACAEHIkxILMQQAAAAAAAAAAgAAAAAAAAABAAAAAAAAAAgAAAAIAAAABAAAAAQAAAACAAAAAgAAAAEAQYSUEgsRBAAAAAAAAAACAAAAAAAAAAEAQaCUEgseEAAAACEAAABCAAAAhAAAABABAABIAgAAUAUAAPAPAEHQlBILIWZnZXRKcGVnQ29tbWVudABwaXhSZWFkU3RyZWFtSnBlZwBBgJUSCxBwaXhSZWFkU3RyZWFtQm1wAEGglRILEHBpeENvdW50Q29ubkNvbXAAQcCVEgsTcGl4RGlzdGFuY2VGdW5jdGlvbgBB4JUSCxNkaXN0YW5jZUZ1bmN0aW9uTG93AEGAlhILEmJtZk1ha2VBc2NpaVRhYmxlcwBBoJYSCxBwaXhhR2VuZXJhdGVGb250AEHAlhILEnBpeEdldFRleHRCYXNlbGluZQBB4JYSC6g9cGl4YUdlbmVyYXRlRm9udEZyb21TdHJpbmcAAAAAAABTVWtxQUNZRkFBQW1vSElDUC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8va0ZjY2hnYzQ1QmdjNDVBZ2NneEJZNURZNURZNUFnY2dqa000NUE4R29jZ3hCQThNNDVCZkNHZ2NoaHpPUXhaQmlOZS9DRFFSVDZSUStrNFFWNkJIY2d2QkJqQ0MrS29TalFJN3dqai8xNkkrRVVQVHBWMHJJNExpbFZ0QWpqeVB1UjU4amczQ1JkNmRKa2NETUNqK3YvL3FsVnNNZ1FQVlk2dnVnaWg5THIvOFJDRitPcVVVSzZDL2ZIRlY5UlN0ZjhNdWxHMTBmS2NONlgrbFhPQmcrR2V4WDcxd3hTUENmNC8ra0UwdVI1ekUwcnRmQ0ZnM29JcDBSK0dGNURTbVFhTVMvb0cxeGVuMFgyd3loOFdYd29JNDZWUHQva05ZY2Y5SjRoL3BVSEIvLy8ySCt0K2xrQ0J5RGovcjlaQlhIMUJBdFVyN3UvSUVPUWFuclMwZUJ5TzE2dHBWYVNXdGFFVnNOaUc2NldyQmdnMDV3TTRiQ1lOV0RDV0lpRENFUjZIR2hFUkVSRVIzWkhCZlhqYVNRN2lPUC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vK1FKZ0s5NURJRFJaQWpDRGNjZ1JNaG40ZzV5QzlDRDBJTCtReGh1SWZDQ1lRVEM0SUpoQml5TEJCN0o0UVg0Z3ZRZ3h4QmVoQml5R0RrUGhka0V3MWtQWlk1Y0VIY2s1QklKT1FjOWFJK3dqRTdETDdSZHNNdTJHWG9aZWhHRFlhRENEUWFEU0NEUWRJT0dFRVhiREx6Q0x0aGw1b2p6a2VMME5NSmhOTmJWb0o2a2NsWHVnZ3lPR2Z1Z253M3Z1Z3YvMHUrOUlON3BCdmRKLy9iclQzVnRkTHlCNE54eUdzT1BSbnY5Ujd4eDMvOUwrRVUvMy9mNGpqL3QrM1RkRHZrRlp5QzdoWWRLa0NDS0hRSTc2U1cvcEQvNlhDS2RBaW4yOUw5TDYvOWVFVU9yRDBrdjhJSU1OS2txL2ovekQ1aCtQNHIvLzk5TGZCS2NEUjl1dEs2Mk5MeEVJSWhubUdHbHBlazNMei9qajVjdi91bDdmK0V2aW1ILy8vMGw2Q0VOcGZySHQveTlsN2tyLzRSVC9mN2YrUHdSVGtHNy90cGF2MjZYdHJ4b1ZJNS92U3h4c1AvN2Z1bDdmZGQxdHYvN0ZSb2ovL0RMZ1FaZ1FDRmhsWWxmdjFreDkvLzI4bVB4LzdydXUzL3Q5SzNwRWgvSUt6a0YzRExnMkJFTkR0QnI5Smg0UzEySC8rMysxN0d3d2x0cGJaQngwdTB1bnIwdjlJTWpockJZWXBPMEtabURpa01Kc1lUQ0RDZUUyR2hwNkRUZGlFRTJLQ2RvOEdjTmozcEpzSm9mamlJaUlpSWlJaUk0aUlpSWlJaGhDSWlJaUlpSXIxU013eVFiT2tFaUdRQ3ZkNGlJLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vK1FWbzdJRURrR3djaHBPUVZuSWEwRU5LQ0doeUM3a0hjaG9jZ1pzY2huSElNUHRLazdvSVA3dWx2NmY5WWo1RElEYUgvM2dqanIvLy8rckk0YWlJRVhuZ2dSWkJmQ0JFV1FYc29mS2dndTVERDVZK1F3NVVIZ2hpQ29JRVlRdzVWa0NNSU81VGtGN3NoaHpPUXhaNElKWnh5M0lPNW5JSlo0SVAvLzFpaVBPR2QwUitpUFFnUjNUUUlJWFozL1M3QkJuZXp1aTg3TU9pUGJLSFJIcWZ0Tk5YdlRUVWp5LzlKa2NGalRwT2s5TnNLbUZUdStFdHBwdzA2VnRNamhoTzBPTENkM1MrclNkSVV2eUREK0loYThmUS8vK0svLzMvK0QvdmJRUlQ3ZDlMc2poZ0k3bkg4SXZmL2x3MGJTLzRSVC8vLy83Zi8vcGZxK2xocjYvdi9ZZi90Ly8zLytEL3NPMk5OaHBmaVA2NlhhdDhMLzIvLzNTMHJYSU1EL3J2VUVkOUlzZi80TXA1d0NEZ1lCbE96Z08wZkIzYWVtMm1tbllUdGlwd0NBWlE2RG5BWERneW5hcHdrMjBoLytJaUlpSXk5RVJ4RVJFUkVaSERMaUlpSWlJampqNmtOV2RQLy9xUC9wTWpocThiU1h3b2pzR2tFd21saUlpUC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vd0FRQVE0QUFBRURBQUVBQUFDU0F3QUFBUUVEQUFFQUFBQTJBZ0FBQWdFREFBRUFBQUFCQUFBQUF3RURBQUVBQUFBRUFBQUFCZ0VEQUFFQUFBQUJBQUFBRVFFRUFBRUFBQUFJQUFBQUVnRURBQUVBQUFBQkFBQUFGUUVEQUFFQUFBQUJBQUFBRmdFREFBRUFBQUEyQWdBQUZ3RUVBQUVBQUFBZUJRQUFHZ0VGQUFFQUFBRFVCUUFBR3dFRkFBRUFBQURjQlFBQUhBRURBQUVBQUFBQkFBQUFLQUVEQUFFQUFBQUNBQUFBQUFBQUFBQUF3QklBQUFRQUFBREFFZ0FBQkFBPQAAAABTVWtxQU1vR0FBQW1vSFZmLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0laQVVmc2dlQmR5R2R5RGprTWdJK1FQS0NHSU81QWh6T2d5R2lDTWNnWXRVcklLSG9ob3doc2NoczRobndnWGNnUlFoc2dndVFRWHdob3Y2L1FZUUk3cWdSVVVrMlFJZlZGNWhRbW11Z3FDTVRDQkhqLzlGOGo5SnVrbldtN3JTYkNCRlBMdG91MnNqaGxCU09La0UzUWYzK2t2OWZwY01RYVhZOVBUd1JUNld2cFgvMHYxOWFWYmVRMEQ2WDcrdi9YLy9RSVFmajZ4U1M0UUxTM3h4NjlJVnRML0VReThDdmJTcWhxNEk3Ly9wSmVWblREci8rTmlsb3VmajlmcEpMeGFsWXJEdGRyMkRHay9ldGY2Q0Rya2R1elFrdzIxL3cycHJSZllaY05iajEra1FNUXVMMDNoRjVzUVJUK0NFTU1qN3BBanVrLzVEVkRJTmZyK2s5YjA2U3RqK0dYZ1c2cE45L2tOc2RML1hRZy8rblN4LzB2MjB2eFN2MHYvUzMveURBLzE5c1YvNldrUTBENURZLzYrbGtEeWYvU1g5aDY1QlJCRFRkSi9TdExJTHVrMmxXa2wzOTlVMmt3MFRocGEwcjdTMFVBN1MyMHJTVnRKTC9pR3JGTVNQSnYrcVlvRWFBK0tCQTRwaWttS0NXSWlEVkNJTmFRMEtpSWlJaUlvRmhvUmZTb2RiUzF4YnBJZDBoeDhmLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vSUhNRm5NZ1RBMGh5R1FHNDVETGNnMGprUWZ5R1FETnhCdjVETGNnM1FRMkVFSERJRWFFSERJYURrTVRKekllWkJKa0VtVHdoNWtObUVQaEI3SVRDR2laRE9naHNtUTBJSWJKaEhVRU16UEFoOGpZT2VJdVJzRVpGSENaRUhCRGhkb3d3MURMbTBiT0dYR3daY2NHWEhDTURnd1FNRURCQXdRTUVpNFp3UWRBZzJHRUViWVlaYzJFYllZWmN3d2pCNWRtRGd3UU1JTUpvTmJRTnFIdVJ4RjZJN1lRSU4rNkJCckRmK0VFLy9wZjNvRUc5dEFnM3ZDOS8vMTI2YlFXbFhoMGd5T0RkK2w3Zlh3di8wdTFnaW8wbTkwbTkxNng5dXU2MG5YWHlCNEc3a050eDZKd1U5b0VVLzQ5NDRxUC9wY0VVOEVVKzM3ZjdmNGovcTZxMnRwRFhoWWFTaEJCRGVyMVhmSkQ1SWRMLzB2dGY5TDlMLy9lcmdpbjlKdWt2SUhrNUJpQWdndytrbjFmU3IvLy85TDNyMi9mUzMwb2Y5cjFleFdxWHA0UVFZYVdsOVhIL2EydkgrbDkvdC82WDU4bWdOLy9yMDdkSmUwNFFSRFlHR0dndnBWZVhiL2pqNWdUOFg3cjdmK0NYNkNERC9icDZiWFkveEVJSVF3MTZYcThOL3k1WmN2VC9McC9kZTMvaisyUU1kL3IvcDBsNkNEZGYwaDczLy9aRjcvdzM3cjk5L2Z1RC92VnE5U1AzUzlocGQrbExqLzY0NDRhLzl2N3IzOUwwdHQvN1hxOWIwdkRESWJBd1FRdTJFbEtIcS9mcjNmLzIvZGZiMzkvYi9WNmpqU2IxSW8vaGhpRUZiRUVDRktyL2V1UlIrLy8yOGl2eFh0OTEzWFpCY2YvamFldnI4Z2VUa0NIRERDQ0lGM2JFazlYcE42WDdmLzdmNyt4dHBiYVcrbDJsOUszcGZwcUdHRUVyQmhKZkNUQms0d2wrd2YvN2Y5ZnNNSmJhN2NNSmJEU2E5SnZTWDJzUEN3eENRWVFhRkJpa0lRUXdRTU1ZSUdDQmdnZUNCc05DZ2czQ0JoQnVHS0JBMktCQTI0aEFnYkZkT2xZSUdoK05DSWlJaUlpSWlJNGlJaUloeEVHQ0VSRVJFUkVSOUxHSGZWQkYwVGd0ZzBkU0JvRFRZaytoNDBQaVAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy81QTg4N0lIa09RYkxJRThFRmFDR3ZCQm1zZ29zZ2FEY2czSEliSHdhSWJJdlZWSVpUa0dIVlV0djlJT0hSSEJVK0RnNURKQngvL1FSVHI2OWZyLyszWCtJK3YvcGEvL3YvOU4wUTJYbnNoc3Noc2pJYU15R2pNaGxPUUlIeWNaQWh5RFVPUXkrSVp4eldRVVdVT1FZYzdrR015R2R5VGtINDFrSDRzY25aQjRKd1F4aHJJWXAvNjRoRjU2RENMekJGNGFMelFORjgrRHl1Q2d1dUZLdy9BcFhJdk1GVENJN0ZoVTBYbWdZVUwvYXAwdG93My82VGROMlhDVHBCMHJWSnFKSG1IRDZCWWJOaG9ERWp6U2JERExoSm9ObkhTZFE0Y01Kb01KUTBEcEJwaFZDLy94OXYvU2NNRWt3cWY5THBwNmRKdW0xOGNRd1gzVjlYWFd2L3BOOU9rS1gvOWY2WDExL1RwZFgrNnVtckRkUlNTMnlCR0Z2NGlRWnUvOUQvLzRyLy9mLzU4Q1AzWEkvcDdwTDlGOXBlRVl2L3pBRjhOTC9oRlAvLy8vdC91dHJydXRONlNRWXIwRi8vN0ZmKzMvLy8vZzMvMTFkSitsK0kvK2xkN2V5NEtQKzMvL2ZwWDVET09ELzNzYjhqKzZYLzllbjErdi9iLy9kTHIvL1Z1bzByWTBpYi8vYXBoS0dZZHRBaW5iTGZST0MvL1lmLzhOS0dFbXd2YVVPd3Z0SzNTWC83RFBjVUdOamhzVUVIaEJ3d2c4SnVFR0VHRUhEQ0RoaGlvcGlDS2NJT0tlSkhUZDhKTnVoLytJaUlpSXN1YkVSeEVSRVJFWmNOS0lpSWlJaU5EaitFbi9YL0liUWRmLytDai85TnBkNlNYcTNXTERTcndTRWRpZ2tFR0NEckVSRWYvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vNEFJQUlBQTRBQUFFREFBRUFBQUJCQkFBQUFRRURBQUVBQUFBNkFnQUFBZ0VEQUFFQUFBQUJBQUFBQXdFREFBRUFBQUFFQUFBQUJnRURBQUVBQUFBQkFBQUFFUUVFQUFFQUFBQUlBQUFBRWdFREFBRUFBQUFCQUFBQUZRRURBQUVBQUFBQkFBQUFGZ0VEQUFFQUFBQTZBZ0FBRndFRUFBRUFBQURCQmdBQUdnRUZBQUVBQUFCNEJ3QUFHd0VGQUFFQUFBQ0FCd0FBSEFFREFBRUFBQUFCQUFBQUtBRURBQUVBQUFBQ0FBQUFBQUFBQUFBQXdCSUFBQVFBQUFEQUVnQUFCQUE9AAAAAFNVa3FBTElJQUFBbW9IY0dmLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8va01nTXNmVWdlRGFPUUxqa0hISVpBTlQ1QThLNUFpRFFRME9XN2tNcUNFSEladGhOSmtjTXd1R1FHOGczNGdZY2dvOGdvNGhtd1FJRElHSUlMMUVHT0lLTzEvd1JtR2N2QnFFWDNTM2RCR0poVXdtbFFTcEdJTkYyLzljSXhrZmE5VStrMlEyT2xwTmdxYU56V3dnV2syazMzVmVsdWsycTZTVGFkSlUyakhsemNKdFpjR2xTNFJKT3Q5ZjlmOUw2MkdNdyt2QzBucDVIWFMvMG4vNlZmOWRhcHd4cGRqN3JyNldsL2YvL3Y5ZEpMYWtHNzZYL1hYcGYvL3YvajYya2w0STJpNFpWZDhjYVg4VXJTL3hFZ3ZWN2FWTVVQMTlmNjE1K1M3LzZCbUdYQmg3MHRLMjFldjYwbHhlZmttR2xhLzhXeFZaTTlZMzEvUkRZT0VsNXVhcHBNVi8xc0dLaE5mWVgvMUVPdUVIaVI1N0RiWGZVTU9pZUl4d1pnTnZqcGZySTdhOVhRZEpGOXNTT3YrUUwrcUx6U3QvLzlJVzZ4NnRVZzIxK1EycXBIblMzVGY1QnRUa05TaS8wNjcxMHJZcGVETU11Qmk2cE5xMytRWlg2L1MwSjhESGRVbjhmK3YzUy9GYjlMLzYzcjhobkg5ZjI2L3JTMHNnWGo5ZlhwVit2dVA5WDlJZ29meUREMWVsNldRUENSL3BMK3c3WElaVUVHeDY2MG5TM1YwdlNydi9xbTBtMlVCcjYxVDdTMGRBZDEzWFNUZEJMK3IwbDZZWVgrdEp0SzFoaEs3Q1REQ1N0aEpMcGVJcElNVUdKSGFmOXJZb2hzUXNRaUJoREVJTVF0aUVDQ3hFU0NqS0VTS1BkRFFxSWlJaUlpZ3NHaEYxV2gxNnBmYlNTckZ0S2gzb2RrY0hXSS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy81QTdBeWZrRHFHMjY1REpCUnhES21RYW5JWldwREtESU9uSWFCaEIwNUJRR1F3Z2tjZ2lDQ0lJSWdseEJFRUcva0dQSUo1RHpJTjZFRytwREtvUTJha0RGQ0dCQkJEa2RDQ1VJNWtFOGl1UmZJUHhDd0NaQkhJWUdNRmhNSTJ3OE00MkNPRkJuQ0RJTjdKV1F6MlNzRWNLUXp3REJFTkVFTmtFTmtRUkRSQU53UU5nd1FSdGhobkRZUnRoZ3paaGhHRzVjalpRWUlHWERPQ0JoTllZV2syck1CTmN1MkVDQmhwdEJ0QWdkb0dIUVBRZEZ3VHYrbDZUNFFJR0cwR3dpNFVPZzJnZzA3NzdkTlhnMmdnOVFxK20wZzM3cGVHLzhKZi9wZDk2Q2I3U2I5Zi8vMXB2YlMwdlYwclQ5TDMvMHYvMHZXQ0tqVjkxZmRKLy9kSy8wbjFYeDZlWFgwdnZIR3YvMHVYVGtkZTlKdjBtLy82Ky9UMjByU2V2SVpDZ2dyeHBFclBGcFgrTzM2ai82Qy9YMi8vNy9FY2Y5NWRVblNkSVV2Q3NOTENDQ0k2dnZwTCtSUjhpai8vcGUzKytsZnBldisybDFmZmRKZVFQQ09RME9FRXc5VW42K3EzLzB2L1MvUzl2L1MvcS8vdGZZcDFTOU5NSUlNTktrcTF1d1MvLy8vMHZiL2I5K3Q5S1pnMGZkTDNXbTB2L0NDREJwZGZ2Ri93d3NNTHgvcGZwZmYrRXZ6K3lnTXI5K2xkUGRKZTAwRUVRYnB3dzB0VjBybURmOGNmTmhmeEQ5LzIvOC9mb0V3Ly9mL1kwdkVRUVFndzYrbDN3Yi9tQjVnZm9QOHduOXBlLytQNGJCdjkwdmZ2UzlBZzJsMTBsZmYrKy8vN2Z2KzMvMytRYXUvdnRLMGtYVGFYNmJxOWVQZTlML3NoWi8rMzlwZmZmL3RoLzNTOS8rdmhoTC9Ta2NKLy9ISEJyLzIvZjl2MHZTMjMvdmRMMG05THd3d2dtUndiMjBSMVNXL2YvZC8vYiswdmZmMi9iLzNyNzBtOUx3d3lEZE9FRU5zSHBISDMrOUxJVWZ2Lzl2SVVmZjl2dXZyeUdjZjlkWTJLWDFJVWZ3WU1RZ25GaWswcjFiMHYyLy8yKytLKzl0TGJYYnV1K091bTlMOGdlRWNob2dNTUVFUXpYYkZCYjlONld2Zi83ZjcreHZYMXQ2K2swK2svWDZhaGhoQWsyR2t0NlRaRGo0Uy9iLy9iMHY5MkdFdHRMYjB0Z3d2VFMzcEwvUWJRV0dEQkw3Q1FZTUZUQ1ZoYkRCcmZmYmFZVzJyM1lZU3RoaEs3Z3dndUtyMG05SmZhdzhKb01RZ1FZSU1JUWd4Q1FoQWhrSFFHSVJCaEJJNUJFWkJoQVlhR0NCNElHUVNtR0lSQnVnTVFpR2hERGlpQ2c0WVQrRW9aRE9oRDhhRVJFUkVSRVJFUnhFUkVSRGlJTUlSRVJFUkVSSDF4YitxUWZwSkJGMlVBWmhuOUVEVUZUS0I3eG9RWVNCN1Fqai8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9rRHhmN0lIZ1FPUVZiSUgxa0NTeUNyWkE4Y0VNeUNCcUhjZ1ljZ1lmSUhoN0lGNFRDaFZDa00xeUdod29WZStsb0hCd2k4Z2ROTU9IUzIvdEw2SC95R1NDa1AvNkJGT3ZydE5lRS8vU3Y5Y1Irdi9wMS8vLy9XNi8vLy9wMXpaa05uWkF2MmJDRGNjaHNIeUxHUTJEbXduWkF1T2JDQmZpQmNjM0VHb2Nob0hOQkFqc2czSElRY2d1T1NITEhMSElKTW01TGlDN2tNb2NtT1dPV09RWGNpdi82MkpEWlBRWkJ2NURZaEY1ejRaeTh5cjB5REdFR00xeURHSm9NZ3h5WVJpRElFWW1RYm9JWXhORjJIUGc4bGthSDZoTWpoRGpRLy9wMFhiMFhtRVltRVljSk5oTkpqMFhuK2d0VVhxTDNSZWFRYlZGNW91MXFrNFRWUXdnWVFZV0RDRG9JTUlNS1hILzliU2JpZzZDRG9JT2x5T2pBYkZWdGh3K2dzRzRxd2JiU3NHS0RZUVFjTVNQSlJTQndkNmRQYlNmcEwvNmY2dGRYcXgxWVZmNlhUQ2V2ZW0xNjhHWURSOWZTdXRMUy85V3hldXFyVi85L3dsLzdwWFhYUS85MXA3cFhqU1c1RFJoRkgrc0x1b3IvLy82Qy8vMzNYNFA5MWJsMXBqZEpLdGhvdkJyNGlRUEtuL3gvWC9GLy8vLzdOQXovdjB0YXZXOWFZYVhoRzMvK1lETTJsL3pDZi8vLyszKzllM1R2U1RlZ2xERmVndi8vYlMvOXYvLyt2dzMvcTNXdDZwZjBQcGZWMyt4WC90Ly8zNjM1RE52OXV0YjBSOXQxWDQvK3ZyZXlPR1ovMi8vK3V2eUd4My8xNmVsdlZJakgvL1hwMy9YLzIvLzNYMy8vV0tqalNlTmIvKzEwcnRXeU1mWC8yLy83cTByWDZ1MWQya3JhU3IvM1JkWWFURExkc0l2Mkd2SkFaLyt3Ly8yR0VyQ0NiQ0xyMkVvTmlSMTYxYjBsLzlnMEhJNkZCaW1LZzJLQ0IyQ0J3d1FQQkEyd1FNRURCQTRNRURoaGlGRkJpc0VUZ3dJVFRDZzJ2Q1REYVEvL0VSRVJFUlpnMklqaUlpSWlJekFhOFJFUkVSRWNjZndnZy85ZjZYK3YrUVpLLy8vMHgvK20wc0YwcTlXMHNXNlh5R1NHa09rSTdZU3I0clloQWtFR0NEckZoQ0k0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vOEFFQUVEZ0FBQVFNQUFRQUFBUDhFQUFBQkFRTUFBUUFBQUZVQ0FBQUNBUU1BQVFBQUFBRUFBQUFEQVFNQUFRQUFBQVFBQUFBR0FRTUFBUUFBQUFFQUFBQVJBUVFBQVFBQUFBZ0FBQUFTQVFNQUFRQUFBQUVBQUFBVkFRTUFBUUFBQUFFQUFBQVdBUU1BQVFBQUFGVUNBQUFYQVFRQUFRQUFBS29JQUFBYUFRVUFBUUFBQUdBSkFBQWJBUVVBQVFBQUFHZ0pBQUFjQVFNQUFRQUFBQUVBQUFBb0FRTUFBUUFBQUFJQUFBQUFBQUFBQUFEQUVnQUFCQUFBQU1BU0FBQUVBQT09AEGQ1BIL5B1TVWtxQUd3S0FBQW1vRlFHei8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLzVESUJvY2daZzBQa0R3eTNKdmtGZHlCNFFjaGxEa0dCN3lCNU9uWkJRNUo4aG1ja1EwckJOVXlEU09rUVduSVpYa01xWkJyZ2hzMElORGtNL2tka0Rmc0xxcWhHWUtERUhwMGtHMEhrRkV3b1FhYXFDY1dRenpDTU1QWGZ3ZzBtMGdpODlLeUNnZWtrWW1DcHBwWVFLZ2pjMG0vLzBZeTgvMTZWdFAwRUd3cU50bzIydWd0QkJ0SnYydnBMZEp0SkoxU2JUcEpLd2pub09nZzJzd0dtRkxnaVN0YjMrbFhmLzY5djFiWUxwdXVSMXBMVlgvL1hyL1M2MG13WW9yS1hIL2RmUzY5Si8ydlgvOVV2WXlHVTY5OVBYWHBhLzMvLzQrbDFTMkVjWHF2WEhYMXFyLzhSSU1DUDE3U1Nwd2dnbnF2ajFYcENscGYxKzNTV2xTMmwvdjZTK2J0YnIvSUtia252NjJLSDJGZWwvVkplRUdsVERTLzFXOXRKS2lHTDhmLzFTcmk4M3F4VnIvc1EySzFKQnBYZWwvUkF1T0ZYbTI5T24vL1lNVWsvZGhmK3FFT3VFSFF0V0cydit3OUdFd1p1WGoxL1V1dzE2Ym56YVNEdEYxL3diU0krU2R4L1g5SVE2V1BDYjBZYllyMzhNdnZDTVRWdjhncWx5R3NSL3BYL3Vra0hhUzhncWlNT2trMmxmL3BmcE9sdlhTVFlhLzkvYjIveUJPOWY5Y1RRTXp1dTQvUkJTZ25IcEplMmwrS1g2V3Y2U1Qxai8vN2YvMmxwZGYvcGZrTThlbCt4VnIwL3BFTW9mSVpWMTYrdi8vOXRkYS9wZFpBaDF2UytzZ2U0LzBrdjNmeUdiQkJWZXV0SzEyNmRMdEpMdXErdHRKdUgrRlRWL1NPUjE5ZEpQU1dxcjZTWDJneXgrdXI3UzBMYlMyMG4vb0pmOFBTMjBtd2plTnRmMG5vSU5ZTUpCQnd3azJrazJrRUZ0ZXhGSkJpRXhDWVhYVFd3d2tDQnJFSUVEaW1HRUVyRENRSUxFUkJnc1F3Z2FmRlJTREVJUkRDRU1JTVVJWWhRV1F5QWFIRVJiU3JFUkVSLzBxOTB0ZnVrcXhiV2gzb2R0TGJTeEgvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8veUJURE1wa0ZzRmh5QjRZT1F5QWJvSUxZRkJ5QjRoeUI0dmtNZ0NJSzRpT1FzRldRMDdJWnh5QkVlUXlRMVBJTk5MSVppY0VESU1lV2Nnb0JrRnk0SUdRSUlJb1pCeUNEaGtISUlua01FRURGQ0d5aEJKa0Z6Z2d5RGNZQ0RJTnhnUU1nd29JSUdSRGtFSUlwME8wTWhqcklQeVpEQ2owR0NENGFPRUhFTjNDUEREYURUUWFhcHA2YndqeEJ5YzJFZUlPVG1HRWNidzFUVFQ3cHBKMVU0QjQ2YVBHR21RYWJKZUVDSUpaRFBaRW1ETmhJTTJKUUlIQmdnd1FNRURCQXdTQkF3UU5vNERka0NIUUlHeUNpdzJnUU5rRkZodEJCNWNad1dHQ0lNT0dDQmhCZ2xCZ2dkQkE2VTJDYTVjMkViRHZ3YlNheUNaaDhPZ2crLzZDMzI5SnZiU2IzU0Q3NzcvcTNUZFFxOUlOb0lOL29MMi85Si8vUzdXOUlOOXBCdnYvL3RKNzIwbTB0TC9TYlQzWDIvOUwvOUwrWFhTdmRLOTB2Ly8xcDBuclMrbnB1WFgwdmI2NlgvOUxsMDE3NmIvYi8vL2V1KysxL3lHUXh5QndPT2s2MysrK09OVi82WDh1dTNyK2wvaU9QMnQ2dWs5Q2w0V0hxUjhlN3I2U0gvVWYvUysxOXYzL2YvOTZkR0Y3cTBrdkN3MHFDQkFuNnZwZmYvL3BlOWUzOS8zcFgvYTlYVGFUcWw1QTl3UTJRRW1IV2dtS2VyNlg4aVBrUjEvOUw3WDMwdlNTLy8vOTkxYnBMMVRDQ0RCcEt2NzZWYi85ZitsNzE5Ky9XK2xEL2VyWFdLMHY3d2dndzBxUzlLNFlJTC8vLy9RWDMrMy9wZnBNb0JxL2E5WFRUYXBmV0NDSUZ5NE1OTDY5NGcvNDQrUDlmZEwyLzhKZm5tem9HWjk2ZFgrNlM5Mmdnc01OTFM5Ym15RC8vL2kvdjl2L1AvNkJNUCsvcjIyS1M4UkNCQ0dHbCt0ZURmODRQT0Q4MkRINzkxLy81SERMK0d3Mys2L2EvWGhCQmhwZGRLKy85UFQvL043L3IyLzhiOXlHcFQvcTFlazJsOUJCdXZTNnZ1OWYreUR1UmovKzM5cjdmZi8yRC8ycjE2TUxwZlQ5K2toNy9YL3hmL3QrOWUzOWZXMi83MXEycVY2WHNNTCtxVi8vamprQ00vOWgvYSszNit1Mi8vOWRVM3BlR0RDQ2JkdGFsdy8yLzkzLzl2M3IvZjIvYi8yMHI3MWZyd3d5R1dYQkJWYmFMOEpLLytsOS8vdC9hKzMzWDEvLzdHK2xldmhoNFFJWFlxS05GWDdmV1FSOXYvOXZJTys5ZTN1dTJsdGtORC9ySFVhVGVrUXcvaGhpRUUySXBLK2w2Ly8vN2VseCszM1grMzEzVFhYNlg1QTl1UVVRR0dFRVFhNHRLcjl2Uy9iLy9iL2E5amJTMjB0dlgxNmRKdlMvVENoZ3dnazJHa3I2VERJTGo0Uy9ZZi83Zi8rMmx0cGZkYmFYNlRmcjkwR3dndHNKZDRKTmhjRXRMYi8vYi9yM1lhV3cwdHUwdURCSnA5ZlNYL0I0V0dlTkJOTkNFR1prZ2hDQ0dFR0dabENEQ0RDRHdnMkdoaE4wR0UzWVlKQkJzTUVFRUd3NFlKQkJzVjAwa3cwR2grMVFlRTB4Q0NEQkJoQk1Ra0NDaEJzUWdnd1FZUWVFRzJGQkE4SUdDQnVHSVFRWVlvSU51SVFJTnI4SldDQnI0cUlpRENFUkJoQ0lneWdEdzFJaUl0Q0xoZ2hCZ2hFR0VJTUpyeEVSK2hFYUVSRGlJaVBwYUIvMGcvU0lHd0NjZEpGek9nR2dyNmpFR3ZHZ2FtZ0gyRUw0ai8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8rUVA2RURvYitRUEJvSElFbGtEdzlrQ3l5QkpCQThGN0lOVmtEWURFWkRManlHVkNaQlhtQ3FRWlBJYVVFTkVBb0tsdDVBOHNUU2ZWMDAvUzIvNkJ3ZEYzRCtEZy8vcHI2US8rUVd3YmovL01LdnJ0TmVDLzlKTjEvaVAvLyt2ci8vK2szLy8vLzlyLy8vK2s5WmVFQ3pQeStJWlk1QnVQNUF1T1hoSGhES0hMNGd0T1h4Qm93c2NnM0hMaklHQnlISElHOUNNY2krUXp2LyszQkVNeWVFR1FNVUNHUUx6eUJpbWd3VWdSbVJld1ZOQmdxRElaWGdxWVFzRlRJRVV5R3pBVWd1Y3VpcHBnbVJMSU9jdWhERlgvcFloUFRDaEdIQ056Uk9CQnVLQVhwZ29Mb0xCVTB3Vk1Jd3d3Vk5Gemdxb3cyaWNFZ29ZSUdDREJZTUswRUdFRENseFAvN1lSdHZsMjBZT2dnNkNEWVZCTmFNWGZRWG92TkdLNk1VSUp0MFhiQ1RXcUNEaFgzMzZCNmFwSkwvMHVnM2JwQjBuU3NHYkRaWnNOZ2hCc0hCOUJZTmhpRTJHSVFiU2JCc05vSndZa2VyZ3pZTjRQMXA5cFhYWC9xM3ZUYVdycjZWMS9wZjlhdDAydlRYL3Q3ZlRhVCtsLzlZL3JyMDM3MC82WFRUMC9mcjQ0LzZXbnV1a0twZGtGRmtLL3BOKzlEV3YvLzZDLy9TL3JxLzcrWFZKdW05S3QwRFh4RUY5Vi8vLzlmLzk5MStaZ1krNlRmOFZyUVN3dzBZd2FYa0R3T0VmL0gzWC9ILy8vL3NILytrMmsxZEpONlNRWXJ3amovL05nMWRML20wLy8vLzloL3QxL3R2cE42U1FhOUF2Ly9ldi9iLy8vL3czL3JwTjZla3JlbFErdi8vc01KZiszLy8vWDROLzN0K2x0Nlg0K2w2VjMzaGlGLzdmLzkrdCtEL3VscjZMNzBxLy8vLytYQnAvN2YvL1hYNUJRTy85L1RkSk52cEVSLy8xNmQxZlMvOXYvOTE5Ly8xZW1PTks3MXIvLzBydGIxLzloLy8zV2xhL1hySFdyeFNTLy9ZUmRicHNpanRvdXJaRmZULzl2LzkrMEUydnJaM2hvdXJXMGsyNlgvN2FXZ3dnbUdGWWFWc01KSnpXQkR0UFRZYWFZVHRPMjBvYVRZUmhVR25VVXhWNzZWMGtGLzlpb09YUXBpZ3hVTmlnZ2JZUU9HRUR3ZzNDQmdnd2c0TUlIRFlhQ2ltSVdFSERDQ2FhaDlPckRlUC8yRU5Cb05NSVF3aGJFUnhrY01nWXFiUVRDeERFSnBvWDhSb2NmeEVSRVVZRTRqaU9JaUlqLzJFbi9yL0lHNWRKLzEvLy8vL0g2OUp0TElIOU5KZjNTNnVxOUlTaDBDeGRMOGd0NDZpTzJrbDZGYllTQ1FJTUlIV0dJU0NUQ2JXSWlJLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vd0FRQVE0QUFBRURBQUVBQUFDb0JRQUFBUUVEQUFFQUFBQkNBZ0FBQWdFREFBRUFBQUFCQUFBQUF3RURBQUVBQUFBRUFBQUFCZ0VEQUFFQUFBQUJBQUFBRVFFRUFBRUFBQUFJQUFBQUVnRURBQUVBQUFBQkFBQUFGUUVEQUFFQUFBQUJBQUFBRmdFREFBRUFBQUJDQWdBQUZ3RUVBQUVBQUFCa0NnQUFHZ0VGQUFFQUFBQWFDd0FBR3dFRkFBRUFBQUFpQ3dBQUhBRURBQUVBQUFBQkFBQUFLQUVEQUFFQUFBQUNBQUFBQUFBQUFBQUF3QklBQUFRQUFBREFFZ0FBQkFBPQBBgPISC+giU1VrcUFGQU1BQUFtb0ZzTlAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9rTWdOcHlCb0xHUVBCb2NqZklFa0VEd1UzSUxqcmtEeHdtbmtHbUtJYStFTmZGc2hwajBReTVrTkljZzBVSUhoeHlDakNMaERTSElhOWtHOHlHWlBDcXBBdkJLNFlSb0NVMGttNFBUQ2hCa01xZ0p4aE1obkNCQmhCNnUvUUlvQnViYnBQU2IwZ2piWUttRUg0UzBiTm80My9yaEJwTnFqSHBLeUJoL1NEWVZOTkxDQlVrRzBFRy8vMFlpN2ZkSk9xdDNTMDJDemphUE5yb0xTZEp2NnF0TERTMnFUMVRhYVZMbzVVRUR3UWI1Z0d4VEFZWGRmL3FsOVBTK3QzclZ3dXJwMFhYUzZTZFcrdjlmOWZwSnd4UmNVcmo3LzlKVXYvN3YxWC9Xa2wyREd2OWFUcGVsMTZYdjY2LzYvcGJrTXlLNzkvUyt0ZjIvLy9INnRKTGJCSHY2LzQvNjZWcGY0aVFZVWZxdWxYaEFpb0hTcng2UzlJZi8vOXVxMGtrdEwvZjB2OUswdi92NjJLSGJxOWY2MHZOTmRocFgrUUo0SlhlNnBWN1gxK3FTWGhCMGt3MHRmNlllMmwwUk5GeGIxL29FRjhXcGYweEMvMTRnd3hDU1RYdjYveUJpaVhPTjRRYXR0ci9zR09tdGNMLzBvTmVFRGFwcE1PMSt0aHBJeHlJUnVPbCtrakRkY0o0bHplbXd3akMvNGJ5TDZUYk5ncC8vNkVOcFkzQ0RwQkc1c1YvcVFhQ0VnamMwcmZ5REtUSWJXaVg2VCs5V3FDRGJWYmtHUlJMdDZUYXYvMS9wV2w5UFNoc05MMTRkSks2Yi8xWDlMWExIZjFTY2YvL2JWdjhndFJWZnBQRVg3MXZYUkFuc2xHNlNYMmwrSzM5YS9xbHJqWC8rMy8xcGFYL3BiMStRYmorbCsybGEvK2xrTTI2LzlMMVQvKzI2L1NmMUlaZzlmNlgvLzBsK3hUMS82VnJrTkRwTjB2U1dRUE9PdlgrMi95R2xCQmtkZXRMci9XclZMVFgra20wbTJIK0NwMWE2UkIzYiswbjFla3UvOUwrMERMSHRMcE5YclF1MHQ2dEtyVUpmWEQwa25wZ3dRdC8rclNUVzBFbllTYnBXMGtGL3dlRXRzSk1UY0YvVHF3MGlCZXBZWVNJWnVyRENURENTc01KQkxhMURFUWtneENZUWEwdGFvTVY4UXJpRXhWTVFpQ2pzUkVHRmlHRUdtOGFIYUVRWVFzSU1JUXdvV1F5QTJuRVI2cElSRVJIM1ZmMjZwZjBrcTl2MXhiU1NIZEtGdHBEdDExV0kvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL2tDMEdENUF6QXhCQThEQ0NHUUNvUVFNdzB5Q0I0RUVFRHdZb1F5QTFZTnhEdVE4SHdnMllRMjR2SVpJTEhrTlErUWFTNElHUXpxeUdXa0lMa3dRTWhzMUlUVWcrcEI5U0Q2a0pRaGpVaG1ISUdEa01VSVp5QWd5QmdHRUdRTUJBZ1pEUFFoYUVFcUlRZ2dtaENvUTFReUJGcVFYNU1nd0dRbDFoQmdnN2hoSHlCdy9DUGtELy8vdkNQRUhEQ1BFSERSeGh4L3IrQ2VFNmk1d0R3eFRDUGtHcERTbVQ5R3dTUTBUSXprTXVaRjhob21SK0VjQjJRMmVRSThnMzhnMzhnMytjQlFmRFVhUGdvWkRaWVFJR0dRTVRKVENCQXd5QmlaS2FCQStRSTRobnNHZkFnRURCV1FlMDBDYld2UnR0R3dSN0NEWVFRZGhFRTloQTB3Z2FRUWRwcHBwcEJOUFR0SUlOc0lOb0lOc0lOcFBMaERnbW1uYWFWeUd6a2dlcGdDUHdnMkVFR0hlMmsrR0h2dWsvL3BkcmVrM3VrM3VrLy82L3QwMmxTWDdhVGErbDRmL1NmLzB2NzBtOXRKdmJYLzk2N1NiVjYwdlMwbnZkTDIvOUt2L1M5YjBuOUovLzMrOXRkMG0wdEw5MG01ZGZYMi85TC85TGwwK1hUOXZmYjNTci8zUy91cjlKOGVyWDlMN3h4WC85TCtYWGIxL1gvZjYvKzZkSjBxL0laQWR5QlkrcENROVgrTy8wUC9vTDdYMzZ2NnY4UngrL1JoVmJXMGhTOExENkJCbnkxZnBML1gvMHZldmIxZjFmLzkwci91bjB2Q3cwbFJ5ZGRYcjkvLytsOXI5L2Y5NlYvM3VsZTZUYVNYa0R6Z2dvZ0pNSFZJSmpkWDYveUZmSVYvLzB2Zjl2UzlKTC8vZEwzU3V1djAwd2dndzFWZjd3a3UvK2wvNlgybDdmLy9wUS8vNjkxYlZMMXNFRUdHbHBWcGVFRlgvLy82WHYrL3ZwYjZUQi8zNnQ3RmFTWCtFRUREcWt2M2l2Ly9oaGYwdnRMMi85TDhJS2RRMC91azM5VTNTWHZoQkVNb21HR2d2K3JnLzQ0K1A5ZmYrLzhKZm5PeW5CcC9mMXErcVh0TUlJRmhocGFYcTg0UWYvLzhYOXBlMy9uUC9CQnY5NjFiN1lyOFJDQ3d3MHZTWHZJVHY1OGVmSDV3Tkg3OS8yLzloZnVHLzlldjNTOElJUXdhWDlKZTMvQ0R3Zy8vemlmMmw3LzQvdGtOUVA5dmJYcFBTOElJTnBkZnZ2Zi8vLzdmdiszMzkva05xZitsN2EyMGw4SU4xZnBKWDM2LzlrR0NQL0RmNlh0Ly83WWYrL3IwWS8vditseDcvWC8zLzdmMy9mcGVsdHYrOWF0MGxlbDhNRXQvU1Q5LzMzY2hzLy8yL2V2YjM5L2IvOWYxcHZTOE1NSUp2YlJIV3BnTWZ2OGNiRC8rMzlyNzkvZjcvdDAybDZ2cGVHR1FhU1lRVDNZWFgvOUwvLzl2M3IyL3I2Mi8vWDI5SzlMd3c4SUlYWXJDUjRTdjIvOXYvOWg1QmdmdGZiM1hiWGJJTngvMS9ycFg4Z3cvaGc4SUt3d21JUzc2VjZXUVhmLy8yOWRpdnZ1dnJidXU5dW80NnZTL0RERUlKc1dra3I5dlMxMi8vMi8vMjl0TGJydFYrbzNkSnZTL0lIbkJBdllNTUVFUTA0YkZMZnB2UzYyLy8yLzM5amV0dExmcmRXcXBYMHYwd29ZWVFTYmFTM3BOa000K2wrMy8rMy9YdTJsMmx0NjlwZnBYcit0QmhoQXJiQ1ZQaEpoaGNKZnQvL3Q2Nys3RFMyMHR1NjJHdlQwMzB2K0cwRnNNSkxhZ2t5Z1dtUmFZTHNOZGYyMUJWcTEyR0VzTU1KZDJFdGd3U2FmWDBndjlCNFdHZk1JRVVBZ05DZ3hTRUlobGt5QytvWm9PUVkwSVhRaGpYSVo5R0RReUdFT0NJWVlLQUlzR0NSQXZveWRvZ1gwWWNHRWlHWG94WDBDVEJrQytpSDdTaDRUUVloSnFnUVlTQkxoaUN1L3QxdlR0d3hDc01RcmJZaFd3dW5TYnY4YUVSRENFUkJnaEVRWklBOEdXSWlOQ0xoZ2hCZ2hFR0NFR0YrSWlQMElqUWlKQThDK0NJaUs2NFFQNnBCK2trZ2YraTR6VUJvRE4waUJLYjBJTmZDaWdhazRIaEkwUU13MUl2WVFqai8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8va0Q5QkE2aHJqa00yQ0dZUDVESURVZ2dlQml5QjloQllzZ2VHVkJEVmdnYlEyWmlWSGtHaUNCNHJrRGZ5QjRiSnFRTjVrTmR5Q2lDQkV5RFZOQmJlUVBIeXFxcXFhZi9lNmFSQllzZ2VCZkVYY2dVWW5aRFJaRFV0TGIvOTBoZi8vOU5MMS84Z3Rnc1AvOHh0ZlMybXZCZi9YLzhSLy82cHRmWCt2L1hyLy8vK20xLy8vL1YvLy8vOUswaUdiL2tNejhnMGZrRDRmeUI0Wnh5RzNNaG1qa0R3VXA1RE1ISVlISUhnVGovL3V3UVR5Y3lEVE1obDB3bmhQTG1ReTRCY2hleUJlQzVrZmdwY3dRWUtYTWcxME01RFpCUEFnOEZCU0JCQk01RENDSzVFb1F4NUM0UWNnbWNndUkvOUt4VDB3UVlRMGJtaVFHZ3d5R0JGTWhzbVFJbnBaRFBOTkJrTmswMGNZWkFpYURDR1FYbUZSdHRFZ0hrV2J1dW5lNy8vN2hHRGVFR0ViT0ViT0VFR3dxUWZUMTBDOU5OVTBFRzFRWVJzdXFRY0w0WUlHQ0Jna3lGc0cwQ0RCQXdVd0ZYL3BYUWZSdDBFR2dnZzZWNlRXakRaQlJaRFptbGtGRm93MmpEa0ZHSXcyazVEUmlNRzBFR2lHeTFwMUJ3ZDZmcDBuNlMvK24yNGhCdFhTRHBOZ3pZRjg0Q2dRZzN2b0xpRUdJUWJZaEJ0SnRpRURhVHhMdXVRMFc3Njk5MXBhWC9yZFBDZExwLzB1bi9TNnJwKzZkTGhQLy9XdE5xMzYvL1RZKzM2Nlg3MS9wZE5QV3IwMnZqdGZ0NzJycGRWU1haQXhoQngvWDY2Zjl2L2Y4SmYrOVgvMVkvNjJpNjAybHFLWHVnMC9wdjlSUzEvLy9RWC82L3BmRC9icjNXS2JwSkJiYURTOFJJSGdZUHYvREMvLyt2Ly83L3lnREgvZGJwclZJSlliUnVCaEx3Um12L3g5cGY4WC8vdi83Qi82VjE3dlNoaDRRVkJqOEk4Zi80TDYvNXRQLy8vL1lmN2ZxMnZmVGVxUWE5QXYvNXdOUzJsLzdmLy8vK0cvOUo2NnZWSzlLZ1lYcGYvK3cwdi9iLy8vcjhHLzIrOSsyNlNmOGZYNnUvMksvOXYvKy9XL0lhdi82V2xhU0w3MVMvSDY5Zjd3d3YvYi8vNjYvRC8vL3BiMHYvLzE2dm91R3AvMi8vM1gveUdVNytyZE9yR3JkOUVLUC8rdnR0cjYvKzMvL2RhVGYvMzZ4VkpOdWtrdi82NlhlM3BmKzMvLy9XdjE2c2ZwWEdsLy9hTHJhVGJZUmhZWkNQcC8rMy8rMmxhVFlYMXUwWFdtblY5TC8rd2wzQ2JJanNNSmJEQ1hJd0cvL1lmLzdhVm9LR0ViWHVzenRoTGZxbTJrbC85aUZNd1hCaEpoaEppRk13empJTUVXUVlSQmtNRVpCZ2hoa0VJSVlJTVJNd3dEZzJHbERDVEVMSU1hUXdTaW9xWmdZN2dsQjZILzdYTDRwaW1sWVZ0cDNmYlYzZHAyeENpbUY2RUoydXE5MnYvMmhvTUlNSU5DR0VJYkVSeERCQ0lpSWhoVGVFR3NRd21nd2hkNkVjY2ZzUkVSRUl3RTRqaU9JaUlqWCtFZ2YvLzFmOWY4Z1ZxNi82Ly8vL1MxSDB2U2I4Z2ZvMHY5MHZ1djBtNFdMclhrRnNHc2RSSHRKTDdTMkdDQ3I0ckRGRUR3VVlReVEweUNDcUdsaGdxWGF4RVJILy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vNEFJQUlBT0FBQUJBd0FCQUFBQVl3WUFBQUVCQXdBQkFBQUFlQUlBQUFJQkF3QUJBQUFBQVFBQUFBTUJBd0FCQUFBQUJBQUFBQVlCQXdBQkFBQUFBUUFBQUJFQkJBQUJBQUFBQ0FBQUFCSUJBd0FCQUFBQUFRQUFBQlVCQXdBQkFBQUFBUUFBQUJZQkF3QUJBQUFBZUFJQUFCY0JCQUFCQUFBQVNBd0FBQm9CQlFBQkFBQUEvZ3dBQUJzQkJRQUJBQUFBQmcwQUFCd0JBd0FCQUFBQUFRQUFBQ2dCQXdBQkFBQUFBZ0FBQUFBQUFBQUFBTUFTQUFBRUFBQUF3QklBQUFRQQBB8JQTC8RRU1VrcUFLSU5BQUFtb0NBei8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy95R1FCdy9rTWdHWWNndzVESkJwdklIZzF3UjNrQ3VDQjRORmhicklIaXduWkF4WkZqSWFmVVEyK0JKSnNoclJrR255R3RCQnFtUTA1a05xeUJjUVExWUlOeVpCUk1ocGZoZjFDTXd6UzVocWc5VzRhZ2d3b0lHQ0RDV0M0UVlJUFhyd1IxQlFtNldrbTZwR3pZS21uMkVGUVJzZ3dqaEIvOVVqZVhnMG0xUmlmVmtNdDFWQk5oVUdFMXBBdEJCdEJOLy9oQllkYm9KT2trMm5WSk5najNSNHM4YjhKVWs2VGZ0ZnBZZmRhZlYwOVZiUVhDRGNFSFdYQldDbUFJcmFUZi85ZWxkTDBsZDFWY0xwNmJSZGRLa3FmZjkxVmY5ZlhiRGVxdHd1bTB2OUwxMXYvK3YrdXFTd3hSK3J4LzNTOUxTK3ZmcXRmOWRhN0RIcisvcGVsLzc5ZjEvOWRLcjVCb2hhOUxyLzlMMS9hLzhmWFNxc0kvZXYvSFM5S2tycnYvSVowbjlWYVNYWUlFVTQ2N2VQWDZqMnYrSS90cXVsU3VsZlgrcVgwbGRmL2U5VTZROXdyMVg2cGZKK3UybC9rRnF5Ty90SllyMnZyL3F2QkE5SmhwWC9YZUcwcXF0cTlmMVNTOU5JbDNEUzEvcGc4TVFseUpXdVAvOUpmRjRRYVRGTi8vRU1hVmQzNi9TSVpyaE5MbkNlRUdvYjEvMlU0YlVKL2NMWC9pRFhRUWIwNllkcjB1dzZSdlpDYWVQWDZWMTA2RXdkSzJHRjM4TnFRbkpPemdFLzEvU2tjYlMybmhCdFFqYzJKZlg2a0dyU2dqRERXMy9yK2hEZmkzQ2VrRUcydjYyWG1vUVRkTi9rRGdDSUt0Uy9wT2wrMnFRYmEvSUhDVEQwcmF0Ly9YNlRhL1hTdUdFbC9odGF1ci8wdjlldDkxU2JILytsMWV2SUgwYS9wT2hKQWFmMHQvb2d0V1JZM1dtOXYvR3V0TFgvUzBzZGZwZmJTL1g5TC8wdC9yOUw5di9wdjYzcjE5TDhnWEgvL3RMOWRkS2lEVm45ZlgxOUpmYkZQWFhXa1FhbitucGVrdi8vOTlkZjB0TEliSFcrdlhJSGpqMTFTNmJmOGhyV1FKSHAvU2IvclZmUzAxL3JkZHUvQlVIMmxwYVcyazlKTnBKYTYzcEpYM0Q2NlRYOUlvWmRkcmYrZ3ZydlMzcHNJTWs3LzlOMW9kcGJwT2tyYVFTLzcwa20wbUdFY3hXdldycEpxd3drbkRDQ2JTU3RKTCtvUENXMkVtS0RYV3RVd3drUXkwNnhDSU5ReUtZYVdHR0VFQ0MydkRFUWtneEJNSU5OL1RTc1Y5YkNZaEpNVUNCWWlKQnBwaUdDREMwaHhvTUlSQmdoWUlNSVF3VUxJWkFIRGlJdnBLSWlJajkxWDdxdGZkVXZ1a2xYdHJTNHQwbytsQzIwaDI2M1N4SC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8veUJseVB5Qm1DeTVBOE5VTWhrclFnYUE2Q0I0TktDQjRaaHlHUUJ4WkNEa0hjZzhFVWNnM2NncjM1QmJCNWtHdzZrTlJRUTFRWkFnd1FhQm9nd0JrR2dHUTBWa1BXUXhXUXhXUXhXUVNoQmVzZzBvSU5CQkRDQ0RjTWhtSnlHV3JJYWljaG1Ld1FNaG9FeUQxa0VESVBVUVFpUGpJTVRJYU9JTDBJS01JRURjOEI0V0NCZ2dkc01JTU1nWVprT0NERFFZUWFEQ0RTaG9Od2c3UVFNTUdFRFlZUWVHRTBHRUdnMG1HazF1dXRNSVBCbnRoR1lSQXp3SUdRYU1PbklLTVBXRVpoaVFMOERCRU1yZ1lJaGxkT0JsbmdiY0VEWkRLZ0l6RVlNOEVZUm1JeUdiaENVUndKd1o0QzVnRkFJR0VHQ3dZUU5vRUhTcjdDTXhBMDNJU1lRSWd4amtHSjVCaU1ndkNCQjZhcHFrcXRLOUFnWWJnMmdRTVBCc0lJTlRBVThGVDcwL1QwRzFtQTJMNWdiUndGMzRkQkI4Ti80UVQvK2d2NzBFM3RvSnZldXYvWFQyMG02cGZTRGhCQmhwN2FUNGIvcEJWLzZYYTNvSU43b0lON2FULyszWDdhVHBhWDAyay91bDdmK2svL3BmK2svYVQrdjEvK3FUMWRhWC9UYU1MNlh0LzZYLzZYTUpvd3N3bnJlNjN2WC83YXZlMnJwYVhpNlRmZnBmZi8vL2hMLzl2U2I5SnYxLy82LzBtMTY4aGtBM0gwbnAvcjN4eFMvL1M5dEwyL2Y5L3hISC90R0YyNmVoWHdwQS9mb2g3YlcvVWUvVWYvUy8vYjByOUsvLzIwdnRLMHJTUzhMRHBJRXpaMTlWdjlmK2w5cGYrLzcvLys5ZTZ2cGVGaHJoSG1SL2F0NnIvci82WHYrM3I5TDlYKzJscTN0MWFTWGtEeWdnWWdKTUhTU0NqZit2dklPK1FkLy8wdjB2YjYvcTlmLzc5TFNiU3IwMHdnZ3cxMG10SjlLdC8rdi9RWHQvdC9ldjZWLy9wUHRwZXZxbUVFR0dsci9lRWwvL1gvMHYwdmIxZnBYNllmN2FUOThiYVNYM2dnUVlhU1NYcFBoQXYvLy85TDIvMi85TDhKU1FDci8rdmFkSkwvQ0NERFM2cjdqLy8rUDlMOUwvL1MvQ1ROWWEvM1MxZEpxK3Zwb0lJZzBBUVlhV3YxeVhEWitPUC8wL2IvYi93bCtaRElnTlA5OTkrNlMrMDBFRmhoMTE2dk9DQi8vL3hmNlh0LzVaLzRKaC8vcGUzZWw0aUVGaGhwYXFsM2czLy9PQVgvZnQvdC84TDl3Yi9iU2ZlcllwTHdnaEJnMEY5YVQ3Zjg0RDV3SC8vT2IvUzl2L0g5c2hyMWYvMWFycGVFRUdHdlg5N2YxLy8vdCszLy8vN2tGVS83cFdyNk1KdFY0UUlOcGVxU1Q3Ly8vLzdmNlh0OS9mMkRmOS8vN3I4SVBYMXhmZDYvOWtOR24vdCszKzM5ZlcyLy91bGFTVGVsOSszNlh1Ly83Ly90LzE3ZS92N2IvdHBlK2szcGZEQmYxcGYrc2NjaGxkLzdmdHI3ZnIydTcvLzFldjE0TU1JSnZkVXBnR0g5Ni9iLyszLy85MTlkLzcxYTlVM3BlR0dFRTdkeU9xU1g3OWUvLzdmdHBlM3YvN2YvYXZ1cVY2K0dESU5ZRUVFTzJFbkNXMzkvOS8vdC8vdDkxdDF0LzA5YVY2dnBlR0hoQXJZcUtMdEw2ZlN5R2Q5Ly8yOGhvZnRMMi9YMTJ5RGQ2OWJYL1NiMGlHeC9ERHdRVFlhWVNXM3JlbC9mLzdmNy90N2RiZGYvZjhiMVY5ZmhoaUVFMklwTDlONi90Ly9oditLOXZiWHRkdi9WNnFOWDB2eUI1UVF5N0REQ0NJTnNXdFBxM3BmdC8vc1BYZi90TGV0dlMyNmpkMHIxL1RCSUdHRUVtMmwzcE42WDdmLzdmOWV4dHBiYVczYTlyMVN2cGZyaGd3Z2syMGw5SmhrTmo0UzEySC8rMysvdTJsc05MK3V3azE5TjZTL2RCaGhCYkRDVk40Sk1NSllJTDloLy90NlhYdXcwdHRMYmhoTFlZUy9TdnBmOFBCWVlNSUpPMEtZTUZRaElVbXdZVk5OUFRiUTAzVFRkaGhCSnNNSkp0d3drbXhWTk9yYWFIOUpCNFRURkVGQVpER3FDREVJSUlnMEFaQmlzTVVRejFrUFdReFhrTmxiQmhTQyttUWxSREdtR0tJWlZZWlF3aUdWV3djUWlEVFcwL1FKUVpES3JYMnNQQ2FCZ3ZSVGcyQkloQTB1R1M0S1ArL3RlNFlMREVMMkZocituL3hvUkVHQ0VSSUtnWWlKQlZERVJ4RVJ4RU9EQkNEQkNJTUVJTUYwNGlJK29pTkNJa0R3MWJFUkVmckNCL1dFSDYwZ2YwcU1NSDZWSUlHVTRHb0tmU0lFc0dLQ0RWOVVRTkE5SWVOQTFKQUhuaEQ0ai8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vK1FQa0VETUZXK3lHUUJQQkE4TlNBbVFaNElIaHFRUTJvSUVvREZrR3VDR2xIa0R3TjRJTE15QjROTTFJTE15QjROTXlHck5MWWVRUEY0ZzE0a0ZDNFVncVFRTHdGQ3BiZTlwRUdiaUI0TmZJdTVBczVOTWczNGhyOVgrcXU2UWQxdDNYYiswdlVmLy85RzEvUyt2SUdZWmovL3RyNjdUWGhmL1M2L3hIMS8vYlgvLy85TC9YLy8vYlgvLy85THIvLy85SnRmLy8vLy84bC9rTlRpSHdnMmYvK2szTGhwR2daY2xNaHFlUWFKNUJwL0lOVTlCa0dpQ0JlTWduWkRMZ0lNSU1obXdneURYTWcxUVNtUTFLRTNJRjRKWVFVSHlHYkJCZHlCR2hKQkRYY2hyY1FmQ0M0WkdnZ3dFLy94Q0R3Z3dRTUlZSVBKT0NEMHdVRjF5Q2owMHdWTUVEQlVHRU1GQ2dnOGdZOGgrOGhqUlNFUUUxLy85SnNKNllVS0VjTU1JWVJzanFCRk1oc09DNkJZS21tUTBIVFJzZ3dVSU5TREIxUmdjSTZCaUNnejRPQ0Jud1NEQkJ0QWd6NE9DbUFSZi90aEd4dlRDT0ZDT0RvSU5oSkpyUmczK2d2UnQwWU42TUd3Z2czcGhHeFZxa0dndnZ2Ymg2ZHFrdi9TNkQ2TURhQ0RvSUhTOUo5QkJ5QmpDRGZOTElHSmh0SnlCZkVFSFNiSUtNUmdWb0lISUtNVkoxSWFNSUpuVHJUYVRwYVgvN2U4UW0wbWtuU2JJTjhWbkFNQ24vUzZZcHVLZW00aEIwdUpkcGNnb3ozKzl0Yi8vOUxxNkRwYVRyOVhWL2hCZFYxYXZUYVhRZmYrNjFTNjZwTC85dDNyLzZiMWVuL1M2YWVuVy9Yb2YvZFcvYlNkZEw4Z3BEK2xqN2FUcnIvLytsLy9UMDJ2VmovMW93blRhVjBLU1cyUXpNdjZiL3hyLy8vMEYvLzM5ZmY5cjFyMDYwbHVFRFh4RUx1cS8vLytsLyt2di9CL3ZUYTNURmVxV3cwRFM4aGtCb0kvK0d2MS94Zi8rL3I3SkFabjcrbjJtNlNyMGJNTUplUXlBWG1iUC9qN1gvdi8vLy9aMUF2OTB2MTlVbUhoQkpCajhJOFAvOGlBTVhyL25FLy8vLzloLzN0cE4wM2RKTi9RWVhvTC8rY0JzMmwvN2YvLy8rRy8zUy9XM1hmU1NCcjB2ci8yR0V2L2IvLy9yOEgvL1c2K2tyOW9mUy8vOWlGLzdmLy8vK1ExNmYzOVBvdW0zcGZqNlg5MytHQy85di8rNjF2d2Y5MG0xMGxiMVMvLzlMKzltQTF2KzMvLy9YNy8zOU42VDNTWC8vMDdyNlgvdC8vdisva010My9kTFgwcmRWSWQvLzExdTl2Uy85di8rMHRLLy8xOWppa20rcS8vMTZiYlgxLzl2Lzkvclg2OVlxblZ0dlMvL3RkTDBYV3lEajYvKzMvL2FWcE5yMzlvdXIvWEZKZi82TCtHZ21HUW83YVcydmYvdC8vdDFEU3NJd3ZwV1c4Tkw2cEp0MGwvOXNKY01KTU1Ld3dsc01MeVhBdi8ySC8rMmxEQ0NZYVgybEZNVmJUdXJkS2wvN0VLRGlFeFRGU2NOQW9nUnJESU1helFNSFVHSkFqVnNnK3BER3B0Sk9DSFVRMERRR0VvcGlGa0NLb1lTZHFUaGxmQktEMFAvNjBZMDdXR0Z0Lyt3dXY5aUZDRFh4Q2FhM3BxbmYvOE1JV2dZUU1FRENFTUVJY1JIRmdoRVJFUXdVNUJCaFloaE5CaERUNGpRNC9pSWlJaEd3N3hIRWNSRVJILzBnLzlmNFNmLy95QitCZitsLzZYLzlmLytyYStQVmZYV0NmL3EydUM2cjlOb0xwdXE5UkhIUy9JR2VPbHRwVjlydHBKZWhXd3dTSUhnMDhFRENEckRFS0VDRElNdFZZWUlmYXhFUi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vK0FDQUNBQTRBQUFFREFBRUFBQUFUQndBQUFRRURBQUVBQUFCS0FnQUFBZ0VEQUFFQUFBQUJBQUFBQXdFREFBRUFBQUFFQUFBQUJnRURBQUVBQUFBQkFBQUFFUUVFQUFFQUFBQUlBQUFBRWdFREFBRUFBQUFCQUFBQUZRRURBQUVBQUFBQkFBQUFGZ0VEQUFFQUFBQktBZ0FBRndFRUFBRUFBQUNaRFFBQUdnRUZBQUVBQUFCUURnQUFHd0VGQUFFQUFBQllEZ0FBSEFFREFBRUFBQUFCQUFBQUtBRURBQUVBQUFBQ0FBQUFBQUFBQUFBQXdCSUFBQVFBQUFEQUVnQUFCQUE9AAAAAFNVa3FBSEFQQUFBbW9DUVAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9JWkp4MFF5UXpqa000NURKQTN2SUhocjJSYnlCOUJBOEd5MDAvSUhnOFhaRE1zaVhrR3pxSUsvQWtrMlEyblNJTlV5RzI1RFZvUTFhRUdTQ0dVb0lOamtGRXlHUElaVXlHclBCVlhxd1FhaE5VbTRQQ0JoUVFZUU1Gd1FjWUlHRUQxMzFJWm9hTnNPazZTYlZJSTRiQlFnd21saEF0SEREQ09FSDc5WVFOSU5xbnJaQm9IclFRYkNwcCtFRlNDRFlRUWIvMXdqa1hiU2VrYmZTYlQ5SnNGVFI4MnVFRnBPazMvK2dzT3RxazZTVGFkSkxZUjlaNGJoQnYwRlNUZFg5ZnBZZjZTZWx0UDZjSUxoQnRCT3N3Q2twc05GZFg2NjZTK20xL3A3cEpiZ3RKNmJSZGRCVlZOcFgrK3Y2OUxwSzJHMTY0WFQxL3BhL3Y3OWEvNjlkV0dLSjJrclkrM3VsNlhTNlYvNjlmOWEwdUdQL3JYL1drdi8vOWY5ZlNwc09sL3ZXbDZXdjcvWC8vMXBhNmtHdTlmLzB2UzY5Zit2OGZXNlM4SXpmNi94ci8xdXU5OXlHZ2EvcXRhU2JCSDFIUzI4ZlM5SWF0ZjhSL2RWZEpMd2xmLzZTK3E5Zi9mZFZwRDlQcEw5VlhrdnFtR2wvL3VxeENXMnIvLzE4RURWYlN2OGdlcklsM3RwVlc3Q3ZTL1ZLdlFla3cwdGV2YjdTVnJ4Ly9wQkpjWFJIOU1OQmYveWhReENySVVaWGYvMGt2YWhBMVlwdi9xSU1NSlFtditsK3BCcGNJT3VlRzhKMHc5ZjFaTGd5Sk5WdUMvOUpDRFhoQjlOV0cydjFzTlFqbklXdngwdjZ1dWczRXdUU3UxOWNNTkloL1NzR2NGLy82VXVOcGRhQkI4STVoc01JMmx2NE40UWFUZVA2WDZpRzF4YnB0SkJCdGlGLzVEVTFTQ09OMDcvLzlCdXQ2MVNEdGZrRmdhbDI5SU5yZjVCWkV5REluUy9TMS9icElOdEpmNGRKSzFiLzB2OUp1dnJWWEJoZiszMDNUZi8vNld1KzlVMlAvdWt2M1g2cGRhVG9TR0RaOUpYcm9nZXJJbDc5T3JmNUE4UzYvMHYvV3RldjlKYjNTL0ZKL1MxL3BYckgvLzIvL3YwdDY5ZlgvMHYyMHYwdGRLaUdsMzYvWDBReW4vKzIwbnIrdElocGovdjE2WFMvU1g4ZjZYOUw1QlE5ZEwwbHIvLzdWcjcrazJsNlY5ZXVRUER4L3BKZE52K1EybzdyUzYyL1ZkVXNKLy90cmJEL0JTQlBpV3VsZjZUMGszU1hmcnBKZFd3M3JWUGV0SWhpZWwzVi8wZ3YrOUxkV3dneUtQL3FsZm9iYVcyazZTVGFwYTlYcEpYVERDSC9YdWxyRFN1d2szUzZRUzNwWWVsdGhKaWJhYlMxMG0wa0dzTUlKT3drMmx0cEJCZEx5amdna2d4Q2FEWDlQdHBFTXdHc1VRMHhERUpzSkpNTkJCQmJYZ3hGWVlUQ1lUL3RiRmZDNFRFTERGRU11ZUlpUWEwSkNHQ0JxNkZJVWd3aEVHQ0VNSU1JUXdVRmtNazNFUmRheEVSRWY2MHZiVkwvcWt2YlNYOStrdTdTUzhXMHFIZWt0dElkdExiUzNheEgvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLzhnTUJaRDF5Qm9EUTVBOEdYUWhrZzMxSUdnRkFaQThHME1nZUdzUVF5UTJvSUc0NUFrdnlDMkd2TWdxb1RJYTZRaHRCQ0dnYklOUXFRWUZDRFdvSWJCQkJCQkRBZ2hnUVF3SUlPZ2d1SUlOWVpEVElJWUlJR0tnUkVBMEV3RFlSQU5CTUJxZ3lHZ29JWUdFTVZFSHJJWTBJWXF5QytoQWlaQnZNaGc1REw0Z1FMTXpBOFBCQXlHc240TUlISXFHWm9FRC8vOWJ3UWNHQ0Rnd2dmLzY0SjlwY0xDWVFPeUcwa0JHZ2VRYm9JUWdnMUFaQlFZQ013ZVFMeklHSmtNdVpETG1ReTVvK0dXWmdxT1pnWVpETnhId29aQnBPUmFJK0ZESU5KeUtkSGhORU5sQ0JqQVpvQmdFRE5BenlHek5IQXp1djdDTkJBMVo4STBDQjJDSU1IWjRHRXp3THdnUU8wMDAwMUNhZEp0b0lJR0hCQTJFRUREWUlHMEVEelljK0h0Tk5VMWRFQzlFZ2RKbXdVTDVzbUVmQmgyNE5oSU80TjRmRG9JUC82WGUrZ2cyN2FDRGUyazAxdSszNjRlZzN3a3ZRUWJRUVlmdWdud3c5L1NhLzlMMXZTYjIwbTkwbi8vcC90SjB2K25RVGE3YVRXMy9wUC82WGZlazN1azN0cGZYNy9kTnEzV2wrMmtHNzlMMi85TC85TDF2U2I3U2IvLy90SzFWNnRKVXZTMG5SaGQwdmYvUy8vQ1hjd3N3bnBQdWsrNlgvLy90cE9scGZ1Z20rL3IyLzlMLzlMbUZYMzZiK20vMy85dW51dEp2NjhkYlMvWDI4Y1YvL1MrNjl2Vy9XL1gvL1hSaGR2MHRmSVpBYVE1QThVZnA5L3IvNi8vUVh1djMwL3EvNGpqNy8ycmFUZENsNFdIcEVINXRiNlVlL1VmL1MrNjl2WCt2Lys2dGYwblZMd3NPbEJNM2RQOWIvWC9wZTYrMzkvMy8vcTlQVGRXa2w0V0RXa2ViL3ZTWC9YLzB2dXZiMWZwWDByL2JyNzlYcXZJSGhZSVpkaFdIV0VFNlRhVC8va0YzeUM3Ly9wZTYrL1hyWC8vcnBhdHBXa3ZoTk1JSU1OVWtvL3ZTOXYvci8wdnV2djc2NzByL2VyM3B1blZMN1VFRUdIWHZwZWdxLy8vL1M5LzIvLy9waC8zdXQrazNTWDloQWd3MHRLdmZDUy8vci82WDJsN2VyNlN2cFEvOWVuVmp0S3ZYQ0NERFNTUzliaGdnWC8vLytsNy90LzZYNFNaMUJXKzNYL1Q2KytFRVFhQk1NTkwvcDRoLzY2OGY2QyswdmYvUy9DVElnR3ordXQwMWFTWDAwRUZoZzB0Vis0UCtPUC8wL2YrLzhKZm1JWVA5NnVuMjNTUzlwb0lMRERTNnJTZWVDQi8vL3hmNlh0LzVaSDhFdy83M1hYdlM4UkNDd1lhWDZYZURmLzg4R1grSDdmN2Yrd1g3aGgvNjlYVnNWWGdnaEREclgwdmIvbmdmUEEvLzU3ZjYrMy9qKzJRMmhINzE3KzYrRUVHR2wwbDc3ZisrLy83ZnQxN2YvKzJRVjlmN1cxOVBTOElFR0hYNlMzdjliNy8vdC9yLy85YmtGTkg3MDlOcWphYlNYd2cydi9UOTMvLy8rMzdkZTMzWGYyRy83LzZTOUw0UWVyMVNRdmYxLzdJTjZ2L2IvWDIvLzlzUCs2NlY5TjlmYTc5VisvWCs5LyszN2RlM3Y3KzIvL1h2cmV2d3d2NnBYLytPT1F6Si8rMyt2dCtsNlcvL2UydWtrK2w0WU1JSjdmVkd3ei92WDdELyszN2RmOS9mMi83cGRYcE42WGhoaEFyZlJkVXFmMzYvLy9iL1gyOS8vYi83L2Y3NjhNTWhxaVlJSnJiUzBFdC9mKy8vN2Z0MTdmcGIxdC83cGFXcVQ2K0dIaEJDMjJscFUvdnBmZi83ZjYrMzM5ci82WDMzU1Y2UkJSSGhoNFFWc1V4Q0oydDlYcmtHNzdmLzdlUVVQdDE3ZTliMXRrQzhWL2V4djc2VmVEQjRRVGhoTUphOVcrdi8vOXZYLzc3UzdTMi83M1NyMG05TDhNTVFnbXhHbGY3MHRkdi85ditLOTl2Mzl2UzNYOWlrcjYvSUhoWUlORUJoaEJFRlM3UzcwbTlMOXYvOXY5L2IzUzIwdi91bUtyVjlmd21DaGhnZ1NiYVZQMDNoTHJ2Lzl2K3ZZN1M3UzI5TDEzNmIwdjdVTU1JTFlZU1c5V0dRTHZwZnQvL3NQUzMvYlMyMHR1NjdTOTByMGwvb01NSUpOdEw4Sk1NSllTMXd3Ly8yLy8zWWFXMmx0Mmx0aFdxcFgwdjF3MmdzTU1FbGJ3U1lNRWxJT2ZXMkd0M2ZiYXJiWHVHd2dyWWFDdTdDVnNHRXYwcjZDKzZRUEMyRENTcG9RZ3hvUWtOV0RDcXE2dHhycHB1d1lTVU1NRWxiZ3drbkZlNnRwb2YxaDRUUVloRURHcEJpc0lJTUlJSWcxQ2hCZ1FHSVJEUUlJSUlJWUVaQnVJREJoU0M5VFJEakNEMU94Q0lab2hpRVF6UkRCeENJTll3Tk5OVUNUQmtNc1F2dFVIaE5CaGVpWEJWQ2xXR3J3WkNBWC83ci80WVdHRnVHRmhoZjEvNDRpSU1FSWlET29aSWFEVUdRRVFpSXVJaHdZSVNDbUdJZ3dRaGd2eEVSOUlSSEVSSUhncndJaUkxMWhHZ0d3Q3pyb08rcUNCK2xvUDlKR0NOUUd3R1hwRUNZR1lQU0NCa3VCc0J0OVEwcUJyMG9vU0djaUhqUU1KSFFEeDZJR29idjhJUngvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy95QjQ5UElaSXNFRHdaSUlIZ3h4QThySUhncVdRVnJJRXNNMnlHblpEVXZ5R1FvSU04eUI0S25oU0IvTWdlRFpNaHRUQ1d3OGdlQ1RJYW1CSUZJSGcySVVnekVFRmVDR1hBS0MxdDdyWHJwcCt2OVdwQSs0Z2VDcnlNSElIdmsweUJmaUNwMWI3cWw2US8rdmYydnIvLy9vNHRlbDAxNUF6Qm1qLzZ0Zjlwcnd2L3EvNjRqNFgvMHJTLy9yL3ZmOWYvLzByWC8vLyttLy8vLzlkZi8vLzZiLy8vLzFkTC8vLytyZ2lHcFRJdmtHMlpEUy9JYVg1RFVwa3BrTk9DR1hHUWY4aG1PUitRVHlHbkJLWkRYb1EwNEk1a05xaEp5R1ZCTGlCYytRYW5JWjRJWjRJU0NPQ09DRGE1QlV3Z3Z4QmVDSkJGY2l1UXo4UXhmL3E0Z2c4RURCQXdnZUNCNElQQ0Jnb0xya0MvQkJoQmdvUU1FREJRZ1lJR0ZCUW9JMWdva016Z1dPTWc5VmtLR1F3ZFk0NC8vcXducGhRaGhIRERSMUJRYkpubnBrRkNDR2RHbGtNNkVHZ3lEY2hNSTRRWkJ1aE5ESUVJVkd4MGFnZVFxQVpvR0FRTUVvTUp1Q0RCQmhMLzZ1bnBoSENoR3h3Z2cyRkNDWTlQOUF2Q3A2YUNEZWd3amcxcUVnMEY5cHBoYkNCMG1nMU1CaGYvVm8ySzlHeVlRUWNJSUhTY0tyV2paTWdZOGdvL1FXUVVlamhzSTRiSUdQUnNtazJRTCtqWk5BZzVCUi9UaFNCSGtNZTlQYnRwUFgvK3IwSDBFRzBnNlRwWEx4NE10UEVKM2ZTMklKaUU3RUowbTNRSU5oSU82cFB1LzYwMzlhWC9wWHZFSnRMU0RwTmo4K0dXbi9TNmFlblZ1S0RwY1M1cFhJRis5dEp1MWRKMXBMLzZlbTZldGY5SjZiL1FYVFRkTnBQVGE5UC8vNjFhWFdsLzYzL3E2V2wvMS9wZFYxOS9YUS8vZGZ0MDM5VnY5TmowMy83ZXZ2K2w3dnVrOU5yOWorNnVqQ2FUcGFRcXZaQnA0Z1EvcS82UXBhLy8vaEwvLy9TNnYvcS83U3ZTcmNJTlA2dDkvLy8vOUJmLzk3LzMrMnZUZE4wNlNTV3cwRFM4UklIZ3JVOWYvLy8wdi8xLy9aUURYLzNYVmo5SUlMRERRYStReUFhdFAxNU9KK3YrTC8vMzlmbW9NejkxZGZUZGJlZ3BzZzB2SVpBWmxEZC84ZmYvMy8vLy9zSCs2NnRwUHFrdzhKSkJpdkNQai8vS2dERjB2K2VULy8vLzIvK25yM2ZTYjBrZ2E4SUYvL1BCdDdTLzl2Ly8rdndiL2JXMWJxN1NTZnFnMTZYMS83ZGYrMy8vLy9odi9yOWI5Sy93d3ZTLy85aGhMLzIvLy8vOGcyRWZ0K2wwcmRmcTBQLzkzK0dJWC90Ly8zOVg1QlVuL3BON2VqRzlVdng5TDB2L0Jndi9iLy82MS9ELzM5YXBOdlNYLy83djN5NGJmL2IvL2Y2L0laa1ArNldyMHQycVgvLzFkNzRTLzl2Ly9YMi8vMTkrMVNmMGlHSC8vWFgxdlMvOXYvKzYwdi8vYldLNlN0dXYvLyttMjE5Zi9iLy9mMXRmcnRldGpwdlZKZi9zTHBkcTNyLzdmLzlwWFRhLytzYldrMnhTWC85b3d0b0p0dEdGaGtIZlQvOXYvOXVyUVRhOXBXU0hiUmZ0YlMrbFgvdGhCY05KaGtPT3d3bHNNSmNxd3l2K3cvLzIwckNVTUkydjlwd3dsOWFUYlMvL3hYRENDYkNzUXJZMWhyYTZzR3RycmJhVU5CTVF0YlNZcGl0L1Z2U0JmL2FrNFp6Q0ZNYlVrQnNSRFBVMlFZcmxBT2F3enlCRmJrSHJJUFdhdVVBNXJDRkFiR2xFSU5aQWhQRENDcHFVQm1wMmdTZzlELzloZE5OQnJEQzIvL1lYWCt4Q25rbUY4VTAxdlhUdGYvaG9hQmhBd1FhRU1FSU9Jaml5T0dRQ3dDd3dnWVdJTUVHZ3doL0VjY2ZvUkVSRUkyQ1BFY1J4RVJFYS93Z2cvLy9oSi82LzBuL1gvSUhpaVgvLy9wZGZUK24vK3RwZVBYOWZoZlgxYlN5QjQ5Tkt2cHRMNy8xSUhnMXdFWUExQ3hkS3ZTRWR0Skx5Qm1EVS8ybC9ZUzJ3a2w4ZUdHRUVRUERYY0pCQmhCcFlZaE1RZ1FNZ1VWd3NHYUFlQ3NGN1dJaUkvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vd0FRQVFBNEFBQUVEQUFFQUFBRE9Cd0FBQVFFREFBRUFBQUIzQWdBQUFnRURBQUVBQUFBQkFBQUFBd0VEQUFFQUFBQUVBQUFBQmdFREFBRUFBQUFCQUFBQUVRRUVBQUVBQUFBSUFBQUFFZ0VEQUFFQUFBQUJBQUFBRlFFREFBRUFBQUFCQUFBQUZnRURBQUVBQUFCM0FnQUFGd0VFQUFFQUFBQm9Ed0FBR2dFRkFBRUFBQUFlRUFBQUd3RUZBQUVBQUFBbUVBQUFIQUVEQUFFQUFBQUJBQUFBS0FFREFBRUFBQUFDQUFBQUFBQUFBQUFBd0JJQUFBUUFBQURBRWdBQUJBQT0AQcDmEwuAMFNVa3FBRUFSQUFBbW9DcS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLytReVhlNURKRFZjaG5jZ3RoTXlCNE5Ga1RNZ2VKQkE4RktFMDZ5QjlhZDVEYnhJZ1NjQ3BOa0ZZZFNHblFnck9RYktFTnFoQTNnaG1XUXoyUVZSeUJ4WkRNb1FiSjRYVWcwWVFsNElIaEJoVW00T2dnd29JR0NCaFl3UVpCdUpnZ1lJSGhmMUNKd2F6amFTZEpOcHFFR0ZRYVlXZ1N3bWc5ZDZ5R2FuUVFiMTBtK2dqeE1LRUdFR2xoQXRIaGhoSHlmLzRRYVZwSXczclpCcGVsUVFiQ3BwK0VGU0NEYUNEZS9YU09Nd2JTZlNEcEpOMzFUWUtxTXlyYUMwblFUZlQvcFlhVzBndjA2ZEtrNEl6OCtLNFFiOUJVazJrLyt1Z3Q5K25wYlRYVnRCY0lOd25XWUFuVE5nMzc3ZjErdjFhUytrM2RWWEM2ZW0wWVhTcWtyU3Y5OVV2WC9TOE42cTNDNmRKLzB0TGZmL3I5L1M2cEpzTjBSQjZySDIvUzlKTFhYL3Iwdi8vV3d4UmZxdDZYdlhwYVgxZnY5ZitscWxUaGpyZit0ZlMvLy8vLy82cGJkZjkxMHZyUzlYK3RkZjlMU1dzS1ExTHBmci85ZnV2L2YvSCsxcmNJekgrdjhhUzlMUzE3L3lHd1U5NlMwa2xzRWYyT3ZlUHBmajNYK0kvMnYwbDRTdnIvUy9TU3RmMy85Sndrd3FldlhmOUwrbTYvcnZkTGloVzZ2cGZwTDhqbWt0cGY1QThXeUV1KzZTaGUxNi9yU1hnZ2Vrd3dnci9YdmJYcjJFMzEvU1NYZ21wSFBZYVd2KzN0cEpORUd0L0gxLzB2aUhoQnBNVTMvU3lHb1loYVpDZy92LzBnU1M3b0lOV3RmOWlmRFZDU0M2VC9YK1FhOVBueDFUcGgzLzB5RUFrcHIzQmEvcFFhWEJCdlRVTU50ZjlocEk0bUQrUFg5SnBkQnZSd25WMkYvMkhoQk9ReGhGajlmMW1CaC9UeEJCMGdqaURZWVJ4TDF3YlNJUDZUZGovWDlRZ2JTeGRKdFFnZzJ4WC9rTlZQaEE2dC8xL1NGL3VucElOd3ZlbERNYlNDT0cxYi9JTTR2WDZUYVc5T3FRT0d2b2d6Q21ENlRhVC81QlNFTCtrNlg3YVNUYlNYK0cwa20rLzlmK3IvcjBuREJmKy9UcE4vOVYxcGFXUmp2NlZOai8ra3Q3ZGVRUEJlOWYwblFqOTlYUzhnZVdFSmUvNnQvNjFmcGYrbHY4S3YwcWI3Uy9GWDlMWDlhNngxL1gyLyt2MHYvcFhYLzB2MjB2MTEwdDY5ZnI2SVpjZi92djlkYVZFTlh0K3ZYLzlMN2JTNi85U0dvLy9TOUphLzEvc1ZhNnQrbGRaQXU2VjZYMS8rbDl0ZjExMDY5Ly9wWkE5Ulg2L1QvNUJXaGRkSzYzcDBrclNTd25yOUpPdHNQOGh0ZVFMTXB2MHRMdEwxZlM3LzE3N1liMXFtdldrM1g3YVhhU1d2L1NYVGNIcjBuVGE2SUdCRFhiU3ZTZWt1K3IwdHRKaGhGSUJPL1hYUzF0THRKMHUxQ1hyb1BTU2RXd2ozZi9wdEpOYlFTYmFUYVNUYVFRWFh3OEpiRENDaUUxMTE3RFNJWnNCQmx1c01KRU5TQWc0WVFURENTc01JSUlMZXRrTlFna21LRFFZVnIwMHJGUkdyRUtKckRPS1lxbUtDQzJGcURFVmd3bUVHbm9kcW12aGJDWVNoaEFnc1JFaHBocENEQkJyMGhVTUlSQmhDR0NEQ0VNS0N5R1NjQ0l0cGRDSWlJLzZTKzlWWDJ1dnZTWDlxbFh2V3VyYVNWWXRwVU85SmRxd3R0SWR0TGJTMm1GaVAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLytRRXdhdGU4Z2FBcHdRUEFycUlaSU50WkExRFUxSUhncGFFRHdaQ0NDM3dRUEE0anlDMkRKTWdwSXlHMEJrRmRRUVVDWkRVS1NCQXVRMUNaQXVESVlCa0Z3WkRBTWd1RElZRElNQXlHcHFRMTlDR05DR1luSU5ZTWcxRFJCVUJrR3NiQkVZRGNoZ1FRd3dRWUxsT0dDSUJjMUE1R0F4SUVWRU5ua01xWkJpaEJwNGhvSzVPQjRLSkJiQlUxSWJZeE9EQkVhRE9SY0dwWUlILy82M2hBNE1JSEJoQnhYLytRWERVSnJ3c0lNSVBEWVJvQ01NR0hEaEdnT0dHQ0RCQmdnWVFZTERCQnVFSERDQ013NFlZWVJtSFlZYVBCQTNEQkJoTUVHRXdTWVlWOTExMkVHcEJYb1FpQWdRTkVERkNENkVHczVCNkVEQnlDVUNCQTVBeFFobVVJWnRDR2JRaG1VUjhHZzBCU29uRE1aQnJ3SUVEWkJxT1FpQWdRTU1nMW5JUWdJSU5aQnZRZzBZRE5BelFnWUxJS01kSEFiMHA4QzY5TUlvQ0IzUWRCQjZJYUVNSWhzdGhFTTlvSUdtbW1tbXFhdXJwQk5zSUcwRTJ3Z2JTRHpBT1pnOXFucDl5R1VkSU4xQlY4NE5vekJoN2hzSkIzQnZmZEJQLzZXNnR1a0dIaHRJTVBEYVQvN3Y2YVFidzJsU1Q4SU5oQWdiVDNRVDdmK0VuLzlMdnZTYjJ3azN2WFgvZGZ1ay9wZWtIU2IrMHZEZitrLy9wZXZwUDlQNlQ5UC91dmFWcGYvYUNEYWU2WHQvNlgvNFFYOTZUZTJrM3QvLzdwZDA5T2xwZlRwTi9yN2YvWC82WGF6Q2VrMzZUZnBmLzMrcmF0MXBlcjAzTUw5VnYvci8rbHpDemE3ZXQ3cmUvLys2MnZhVHJwZU9rNjM2WDMvcGYvcGZhWHQ5UDlQLy8vZFBlOVhYL3BYVCt2dDQ0Ly82WHYvZXQrdCt1T1AvekNwTnBOcENsNURJQm9jZ2VEajlPdC9RLzZRLytsOTE3Ky83L2orNld0K3JwSmVGaDZSREgzVDlMdCt2L3BlNiszcGZwZi85L3Z0MWVsNFdEckNETnpyZXYvMS82WDNYdC9mOTlmN3EybDFwT2xYaFlhcEJIMi8vcXYvLzlMM1gyL2ZwWDF2KzYrMWJTdEpmQ3c2MEU2dDAvcitRSWZJRU92L29MN3I3MTlmNi8vNmZiMzB2SU05a00yd1FRWWFTUVNmMXZTOXYvLy9TOTE5dnIrdlcvM1MxL1NiU1M5Qm9NSUlNTkxxSzZmU3IvK3YvUysvMysrdStyL3Z2dW0wdWt2Vk1JRUdHdXZyZUVGLy8vL3BlNlh0KytrcjZURC9lbnAxNmJYKzhJSU1PdEw2ZkJCTCt1cS8rbDkvdDYrdjZVSC9hNit4MmtsL2hCQmcwa2w5ZUlMLy8vL1MvUysvOUw4Sk1wd1pmLzAzdFBTWDFoQkVHc1hERFM2cjdsUUdYL1hYai9TOXY5di9TL0JCU29EYis2V3ZWV3FYdTBFRmd3MEZyNlR3ZjhjZi9wL3BlLytFdnphTUgvZTM2dHVsWDFnZ3NNTkxyKzU4SUgvLy9GKzMrMy9rOVA0SU1QOTY2Yjl1bDlvTUlJTEREUytrcWZJUFQvK2ZCby9mNlh0LzhMOW9OLzY2OU54cGVJaEJDR0dscXV0N2Y4K0dNK0dQL3o2ZnYvZit3WDdZTi8zOVdxYlNYaEFndzYvNmZiL3crSC8vYis2OXYvSDlzZ3lEUDNTYlYvMHZDQ0RCcGRhUyszOWYvLzdmdXZ0Ly83a0RqVCsvL1RhL0NDRGFYcGZlLy8vLyt3L3V2ZnV1NjdCLzNycTZSdmVsOElQLzBrL2Q2NzczLzRiOTE5di8vYkRmK3VycWw2WHdnZW0vV0wzZi85eUJoUC83ZjNYM3Y3KzIvN2YxKzNwZkRDL3Frdi9YLzMvN2Z1dnQrdis3LzlOcTNTWDE4TUw3MVYvZjQ0NUJxcC83ZjNYdC9YcGR2L2EvNlRldmhoZ2dtNzFXYkJ2LzErdy8vdCs2Ky9mMzdmKzlkYXEzcGVHR0VGdm91cVNYNzllLy83ZjMrM3Y3KzIvK3VyZlhwZUdHRUUzYmZwZC9mLy8vdC9wZmYxOWJmKzNUZGRKTjZYZ3daRFhGd2doZDBuQ1NUKytsOS8vdCszKzMydmEvK2wrdXEzL2hoNFFWdGhLSVJQTytyLzMvL2J5QmlQUzl2ZXQ2MnlHVTlmMnZ0NlQ2UkRLand3OElKdGlta2tuMWIwc2dYanYvOXY5djl2dEx1dHYrOTY2NnB2Uy9ERHdRTERDWUt2LzB2Mi8vMi80cjMyL2RkdjkxMVkyTmIwdnd3eENDYkVWNzZiMHV0di85djkvdmRMdEw3UzdwaXZTZnI4Z3oyUWE0RERDQ0lNc05wSlBxM3IvLy90NlhYdDkxdDF0LzY5YVY2L3BrTXp3d1lRU0RZYVhmVGVscnQvL3QvdjdHMmx0cGJlbHRwZTF2cFY5cUREQ0NWc0pLK2t3eUdhUHBmdC8vdC8xN3RwYmFXMzEyclZhVGVrdnJRWVlJSk5ocFZlRW13dUVGK3cvLzIvMzkyMHR0TDdTMjB0OUs5TCs4TU5CYkRDUytrd1lTVUphN2YvN0QxNi9iUzIwdHUwdURCZmFWOUpmMGc4RnNHRWx0UVNZWUxaQjBLRlRERFZOTlBUYlVGVGROTjJHRWsyR0VrMjRZU1RZcHF0SzAxQy9XSGhZWWhJTk5DRUdLQ0VKRFREQmdxYWFlbTJocDZhYmhoaEJKc0dFRW13MEdFazJ2MVlhY2Z2UWVFMEdFUXpLeUdjUUVFR0VFQ0lhaFFRSUJoaUNJTndaREFNZ3VEeUNnR3dZVWd3bmFJT0lJWVR1eENJTlFNTVVRYWdjT0lSRFVCaGhidUNUQmtNd0d2c0xEd2cwR0Y4aEFaUVVnUU5uREpNTXI5YjEvdUdGaGd0d3d0aE5WVmYrS1FpSU1FSWlEQkNJZ3luRElCUkVSR2hGd1lJU0JQcUlrTkdvZ3dYNGlJL1FpT0lpUVBCWmNSRVI5Y0l6QTJnYitxQ0IvV0VINjBnL3JRTmRKSkd4bE9NamdiUWFPcEFtZzJEMUNCaitvYVFnMWVnb29nYWhwYVhqUU1LYWdQQmpSQTFEYnY0UTFzSWNmLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vSUZtcEEwQWt2VWhraGxRUVBBcmdJTWdlRnNnZUJ4QkFrZ2dUQTBySWE5a05lL0laQUpCQTh2SUhnVCtGSUhqbVFQQlM4Z3llRXRoNUE5SElhMkJJZ2ZrRUR3VWlGSUh4QkE4RlVnaHRrSmJlSHRML0lFbGtNdS9TMjkxVWdlTDVBOENmMFlPUVBITk5NaGxlUVpQLys2ZDBnNGROTjNyZnBWOUlmL1h2MDB2WC95Qm9Hb1AvODRuK2w3K3YvcTYvN1ZlQy8vVjE2N0NEWGhmL1YxL3hILy82dGYvMy85SjY5Zi8vOXRmLy8vMHYvLy8vMi8vLy85TFgvLy8vYnIvLy85TFFJZzJVeUU4Z3FUSWEwOGhxenlEWlRJc3lHdTVCb2Z5RFU1RjhoaVpEVmdpekliWnlHczVFbVFWcUVWeUdhNUY0aGxueUdsQkRaQkE4RzF5REpoQThOUUMvOVcyQ0JCNElHQ0JoQThFRHdRUENCZ3BESzdJTHp3VUlHRUdDaEF3UU1GQ0JoQTFCUW9JMWhsUVVGSWFFNUYwSU9uVWdtcEJjNUJqeURGWkUwLy9yRUlQQ1lRWVF3bk5RR0hwa01zNUJ1ZlhJRnpoTk1obG5UQ0RJR0RoTUlaRFlkUXVTc2d3Y2c1Lzc3Ly8vVnRQUVlVSTJPRWVHd29SNGlJRFJUQ2hkQXNLbW1GVENQallWQmhIQllWVWNGaERCUVVnWG9RSTRoc29wQmpnMmpZRnpRQ0R3TnpZTHIvNnNJNEwwd2p3c0lJSFFRYkJVRUdzSi9vTDAwOEpvSU1QVFFRYTFRUWNGOXFtdWc2VHRWLytrOUJ2UndkQkJvSkIwbTlKOUhCc2hsK1FNZm9MSVpmbzRWSENaREw5SEJ0Qk5rQy9vNE5oQkJ5QmoxVU9rUTJlUVkrNmJ2YlYvUy8vYnA5QWcyZ2c2VHBXUUw4azFFSjNmUzJJUVloT3hDZEozUUlHMG5kRzNybUk4RFRkL1dtNjBxUy85THA0cDEwblNmVm5nelFnLzZYQ1lUd2c2dHhUcGNRblZ4LzZlOTBtNjYvL2I3cHRMM1crcnEvMEYwMDNWMDNUYTlOZisydXRXbHJwZitsNzA5T2wvNzcvaEwvM1hwNjZmLytyMWJTNjEvL2JIcTEvU2ZYci9TNnA2OXV0ZkhIOTkwNmVtOFVrdHNocFlRMlA2WDcrdi8rLzZYdjdwZTJ2Vi8ybHpIN1MxUy9DQncvMi8waHI3Ly85QmYvNy9YMy85K2sycjFTVzJnMHZTLy8xLy8vQ1gvL2UvOEgrMmxwWHZWcWtsdG9OTHhFZ2VCT1J2ci85Zit2LzYvL3NoaHAvOTkxaXVsQkFzR0RSd3cxOGhrQXJWK3Z4OS8vRi8vNyt2eW5CbyszV2xkTk42UU1QQkFrZ3dZUzhFVHYvOWVsLzMvLy8vc1AvVzk5OUpKaDZTUVlyd2pNWC84cEF5N2YvenlmLy8vK3cvL2RMU3QrbTlLZzE2QmYvejRLKzB2L2IvLy8vdzMrM1gzdmFwZnBBMTZYMS83YVgvdC8vLzErRGYrdHE5SnZTdnBZWVhwZi8rd3dndi9iLy8vL3diL2JwNnRidlN2Mmg5TCs3L1lyLzIvLzcvdnlDdVIvci9veHZTUy9ILzEvOE1MLzIvLyt0TDhIL2VyU2VsMzYvOUw2L3ZCZ3YvYi8vZi84UC9hL2FwTjJrbC8vKzIycjZNQXJmOXYvLytuOGcxTy8vVHBQU1RiNi8vK2wvNFMvOXYvKzB0Yi8vVnRiN1ZLNzBpQzhmL3IxZHJlbC83Zi8vOWYvNjlSL3ZwSmYvL3EyKzNwZiszLyszV3RyOWVyN1QwazIzMS8vWVhTN1gxLzl2Ly9TdEp0ZisxajQwcmlrcS8vUmhiUVREYlJoV3lCQStuLzdmLzdmYUN0ZTBydEcxcW5TYmRmLzIwdUdrM1lTNFlYdi8yLy8yMG9hVFlSdGY3SnV3d2d0M3BYcEpmL3NJTGd3Z21HUXNNTUlMWVlYbElHWi8ySC8rMmxEQkJNTUpmRFNqaXV2U3QwbC85aXJNUEZNVXhWc1VuRFR0UFRZYWFZVHRPMkdFb3BpRm9NMFdFbXFUZW5WdWtQLzZqbUVuYWtnQzZJYUU3RElNREpJREJUaG9rTkNkeUM2Y2d1bkxHU0dDRVlISkFOeENoTUxJYUJFUXFha01HbjBDVEI2Lyt3dElNSU5CcllMZi8yRi8rd3A1SU5lZ21tRnROUFcvLzRORFFNSU1FRFFnd2hCc1JIRU1qaGtoQXNHRURDeEJoQm9HRVA0alE0L2lJaUloSEFUaU9JNGlJaVAvaEJBMy9YK0VnLy8vcGY5ZjZUL3IvWkE4T0xmLy8rbDE2VDEvLy9hNi9TK2s5YWovL2E1QXJxMHE5SnRMLy93WVlRTGR0S3ZTRWNkVjhnYUlkZHRLdlRTMjBrdmoyR0VrdnJZWUlJZ2VDc09FZ2d5QjZzSU90aUZGRUZzR1JQRTZBWmdzTERDWVhzRmtEWURTY1JFY2YvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy80QUlBSUFBRGdBQUFRTUFBUUFBQUlFSUFBQUJBUU1BQVFBQUFJc0NBQUFDQVFNQUFRQUFBQUVBQUFBREFRTUFBUUFBQUFRQUFBQUdBUU1BQVFBQUFBRUFBQUFSQVFRQUFRQUFBQWdBQUFBU0FRTUFBUUFBQUFFQUFBQVZBUU1BQVFBQUFBRUFBQUFXQVFNQUFRQUFBSXNDQUFBWEFRUUFBUUFBQURjUkFBQWFBUVVBQVFBQUFPNFJBQUFiQVFVQUFRQUFBUFlSQUFBY0FRTUFBUUFBQUFFQUFBQW9BUU1BQVFBQUFBSUFBQUFBQUFBQUFBREFFZ0FBQkFBQUFNQVNBQUFFQUE9PQBB0JYUC+g0U1VrcUFCQVRBQUFtb0RnZi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8rUXlReTdJR3dHWFBJWklMTGtOQS9rRHdWcklXM0lIZ3ZCQThGcUUwMHNnZUM5cHA1QldoSUZTdklIaHBPUVBEVG9RSzNJTFliMDFUVElOT0VMbUNKd3lwQlk4RlZzZ3kya1ExNkJTQ29jRURCU0RRQkVGZkNCY1dJTkp3UWVGL3FEQ0RTQ0QwbTRlQ0JoU0RaV0VHRndUd1FNSVBDMVZLUWE2a2VNUFRwSnU4SU1LRUdtdUVDd2cwZklQM2RjSUdnZzJrRTlKdWtrZUd3cURRYVdFQ3dqNDJFRUcvL3dpUmhwTjZPTjBsWkRTZXRCQnNGVFh3Z3FRUU5vSnYvOUhuSmV0cElKMTIwMVNTYkNwbzBKcm9MUVRkUC8rRUZoNmIxZWttMDYwbXdScDVtTndRYjhKVXJhdC8vMXV1a2srbGFla2xoQmFCQTZRZFpzQ3NLY0F3cWRLL3F1a3YzL3BYdXZiZ3VtNFRhTUxwVXEzVDd1OUtsdFZhUzYxYmZwY0xwNi9wS3FwMXZyMS8xL3FsY05wSksyd3ZmZEwwdGYzLy9YL1MrcXNHTWp2ckhwdXV2UzZYUy8vNi8vU1ZXdzBjNlgvcTYrbHIvZi8vL3BmWGhqMWIvOUwwdXYzK212WC85SkpMeUd0aVg5UFgrdXZyKy9WZVBwZjdZUjlmL1hHa3ZxcXV2LzFYK3Uwa2x3VWkzcEwvLzY2V3ZmK1FiaS91cVdrbFZoR2FZL1hqNlhwRDNYK0kvMzdwVnVDVC8zNlNYNlZwZjEvMGxwUWw2dlMvcXYwbGJyLzcyMHUwaDdoWCsvNlhrV2ZWcGZ2KzZwUlZiWHBMK2t2Z2dhcXcwci9JSGdtRUxkN2FXd2xkcS8vU1Nyd2c2cUdFdGZwVzlob0pLdTJ2Uy8wa3ZDYWtXaXNOTC9YZzhNVjVETnA0My85SUw0aDRRYVRFSnYvNHd3U1NrRVVmNlg2Z2tscmhCMCt2K3lYQm1wclcvLzBRMDZsNW1LMGsxRER2LzVKZ1VJSnJ2QmYrbEIxd2did25URGJYL1llanloMXNkTC90TGhQbzhUVzlmcWd3MGtteUMvRXUvLzBrY0dIOU54QkEya0VHd3dqYVg2aHZJWW1sZVA2WDZVRUcwdHAwbjBjYllZUytseUdxRVNDRFNkLy8raGJYRjRUYVFTQnVLLzhodEo4STh3MG0vOUw5SjY3M1ZJTnNMMytZYlNRUWJTdjhnZmxaQTRDZjZUYVc5ZEpCc05KZVFQeWpENlRlMy8vK2svKzJsVHRmK0cwbHRXLytrdjByUyt2U2NHQy85K25yLzErdXRjaWp2NlNUWTEvNlMzdDEvU1g2dkVmdXU2LzcvcTMrUVBEWmk3ZnBhLzByL1JBOFBoQzU2Vk43YS9pbCtscit0ZFkvK3Z0MS8vcGYra3JyLzZYOS82V3VsdlgvMS8vKzJrOWYxcFVRMS8zMHZTNm9obXY2WDIydHIvNlJCc0gvLzlkVit2OXV2MG0vU0MxMTB2VmYvcGZzVi85YVRya0RFTGVsNlgvLzl0ZnBmcFhYMDYvcFpBOEhqL1NTNmQrc2d5M3V1bCszOUpXa2xoQi8vdXRzTi9CU0I0YjRsZGROcGVsZXI2WDFycEpYM0R0Y0tuL3BkYmFUcFZwSmFhMWYvVGNQK2swbTB0SXRYYVgxNnQwbCt2cEpPa3cwR1FnNzFyNytoMmwyazJsVnFFditIcGJhMkVlUnJuL1M5cGF0cEp0aEp1bGJTUVgvRDBrbTBtZFdtS3RmZEp0Sk5ZWVN1R0Vtd2tyYVFTLzRlRXR0Qk1RZzA5ZGUya1FhVWl5Z3dpR3VUazVwdEttR0VFRUZ0ZXhFSkppbWd3ditrbURCTFdLMklUQmdrckJna0NDMnF3WVdEQkJoQnAwaFNEV0dJWHd1RXhDb01RZ1FMRVJJYXVpUWhnZ3dyOFVnd2hFR0NFTUVHRUlZVUZrTWtNeU1nZUMvRU11K3F3WndNZ01vNEI0YXh3RGc4QjRheHdHMEx4RVcxU3hFUkVmZXRMOVV2MjZwTDlKZlZ2cEwyMGt2K3FTeGJTVWQxUzI2WVcya08ybHRwYjF0TllqLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vNUFXQnFyL0lHb05NRU1nazVESkJhR0VEWUdLeUI0RmxaQThDalFndGdZZ2hrSi9JR1lNVUlIQ0xJS2drQ0tzQzVRQ0hRTmNsb2FDV0JxbElHWVZBTUZXR0NvQmNxd1hLZ0NEb0RCVUJybW9GUTFCZzZnMUVRR21WWWFSRXdaQ3JEU0lvQ3FESUdLRURHaERDZ2huR0VNQXlCQ2NoZ3ZaRFJXUVVZUXphRU5FeUdsTWhzQmZCQXlDdU1XUllGWWpZYUJLY05QUUlpWUYvLzlyZUVISXVHMEhCaEE0ci8vSU1FWkJjT3VhQWVHbkNEQkErd2c0UHdnZi8vOTRRY01JT0dFSC8rdUUxdGV0TUlPeURJS0JGQVBJS0N3aHBpNURLRlFpZ0dFUXpDQ0dhUVF6Q0NHYVFRekNFYUJta2dGTm9rQmxzaHB6Q0p3Y01ocGFFUWdJbkJ3eUdsb1JBMGZEOGczSUlOUGtEQ0NEVE1nb1JrREU3UjhORHF2VENKQVFOUXpNRVlRSWhzb0daZ1EyYUJuczBCaUVhQVh0Tk5OTklKcDZiYVFJRzJhQXUwQ0J0bWdMc0lJUHROTzAxWWFJR0VVUU1JU253eTlkbzBBaDNnNkNENUJRRzVCUmJrRzlvSU8wMDAwMGdtbTBuYUNDRERjTmhCQmh1RzZEellZTkF4YXA5MW9OcE4xQlY4NEt3Z2d3MTIwRUh3YjM4SkIvL1MvdlNiMjBtOTBucmYrdlZ0SnRLa3ZRUWJRUWJ2Y0pOWWIvMEUvL3BkcmVrRzl0SU43YVQ3L3Y5NzAvcGZUb0lOKzJndmIvcEwvOUwrOUp2MG0vUy8vdExXbTFiUy85MG0xOUwyLzlKLy9TNzcwbjNTYjIrdi9mYi9TZXRMMG0wRTk3cjdmK2wvK2w2emE5WDNYNi8vM1hhdDAybHBmNlRhTnI5ZTMvMS8rbHphYzJ1M3BON3BONzEvL3JyVGFUMXBmVDAzMzZYdi9yLytsK3YzcS9xLy8vNzEzNjJ2WGpxNlQrdnQ0NHBmL3BlM1h0OVg5WDZ2LzlxMnUzVHBhL3BYMzlmZi8vNkMvWDI5WDlYL0VjZmY1dFYwbTZGTHlHUUNtNUE4TkQ5UHYwa08vcEQvNlh2WHY5LzMvLzE5MDJsYXBlRmc5U0dLRS90TC8vLy8wdnRmYjBuOUovLzdYU2ZiM3BMd3NPcUNlKzNxdmZyLzZYdlh0L2ZYZlgrOVAvcFdsWGhZYXBCR1p2MHZxdC9yLzB2dGZ2Ly8xdisxdmJTYlNkVjhGaDFvSnRiNzZYLy8vUzk2OXZWOVZmci9mMHY2YnBMeUI0ZXlEVllTRERTMHVuU2ZTL3lHZU1obmhmL1MrMTkrdnF2Vy8rdjl0ZEpMMEdFd2dndzlKSi8vUysvLy85TDNyMi92KytyL3RkSnRYU2JXdld3Z1FZYVdzZlRlbFcvL1gvcGZhKzMvcGZwTVA5NmIrcnJwTDdUQ0NEQnBhWHI0UVMvLy8vb0wrdnZWL1Y5S0gvZi9zVTJrditFRUdHbHBWN2VDQy8vMS85TDIvMi85TDlKbW9GbjdwYVRmNnBmNFFRWWFTWDZYRXdHbi8vNC8wdjB2Zi9TL0NDa0lDbi8vMG1tNlMvd1FSRFRLd1lhV2wvY2dRWm44TGhmL1gyLzIvOEpma0tkbElDdCsxZEp2YWJTcjZhQ0N3dzYrdEo0UCtPUC8wLzB2Yi95eHdRWDV0V0QvZXIvdjE5NkNDd3cwdGYrWmgzLy8vRiszL2YrMS9CTVArLy9iYlNTOWhCb0lMRERTNlZKSnZCaC8vek1HdjkvcGUzL3dYN1FiL2RMU2JTNDB2RVFnV0dEUy8vdzMvLy8zN2Y3LzhGKzJEZi92L2JWZUVFSVlhV3RlM2h2Nm1ZRVptQkgvNW52OWZiL3gvYklLWVQ5dGJYMDlMd2dndzB2MGt2Zi9mZi85djNyMi8vOXlDd24vNjZiU1YxOEVFRERycGYrLy8vLzl2N1g3N3J1dHNndEIvLy96YWRKZkNEYVg5Sk43M3IvMy83ZnZYdC8vOWgvMjB0TDBuZEw0UWVyMGxqN2ZyL3lHWlpCSS85djdYMy8vMjIvL2ZiMXZyNFFmZjZUMy8vM2kvL2I5Njl2ZjM5c1ArMnRycEpONlh3d1gvWC8vLy8vMi90ZmI5TDB0Ly9ycCt2WDRZWDNTU3Y3Nnh4c2hwSS85aCs5ZTMzOS9iLy85NnQ2WGhoaEJQZXFTTmdZKyt2NGYvMi92Ky8vOXYvYlNkTHBKdnJ3d1lRVnUzTHJYL2ZYdS8vdCs2WHZ2VzliYi8vZTJxWHBlR0dFRTNlbHFyZit2My8rMzkvdDlyMzcvN2RmKzNwZUdHUTJ5c0lKcDIwc0lLdjIrdi8vMi8wdmIrdlM3LzlkTDB2WHd3OEVDRzJ3azRTVyt2WDIvL3czN2Y3ZTM3KzNYcGUrMmtrM3BlR0hoQk9HS2lpZVUvdDlaRExqLy8yOGhtUjZYMzZYYVcyUXk0Kzl0TFM5VytpRFJIaGc4SUt3d21FcTNyZXZXMy8rMyszKzN0KzNXLy8vRy9YcGZndzhJSnNXQ3FuNmIwdGR2Lzl2WGl2ZmRML3ZyZFc2NDBtOWZ3d3hDQ2JGTDlYMHY3Ly9iNjM5dnV0dExiMTdxT3FXOUw4Z2VIc2hwMkdHQ0NJRzkycTMxRDB2Mi8vMi82OXZiUzIwdHZyMTNkSjlMOU1GRERDQ0NiYVZQcTNwZnQvL3QvdjhiYVhwYmV1M3RWMDMxK21FZ3d3Z1Z0cExlazNoTDl2Lzl2LzkyMHR1dnRMdEw2VzlKZnZEQmhCSzJFdDlKaGtNMk5MWGIvL2IxMnZlMHRocGJkMXRoYTNTZlgvd3d3Z3JZWVNTdkNURENXQ1g3RC8vYi8vZGhwYllTMjdDWGFUdGFWNlMvcEE2Q3d3d2wrQ1FZTUVsSUVCNld3MTcvYlZkcnR3MkV0aHBkMmxzTUpmN2VrRi93OExZTUlKTzBJVEl3WEVKRFREQnFtcWVtdzQwOU5kZ3dna3d3d2drMjRNSkpzMURUVzBrMm1oLzBIaFVHUXlRSUdDRG9NVUVFQ2tOQ2dNMWl5R3hRUVlWa01LTWdYVU1NSkFnYlFJaUF6ZzNacUpFR3BRd1lKRUdwUXc1MEpFTlJXeFhXQ3d5RFdvL2F3OEpvTVFnUU1oc0JnZ1FZU0JBdUdKSUF4cnJZWVVnUUl3VWhnUTRZaFlZaGJEUWhiWDRTWWV2c0pJUEJOQmd2a21Cd0NrYUJVNFpBZ3pmKy92N2hnc01MY0dGaGhVNzEvNDBJaURDRVJJTElnUkVnc0NCRWNSRWFFUTRNRUpBc1RpSU1FSU1FOVVJaVA1QmJCcThoa2hubVFXeS9FZ2VESU9RVXVJWkF1RUR3WnVJSGd6MEVSOUlSSEVXWmdTZ1ZmMEVEOUxRZjFRUVAwdEIvcEk1Zy9TcEJFUXVTZStpQnlBM0hxRURINlVNS0lOZlVVUU5nSlhmQ29HRk5ZSGhseGhBd3ZvZ2JBekIvaENPUC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLytRUEZySUdvRjhJSFlHM1BJWkliZGtNZzRDWkE4Q0lJWkFiMlFKN0lFME5iTWcyNTVESUF3NUE4UE1oa0x3cEE4SDhnZUJaTWdwekNDd3cvQ2tEeTBJSGdWaHFRUEZESUhnY2FFRlhSTGJ5QjRMMElOdkwva0ZpeURSbnBiZTZhWHJoTlAxNyswaUI0UE1oa0wwYktRUEIvdE1obFRJS2MvL1hmU0Q2N3ZXLzJsNlEvK3ZmcXZyLy8venlmNlc3WGtEVW8vOUxTLzYvQy8vVGErdUdnd3ZCZitsZXY4Ui8vK3JYLyt2L1YvMS8vL3ExLy8vL1YvLy8vOUswdi8vLzl2Ly8vL1MvLy8vL2JYLy8vOUxuQTJ5Y05LUWt5RExNZzIva0cyZVEyNlpFb1Eyb0lOVCtRMG5Ja3lERXlEYTVFb1FWemtOcUNFbVFaVGtSeURUQkY0aG1veUdxNUF3NUE4Rk55QnhmLzAzQkFnOEVESWJXb0lIZ2dlUTE5Y0lHRkJjZ3dmQlFnWVFNRkNCZ2dZS0NCaEExQ2hNRVU0WmtGQlNHd1FSS2lDNHl5RDFFR0VFTkhrRnhoRXFJYUJ2LzFjUWc4SmhCaERDRHdnOU1nMVVJR0thNEttbVFhS0poQXdWQmhESUdLS0U4ZzBVSUVVOVY3WC8vNnNKNkRDaFFqdzJFUkFGenhFR0d5Z3lCalFobzAwQ3lDZ01KcGtEQWFEQ1BqWkF2b2cxSWFORlI0V2lNQjVCTkNCaEJEUDVCUWpJRVV0SEFVRWdHQVgvNnVqWXIwd2p3c0k4TENDRFlTUVFmWDlCZW1FOVVFRzlNSThMMVFRY0w3VFRTWWFJR0RwTUlOVFlFTC82c0pBK2pnMmdnNFFRT2syRlNhd2p4UDlCZWp4dEhpZUVlSnBCaDZPRGFCQTE2UWNGOTZmcDk2U1MvOVhwdmhCMEVIUVFkSnZTZlFJTmtNMlpES25vTEladm9FSFFUWkRMbWdRYlNjaGx6UUlOaElPUXk1cXI1RFJNaG5uL2UybGRWWC8xZStrRzBuU2RMSVpYcXpNR2dVN3ZwY1V4Q2RpblNiZElPazdvMmVzaGwrN3VrNjAyay9wZityMDhRbldsZFc5WGhQK2x3bW5oT3R4Q2JTNGhQdi9mZjlhV3YvcFg5V2s2VDE5WFRmNlhUVGROMDNUcGRPdi8wNmFUYVQrbC8rMzN1bDFyZi8vb0wvOWZiWDYvOXRmMjByUzYvOUxGNjExNjlYci9TNnJyMjY2NkhIL3JUcDBueFNTMnlHcHhBdS83ZnQvNnYvditsN3Z1bDdhL2Y3N2MycTMzU1g0UWFmcGY5Q2wvLy80UVgvKy8vVi8ydlh1bHFxVzZEWDZiL1gvLy85TC8vL1MrSC8xcTJrMms5SkpiYUJwZUlndS8vL1gvcGYvOTcvc0grMnJkZkZXdElMRERRYStReVEzMS9YWC8vOVAvOWYvNXFEVS8xcmROUHBKYmFQRVF6WGtNZ0NzUjYvSDMvOGYvKy9yN0lnR243L1RxMWRKQmg0UVZCaXZCRkIvLy9TLzcvLy8vMkgvYVZyMTZxdzhKSkJyd2pRVC84Z1ladDYvNTlQLy8vL1lmNzcwM3R2U1Q2U1FOZWdYLzh6QlQybC83Zi8vOWZodis2L1NidGF2NkRYaEJmWC90cGYrMy8vLy9odi9YU3ZUZWtuNlVHRjZYLy90cGYrMy8vLy9nMys5TjcvNlY2dEQvL2Qvc01KZiszLy8vMzVCazAvdGRkSk50Vi9IMHYvL1loZiszLy9kYVg1QWtSKy8wM28zdnBMLy8wdjI4TUwvMi8vLy84SC90SzEwa203V3YvUy9kL3d6Q0JmKzMvKy8xKy83NzFlbHZTWC8vMWQvcEQvN2YvL1dyZmtHdVArMHRYMWI5SWdSSC8vcjYzaEwvMi8vN1hyL2YxKy9TcHR0SmYvOWVtNzMwdi9iLy9mMXYvN1Y2ZXIwcjlMLy9YU3R0YjEvOXYvL3JwdGZyKzFqWTBudFVxLysxOTdYMS85di8rMHJTMS85WHFxVnRpcVgvOWJRVnRvd3JaRFlQci83RC8vYjdTWWE5cFcyakN4dTZWNi8vdGhHL2FUZGhMYkM5LyszLys2Vm9LMS95S1BZUzNyU2JhUy8vaGhMaGhKaGtNT3d3bHcxNUFnYVArMy8vYVZwTU1FYy9hVmhPR0V1dWxmUy8vaUZvTUlKaGhXS3RoaEpZZDJ1ckJyYTkyMmxCZ2dtSzF0SmltSy9lcmFTQmYvYXNxSXBnd1ZxR3dZSkJBMkdDRGhoQThJRzJFREJBd1FPREJCdzJHbEZNTENLY0REQ1ZWQnUxaEpoNkgvN0NqbTBFeFFhblFNb1VRMkY3SUVGNTBEQkxob2tOZ2h5R0M1REJjRURuUUhJZ0VPZ0Z3WUlLRTFrTmdPVUdFMHdvT3RvS3c5Zi9hNkRRYURDMkN3Ly9zRi8reENuMGd3dmltZzF2WFcwLy9oaERRTUlNRURRZ3doRFlpT0xMaGtobEJZTUVEQ3hEQkJvTUVPK0k0NC9pSWtDVGhJTEdCSGdUaVF5UWFPeEhJSGgrRVJFYS94RkJFTTU4Zkgvc0lKLzYvd2svLy9wUCtsL2tEd0lLLy8vL1gvM3IrdXZTdGYvLy84ZXYwbnJDK3Y5cFpBOFd2U3IwZzJsLy83YVh0cGZxSlRnaTRHd0dlUDE2UWp0cEplUU5BYW5YdEwrMHRzSkplaFd3d2drbFgyR0Vna21nNnd4Q0JJZ1ppQ0NCK0RyRENoZkN5QnRET2RrY0RNTWNNTEVSRWYvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy80QUlBSUFBT0FBQUJBd0FCQUFBQVRBa0FBQUVCQXdBQkFBQUFjd0lBQUFJQkF3QUJBQUFBQVFBQUFBTUJBd0FCQUFBQUJBQUFBQVlCQXdBQkFBQUFBUUFBQUJFQkJBQUJBQUFBQ0FBQUFCSUJBd0FCQUFBQUFRQUFBQlVCQXdBQkFBQUFBUUFBQUJZQkF3QUJBQUFBY3dJQUFCY0JCQUFCQUFBQUJ4TUFBQm9CQlFBQkFBQUF2aE1BQUJzQkJRQUJBQUFBeGhNQUFCd0JBd0FCQUFBQUFRQUFBQ2dCQXdBQkFBQUFBZ0FBQUFBQUFBQUFBTUFTQUFBRUFBQUF3QklBQUFRQQBBwMsUCxNmb3BlblJlYWRGcm9tTWVtb3J5AEHgyxQLEmZvcGVuVGlmZk1lbXN0cmVhbQBBgMwUCxB0aWZmU2Vla0NhbGxiYWNrAEGgzBQLJnBpeFJlbmRlckJveEFyYgBwaXhDbGlwQm94VG9Gb3JlZ3JvdW5kAEHQzBQLFHBpeFNjYW5Gb3JGb3JlZ3JvdW5kAEHwzBQLE3BpeENsaXBUb0ZvcmVncm91bmQAQZTNFAuAAQEAAAADAAAABwAAAA8AAAAfAAAAPwAAAH8AAAD/AAAA/wEAAP8DAAD/BwAA/w8AAP8fAAD/PwAA/38AAP//AAD//wEA//8DAP//BwD//w8A//8fAP//PwD//38A////AP///wH///8D////B////w////8f////P////3//////AEGgzhQLFXBpeEFkZFNpbmdsZVRleHRibG9jawBBwM4UCxFibWZHZXRMaW5lU3RyaW5ncwBB4M4UCxBibWZHZXRXb3JkV2lkdGhzAEGAzxQLEWJtZkdldFN0cmluZ1dpZHRoAEGgzxQLMXNhcnJheUNyZWF0ZVdvcmRzRnJvbVN0cmluZwAAAAAAcGl4U2VlZGZpbGxCaW5hcnkAQeDPFAsRcGl4RXF1YWxXaXRoQWxwaGEAQYDQFAsScGl4Q29udmVydExvc3NsZXNzAEGg0BQLEHBpeFVzZXNDbWFwQ29sb3IAQcDQFAsQcGl4RXF1YWxXaXRoQ21hcABB4NAUCxFzZWVkZmlsbEJpbmFyeUxvdwBBgNEUCxBwaXhhQW55Q29sb3JtYXBzAEGg0RQLEnBpeGFHZXRCb3hHZW9tZXRyeQBBwNEUCyFmcmVhZEhlYWRlckpwMmsAcmVhZEhlYWRlck1lbUpwMmsAQfDRFAsRcmVhZEhlYWRlck1lbUpwZWcAQZDSFAsQcGl4YUdldERlcHRoSW5mbwBBsNIUCxdwaXhHZW5lcmF0ZUhhbGZ0b25lTWFzawBB0NIUCxZsX2dlbmVyYXRlQ0lEYXRhRm9yUGRmAEHw0hQLFmxfZ2VuZXJhdGVGbGF0ZURhdGFQZGYAQZDTFAsT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AAhfAAAIHwAACZ8AFAdjAAAIfwAACD8AAAnfABIHGwAACG8AAAgvAAAJvwAACA8AAAiPAAAITwAACf8AEAUBABcFAQETBREAGwUBEBEFBQAZBQEEFQVBAB0FAUAQBQMAGAUBAhQFIQAcBQEgEgUJABoFAQgWBYEAQAUAABAFAgAXBYEBEwUZABsFARgRBQcAGQUBBhUFYQAdBQFgEAUEABgFAQMUBTEAHAUBMBIFDQAaBQEMFgXBAEAFAADeEgSVAAAAAP///////////////wBBkMAVC9EDAgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzTAAAAAP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AEHwwxULGBEACgAREREAAAAABQAAAAAAAAkAAAAACwBBkMQVCyERAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAQcHEFQsBCwBBysQVCxgRAAoKERERAAoAAAIACQsAAAAJAAsAAAsAQfvEFQsBDABBh8UVCxUMAAAAAAwAAAAACQwAAAAAAAwAAAwAQbXFFQsBDgBBwcUVCxUNAAAABA0AAAAACQ4AAAAAAA4AAA4AQe/FFQsBEABB+8UVCx4PAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAQbLGFQsOEgAAABISEgAAAAAAAAkAQePGFQsBCwBB78YVCxUKAAAAAAoAAAAACQsAAAAAAAsAAAsAQZ3HFQsBDABBqccVC34MAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUZUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wAQbDIFQuKDklsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAEHA2BUL/wECAAIAAgACAAIAAgACAAIAAgADIAIgAiACIAIgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAWAEwATABMAEwATABMAEwATABMAEwATABMAEwATABMAI2AjYCNgI2AjYCNgI2AjYCNgI2ATABMAEwATABMAEwATACNUI1QjVCNUI1QjVCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQTABMAEwATABMAEwAjWCNYI1gjWCNYI1gjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYEwATABMAEwAIAQcTgFQv5AwEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABhAAAAYgAAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAAAGkAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAAdAAAAHUAAAB2AAAAdwAAAHgAAAB5AAAAegAAAFsAAABcAAAAXQAAAF4AAABfAAAAYAAAAGEAAABiAAAAYwAAAGQAAABlAAAAZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAHAAAABxAAAAcgAAAHMAAAB0AAAAdQAAAHYAAAB3AAAAeAAAAHkAAAB6AAAAewAAAHwAAAB9AAAAfgAAAH8AQcTsFQv5AwEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAFsAAABcAAAAXQAAAF4AAABfAAAAYAAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAABaAAAAewAAAHwAAAB9AAAAfgAAAH8AQcD0FQtnCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QVMQ19DVFlQRQAAAABMQ19OVU1FUklDAABMQ19USU1FAAAAAABMQ19DT0xMQVRFAABMQ19NT05FVEFSWQBMQ19NRVNTQUdFUwBBsPUVC5cCAwAAAAQAAAAEAAAABgAAAIP5ogBETm4A/CkVANFXJwDdNPUAYtvAADyZlQBBkEMAY1H+ALveqwC3YcUAOm4kANJNQgBJBuAACeouAByS0QDrHf4AKbEcAOg+pwD1NYIARLsuAJzphAC0JnAAQX5fANaROQBTgzkAnPQ5AItfhAAo+b0A+B87AN7/lwAPmAUAES/vAApaiwBtH20Az342AAnLJwBGT7cAnmY/AC3qXwC6J3UA5evHAD178QD3OQcAklKKAPtr6gAfsV8ACF2NADADVgB7/EYA8KtrACC8zwA29JoA46kdAF5hkQAIG+YAhZllAKAUXwCNQGgAgNj/ACdzTQAGBjEAylYVAMmocwB74mAAa4zAAEHT9xULUED7Ifk/AAAAAC1EdD4AAACAmEb4PAAAAGBRzHg7AAAAgIMb8DkAAABAICV6OAAAAIAiguM2AAAAAB3zaTUvdG1wL3RtcGZpbGVfWFhYWFhYAEGw+BULgAFPu2EFZ6zdPxgtRFT7Iek/m/aB0gtz7z8YLURU+yH5P+JlLyJ/K3o8B1wUMyamgTy9y/B6iAdwPAdcFDMmppE8OGPtPtoPST9emHs/2g/JP2k3rDFoISIztA8UM2ghojMAAAAAAADgPwAAAAAAAOC/AAAAAAAA8D8AAAAAAAD4PwBBuPkVCwgG0M9D6/1MPgBBy/kVC6UDQAO44j8AAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAAwMTIzNDU2Nzg5YWJjZGVmQUJDREVGeFgrLXBQaUluTgBBgP0VC4EBJQAAAG0AAAAvAAAAJQAAAGQAAAAvAAAAJQAAAHkAAAAlAAAAWQAAAC0AAAAlAAAAbQAAAC0AAAAlAAAAZAAAACUAAABJAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAAIAAAACUAAABwAAAAAAAAACUAAABIAAAAOgAAACUAAABNAEGQ/hUL4xYlAAAASAAAADoAAAAlAAAATQAAADoAAAAlAAAAUwAAACUAAABIAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAADKoFAMXOBQBgfwUAAAAAAOSpBQD0zgUADKoFAGbpBQAggAUAAAAAAOSpBQBB4gUA5KkFAAPkBQAMqgUAVuYFAJh/BQAAAAAA5KkFAJ/mBQAMqgUA2OYFALB/BQAAAAAA5KkFACLnBQAMqgUAXOcFAMh/BQAAAAAADKoFAHLnBQDYfwUAAAAAAAyqBQCI5wUAgH8FAAAAAAAMqgUAo+gFALh/BQAAAAAA5KkFALjoBQDkqQUA2egFAOSpBQDv6AUADKoFAE/pBQDofwUAAAAAAOSpBQCD6QUADKoFABfrBQA4gAUAAAAAAOSpBQCk6QUADKoFAHLsBQBQgAUAAAAAAAyqBQCQ7AUAKIAFAAAAAADkqQUA0OwFAAyqBQBb7QUAgIAFAAAAAADkqQUAM+0FAAyqBQBj7QUAeIAFAAAAAADkqQUAMu4FAAyqBQB67gUAkIAFAAAAAADkqQUAl+4FAAyqBQBP7wUAqIAFAAAAAAAMqgUAUvAFAKiABQAAAAAADKoFAMfzBQDggAUAAAAAAOSpBQCy8wUADKoFAOf1BQDggAUAAAAAAAyqBQCi9AUACIEFAAAAAADkqQUAjPQFAAyqBQAs9gUA4IAFAAAAAAAMqgUAnPkFAOCABQAAAAAADKoFAAP4BQBAgQUAAAAAAAyqBQDt9wUA4IAFAAAAAAAMqgUAIfgFAECBBQAAAAAADKoFADf4BQDggAUAAAAAAAyqBQAd+QUAQIEFAAAAAAAMqgUANvkFAGCBBQAAAAAADKoFAAL6BQC4gQUAAAAAAAyqBQCu+QUAsIEFAAAAAADkqQUA7PkFAAyqBQAc+gUAoIEFAAAAAAAMqgUAMvoFALCBBQAAAAAADKoFAEf6BQC4gQUAAAAAAAyqBQDR+gUA+IEFAAAAAAAMqgUAZfoFAJCBBQAAAAAADKoFAHr6BQCwgQUAAAAAAAyqBQD3+gUACIIFAAAAAAAMqgUAvPsFALiBBQAAAAAA5KkFABD9BQDkqQUAKv0FAAyqBQCJCAYAWIIFAAAAAADkqQUAuwgGAAyqBQAuCwYAcIIFAAAAAADkqQUAdAsGAAyqBQBpGgYAiIIFAAAAAADkqQUAtxoGAAyqBQAYNgYAoIIFAAAAAADkqQUAUjYGAAyqBQAkTwYAuIIFAAAAAADkqQUAZE8GAAyqBQDHVQYA0IIFAAAAAADkqQUAEVYGAAyqBQBLVgYA6IIFAAAAAADkqQUAilYGAAyqBQAeZgYAsIEFAAAAAAAMqgUAG5AGALCBBQAAAAAADKoFAGSlBgAggwUAAAAAAOSpBQC8pQYADKoFAFWmBgA4gwUAAAAAAOSpBQCvpgYADKoFAGWwBgBQgwUAAAAAAOSpBQChsAYADKoFAFqyBgBogwUAAAAAAOSpBQCdsgYADKoFAMS0BgCAgwUAAAAAAOSpBQANtQYADKoFAJ+9BgCYgwUAAAAAAOSpBQDdvQYADKoFAJHRBgCwgwUAAAAAAOSpBQDb0QYADKoFAJbSBgDIgwUAAAAAAOSpBQDh0gYADKoFADEvBwDggwUAAAAAAOSpBQBuLwcADKoFAJQvBwD4gwUAAAAAAOSpBQDWLwcADKoFAAgwBwAQhAUAAAAAAOSpBQBGMAcADKoFAH8+BwBAggUAAAAAAAyqBQDnPwcAOIQFAAAAAADkqQUAUEAHAAyqBQBoQAcAOIQFAAAAAABsAAAAAAAAANCEBQC2AAAAtwAAAJT///+U////0IQFALgAAAC5AAAADKoFAIhBBwDAhAUAAAAAAAyqBQC3QQcA0IQFAAAAAAAMqgUAxR0IAKiEBQAAAAAA5KkFALMdCAAMqgUA7x0IAKiEBQAAAAAA5KkFABkeCADkqQUASh4IAHCqBQB7HggAAAAAAAEAAACYhAUAA/T//3CqBQCqHggAAAAAAAEAAACwhAUAA/T//3CqBQDZHggAAAAAAAEAAACYhAUAA/T//3CqBQAIHwgAAAAAAAEAAACwhAUAA/T//wyqBQA3HwgAyIQFAAAAAAAMqgUAUB8IAMCEBQAAAAAADKoFAGkfCADIhAUAAAAAAAyqBQCBHwgAwIQFAAAAAAAMqgUAmR8IAICFBQAAAAAADKoFAK0fCADQiQUAAAAAAAyqBQDDHwgAgIUFAAAAAABwqgUA3B8IAAAAAAACAAAAgIUFAAIAAADAhQUAAAAAAHCqBQAgIAgAAAAAAAEAAADYhQUAAAAAAOSpBQA2IAgAcKoFAE8gCAAAAAAAAgAAAICFBQACAAAAAIYFAAAAAABwqgUAkyAIAAAAAAABAAAA2IUFAAAAAABwqgUAtyAIAAAAAAACAAAAgIUFAAIAAAA4hgUAAAAAAHCqBQD7IAgAAAAAAAEAAABQhgUAAAAAAOSpBQARIQgAcKoFACohCAAAAAAAAgAAAICFBQACAAAAeIYFAAAAAABwqgUAbiEIAAAAAAABAAAAUIYFAAAAAABwqgUAxCIIAAAAAAADAAAAgIUFAAIAAAC4hgUAAgAAAMCGBQAACAAA5KkFACsjCADkqQUACSMIAHCqBQA+IwgAAAAAAAMAAACAhQUAAgAAALiGBQACAAAA8IYFAAAIAADkqQUAgyMIAHCqBQClIwgAAAAAAAIAAACAhQUAAgAAABiHBQAACAAA5KkFAOojCABwqgUA/yMIAAAAAAACAAAAgIUFAAIAAAAYhwUAAAgAAHCqBQBEJAgAAAAAAAIAAACAhQUAAgAAAGCHBQACAAAA5KkFAGAkCABwqgUAdSQIAAAAAAACAAAAgIUFAAIAAABghwUAAgAAAHCqBQCRJAgAAAAAAAIAAACAhQUAAgAAAGCHBQACAAAAcKoFAK0kCAAAAAAAAgAAAICFBQACAAAAYIcFAAIAAABwqgUA2CQIAAAAAAACAAAAgIUFAAIAAADohwUAAAAAAOSpBQAeJQgAcKoFAEIlCAAAAAAAAgAAAICFBQACAAAAEIgFAAAAAADkqQUAiCUIAHCqBQCnJQgAAAAAAAIAAACAhQUAAgAAADiIBQAAAAAA5KkFAO0lCABwqgUABiYIAAAAAAACAAAAgIUFAAIAAABgiAUAAAAAAOSpBQBMJggAcKoFAGUmCAAAAAAAAgAAAICFBQACAAAAiIgFAAIAAADkqQUAeiYIAHCqBQARJwgAAAAAAAIAAACAhQUAAgAAAIiIBQACAAAADKoFAJImCADAiAUAAAAAAHCqBQC1JggAAAAAAAIAAACAhQUAAgAAAOCIBQACAAAA5KkFANgmCAAMqgUA7yYIAMCIBQAAAAAAcKoFACYnCAAAAAAAAgAAAICFBQACAAAA4IgFAAIAAABwqgUASCcIAAAAAAACAAAAgIUFAAIAAADgiAUAAgAAAHCqBQBqJwgAAAAAAAIAAACAhQUAAgAAAOCIBQACAAAADKoFAI0nCACAhQUAAAAAAHCqBQCjJwgAAAAAAAIAAACAhQUAAgAAAIiJBQACAAAA5KkFALUnCABwqgUAyicIAAAAAAACAAAAgIUFAAIAAACIiQUAAgAAAAyqBQDcJwgAgIUFAAAAAAAMqgUA8ScIAICFBQAAAAAA5KkFAAYoCADkqQUAsCgIAAyqBQAQKQgA8IkFAAAAAAAMqgUAvSgIAACKBQAAAAAA5KkFAN4oCAAMqgUA6ygIAOCJBQAAAAAADKoFAPIpCADYiQUAAAAAAAyqBQACKggAGIoFAAAAAAAMqgUAISoIANiJBQAAAAAADKoFAFEqCADwiQUAAAAAAAyqBQAtKggASIoFAAAAAAAMqgUAcyoIAOCJBQBB/JQWC50DUH8FAAEAAAACAAAAAQAAAAAAAABgfwUAAQAAAAMAAAABAAAAAAAAAGh/BQAEAAAABQAAAAEAAAACAAAALzYHAPxnBgAt3gUACd4FAFiCBgD8ZwYAWIIGAC82BwD8ZwYAWIIGAFnZBQAvNgcA/GcGAC3eBQAJ3gUA/GcGAC3eBQBYggYAyF4GAC82BwAvNgcALzYHAPxnBgAt3gUACd4FAC82BwAvNgcALzYHABmCBgAvNgcALzYHAPxnBgAEAAAAiuEFALAHAAAAAAAAeH8FAAYAAAAHAAAAAQAAAAMAAAAvNgcAAAAAABCABQAIAAAACQAAAAIAAAABAAAAAAAAAOh/BQAKAAAACwAAAAMAAAABAAAAAAAAALh/BQAMAAAADQAAAAMAAAAAAAAAgH8FAA4AAAAPAAAALzYHAC82BwAAAAAAiH8FABAAAAARAAAABAAAAAAAAACYfwUAEAAAABIAAAABAAAAAAAAAKB/BQATAAAAFAAAAAUAAAAAAAAAsH8FABMAAAAVAAAAAQAAAAAAAAD4fwUAFgAAABcAQaGYFgvAGIAFABgAAAAZAAAABAAAAAYAAAAAAAAACIAFABoAAAAbAAAABQAAAAcAAAAvNgcAAAAAACiABQAcAAAAHQAAAB4AAAAfAAAAIAAAAAIAAAADAAAACAAAAAAAAAA4gAUAIQAAACIAAAAeAAAAHwAAACAAAAACAAAAAwAAAAgAAAAvNgcA/GcGAC82BwAAAAAAQIAFACMAAAAkAAAAJQAAAB8AAAAgAAAABAAAAAUAAAAJAAAABgAAAAYAAAAvNgcALzYHAAAAAABQgAUAHAAAACYAAAAlAAAAHwAAACAAAAAEAAAABQAAAAkAAAAGAAAABgAAAAAAAABggAUAJwAAACgAAAApAAAAAQAAAAoAAAAHAAAACAAAACoAAAAAAAAAyH8FACsAAAAsAAAAAAAAAGiABQAtAAAALgAAAAkAAAALAAAALzYHAAAAAAB4gAUALwAAADAAAAAJAAAADAAAAPAqCACI7QUAj+0FANczBwAGAAAAo+0FADCqAgADAAAApu0FAMCqAgADAAAAqe0FABCrAgADAAAArO0FAGCrAgAEAAAAr+0FALCrAgAAAAAAkIAFADEAAAAyAAAAAQAAAAIAAAABAAAAAQAAAAoAAAABAAAAAwAAAAEAAAACAAAALzYHAAAAAACYgAUAMQAAADMAAAAEAAAAAgAAAAEAAAALAAAADAAAAAEAAAAFAAAAAQAAAAIAAAAAAAAA2H8FADQAAAA1AAAAAAAAAKiABQA2AAAANwAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAIAAAABAAAAAAAAALCABQA4AAAAOQAAAAIAAAABAAAAAQAAAAEAAAACAAAAAQAAAAIAAAABAAAAAAAAAMCABQA6AAAAOwAAAAMAAAACAAAAAgAAAAMAAAAEAAAAAgAAAAMAAAAEAAAAAAAAANCABQA8AAAAPQAAAAEAAAADAAAAAgAAAA0AAAADAAAABAAAAAEAAAANAAAAPgAAAAUAAAAHAAAADgAAAAYAAAA/AAAACAAAAAkAAAABAAAABAAAAAEAAAACAAAALzYHAC82BwAvNgcAAAAAAOCABQA8AAAAQAAAAAEAAAADAAAABwAAAA0AAAADAAAABAAAAAEAAAANAAAAPgAAAAUAAAAHAAAADgAAAAYAAAA/AAAACgAAAAsAAAABAAAABAAAAAIAAAADAAAALzYHAAAAAADogAUAQQAAAEIAAAABAAAABAAAAAgAAAANAAAACQAAAAQAAAACAAAADgAAAEMAAAAFAAAABwAAAA4AAAAGAAAARAAAAAwAAAANAAAAAgAAAAUAAAADAAAABAAAAC82BwAvNgcAAAAAAPiABQBFAAAARgAAAA8AAAAPAAAAAAAAAAiBBQBHAAAASAAAAA8AAAAPAAAAAAAAABCBBQA8AAAASQAAAAoAAAAFAAAACwAAAA0AAAADAAAABAAAAAEAAAANAAAAPgAAAAUAAAAHAAAAEAAAAAwAAAA/AAAADgAAAA8AAAABAAAABAAAAAQAAAAFAAAAAAAAACCBBQBKAAAASwAAAAEAAAAGAAAADQAAAA0AAAAOAAAABAAAAAMAAAAQAAAATAAAAAUAAAAHAAAADgAAAAYAAABNAAAAEAAAABEAAAADAAAABgAAAAUAAAAGAAAALzYHAAAAAAAwgQUATgAAAE8AAAAPAAAABwAAABAAAAARAAAAEQAAABIAAAAEAAAAEQAAAFAAAAATAAAAEgAAABIAAAAUAAAAUQAAABMAAAAUAAAABAAAAAcAAAAGAAAABwAAABUAAAAvNgcALzYHAAAAAABAgQUATgAAAFIAAAAPAAAAAwAAABYAAAARAAAAEQAAABIAAAAFAAAAEgAAAFAAAAATAAAAFQAAABMAAAAXAAAAUQAAABMAAAAUAAAABAAAAAcAAAACAAAAAwAAABUAAAAAAAAAUIEFAE4AAABTAAAADwAAAAgAAAAYAAAAEQAAABEAAAASAAAABQAAABIAAABQAAAAEwAAABUAAAATAAAAFwAAAFEAAAATAAAAFAAAAAQAAAAHAAAABwAAAAgAAAAVAAAAAAAAAGCBBQBUAAAAVQAAAAEAAAAJAAAAGQAAAA0AAAADAAAABAAAAAEAAAANAAAAPgAAAAUAAAAHAAAAFAAAAAYAAAA/AAAAFgAAABcAAAABAAAABAAAAAgAAAAJAAAAAAAAAHCBBQBWAAAAVwAAAA8AAAAKAAAAGgAAABEAAAARAAAAEgAAAAUAAAASAAAAUAAAABMAAAAVAAAAEwAAABcAAABRAAAAEwAAABQAAAAEAAAABwAAAAkAAAAKAAAAFQAAAC82BwAAAAAAgIEFAFgAAABZAAAAAQAAAAkAAAAbAAAADQAAAAMAAAAEAAAAAQAAAA0AAAA+AAAABQAAAAcAAAAUAAAABgAAAD8AAAAWAAAAGAAAAAEAAAAEAAAACgAAAAsAAAAAAAAAkIEFAFoAAABbAAAACwAAAAAAAACggQUAXAAAAF0AAAALAAAAAAAAALCBBQBeAAAAXwAAAAAAAADIgQUAYAAAAGEAAAAAAAAAuIEFAGIAAABjAAAACwAAAAAAAADYgQUAZAAAAGUAAAALAAAAAAAAAOiBBQBmAAAAZwAAAAsAAAAAAAAA+IEFAGgAAABpAAAACwAAAAAAAAAIggUAagAAAGsAAAAMAAAAAAAAABiCBQBqAAAAbAAAAA0AAAAAAAAAIIAFAG0AAABuAAAAAQAAAAEAAAAAAAAAKIIFAG8AAABwAAAADgAAAAAAAAA4ggUAcQAAAHIAAAAZAAAAYAkAAAAAAABAggUAcwAAAHQAAAAVAAAAAQAAABYAAAAj/gUALzYHAC82BwAvNgcA/GcGAFiCBgAZggYAAAAAAEiCBQB1AAAAdgAAABMAAAAAAAAAWIIFAHUAAAB3AAAAAQAAAAAAAABgggUAeAAAAHkAAAAcAAAAAAAAAHCCBQB4AAAAegAAAAEAAAD8ZwYAWIIGAAAAAACAgAUALwAAAHsAAAAJAAAACwAAAPxnBgAvNgcALzYHAAAAAAB4ggUAfAAAAH0AAAAUAAAAAAAAAIiCBQB8AAAAfgAAAAEAAAAvNgcALzYHAEMgBgBLIAYAWCAGAC82BwAvNgcALzYHAC82BwAvNgcAAAAAAJCCBQB/AAAAgAAAABUAAAAAAAAAoIIFAH8AAACBAAAAAQAAAC82BwAvNgcALzYHAC82BwAvNgcALzYHAC82BwBYggYAyF4GAC82BwAAAAAAqIIFAIIAAACDAAAAFgAAAAAAAAC4ggUAggAAAIQAAAABAAAAAAAAAMCCBQCFAAAAhgAAABcAAAAAAAAA0IIFAIUAAACHAAAAAQAAAAAAAADYggUAiAAAAIkAAAAYAAAAAAAAAOiCBQCIAAAAigAAAAEAAAAvNgcALzYHAMheBgAvNgcAWIIGAPxnBgBYggYAGYIGAC82BwDNYwYAr2MGAC82BwAvNgcAAAAAAPCCBQCLAAAAjAAAAA8AAAD8ZwYALzYHAPxnBgAvNgcAWIIGABmCBgB1gwYALzYHAC82BwAAAAAAAIMFAI0AAACOAAAAEAAAAC82BwAAAAAAEIMFAI8AAACQAAAAGQAAAAAAAAAggwUAjwAAAJEAAAABAAAAAAAAACiDBQCSAAAAkwAAABoAAAAAAAAAOIMFAJIAAACUAAAAAQAAAC82BwAvNgcAAAAAAECDBQCVAAAAlgAAABoAAAAAAAAAUIMFAJUAAACXAAAAAQAAAAAAAABYgwUAmAAAAJkAAAAbAAAAAAAAAGiDBQCYAAAAmgAAAAEAAAAvNgcAAAAAAHCDBQCbAAAAnAAAABcAAAAAAAAAgIMFAJsAAACdAAAAAQAAAC82BwAvNgcALzYHAAAAAACIgwUAngAAAJ8AAAAcAAAAAAAAAJiDBQCeAAAAoAAAAAEAAAAvNgcAAAAAAKCDBQChAAAAogAAAB0AAAAAAAAAsIMFAKEAAACjAAAAAQAAAC82BwAAAAAAuIMFAKQAAAClAAAAHgAAAAAAAADIgwUApAAAAKYAAAABAAAAAAAAANCDBQCnAAAAqAAAAB0AAAAAAAAA4IMFAKcAAACpAAAAAQAAAAAAAADogwUAqgAAAKsAAAAfAAAAAAAAAPiDBQCqAAAArAAAAAEAQemwFgu2A4QFAK0AAACuAAAAHgAAAAAAAAAQhAUArQAAAK8AAAABAAAALzYHAAAAAAAYhAUAsAAAALEAAAAYAAAAGwAAABkAAAAvNgcAAAAAACiEBQCyAAAAswAAABoAAAAAAAAAOIQFALIAAAC0AAAAAQAAAAAAAABAhAUAsgAAALUAAAAbAAAAbAAAAAAAAACIhAUAugAAALsAAACU////lP///4iEBQC8AAAAvQAAAAAAAAB4hAUAvgAAAL8AAAAfAAAAIAAAAAEAAAAIAAAAHAAAAB0AAAAhAAAAHgAAAB8AAAAcAAAAIgAAAB0AAACLbE9AhsnEv4BI/75+HXi/xSDwP8NkKj3TvGM9YOVQvsdLhz8AAMhCAADIQgAAyEL/AAAA/wAAAP8AAAAAAIA/AACAPwAAgD+amRlAmpkZQJqZGUARAAAAAQAAAAAAAAACAAAAQAYAAIA+AAAAAAAAiBMAAIcWmT6iRRY/1XjpPdAuBQDwMwUAAQEAAB4BAAAPAAAAUDMFAPA0BQAAAAAAHgAAAA8AAAAAAAAA8FUFAAAAAAATAAAABwAAAPBfBQAUAAAAQy5VVEYtOABBrLQWCwMQmgUAQcS0FgsBBQBB0LQWCwEgAEHotBYLCyMAAAAkAAAA02oeAEGAtRYLAQIAQY+1FgsF//////8AQcC1FgsBCQBBzLUWCwEgAEHgtRYLEiUAAAAAAAAAJAAAADg0HgAABABBjLYWCwT/////AEG8thYLAQUAQci2FgsBIABB4LYWCw4mAAAAJAAAAEg4HgAABABB+LYWCwEBAEGHtxYLBQr/////AEG4txYLAzybBQBB4LcWCwEnAEGHuBYLBf//////AEH0uRYLA5hiHgBBrLoWC4kCX3CJAP8JLw8AAAA/AAAAvwAAgD8AAMA/AAAAANzP0TUAAAAAAMAVPwAAAACohAUAwAAAAMEAAAAAAAAAwIQFAMIAAADDAAAAIAAAACgAAAACAAAACQAAACEAAAAdAAAAIQAAACIAAAAfAAAAMAAAACIAAAAxAAAAAAAAAMiEBQDEAAAAxQAAACEAAAApAAAAAwAAAAoAAAAjAAAAJAAAACoAAAAlAAAAJgAAADIAAAArAAAAMwAAAAgAAAAAAAAA0IQFALYAAAC3AAAA+P////j////QhAUAuAAAALkAAAAIAAAAAAAAAOiEBQDGAAAAxwAAAPj////4////6IQFAMgAAADJAAAABABBvbwWC9AOhQUAygAAAMsAAAD8/////P///wCFBQDMAAAAzQAAAAQAAAAAAAAAGIUFAM4AAADPAAAA/P////z///8YhQUA0AAAANEAAAAAAAAAMIUFAMQAAADSAAAAIgAAACkAAAADAAAACgAAACcAAAAkAAAAKgAAACUAAAAmAAAAMgAAACwAAAA0AAAAAAAAAECFBQDCAAAA0wAAACMAAAAoAAAAAgAAAAkAAAAoAAAAHQAAACEAAAAiAAAAHwAAADAAAAAtAAAANQAAAAAAAABQhQUAxAAAANQAAAAkAAAAKQAAAAMAAAAKAAAAIwAAACQAAAAqAAAAKQAAACoAAAA2AAAAKwAAADMAAAAAAAAAYIUFAMIAAADVAAAAJQAAACgAAAACAAAACQAAACEAAAAdAAAAIQAAACsAAAAsAAAANwAAACIAAAAxAAAAAAAAAHCFBQDWAAAA1wAAANgAAAAMAAAACwAAAC4AAAAAAAAAkIUFANkAAADaAAAA2AAAAA0AAAAMAAAALwAAAAAAAACghQUA2wAAANwAAADYAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAAAAAAA4IUFAN0AAADeAAAA2AAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAAAAAABiGBQDfAAAA4AAAANgAAAAOAAAADwAAAAEAAAAQAAAAAgAAAAEAAAACAAAAEQAAAAAAAABYhgUA4QAAAOIAAADYAAAAEgAAABMAAAADAAAAFAAAAAQAAAADAAAABAAAABUAAAAAAAAAkIYFAOMAAADkAAAA2AAAAC0AAAAcAAAAHQAAAB4AAAAfAAAAIAAAAAEAAAD4////kIYFAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAAAAAAAyIYFAOUAAADmAAAA2AAAADUAAAAhAAAAIgAAACMAAAAkAAAAJQAAAAIAAAD4////yIYFADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAAlAAAASAAAADoAAAAlAAAATQAAADoAAAAlAAAAUwAAAAAAAAAlAAAAbQAAAC8AAAAlAAAAZAAAAC8AAAAlAAAAeQAAAAAAAAAlAAAASQAAADoAAAAlAAAATQAAADoAAAAlAAAAUwAAACAAAAAlAAAAcAAAAAAAAAAlAAAAYQAAACAAAAAlAAAAYgAAACAAAAAlAAAAZAAAACAAAAAlAAAASAAAADoAAAAlAAAATQAAADoAAAAlAAAAUwAAACAAAAAlAAAAWQAAAAAAAABBAAAATQAAAAAAAABQAAAATQAAAAAAAABKAAAAYQAAAG4AAAB1AAAAYQAAAHIAAAB5AAAAAAAAAEYAAABlAAAAYgAAAHIAAAB1AAAAYQAAAHIAAAB5AAAAAAAAAE0AAABhAAAAcgAAAGMAAABoAAAAAAAAAEEAAABwAAAAcgAAAGkAAABsAAAAAAAAAE0AAABhAAAAeQAAAAAAAABKAAAAdQAAAG4AAABlAAAAAAAAAEoAAAB1AAAAbAAAAHkAAAAAAAAAQQAAAHUAAABnAAAAdQAAAHMAAAB0AAAAAAAAAFMAAABlAAAAcAAAAHQAAABlAAAAbQAAAGIAAABlAAAAcgAAAAAAAABPAAAAYwAAAHQAAABvAAAAYgAAAGUAAAByAAAAAAAAAE4AAABvAAAAdgAAAGUAAABtAAAAYgAAAGUAAAByAAAAAAAAAEQAAABlAAAAYwAAAGUAAABtAAAAYgAAAGUAAAByAAAAAAAAAEoAAABhAAAAbgAAAAAAAABGAAAAZQAAAGIAAAAAAAAATQAAAGEAAAByAAAAAAAAAEEAAABwAAAAcgAAAAAAAABKAAAAdQAAAG4AAAAAAAAASgAAAHUAAABsAAAAAAAAAEEAAAB1AAAAZwAAAAAAAABTAAAAZQAAAHAAAAAAAAAATwAAAGMAAAB0AAAAAAAAAE4AAABvAAAAdgAAAAAAAABEAAAAZQAAAGMAAAAAAAAAUwAAAHUAAABuAAAAZAAAAGEAAAB5AAAAAAAAAE0AAABvAAAAbgAAAGQAAABhAAAAeQAAAAAAAABUAAAAdQAAAGUAAABzAAAAZAAAAGEAAAB5AAAAAAAAAFcAAABlAAAAZAAAAG4AAABlAAAAcwAAAGQAAABhAAAAeQAAAAAAAABUAAAAaAAAAHUAAAByAAAAcwAAAGQAAABhAAAAeQAAAAAAAABGAAAAcgAAAGkAAABkAAAAYQAAAHkAAAAAAAAAUwAAAGEAAAB0AAAAdQAAAHIAAABkAAAAYQAAAHkAAAAAAAAAUwAAAHUAAABuAAAAAAAAAE0AAABvAAAAbgAAAAAAAABUAAAAdQAAAGUAAAAAAAAAVwAAAGUAAABkAAAAAAAAAFQAAABoAAAAdQAAAAAAAABGAAAAcgAAAGkAAAAAAAAAUwAAAGEAAAB0AEGYyxYLiQb4hgUA5wAAAOgAAADYAAAAAgAAAAAAAAAghwUA6QAAAOoAAADYAAAAAwAAAAAAAABAhwUA6wAAAOwAAADYAAAAPQAAAD4AAAAmAAAAJwAAACgAAAApAAAAPwAAACoAAAArAAAAAAAAAGiHBQDtAAAA7gAAANgAAABAAAAAQQAAACwAAAAtAAAALgAAAC8AAABCAAAAMAAAADEAAAAAAAAAiIcFAO8AAADwAAAA2AAAAEMAAABEAAAAMgAAADMAAAA0AAAANQAAAEUAAAA2AAAANwAAAAAAAACohwUA8QAAAPIAAADYAAAARgAAAEcAAAA4AAAAOQAAADoAAAA7AAAASAAAADwAAAA9AAAAAAAAAMiHBQDzAAAA9AAAANgAAAAEAAAABQAAAAAAAADwhwUA9QAAAPYAAADYAAAABgAAAAcAAAAAAAAAGIgFAPcAAAD4AAAA2AAAAAEAAAAmAAAAAAAAAECIBQD5AAAA+gAAANgAAAACAAAAJwAAAAAAAABoiAUA+wAAAPwAAADYAAAAMAAAAAsAAAA+AAAAAAAAAJCIBQD9AAAA/gAAANgAAAAxAAAADAAAAD8AAAAAAAAA6IgFAP8AAAAAAQAA2AAAAAMAAAAEAAAAFgAAAEkAAABKAAAAFwAAAEsAAAAAAAAAsIgFAP8AAAABAQAA2AAAAAMAAAAEAAAAFgAAAEkAAABKAAAAFwAAAEsAAAAAAAAAGIkFAAIBAAADAQAA2AAAAAUAAAAGAAAAGAAAAEwAAABNAAAAGQAAAE4AAAAAAAAAWIkFAAQBAAAFAQAA2AAAAAAAAABoiQUABgEAAAcBAADYAAAAOAAAADIAAAA5AAAAMwAAADoAAAABAAAANAAAABoAAAAAAAAAsIkFAAgBAAAJAQAA2AAAAE8AAABQAAAAQAAAAEEAAABCAAAAAAAAAMCJBQAKAQAACwEAANgAAABRAAAAUgAAAEMAAABEAAAARQAAAGYAAABhAAAAbAAAAHMAAABlAAAAAAAAAHQAAAByAAAAdQAAAGUAQazRFgv2kgqAhQUA/wAAAAwBAADYAAAAAAAAAJCJBQD/AAAADQEAANgAAAA1AAAAAgAAAAMAAAAEAAAAOwAAADYAAAA8AAAANwAAAD0AAAAFAAAAOAAAABsAAAAAAAAA+IgFAP8AAAAOAQAA2AAAAAcAAAAIAAAAHAAAAFMAAABUAAAAHQAAAFUAAAAAAAAAOIkFAP8AAAAPAQAA2AAAAAkAAAAKAAAAHgAAAFYAAABXAAAAHwAAAFgAAAAAAAAAwIgFAP8AAAAQAQAA2AAAAAMAAAAEAAAAFgAAAEkAAABKAAAAFwAAAEsAAAAAAAAAwIYFAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAAAAAAA8IYFADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAACAAAAAAAAAOCJBQARAQAAEgEAABMBAAAUAQAAOQAAAA0AAAABAAAADQAAAAAAAAAIigUAEQEAABUBAAATAQAAFAEAADkAAAAOAAAAAgAAAA4AAAAAAAAAGIoFABYBAAAXAQAAWQAAAAAAAAAoigUAFgEAABgBAABZAAAAAAAAADiKBQAZAQAAGgEAAFoAAAAAAAAAaIoFABEBAAAbAQAAEwEAABQBAAA5AAAADwAAAAMAAAAPAAAAAQAFAAAAAQBzdHJlYW1fZmlsZWxpc3QAU3RyZWFtIGEgZmlsZWxpc3QgZnJvbSBzdGRpbgBkZWJ1ZwBkaXNwbGF5AHdvcmRyZWNfYmxvYl9wYXVzZQBCbG9iIHBhdXNlAHdvcmRyZWNfZGlzcGxheV9hbGxfd29yZHMARGlzcGxheSBXb3JkcwB3b3JkcmVjX2Rpc3BsYXlfYWxsX2Jsb2JzAERpc3BsYXkgQmxvYnMAdGV4dG9yZF9jaG9wcGVyX3Rlc3QAQ2hvcHBlciBpcyBiZWluZyB0ZXN0ZWQuAHRleHRvcmRfZm9yY2VfbWFrZV9wcm9wX3dvcmRzAEZvcmNlIHByb3BvcnRpb25hbCB3b3JkIHNlZ21lbnRhdGlvbiBvbiBhbGwgcm93cwB0ZXh0b3JkX2ZwX2Nob3BwaW5nAERvIGZpeGVkIHBpdGNoIGNob3BwaW5nAHRleHRvcmRfcmVzdG9yZV91bmRlcmxpbmVzAENob3AgdW5kZXJsaW5lcyAmIHB1dCBiYWNrAHRleHRvcmRfdW5kZXJsaW5lX29mZnNldABGcmFjdGlvbiBvZiB4IHRvIGlnbm9yZQB0ZXh0b3JkX2ZwX21pbl93aWR0aABNaW4gd2lkdGggb2YgZGVjZW50IGJsb2JzAHRleHRvcmRfbWF4X3BpdGNoX2lxcgBYaCBmcmFjdGlvbiBub2lzZSBpbiBwaXRjaAB0ZXh0b3JkX2ZwaXFyX3JhdGlvAFBpdGNoIElRUi9HYXAgSVFSIHRocmVzaG9sZAB0ZXh0b3JkX3NwYWNlc2l6ZV9yYXRpb3Byb3AATWluIHJhdGlvIHNwYWNlL25vbnNwYWNlAHRleHRvcmRfc3BhY2VzaXplX3JhdGlvZnAAdGV4dG9yZF93b3Jkc19kZWZpbml0ZV9zcHJlYWQATm9uLWZ1enp5IHNwYWNpbmcgcmVnaW9uAHdvcmRzX2RlZmF1bHRfZml4ZWRfbGltaXQAQWxsb3dlZCBzaXplIHZhcmlhbmNlAHdvcmRzX2RlZmF1bHRfZml4ZWRfc3BhY2UARnJhY3Rpb24gb2YgeGhlaWdodAB3b3Jkc19kZWZhdWx0X3Byb3Bfbm9uc3BhY2UAd29yZHNfaW5pdGlhbF91cHBlcgBNaW4gaW5pdGlhbCBjbHVzdGVyIHNwYWNpbmcAd29yZHNfaW5pdGlhbF9sb3dlcgBNYXggaW5pdGlhbCBjbHVzdGVyIHNpemUAdGV4dG9yZF9waXRjaF9zY2FsZWJpZ3dvcmRzAFNjYWxlIHNjb3JlcyBvbiBiaWcgd29yZHMAdGV4dG9yZF9waXRjaF9yb3dzaW1pbGFyaXR5AEZyYWN0aW9uIG9mIHhoZWlnaHQgZm9yIHNhbWVuZXNzAHRleHRvcmRfd29yZHNfdmV0b19wb3dlcgBSb3dzIHJlcXVpcmVkIHRvIG91dHZvdGUgYSB2ZXRvAHRleHRvcmRfd29yZHNfZGVmX3Byb3AAVGhyZXNob2xkIGZvciBkZWZpbml0ZSBwcm9wAHRleHRvcmRfd29yZHNfZGVmX2ZpeGVkAFRocmVzaG9sZCBmb3IgZGVmaW5pdGUgZml4ZWQAdGV4dG9yZF93b3Jkc19waXRjaHNkX3RocmVzaG9sZABQaXRjaCBzeW5jIHRocmVzaG9sZAB0ZXh0b3JkX3dvcmRzX21pbmxhcmdlAEZyYWN0aW9uIG9mIHZhbGlkIGdhcHMgbmVlZGVkAHRleHRvcmRfd29yZHNfaW5pdGlhbF91cHBlcgB0ZXh0b3JkX3dvcmRzX2luaXRpYWxfbG93ZXIAdGV4dG9yZF93b3Jkc19kZWZhdWx0X25vbnNwYWNlAHRleHRvcmRfd29yZHNfbWluX21pbnNwYWNlAHRleHRvcmRfd29yZHNfZGVmYXVsdF9taW5zcGFjZQB0ZXh0b3JkX3dvcmRzX2RlZmF1bHRfbWF4c3BhY2UATWF4IGJlbGlldmFibGUgdGhpcmQgc3BhY2UAdGV4dG9yZF93b3Jkc19tYXhzcGFjZQBNdWx0aXBsZSBvZiB4aGVpZ2h0AHRleHRvcmRfd29yZHNfd2lkdGhfaWxlAElsZSBvZiBibG9iIHdpZHRocyBmb3Igc3BhY2UgZXN0AHRleHRvcmRfd2lkdGhfc21vb3RoX2ZhY3RvcgBTbW9vdGhpbmcgd2lkdGggc3RhdHMAdGV4dG9yZF93b3Jkc3RhdHNfc21vb3RoX2ZhY3RvcgBTbW9vdGhpbmcgZ2FwIHN0YXRzAHRleHRvcmRfcGl0Y2hfcmFuZ2UATWF4IHJhbmdlIHRlc3Qgb24gcGl0Y2gAdGV4dG9yZF9kZWJ1Z19ibG9jawBCbG9jayB0byBkbyBkZWJ1ZyBvbgB0ZXh0b3JkX2RvdG1hdHJpeF9nYXAATWF4IHBpeGVsIGdhcCBmb3IgYnJva2VuIHBpeGVkIHBpdGNoAHRleHRvcmRfdGVzdF9tb2RlAERvIGN1cnJlbnQgdGVzdAB0ZXh0b3JkX2Jsb2Nrc2FsbF90ZXN0aW5nAER1bXAgc3RhdHMgd2hlbiBtb2FuaW5nAHRleHRvcmRfYmxvY2tzYWxsX3Byb3AATW9hbiBhYm91dCBmaXhlZCBwaXRjaCBibG9ja3MAdGV4dG9yZF9ibG9ja3NhbGxfZml4ZWQATW9hbiBhYm91dCBwcm9wIGJsb2NrcwB0ZXh0b3JkX3Nob3dfZml4ZWRfd29yZHMARGlzcGxheSBmb3JjZWQgZml4ZWQgcGl0Y2ggd29yZHMAdGV4dG9yZF9zaG93X25ld193b3JkcwBEaXNwbGF5IHNlcGFyYXRlIHdvcmRzAHRleHRvcmRfc2hvd19pbml0aWFsX3dvcmRzAHRleHRvcmRfYmFsYW5jZV9mYWN0b3IARGluZyByYXRlIGZvciB1bmJhbGFuY2VkIGNoYXIgY2VsbHMAdGV4dG9yZF9wcm9qZWN0aW9uX3NjYWxlAERpbmcgcmF0ZSBmb3IgbWlkLWN1dHMAdGV4dG9yZF9ibG9ja25kb2NfZml4ZWQAQXR0ZW1wdCB3aG9sZSBkb2MvYmxvY2sgZml4ZWQgcGl0Y2gAdGV4dG9yZF9waXRjaF9jaGVhdABVc2UgY29ycmVjdCBhbnN3ZXIgZm9yIGZpeGVkL3Byb3AAdGV4dG9yZF9zaG93X3BhZ2VfY3V0cwBEcmF3IHBhZ2UtbGV2ZWwgY3V0cwB0ZXh0b3JkX3Nob3dfcm93X2N1dHMARHJhdyByb3ctbGV2ZWwgY3V0cwB0ZXh0b3JkX2RlYnVnX3BpdGNoX21ldHJpYwBXcml0ZSBmdWxsIG1ldHJpYyBzdHVmZgB0ZXh0b3JkX2Zhc3RfcGl0Y2hfdGVzdABEbyBldmVuIGZhc3RlciBwaXRjaCBhbGdvcml0aG0AdGV4dG9yZF9kaXNhYmxlX3BpdGNoX3Rlc3QAVHVybiBvZmYgZHAgZml4ZWQgcGl0Y2ggYWxnb3JpdGhtAHRleHRvcmRfZGVidWdfcGl0Y2hfdGVzdABEZWJ1ZyBvbiBmaXhlZCBwaXRjaCB0ZXN0AHRleHRvcmRfYWxsX3Byb3AAQWxsIGRvYyBpcyBwcm9wb3J0aWFsIHRleHQAdGV4dG9yZF90YWJ2ZWN0b3JfdmVydGljYWxfYm94X3JhdGlvAEZyYWN0aW9uIG9mIGJveCBtYXRjaGVzIHJlcXVpcmVkIHRvIGRlY2xhcmUgYSBsaW5lIHZlcnRpY2FsAHRleHRvcmRfdGFidmVjdG9yX3ZlcnRpY2FsX2dhcF9mcmFjdGlvbgBtYXggZnJhY3Rpb24gb2YgbWVhbiBibG9iIHdpZHRoIGFsbG93ZWQgZm9yIHZlcnRpY2FsIGdhcHMgaW4gdmVydGljYWwgdGV4dAB0ZXh0b3JkX3RhYmxlZmluZF9yZWNvZ25pemVfdGFibGVzAEVuYWJsZXMgdGhlIHRhYmxlIHJlY29nbml6ZXIgZm9yIHRhYmxlIGxheW91dCBhbmQgZmlsdGVyaW5nLgB0ZXh0b3JkX3RhYmxlZmluZF9zaG93X3N0YXRzAFNob3cgcGFnZSBzdGF0cyB1c2VkIGluIHRhYmxlIGZpbmRpbmcAdGV4dG9yZF90YWJsZWZpbmRfc2hvd19tYXJrAERlYnVnIHRhYmxlIG1hcmtpbmcgc3RlcHMgaW4gZGV0YWlsAHRleHRvcmRfc2hvd190YWJsZXMAU2hvdyB0YWJsZSByZWdpb25zAHRleHRvcmRfdGFiZmluZF9zaG93X2ZpbmFsdGFicwBTaG93IHRhYiB2ZWN0b3JzAHRleHRvcmRfdGFiZmluZF9zaG93X2luaXRpYWx0YWJzAFNob3cgdGFiIGNhbmRpZGF0ZXMAdGV4dG9yZF90YWJmaW5kX29ubHlfc3Ryb2tld2lkdGhzAE9ubHkgcnVuIHN0cm9rZSB3aWR0aHMAdGV4dG9yZF90YWJmaW5kX3Nob3dfc3Ryb2tld2lkdGhzAHBpdHN5bmNfZmFrZV9kZXB0aABNYXggYWR2YW5jZSBmYWtlIGdlbmVyYXRpb24AcGl0c3luY19vZmZzZXRfZnJlZWN1dF9mcmFjdGlvbgBGcmFjdGlvbiBvZiBjdXQgZm9yIGZyZWUgY3V0cwBwaXRzeW5jX2pvaW5lZF9lZGdlAERpc3QgaW5zaWRlIGJpZyBibG9iIGZvciBjaG9wcGluZwBwaXRzeW5jX2xpbmVhcl92ZXJzaW9uAFVzZSBuZXcgZmFzdCBhbGdvcml0aG0AdGV4dG9yZF9vbGRibF9qdW1wbGltaXQAWCBmcmFjdGlvbiBmb3IgbmV3IHBhcnRpdGlvbgBvbGRibF9kb3RfZXJyb3Jfc2l6ZQBNYXggYXNwZWN0IHJhdGlvIG9mIGEgZG90AG9sZGJsX2hvbGVkX2xvc3Njb3VudABNYXggbG9zdCBiZWZvcmUgZmFsbGJhY2sgbGluZSB1c2VkAG9sZGJsX3hoZnJhY3QARnJhY3Rpb24gb2YgZXN0IGFsbG93ZWQgaW4gY2FsYwB0ZXh0b3JkX29jcm9wdXNfbW9kZQBNYWtlIGJhc2VsaW5lcyBmb3Igb2Nyb3B1cwBvbGRibF94aGZpeABGaXggYnVnIGluIG1vZGVzIHRocmVzaG9sZCBmb3IgeGhlaWdodHMAb2xkYmxfY29ycmZpeABJbXByb3ZlIGNvcnJlbGF0aW9uIG9mIGhlaWdodHMAdGV4dG9yZF9vbGRibF9tZXJnZV9wYXJ0cwBNZXJnZSBzdXNwZWN0IHBhcnRpdGlvbnMAdGV4dG9yZF9vbGRibF9zcGxpdF9zcGxpbmVzAFNwbGl0IHN0ZXBwZWQgc3BsaW5lcwB0ZXh0b3JkX29sZGJsX3BhcmFkZWYAVXNlIHBhcmEgZGVmYXVsdCBtZWNoYW5pc20AdGV4dG9yZF9kZWJ1Z19iYXNlbGluZXMARGVidWcgYmFzZWxpbmUgZ2VuZXJhdGlvbgB0ZXh0b3JkX29sZGJsX2RlYnVnAERlYnVnIG9sZCBiYXNlbGluZSBnZW5lcmF0aW9uAHRleHRvcmRfcmVhbGx5X29sZF94aGVpZ2h0AFVzZSBvcmlnaW5hbCB3aXNlb3dsIHhoZWlnaHQAdGV4dG9yZF9kZWJ1Z19ibG9iAFByaW50IHRlc3QgYmxvYiBpbmZvcm1hdGlvbgB0ZXh0b3JkX25ld19pbml0aWFsX3hoZWlnaHQAVXNlIHRlc3QgeGhlaWdodCBtZWNoYW5pc20AdGV4dG9yZF9sbXNfbGluZV90cmlhbHMATnVtYmVyIG9mIGxpbmV3IGZpdHMgdG8gZG8AdGV4dG9yZF94aGVpZ2h0X2Vycm9yX21hcmdpbgBBY2NlcHRlZCB2YXJpYXRpb24AdGV4dG9yZF9kZXNjeF9yYXRpb19tYXgATWF4IGRlc2MveGhlaWdodAB0ZXh0b3JkX2Rlc2N4X3JhdGlvX21pbgBNaW4gZGVzYy94aGVpZ2h0AHRleHRvcmRfYXNjeF9yYXRpb19tYXgATWF4IGNhcC94aGVpZ2h0AHRleHRvcmRfYXNjeF9yYXRpb19taW4ATWluIGNhcC94aGVpZ2h0AHRleHRvcmRfZGVzY2hlaWdodF9tb2RlX2ZyYWN0aW9uAE1pbiBwaWxlIGhlaWdodCB0byBtYWtlIGRlc2NoZWlnaHQAdGV4dG9yZF9hc2NoZWlnaHRfbW9kZV9mcmFjdGlvbgBNaW4gcGlsZSBoZWlnaHQgdG8gbWFrZSBhc2NoZWlnaHQAdGV4dG9yZF94aGVpZ2h0X21vZGVfZnJhY3Rpb24ATWluIHBpbGUgaGVpZ2h0IHRvIG1ha2UgeGhlaWdodAB0ZXh0b3JkX21pbl9ibG9iX2hlaWdodF9mcmFjdGlvbgBNaW4gYmxvYiBoZWlnaHQvdG9wIHRvIGluY2x1ZGUgYmxvYiB0b3AgaW50byB4aGVpZ2h0IHN0YXRzAHRleHRvcmRfdW5kZXJsaW5lX3dpZHRoAE11bHRpcGxlIG9mIGxpbmVfc2l6ZSBmb3IgdW5kZXJsaW5lAHRleHRvcmRfb2NjdXBhbmN5X3RocmVzaG9sZABGcmFjdGlvbiBvZiBuZWlnaGJvdXJob29kAHRleHRvcmRfZXhjZXNzX2Jsb2JzaXplAE5ldyByb3cgbWFkZSBpZiBibG9iIG1ha2VzIHJvdyB0aGlzIGJpZwB0ZXh0b3JkX21pbl9saW5lc2l6ZQAqIGJsb2IgaGVpZ2h0IGZvciBpbml0aWFsIGxpbmVzaXplAHRleHRvcmRfbWlueGgAZnJhY3Rpb24gb2YgbGluZXNpemUgZm9yIG1pbiB4aGVpZ2h0AHRleHRvcmRfb3ZlcmxhcF94AEZyYWN0aW9uIG9mIGxpbmVzcGFjZSBmb3IgZ29vZCBvdmVybGFwAHRleHRvcmRfZXhwYW5zaW9uX2ZhY3RvcgBGYWN0b3IgdG8gZXhwYW5kIHJvd3MgYnkgaW4gZXhwYW5kX3Jvd3MAdGV4dG9yZF9jaG9wX3dpZHRoAE1heCB3aWR0aCBiZWZvcmUgY2hvcHBpbmcAdGV4dG9yZF93aWR0aF9saW1pdABNYXggd2lkdGggb2YgYmxvYnMgdG8gbWFrZSByb3dzAHRleHRvcmRfbGluZXNwYWNlX2lxcmxpbWl0AE1heCBpcXIvbWVkaWFuIGZvciBsaW5lc3BhY2UAdGV4dG9yZF9za2V3X2xhZwBMYWcgZm9yIHNrZXcgb24gcm93IGFjY3VtdWxhdGlvbgB0ZXh0b3JkX3NrZXdfaWxlAElsZSBvZiBncmFkaWVudHMgZm9yIHBhZ2Ugc2tldwB0ZXh0b3JkX3NwbGluZV9vdXRsaWVyX2ZyYWN0aW9uAEZyYWN0aW9uIG9mIGxpbmUgc3BhY2luZyBmb3Igb3V0bGllcgB0ZXh0b3JkX3NwbGluZV9zaGlmdF9mcmFjdGlvbgBGcmFjdGlvbiBvZiBsaW5lIHNwYWNpbmcgZm9yIHF1YWQAdGV4dG9yZF9taW5feGhlaWdodABNaW4gY3JlZGlibGUgcGl4ZWwgeGhlaWdodAB0ZXh0b3JkX21heF9ibG9iX292ZXJsYXBzAE1heCBudW1iZXIgb2YgYmxvYnMgYSBiaWcgYmxvYiBjYW4gb3ZlcmxhcAB0ZXh0b3JkX3NwbGluZV9tZWRpYW53aW4AU2l6ZSBvZiB3aW5kb3cgZm9yIHNwbGluZSBzZWdtZW50YXRpb24AdGV4dG9yZF9zcGxpbmVfbWluYmxvYnMATWluIGJsb2JzIGluIGVhY2ggc3BsaW5lIHNlZ21lbnQAdGV4dG9yZF9taW5fYmxvYnNfaW5fcm93AE1pbiBibG9icyBiZWZvcmUgZ3JhZGllbnQgY291bnRlZAB0ZXh0b3JkX3Rlc3RfeQBjb29yZCBvZiB0ZXN0IHB0AHRleHRvcmRfdGVzdF94AHRleHRvcmRfc2tld3Ntb290aF9vZmZzZXQyAEZvciBzbW9vdGggZmFjdG9yAHRleHRvcmRfc2tld3Ntb290aF9vZmZzZXQAdGV4dG9yZF9pbnRlcnBvbGF0aW5nX3NrZXcASW50ZXJwb2xhdGUgYWNyb3NzIGdhcHMAdGV4dG9yZF9iaWFzZWRfc2tld2NhbGMAQmlhcyBza2V3IGVzdGltYXRlcyB3aXRoIGxpbmUgbGVuZ3RoAHRleHRvcmRfZGVidWdfeGhlaWdodHMAVGVzdCB4aGVpZ2h0IGFsZ29yaXRobXMAdGV4dG9yZF9maXhfbWFrZXJvd19idWcAUHJldmVudCBtdWx0aXBsZSBiYXNlbGluZXMAdGV4dG9yZF9maXhfeGhlaWdodF9idWcAVXNlIHNwbGluZSBiYXNlbGluZQB0ZXh0b3JkX29sZF94aGVpZ2h0AFVzZSBvbGQgeGhlaWdodCBhbGdvcml0aG0AdGV4dG9yZF9vbGRfYmFzZWxpbmVzAFVzZSBvbGQgYmFzZWxpbmUgYWxnb3JpdGhtAHRleHRvcmRfc3RyYWlnaHRfYmFzZWxpbmVzAEZvcmNlIHN0cmFpZ2h0IGJhc2VsaW5lcwB0ZXh0b3JkX3BhcmFsbGVsX2Jhc2VsaW5lcwBGb3JjZSBwYXJhbGxlbCBiYXNlbGluZXMAdGV4dG9yZF90ZXN0X2xhbmRzY2FwZQBUZXN0cyByZWZlciB0byBsYW5kL3BvcnQAdGV4dG9yZF9zaG93X2ZpbmFsX2Jsb2JzAERpc3BsYXkgYmxvYiBib3VuZHMgYWZ0ZXIgcHJlLWFzcwB0ZXh0b3JkX3Nob3dfZmluYWxfcm93cwBEaXNwbGF5IHJvd3MgYWZ0ZXIgZmluYWwgZml0dGluZwB0ZXh0b3JkX3Nob3dfZXhwYW5kZWRfcm93cwBEaXNwbGF5IHJvd3MgYWZ0ZXIgZXhwYW5kaW5nAHRleHRvcmRfc2hvd19wYXJhbGxlbF9yb3dzAERpc3BsYXkgcGFnZSBjb3JyZWxhdGVkIHJvd3MAdGV4dG9yZF9zaG93X2luaXRpYWxfcm93cwBEaXNwbGF5IHJvdyBhY2N1bXVsYXRpb24AdGV4dG9yZF9oZWF2eV9ucgBWaWdvcm91c2x5IHJlbW92ZSBub2lzZQB0ZXh0b3JkX3RhYmZpbmRfc2hvd19pbWFnZXMAU2hvdyBpbWFnZSBibG9icwBnYXBtYXBfYmlnX2dhcHMAZ2FwbWFwX25vX2lzb2xhdGVkX3F1YW50YQBFbnN1cmUgZ2FwcyBub3QgbGVzcyB0aGFuIDJxdWFudGEgd2lkZQBnYXBtYXBfdXNlX2VuZHMAVXNlIGxhcmdlIHNwYWNlIGF0IHN0YXJ0IGFuZCBlbmQgb2Ygcm93cwBnYXBtYXBfZGVidWcAU2F5IHdoaWNoIGJsb2NrcyBoYXZlIHRhYmxlcwB0ZXh0b3JkX2ZwX2Nob3Bfc25hcABNYXggZGlzdGFuY2Ugb2YgY2hvcCBwdCBmcm9tIHZlcnRleAB0ZXh0b3JkX2ZwX2Nob3BfZXJyb3IATWF4IGFsbG93ZWQgYmVuZGluZyBvZiBjaG9wIGNlbGxzAGVkZ2VzX2JveGFyZWEATWluIGFyZWEgZnJhY3Rpb24gb2YgZ3JhbmRjaGlsZCBmb3IgYm94AGVkZ2VzX2NoaWxkYXJlYQBNaW4gYXJlYSBmcmFjdGlvbiBvZiBjaGlsZCBvdXRsaW5lAGVkZ2VzX3BhdGhhcmVhX3JhdGlvAE1heCBsZW5zcS9hcmVhIGZvciBhY2NlcHRhYmxlIGNoaWxkIG91dGxpbmUAZWRnZXNfbWluX25vbmhvbGUATWluIHBpeGVscyBmb3IgcG90ZW50aWFsIGNoYXIgaW4gYm94AGVkZ2VzX2NoaWxkcmVuX2ZpeABSZW1vdmUgYm94eSBwYXJlbnRzIG9mIGNoYXItbGlrZSBjaGlsZHJlbgBlZGdlc19jaGlsZHJlbl9jb3VudF9saW1pdABNYXggaG9sZXMgYWxsb3dlZCBpbiBibG9iAGVkZ2VzX2NoaWxkcmVuX3Blcl9ncmFuZGNoaWxkAEltcG9ydGFuY2UgcmF0aW8gZm9yIGNodWNraW5nIG91dGxpbmVzAGVkZ2VzX2RlYnVnAHR1cm4gb24gZGVidWdnaW5nIGZvciB0aGlzIG1vZHVsZQBlZGdlc19tYXhfY2hpbGRyZW5fbGF5ZXJzAE1heCBsYXllcnMgb2YgbmVzdGVkIGNoaWxkcmVuIGluc2lkZSBhIGNoYXJhY3RlciBvdXRsaW5lAGVkZ2VzX21heF9jaGlsZHJlbl9wZXJfb3V0bGluZQBNYXggbnVtYmVyIG9mIGNoaWxkcmVuIGluc2lkZSBhIGNoYXJhY3RlciBvdXRsaW5lAGVkZ2VzX3VzZV9uZXdfb3V0bGluZV9jb21wbGV4aXR5AFVzZSB0aGUgbmV3IG91dGxpbmUgY29tcGxleGl0eSBtb2R1bGUAdGV4dG9yZF9zaG93X2ZpeGVkX2N1dHMARHJhdyBmaXhlZCBwaXRjaCBjZWxsIGJvdW5kYXJpZXMAZGV2YW5hZ2FyaV9zcGxpdF9kZWJ1Z2ltYWdlAFdoZXRoZXIgdG8gY3JlYXRlIGEgZGVidWcgaW1hZ2UgZm9yIHNwbGl0IHNoaXJvLXJla2hhIHByb2Nlc3MuAGRldmFuYWdhcmlfc3BsaXRfZGVidWdsZXZlbABEZWJ1ZyBsZXZlbCBmb3Igc3BsaXQgc2hpcm8tcmVraGEgcHJvY2Vzcy4AdGV4dG9yZF90YWJmaW5kX3Nob3dfY29sb3JfZml0AFNob3cgc3Ryb2tlIHdpZHRocwB0ZXh0b3JkX3RhYmZpbmRfZmluZF90YWJsZXMAcnVuIHRhYmxlIGRldGVjdGlvbgB0ZXh0b3JkX3RhYmZpbmRfc2hvd19ibG9ja3MAU2hvdyBmaW5hbCBibG9jayBib3VuZHMAdGV4dG9yZF90YWJmaW5kX3Nob3dfY29sdW1ucwBTaG93IGNvbHVtbiBib3VuZHMAdGV4dG9yZF90YWJmaW5kX3Nob3dfcGFydGl0aW9ucwBTaG93IHBhcnRpdGlvbiBib3VuZHMsIHdhaXRpbmcgaWYgPjEAdGV4dG9yZF90YWJmaW5kX3Nob3dfcmVqZWN0X2Jsb2JzAFNob3cgYmxvYnMgcmVqZWN0ZWQgYXMgbm9pc2UAdGV4dG9yZF90YWJmaW5kX3Nob3dfaW5pdGlhbF9wYXJ0aXRpb25zAFNob3cgcGFydGl0aW9uIGJvdW5kcwB0ZXh0b3JkX3NwYWNlX3NpemVfaXNfdmFyaWFibGUASWYgdHJ1ZSwgd29yZCBkZWxpbWl0ZXIgc3BhY2VzIGFyZSBhc3N1bWVkIHRvIGhhdmUgdmFyaWFibGUgd2lkdGgsIGV2ZW4gdGhvdWdoIGNoYXJhY3RlcnMgaGF2ZSBmaXhlZCBwaXRjaC4AdGV4dG9yZF91bmRlcmxpbmVfdGhyZXNob2xkAEZyYWN0aW9uIG9mIHdpZHRoIG9jY3VwaWVkAHRleHRvcmRfZGVidWdfcHJpbnRhYmxlAE1ha2UgZGVidWcgd2luZG93cyBwcmludGFibGUAdGV4dG9yZF90ZXN0cmVnaW9uX2JvdHRvbQBCb3R0b20gZWRnZSBvZiBkZWJ1ZyByZWN0YW5nbGUAdGV4dG9yZF90ZXN0cmVnaW9uX3JpZ2h0AFJpZ2h0IGVkZ2Ugb2YgZGVidWcgcmVjdGFuZ2xlAHRleHRvcmRfdGVzdHJlZ2lvbl90b3AAVG9wIGVkZ2Ugb2YgZGVidWcgcmVwb3J0aW5nIHJlY3RhbmdsZQB0ZXh0b3JkX3Rlc3RyZWdpb25fbGVmdABMZWZ0IGVkZ2Ugb2YgZGVidWcgcmVwb3J0aW5nIHJlY3RhbmdsZQB0ZXh0b3JkX2RlYnVnX2J1Z3MAVHVybiBvbiBvdXRwdXQgcmVsYXRlZCB0byBidWdzIGluIHRhYiBmaW5kaW5nAHRleHRvcmRfZGVidWdfdGFiZmluZABEZWJ1ZyB0YWIgZmluZGluZwBNaWNyb0ZlYXR1cmVzAGNsYXNzaWZ5X3RyYWluaW5nX2ZpbGUAVHJhaW5pbmcgZmlsZQAvc3JjL3NyYy9jY3V0aWwvc3RybmdzLmNwcAAzMV9UZXNzRnVuY3Rpb25SZXN1bHRDYWxsYmFja18wXzJJTGIwRWJSS2lTMV9FADE5VGVzc1Jlc3VsdENhbGxiYWNrMkliUktpUzFfRQBjbGFzc2lmeV9waWNvX2ZlYXR1cmVfbGVuZ3RoAFBpY28gRmVhdHVyZSBMZW5ndGgAY2xhc3NpZnlfbm9ybV9hZGpfY3VybABOb3JtIGFkanVzdCBjdXJsIC4uLgBjbGFzc2lmeV9ub3JtX2Fkal9taWRwb2ludABOb3JtIGFkanVzdCBtaWRwb2ludCAuLi4AY2xhc3NpZnlfbWF4X3Nsb3BlAFNsb3BlIGFib3ZlIHdoaWNoIGxpbmVzIGFyZSBjYWxsZWQgdmVydGljYWwAY2xhc3NpZnlfbWluX3Nsb3BlAFNsb3BlIGJlbG93IHdoaWNoIGxpbmVzIGFyZSBjYWxsZWQgaG9yaXpvbnRhbABjbGFzc2lmeV9wcF9zaWRlX3BhZABQcm90byBQcnVuZXIgU2lkZSBQYWQAY2xhc3NpZnlfcHBfZW5kX3BhZABQcm90byBQcnVuZSBFbmQgUGFkAGNsYXNzaWZ5X3BwX2FuZ2xlX3BhZABQcm90byBQcnVuZXIgQW5nbGUgUGFkAGNsYXNzaWZ5X2NwX3NpZGVfcGFkX3RpZ2h0AENsYXNzIFBydW5lciBTaWRlIFBhZCBUaWdodABjbGFzc2lmeV9jcF9zaWRlX3BhZF9tZWRpdW0AQ2xhc3MgUHJ1bmVyIFNpZGUgUGFkIE1lZGl1bQBjbGFzc2lmeV9jcF9zaWRlX3BhZF9sb29zZQBDbGFzcyBQcnVuZXIgU2lkZSBQYWQgTG9vc2UAY2xhc3NpZnlfY3BfZW5kX3BhZF90aWdodABDbGFzcyBQcnVuZXIgRW5kIFBhZCBUaWdodABjbGFzc2lmeV9jcF9lbmRfcGFkX21lZGl1bQBDbGFzcyBQcnVuZXIgRW5kIFBhZCBNZWRpdW0AY2xhc3NpZnlfY3BfZW5kX3BhZF9sb29zZQBDbGFzcyBQcnVuZXIgRW5kIFBhZCBMb29zZQBjbGFzc2lmeV9jcF9hbmdsZV9wYWRfdGlnaHQAQ0xhc3MgUHJ1bmVyIEFuZ2xlIFBhZCBUaWdodABjbGFzc2lmeV9jcF9hbmdsZV9wYWRfbWVkaXVtAENsYXNzIFBydW5lciBBbmdsZSBQYWQgTWVkaXVtAGNsYXNzaWZ5X2NwX2FuZ2xlX3BhZF9sb29zZQBDbGFzcyBQcnVuZXIgQW5nbGUgUGFkIExvb3NlAGNsYXNzaWZ5X251bV9jcF9sZXZlbHMATnVtYmVyIG9mIENsYXNzIFBydW5lciBMZXZlbHMAVW5rbm93bkZvbnQAY2xhc3NpZnlfZm9udF9uYW1lAERlZmF1bHQgZm9udCBuYW1lIHRvIGJlIHVzZWQgaW4gdHJhaW5pbmcAZGVidWdfZmlsZQBGaWxlIHRvIHNlbmQgdHByaW50ZiBvdXRwdXQgdG8Ad29yZHJlY19kaXNwbGF5X3NwbGl0cwBEaXNwbGF5IHNwbGl0cwBwb2x5X3dpZGVfb2JqZWN0c19iZXR0ZXIATW9yZSBhY2N1cmF0ZSBhcHByb3ggb24gd2lkZSB0aGluZ3MAcG9seV9kZWJ1ZwBEZWJ1ZyBvbGQgcG9seQBlcXVhdGlvbmRldGVjdF9zYXZlX21lcmdlZF9pbWFnZQBTYXZlIHRoZSBtZXJnZWQgaW1hZ2UAZXF1YXRpb25kZXRlY3Rfc2F2ZV9zZWVkX2ltYWdlAFNhdmUgdGhlIHNlZWQgaW1hZ2UAZXF1YXRpb25kZXRlY3Rfc2F2ZV9zcHRfaW1hZ2UAU2F2ZSBzcGVjaWFsIGNoYXJhY3RlciBpbWFnZQBlcXVhdGlvbmRldGVjdF9zYXZlX2JpX2ltYWdlAFNhdmUgaW5wdXQgYmkgaW1hZ2UATGlzdCBmb3VuZCB0aGlzID0gbnVsbHB0ciEAQXR0ZW1wdGVkIHRvIChkZSlzZXJpYWxpc2UgYSBsaW5rIGVsZW1lbnQAQ2FuJ3QgYXNzaWduIHRvIGxpc3RzAENhbid0IGNyZWF0ZSBhIGxpc3QgYnkgYXNzaWdubWVudABXYXJuaW5nOiBsYW5nX3Rlc3NlcmFjdF8gaXMgbnVsbHB0ciEKAHBhcnRfZ3JpZC9iZXN0X2NvbHVtbnMgaXMgbnVsbHB0ciEhCgBfYmkAX3NlZWQAX21lcmdlZABvd25zX2Jsb2JzKCkgPT0gb3RoZXItPm93bnNfYmxvYnMoKQAvc3JjL3NyYy90ZXh0b3JkL2NvbHBhcnRpdGlvbi5jcHAATWVyZ2luZzoAKHcxICsgdzIpID4gMABwcmV2X293bmVyID09IG90aGVyIHx8IHByZXZfb3duZXIgPT0gbnVsbHB0cgBDTElTVF9JVEVSQVRPUjo6c2V0X3RvX2xpc3QAQ0xJU1RfSVRFUkFUT1I6OmRhdGEAQ0xJU1RfSVRFUkFUT1I6OmN5Y2xlZF9saXN0AENMSVNUX0lURVJBVE9SOjptYXJrX2N5Y2xlX3B0AENMSVNUX0lURVJBVE9SOjpmb3J3YXJkAENMSVNUX0lURVJBVE9SOjphZGRfYmVmb3JlX3RoZW5fbW92ZQBDTElTVF9JVEVSQVRPUjo6ZXh0cmFjdABDTElTVF9JVEVSQVRPUjo6bW92ZV90b19maXJzdABDTElTVF9JVEVSQVRPUjo6YWRkX2xpc3RfYWZ0ZXIAQ29tcHV0ZWQgbGVmdC1pbGxlZ2FsIHBhcnRpdGlvbgoAQ29tcHV0ZWQgcmlnaHQtaWxsZWdhbCBwYXJ0aXRpb24KAE1hZGUgcGFydGl0aW9uIHdpdGggYmFkIHJpZ2h0IGNvb3JkcwBNYWRlIHBhcnRpdGlvbiB3aXRoIGJhZCBsZWZ0IGNvb3JkcwBSZWNvbXB1dGVkIGJveCBmb3IgcGFydGl0aW9uICVwCgBidWNrZXRzX1tpbmRleCAtIDFdID4gMAAvc3JjL3NyYy9jY3N0cnVjdC9zdGF0aXN0Yy5jcHAAYmxvYi0+b3duZXIoKSA9PSBudWxscHRyIHx8IGJsb2ItPm93bmVyKCkgPT0gdGhpcwBDTElTVF9JVEVSQVRPUjo6YWRkX3RvX2VuZABDTElTVF9JVEVSQVRPUjo6YWRkX2JlZm9yZV9zdGF5X3B1dABDTElTVF9JVEVSQVRPUjo6YXRfZmlyc3QAQ0xJU1RfSVRFUkFUT1I6OmFkZF9hZnRlcl9zdGF5X3B1dABDTElTVF9JVEVSQVRPUjo6YXRfbGFzdABDTElTVF9JVEVSQVRPUjo6ZW1wdHkATkhTUklVVlQAQ29sUGFydDolYyhNJWQtJWMlZC1CJWQvJWQsJWQvJWQpLT4oJWRCLSVkJWMtJWRNLyVkLCVkLyVkKSB3LW9rPSVkLCB2LW9rPSVkLCB0eXBlPSVkJWMlZCwgZmM9JWQsIGxjPSVkLCBib3hlcz0lZCB0cz0lZCBicz0lZCBscz0lZCBycz0lZAoAJXM6AEVycm9yOiVzAGVycm9yAElsbGVnYWwgZXJyb3IgYWN0aW9uAHBhcnQgIT0gbnVsbHB0ciAmJiBtYXRoX2Jsb2NrcyAhPSBudWxscHRyAC9zcmMvc3JjL2NjbWFpbi9lcXVhdGlvbmRldGVjdC5jcHAAcGFydABjcDEgIT0gbnVsbHB0ciAmJiBjcDIgIT0gbnVsbHB0cgAhIlVuZGVmaW5lZCBmbG93IHR5cGUgZm9yIGltYWdlISIAISJVbmRlZmluZWQgZmxvdyB0eXBlIGZvciB0ZXh0ISIAISJTaG91bGQgbmV2ZXIgZ2V0IGhlcmUhIgAqZmlyc3RfY29sID49IDAgJiYgKmxhc3RfY29sID49IDAAL3NyYy9zcmMvdGV4dG9yZC9jb2xwYXJ0aXRpb25zZXQuY3BwACpmaXJzdF9jb2wgPD0gKmxhc3RfY29sAEVMSVNUMl9JVEVSQVRPUjo6Zm9yd2FyZABFTElTVDJfSVRFUkFUT1I6OmF0X2xhc3QARUxJU1QyX0lURVJBVE9SOjphdF9maXJzdABFTElTVDJfSVRFUkFUT1I6OmRhdGEARUxJU1QyX0lURVJBVE9SOjpjeWNsZWRfbGlzdABFTElTVDJfSVRFUkFUT1I6Om1hcmtfY3ljbGVfcHQARUxJU1QyX0lURVJBVE9SOjpzZXRfdG9fbGlzdABsaXN0X3RvX2l0ZXJhdGUgaXMgbnVsbHB0cgBzZWVkICE9IG51bGxwdHIgJiYgcGFydHNfb3ZlcmxhcCAhPSBudWxscHRyAENMSVNUX0lURVJBVE9SOjpkYXRhX3JlbGF0aXZlAHNlZWQgIT0gbnVsbHB0ciAmJiBwYXJ0c190b19tZXJnZSAhPSBudWxscHRyICYmIGNwc19zdXBlcl9iYm94XyAhPSBudWxscHRyAHNlZWQgIT0gbnVsbHB0ciAmJiBwYXJ0c190b19tZXJnZSAhPSBudWxscHRyAGNwc19zdXBlcl9iYm94XwBwYXJ0ICYmIHNwbGl0dGVkX2JveGVzAHBhcnRzX3RvX21lcmdlW2ldICE9IG51bGxwdHIgJiYgcGFydHNfdG9fbWVyZ2VbaV0gIT0gcGFydABfc3B0AHBpeCAhPSBudWxscHRyICYmIHBpeEdldERlcHRoKHBpeCkgPT0gMzIgJiYgYmxvYiAhPSBudWxscHRyAC9zcmMvc3JjL3RleHRvcmQvZXF1YXRpb25kZXRlY3RiYXNlLmNwcABibG9ibmJveCAhPSBudWxscHRyAGAA44CIAOOAiQDjgIoA44CLAOOAjQDjgIwAKnVuaWNoYXJfcmVwciAhPSAnXDAnAC9zcmMvc3JjL2NjdXRpbC91bmljaGFybWFwLmNwcADZgADvrIEAZmkA76yCAGZsAGlkIDwgdGhpcy0+c2l6ZSgpAC9zcmMvc3JjL2NjdXRpbC91bmljaGFyc2V0LmNwcABFTElTVF9JVEVSQVRPUjo6ZGF0YQBFTElTVF9JVEVSQVRPUjo6c2V0X3RvX2xpc3QARUxJU1RfSVRFUkFUT1I6OmZvcndhcmQAVGhpcyBpczogJXAgIEN1cnJlbnQgaXM6ICVwAE5leHQgZWxlbWVudCBvbiB0aGUgbGlzdCBpcyBudWxscHRyAExpc3Qgd291bGQgaGF2ZSByZXR1cm5lZCBhIG51bGxwdHIgZGF0YSBwb2ludGVyAEVMSVNUX0lURVJBVE9SOjpjeWNsZWRfbGlzdABFTElTVF9JVEVSQVRPUjo6bWFya19jeWNsZV9wdABDaG9pY2VzICE9IG51bGxwdHIAL3NyYy9zcmMvY2xhc3NpZnkvYWRhcHRtYXRjaC5jcHAAQWRhcHRpdmVDbGFzc2lmaWVyAEFkYXB0ZWRUZW1wbGF0ZXMgIT0gbnVsbHB0cgBBRCBNYXRjaGVzID0gIAAlcyAgAFVuaWNoYXItaWQ9JWQsIHJhdGluZz0lZywgYWRhcHRlZD0lZCwgY29uZmlnPSVkLCBtaXNzZXM9JWQsICVkIGZvbnRzCgBBAHAAJXgAJWMlZCVjJWQARUxJU1RfSVRFUkFUT1I6OmFkZF90b19lbmQARUxJU1RfSVRFUkFUT1I6OmFkZF9iZWZvcmVfc3RheV9wdXQARUxJU1RfSVRFUkFUT1I6OmF0X2ZpcnN0AEVMSVNUX0lURVJBVE9SOjphZGRfYWZ0ZXJfc3RheV9wdXQARUxJU1RfSVRFUkFUT1I6OmF0X2xhc3QARUxJU1RfSVRFUkFUT1I6Om1vdmVfdG9fbGFzdABDb252ZXJ0TWF0Y2hlc1RvQ2hvaWNlcwBFTElTVF9JVEVSQVRPUjo6bGVuZ3RoAGkgdiB4IEkgViBYAEFNIE1hdGNoZXMgPSAgAHRvcD0lZCwgdnMgWyVkLCAlZF0sIGJvdHRvbT0lZCwgdnMgWyVkLCAlZF0KACVzOiAlMi4xZiUlKENQJTIuMWYsIElNJTIuMWYgKyBDTiUuMmYoJWQpICsgTVAlMi4xZiArIFZQJTIuMWYpCgBpbnRfcmVzdWx0X2NvbmZpZyA+PSAwICYmIGludF9yZXN1bHRfY29uZmlnIDwgZnMuc2l6ZQBJbnRlZ2VyIE1hdGNoZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoAQ29uZmlnICVkLCByYXRpbmc9JWQKAEY9JTNkLCBDPQAlNGQARiA9ICUzZCwgUCA9ICUzZCwgRSA9ICUzZCwgQ29uZmlncyA9IAAxAGNuAEJMIE1hdGNoZXMgPSAgAENQOiVkIGNsYXNzZXMsICVkIGZlYXR1cmVzOgoAJXM6SW5pdGlhbD0lZCwgRT0lZCwgWGh0LWFkaj0lZCwgTj0lZCwgUmF0PSUuMmYKAElOVkFMSURfVU5JQ0hBUl9JRABTaGFwZQAgTnVtIHVuaWNoYXJzPQAgY19pZD0AIGZvbnRzID0AIC4uLiAARj0lM2QoJWQsJWQsJWQpLAAgJXM9JWQsADE2R0VORVJJQ18yRF9BUlJBWUlpRQBtaW5ydW5zLT5kaW0xKCkgPT0gd2lkdGgAL3NyYy9zcmMvY2NzdHJ1Y3Qvbm9ybWFsaXMuY3BwAG1pbnJ1bnMtPmRpbTIoKSA9PSBoZWlnaHQAUG9seTI6c3RhcnRpbmcgYXQgKCVkLCVkKSslZD0oJWQsJWQpLCVkIHRvICglZCwlZCkKAEN1dGxpbmU6RmluYWwgcGVycD0lZAoAcGVycCAhPSAwAC9zcmMvc3JjL2Njc3RydWN0L3BvbHlhcHJ4LmNwcABDdXRsaW5lOkE9JWQsIG1heD0lLjJmKCUuMmYlJSksIG1zZD0lLjJmKCUuMmYlJSkKAHBvcy54ICgpID09IGNfb3V0bGluZS0+c3RhcnRfcG9zICgpLnggKCkgJiYgcG9zLnkgKCkgPT0gY19vdXRsaW5lLT5zdGFydF9wb3MgKCkueSAoKQAhYmxvYl9pdC5kYXRhKCktPmpvaW5lZF90b19wcmV2KCkAaW1hZ2VfbmFtZSAmJiBuYW1lACUwNGQAV2FybmluZzogaW5wdXQgdG9fYmxvY2sgaXMgbnVsbHB0ciEKAE45dGVzc2VyYWN0NkNDVXRpbEUAT2JqZWN0Q2FjaGUoJXApOjp+T2JqZWN0Q2FjaGUoKTogV0FSTklORyEgTEVBSyEgb2JqZWN0ICVwIHN0aWxsIGhhcyBjb3VudCAlZCAoaWQgJXMpCgAuYQBVbmFibGUgdG8gc2F2ZSBhZGFwdGVkIHRlbXBsYXRlcyB0byAlcyEKAApTYXZpbmcgYWRhcHRlZCB0ZW1wbGF0ZXMgdG8gJXMgLi4uAHB0ciAhPSBudWxscHRyAC9zcmMvc3JjL2N1dGlsL2VtYWxsb2MuY3BwAGRlc3RydWN0b3IgIT0gbnVsbHB0cgAvc3JjL3NyYy9jdXRpbC9vbGRsaXN0LmNwcABDb25maWcgIT0gbnVsbHB0cgAvc3JjL3NyYy9jbGFzc2lmeS9hZGFwdGl2ZS5jcHAARnJlZVRlbXBDb25maWcARnJlZVBlcm1Db25maWcAV3JpdGVUZW1wQ29uZmlnAFdyaXRlUGVybUNvbmZpZwBXYXJuaW5nOiBleGVjdXRpbmcgV3JpdGVJbnRUZW1wbGF0ZXMoKSB3aXRoICVkIGNsYXNzZXMgaW4gVGVtcGxhdGVzLCB3aGlsZSB0YXJnZXRfdW5pY2hhcnNldCBzaXplIGlzICVkCgBDbGFzcy0+TnVtQ29uZmlncyA9PSB0aGlzLT5mb250c2V0X3RhYmxlXy5nZXQoQ2xhc3MtPmZvbnRfc2V0X2lkKS5zaXplAC9zcmMvc3JjL2NsYXNzaWZ5L2ludHByb3RvLmNwcAAzMV9UZXNzRnVuY3Rpb25SZXN1bHRDYWxsYmFja18wXzJJTGIwRWJQOF9JT19GSUxFUktOOXRlc3NlcmFjdDdGb250U2V0RUUAMTlUZXNzUmVzdWx0Q2FsbGJhY2sySWJQOF9JT19GSUxFUktOOXRlc3NlcmFjdDdGb250U2V0RUUAMzFfVGVzc0Z1bmN0aW9uUmVzdWx0Q2FsbGJhY2tfMF8ySUxiMEViUDhfSU9fRklMRVJLTjl0ZXNzZXJhY3Q4Rm9udEluZm9FRQAxOVRlc3NSZXN1bHRDYWxsYmFjazJJYlA4X0lPX0ZJTEVSS045dGVzc2VyYWN0OEZvbnRJbmZvRUUATjl0ZXNzZXJhY3Q4Q2xhc3NpZnlFAE45dGVzc2VyYWN0OENDU3RydWN0RQBOOXRlc3NlcmFjdDVDVXRpbEUAdW5pY2hhciAAIG5vdCBmb3VuZCBpbiBjbGFzc2lmaWNhdGlvbiBsaXN0AGJldHRlciByYXRpbmcgZm9yIGFkYXB0ZWQgACB0aGFuIGZvciBjb3JyZWN0IAAgdG8gYmxhbWU6IABTZXRCbGFtZSgpOiAlcwBUcnV0aCAAIChubyBjaGFyIGJveGVzKQAgQ2hvaWNlIABjdADugIMAxb9oAO6AhgDFv2kA7oCHAMW/bADugIgAxb/FvwDugIkAY29ycgBjbABjaG9wAGNsL0xNAHBnbHQAc3NfaGV1cgBzc19wcABjbC9vbGRfTE0AYWRhcHQAbm9fdHJfc3BsAG5vX3RyAHVua24ATjl0ZXNzZXJhY3Q3V29yZHJlY0UATjl0ZXNzZXJhY3QxOFNoaXJvUmVraGFTcGxpdHRlckUAMTZHRU5FUklDXzJEX0FSUkFZSWZFADE2R0VORVJJQ18yRF9BUlJBWUlhRQBzcmMuZGF3Z3MgPT0gbnVsbHB0cgAvc3JjL3NyYy9sc3RtL3JlY29kZWJlYW0uaABfZGVidWcucGRmAEFsbERlYnVnSW1hZ2VzAE45dGVzc2VyYWN0OVRlc3NlcmFjdEUATjl0ZXNzZXJhY3QxNEVxdWF0aW9uRGV0ZWN0RQBOOXRlc3NlcmFjdDE4RXF1YXRpb25EZXRlY3RCYXNlRQBOOXRlc3NlcmFjdDEyUGFnZUl0ZXJhdG9yRQBDb3JydXB0ZWQgd29yZCEgYmVzdF9jaG9pY2VbbGVuPSVkXSA9ICVzLCBib3hfd29yZFtsZW49JWRdOiAAd29yZF9yZXMtPmJveF93b3JkLT5sZW5ndGgoKSA9PSB3b3JkX2xlbmd0aF8AL3NyYy9zcmMvY2NtYWluL3BhZ2VpdGVyYXRvci5jcHAAQm91bmRpbmcgYm94PSglZCwlZCktPiglZCwlZCkKAEVMSVNUX0lURVJBVE9SOjplbXB0eQBwYWdlX3JlcyA9PSBvdGhlci5wYWdlX3JlcwAvc3JjL3NyYy9jY3N0cnVjdC9wYWdlcmVzLmNwcABvdGhlci53b3JkX3JlcyAhPSBudWxscHRyICYmIHdvcmRfcmVzICE9IG51bGxwdHIAIkVycm9yOiBJbmNvbXBhcmFibGUgUEFHRV9SRVNfSVRzIiA9PSBudWxscHRyAE45dGVzc2VyYWN0MTdMVFJSZXN1bHRJdGVyYXRvckUAdW5pY2hhcl9pZABibG9iX2luZGljZXMtPnNpemUoKSA9PSB3b3JkX2xlbmd0aF8AL3NyYy9zcmMvY2NtYWluL3Jlc3VsdGl0ZXJhdG9yLmNwcADigI8A4oCOAGl0Xy0+d29yZCgpLT5iZXN0X2Nob2ljZSAhPSBudWxscHRyAHJ0bABsdHIAU3Ryb25nIFNjcmlwdCBkaXJzICAgICBbJXAvUD0lc106IABMb2dpY2FsIHRleHRsaW5lIG9yZGVyIFslcC9QPSVzXTogAE51bSBzcGFjZXM9JWQsIHRleHQ9JXMKACVkIHdvcmRzIHByaW50ZWQKAE4gAEwgAFIgAFogAD8gAE5leHQoUklMX1dPUkQpOiAlZCAtPiAlZAoATmV4dChSSUxfV09SRCk6ICVkIC0+IEVPTAoATjl0ZXNzZXJhY3QxNU11dGFibGVJdGVyYXRvckUATjl0ZXNzZXJhY3QxNFJlc3VsdEl0ZXJhdG9yRQBGcmFrdHVyAEltYWdlIHRvbyBsYXJnZTogKCVkLCAlZCkKAE45dGVzc2VyYWN0MTZJbWFnZVRocmVzaG9sZGVyRQByb3cgPj0gY29sdW1uAC9zcmMvc3JjL2Njc3RydWN0L21hdHJpeC5oAHJvdyAtIGNvbHVtbiA8IHRoaXMtPmRpbTJfADE2R0VORVJJQ18yRF9BUlJBWUlQMTZCTE9CX0NIT0lDRV9MSVNURQA2TUFUUklYADEzQmFuZFRyaU1hdHJpeElQMTZCTE9CX0NIT0lDRV9MSVNURQBKb2luZWQAfEJyb2tlbnwwfDEA4oCqAOKArABtZgBpZgB0YgBwZgBvZgAlZzoAW0pdAFtCXQAgJXMKACVnOiBjX2lkPSVkPSVzACBGb250IFZlY3RvcjoAIk11c3QgaW1wbGVtZW50IENsYXNzaWZ5U2FtcGxlISIgPT0gbnVsbHB0cgAvc3JjL3NyYy9jbGFzc2lmeS9zaGFwZWNsYXNzaWZpZXIuY3BwAE45dGVzc2VyYWN0MTVTaGFwZUNsYXNzaWZpZXJFAE5vIGJ1aWx0LWluIHRlbXBsYXRlcyBmb3IgY2xhc3Mvc2hhcGUgJWQKAE45dGVzc2VyYWN0MTRUZXNzQ2xhc3NpZmllckUATjl0ZXNzZXJhY3Q0RGF3Z0UARk9SV0FSRAAgICAgICAgAExBU1QAICAgIABFT1cAICAgACVsbGQgOiBuZXh0ID0gJWxsZCwgdW5pY2hhcl9pZCA9ICVkLCAlcyAlcyAlcwoAJWxsZCA6IG5vIGVkZ2VzIGluIHRoaXMgbm9kZQoAZm9yd2FyZF9lZGdlKGVkZ2UpAC9zcmMvc3JjL2RpY3QvZGF3Zy5oAHVuaWNoYXJfaWRzX29mAE45dGVzc2VyYWN0MTJTcXVpc2hlZERhd2dFAOKAgADigIEA4oCCAOKAgwDigIQA4oCFACVsbGQgKCVkICVkKTogAFIsAEIALEUAfCVsbGR8JXMlcyVzfCVkfABlZGdlX2NoYXJfb2YoKSBnaXZlbiBub2RlX3JlZiAlbGxkIG5leHRfbm9kZSAlbGxkIGRpcmVjdGlvbiAlZCB3b3JkX2VuZCAlZCB1bmljaGFyX2lkICVkLCBleHBsb3Jpbmcgbm9kZToKAG5vZGVfcmVmIDwgbm9kZXNfLnNpemUoKQAvc3JjL3NyYy9kaWN0L3RyaWUuY3BwAGVkZ2VfY2hhcl9vZgBOOXRlc3NlcmFjdDRUcmllRQBuZXR3b3JrX2lvXyA9PSBudWxscHRyAC9zcmMvc3JjL2xzdG0vbmV0d29ya3NjcmF0Y2guaABzcmMuaW50X21vZGVfID09IGludF9tb2RlXwAvc3JjL3NyYy9sc3RtL25ldHdvcmtpby5jcHAAMCA8PSBpbmRpY2VzX1tGRF9CQVRDSF0AL3NyYy9zcmMvbHN0bS9zdHJpZGVtYXAuY3BwAE1heEluZGV4T2ZEaW0AaW50X21vZGVfID09IHNyYy5pbnRfbW9kZV8AbnVtX2J5dGVzID09IDEgfHwgbnVtX2J5dGVzID09IDIgfHwgbnVtX2J5dGVzID09IDQgfHwgbnVtX2J5dGVzID09IDgAL3NyYy9zcmMvY2N1dGlsL2hlbHBlcnMuaABSZXZlcnNlTgAhaXNfd3JpdGluZ18AL3NyYy9zcmMvY2N1dGlsL3NlcmlhbGlzLmNwcABzaXplID4gMABjb3VudCA+PSAwAGlzX3dyaXRpbmdfAFNJWkVfTUFYIC8gc2l6ZSA+IGNvdW50AEludmFsaWQASW5wdXQAQ29udm9sdmUATWF4cG9vbABQYXJhbGxlbABSZXBsaWNhdGVkAFBhckJpZGlMU1RNAERlcFBhclVETFNUTQBQYXIyZExTVE0AU2VyaWVzAFJlY29uZmlnAFJUTFJldmVyc2VkAFRUQlJldmVyc2VkAFhZVHJhbnNwb3NlAExTVE0AU3VtbUxTVE0ATG9naXN0aWMATGluTG9naXN0aWMATGluVGFuaABUYW5oAFJlbHUATGluZWFyAFNvZnRtYXgAU29mdG1heE5vQ1RDAExTVE1Tb2Z0bWF4AExTVE1CaW5hcnlTb2Z0bWF4AFRlbnNvckZsb3cATXVzdCBvdmVycmlkZSBOZXR3b3JrOjpEZWJ1Z1dlaWdodHMgZm9yIHR5cGUgJWQKAE11c3Qgb3ZlcnJpZGUgTmV0d29yazo6QmFja3dhcmQgZm9yIHR5cGUgJWQKAE11c3Qgb3ZlcnJpZGUgTmV0d29yazo6Rm9yd2FyZCBmb3IgdHlwZSAlZAoASW52YWxpZCBuZXR3b3JrIGxheWVyIHR5cGU6JXMKAGluZGV4ID49IDAAPwBOOXRlc3NlcmFjdDdOZXR3b3JrRQBOOXRlc3NlcmFjdDhDb252b2x2ZUUAIkludmFsaWQgZnVsbHktY29ubmVjdGVkIHR5cGUhIiA9PSBudWxscHRyAC9zcmMvc3JjL2xzdG0vZnVsbHljb25uZWN0ZWQuY3BwAC9zcmMvc3JjL2xzdG0vd2VpZ2h0bWF0cml4LmNwcAB1LmRpbTEoKSA9PSBudW1fb3V0cHV0cwB1LmRpbTIoKSA9PSB2LmRpbTIoKQB2LmRpbTEoKSA9PSBudW1faW5wdXRzADE2R0VORVJJQ18yRF9BUlJBWUlkRQBOOXRlc3NlcmFjdDE1VHJhbnNwb3NlZEFycmF5RQBtdWx0aXBsaWVyXyAhPSBudWxscHRyAGludF9tb2RlXwBudW1fb3V0cHV0cyA9PSBvdGhlci51cGRhdGVzXy5kaW0xKCkAbnVtX2lucHV0cyA9PSBvdGhlci51cGRhdGVzXy5kaW0yKCkAJTRkOiUtM2QgAFRvdGFsIGNvdW50PSVkCgBNaW49JS4yZiBSZWFsbHk9JWQKAExvd2VyIHF1YXJ0aWxlPSUuMmYKAE1lZGlhbj0lLjJmLCBpbGUoMC41KT0lLjJmCgBVcHBlciBxdWFydGlsZT0lLjJmCgBNYXg9JS4yZiBSZWFsbHk9JWQKAFJhbmdlPSVkCgBNZWFuPSAlLjJmCgBTRD0gJS4yZgoARnQARnMARnIARmwARnAARmMARm0ATjl0ZXNzZXJhY3QxNEZ1bGx5Q29ubmVjdGVkRQBJbnB1dDo6QmFja3dhcmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQhIQoATjl0ZXNzZXJhY3Q1SW5wdXRFACF2X2lvLmludF9tb2RlXwAvc3JjL3NyYy9sc3RtL2xzdG0uY3BwAFRlbnNvckZsb3cgbm90IGNvbXBpbGVkIGluISAtRElOQ0xVREVfVEVOU09SRkxPVwoAbm9fID09IG5ldHdvcmstPk51bUlucHV0cygpAC9zcmMvc3JjL2xzdG0vcGx1bWJpbmcuY3BwAG5pXyA9PSBuZXR3b3JrLT5OdW1JbnB1dHMoKQBzdGFja19zaXplID4gMQAvc3JjL3NyYy9sc3RtL3Nlcmllcy5jcHAAb3RoZXIudHlwZSgpID09IHR5cGVfAHBsdW1iaW5nLT5zdGFja18uc2l6ZSgpID09IHN0YWNrXy5zaXplKCkATnVtIChFeHRlbmRlZCkgb3V0cHV0cyx3ZWlnaHRzIGluIFNlcmllczoKAFRvdGFsIHdlaWdodHMgPSAlZAoAICAlczolZCwgJWQKAE51bSBvdXRwdXRzLHdlaWdodHMgaW4gU2VyaWVzOgoAU3ViLWNsYXNzZXMgb2YgUGx1bWJpbmcgbXVzdCBpbXBsZW1lbnQgc3BlYygpIQBOOXRlc3NlcmFjdDhQbHVtYmluZ0UATjl0ZXNzZXJhY3Q2U2VyaWVzRQBSeQBUeHkAUngATjl0ZXNzZXJhY3Q4UmV2ZXJzZWRFAE45dGVzc2VyYWN0OFJlY29uZmlnRQAhc3JjLmludF9tb2RlXwBudW1fZmVhdHVyZXMgKyBmZWF0dXJlX29mZnNldCA8PSBzcmMuTnVtRmVhdHVyZXMoKQByZXN1bHQtPldpZHRoKCkgPT0gb3V0cHV0LT5XaWR0aCgpAC9zcmMvc3JjL2xzdG0vcGFyYWxsZWwuY3BwAHdpZHRoIDw9IFdpZHRoKCkAbnVtX2ZlYXR1cmVzICsgZmVhdHVyZV9vZmZzZXQgPD0gTnVtRmVhdHVyZXMoKQBMMnh5AExieHMATGJ4AFIATjl0ZXNzZXJhY3Q4UGFyYWxsZWxFAE1wAE45dGVzc2VyYWN0N01heHBvb2xFAG5vID09IG5zAExTVE0gU29mdG1heAAlZCBpcyBpbnZhbGlkIHR5cGUgb2YgTFNUTSEKACBHYXRlIHdlaWdodHMgAExmeABMZnhzAExTAExFAE45dGVzc2VyYWN0NExTVE1FAE45dGVzc2VyYWN0NkJCR3JpZEk4QkxPQk5CT1gxNEJMT0JOQk9YX0NMSVNUMTNCTE9CTkJPWF9DX0lURUUATjl0ZXNzZXJhY3Q4R3JpZEJhc2VFAE45dGVzc2VyYWN0MTFBbGlnbmVkQmxvYkUATjl0ZXNzZXJhY3Q4QmxvYkdyaWRFAE45dGVzc2VyYWN0N0ludEdyaWRFAE45dGVzc2VyYWN0MTVDQ05vblRleHREZXRlY3RFAE45dGVzc2VyYWN0N1RhYkZpbmRFAE45dGVzc2VyYWN0NkJCR3JpZElOU18xMkNvbFBhcnRpdGlvbkVOU18xOENvbFBhcnRpdGlvbl9DTElTVEVOU18xN0NvbFBhcnRpdGlvbl9DX0lURUVFAE45dGVzc2VyYWN0MTJDb2x1bW5GaW5kZXJFAEJsb2NrIGJveDoATjl0ZXNzZXJhY3QxNkNvbFBhcnRpdGlvbkdyaWRFAExlZnQgZ2FwPSVkLCByaWdodD0lZCwgYWJvdmU9JWQsIGJlbG93PSVkLCBob3J6PSVkLCB2ZXJ0PSVkCkdvb2Q9ICAgICVkICAgICAgICAlZCAgICAgICAgJWQgICAgICAgICVkCgBCb3ggKCVkLCVkKS0+KCVkLCVkKTogaC13aWR0aD0lLjFmLCB2LXdpZHRoPSUuMWYgcC13aWR0aD0lMS5mCgBOOXRlc3NlcmFjdDExU3Ryb2tlV2lkdGhFAExlZnQgQWxpZ25lZABMZWZ0IFJhZ2dlZABDZW50ZXIAUmlnaHQgQWxpZ25lZABSaWdodCBSYWdnZWQAU2VwYXJhdG9yAG5vbmFtZS50aWYAZmFpbGVkX3ZhcnMudHh0AC9zcmMvc3JjL2FwaS9iYXNlYXBpLmNwcABXYXJuaW5nOiBVc2VyIGRlZmluZWQgaW1hZ2UgZHBpIGlzIG91dHNpZGUgb2YgZXhwZWN0ZWQgcmFuZ2UgKCVkIC0gJWQpIQoAV2FybmluZzogSW52YWxpZCByZXNvbHV0aW9uICVkIGRwaS4gVXNpbmcgJWQgaW5zdGVhZC4KAEVzdGltYXRlZCBpbnRlcm5hbCByZXNvbHV0aW9uICVkIG91dCBvZiByYW5nZSEgQ29ycmVjdGVkIHRvICVkLgoATjl0ZXNzZXJhY3QxMVRlc3NCYXNlQVBJRQBOOXRlc3NlcmFjdDE4VGVzc1Jlc3VsdFJlbmRlcmVyRQB7IGlmKE1vZHVsZVsnVGVzc2VyYWN0UHJvZ3Jlc3MnXSkgTW9kdWxlWydUZXNzZXJhY3RQcm9ncmVzcyddKCQwKTsgfQAhd29yZF9yZXMtPnBhcnRfb2ZfY29tYm8AIXdfaXQuY3ljbGVkX2xpc3QoKQAhd3JfaXQuY3ljbGVkX2xpc3QoKQAhd29yZF9yZXNfaXQuY3ljbGVkX2xpc3QoKQBFTElTVF9JVEVSQVRPUjo6bW92ZV90b19maXJzdABFTElTVF9JVEVSQVRPUjo6ZXh0cmFjdABMaXN0IGN1cnJlbnQgcG9zaXRpb24gaXMgbnVsbHB0cgBFTElTVDJfSVRFUkFUT1I6OmV4dHJhY3QAd29yZC0+YmVzdF9jaG9pY2UtPmxlbmd0aCgpID09IHdvcmQtPnJlamVjdF9tYXAubGVuZ3RoKCkAL3NyYy9zcmMvY2NtYWluL291dHB1dC5jcHAARGljdCB3b3JkOiAiJXMiOiAlZAoAaW5kZXggPCBsZW4AL3NyYy9zcmMvY2NzdHJ1Y3QvcmVqY3RtYXAuaABBZGRpbmcgaHlwaGVuIGJlZ2lubmluZyBkYXdnIFslZCwgJWxsZF0KAEFkZGluZyBiZWdpbm5pbmcgcHVuYyBkYXdnIFslZCwgJWxsZF0KAEFkZGluZyBiZWdpbm5pbmcgZGF3ZyBbJWQsICVsbGRdCgB1bmljaGFyc2V0XyA9PSBzZWNvbmQudW5pY2hhcnNldF8AL3NyYy9zcmMvY2NzdHJ1Y3QvcmF0bmdzLmNwcABjb3B5X2h5cGhlbl9pbmZvOiAAJXMgOiAAIDogUj0lZywgQz0lZywgRj0lZywgUGVybT0lZCwgeGh0PVslZywlZ10sIGFtYmlnPSVkCgBwb3MACnN0cgAJJXMACnN0YXRlOgAKQwAJJWQgAAklLjNmAFNQX1VOS05PV04ARFJPUEMAU1VQRVIAU1VCAE5PUk0AbGVuZ3RoID4gMCAmJiBsZW5ndGggPD0gVU5JQ0hBUl9MRU4AdW5pY2hhcl90b19pZABzdGFydCA+PSAwICYmIHN0YXJ0ICsgbnVtIDw9IGxlbmd0aF8AcG9zID49IDAAL3NyYy9zcmMvY2NzdHJ1Y3QvcmVqY3RtYXAuY3BwAHBvcyA8IGxlbgBsZW4gPiAwAAoKVEVTVFdEOjoAY2xhc3NpZnlfd29yZF9wYXNzMSBzdGFydAoAbWFrZV9yZWplY3RfbWFwOiBpbml0aWFsIG1hcABtYWtlX3JlamVjdF9tYXA6IGFmdGVyIE5OAGNsYXNzaWZ5X3dvcmRfcGFzczIgLSBTVEFSVABjbGFzc2lmeV93b3JkX3Bhc3MyIC0gUHJlIFhodABjbGFzc2lmeV93b3JkX3Bhc3MyIC0gRU5EAGZpeHNwYWNlAE1NIHBhc3MgU1RBUlQATU0gcGFzcyBFTkQAQWZ0ZXIgUG9vciBxdWFsaXR5IHJlamVjdGlvbgB1bnJlal9nb29kX3F1YWxpdHlfd29yZHMgLSBTVEFSVAB1bnJlal9nb29kX3F1YWxpdHlfd29yZHMgLSBFTkQAV3JpdGUgcmVzdWx0cyBwYXNzACAiJXMiIAAiJXMiCgAqKioqICIlYyIgKioqKgoAbnVsbCBiZXN0IGNob2ljZQoAVGVzcyBBY2NlcHRlZDogJXMKAERvbmUgZmxhZzogJXMKCgBUAEYAUl9URVNTX0ZBSUxVUkU6ICVzCgBSX1NNQUxMX1hIVDogJXMKAFJfRURHRV9DSEFSOiAlcwoAUl8xSUxfQ09ORkxJQ1Q6ICVzCgBSX1BPU1ROTl8xSUw6ICVzCgBSX1JFSl9DQkxPQjogJXMKAFJfTU1fUkVKRUNUOiAlcwoAUl9CQURfUkVQRVRJVElPTjogJXMKAFJfUE9PUl9NQVRDSDogJXMKAFJfTk9UX1RFU1NfQUNDRVBURUQ6ICVzCgBSX0NPTlRBSU5TX0JMQU5LUzogJXMKAFJfQkFEX1BFUk1VVEVSOiAlcwoAUl9IWVBIRU46ICVzCgBSX0RVQklPVVM6ICVzCgBSX05PX0FMUEhBTlVNUzogJXMKAFJfTU9TVExZX1JFSjogJXMKAFJfWEhUX0ZJWFVQOiAlcwoAUl9CQURfUVVBTElUWTogJXMKAFJfRE9DX1JFSjogJXMKAFJfQkxPQ0tfUkVKOiAlcwoAUl9ST1dfUkVKOiAlcwoAUl9VTkxWX1JFSjogJXMKAFJfSFlQSEVOX0FDQ0VQVDogJXMKAFJfTk5fQUNDRVBUOiAlcwoAUl9NTV9BQ0NFUFQ6ICVzCgBSX1FVQUxJVFlfQUNDRVBUOiAlcwoAUl9NSU5JTUFMX1JFSl9BQ0NFUFQ6ICVzCgAiJXMiAEJsYW5rcz0gJWQKAEZsYWdzID0gJWQgPSAwJW8KAFRSVUUARkFMU0UgACAgIFdfU0VHTUVOVEVEID0gJXMKACAgIFdfSVRBTElDID0gJXMKACAgIFdfQk9MID0gJXMKACAgIFdfRU9MID0gJXMKACAgIFdfTk9STUFMSVpFRCA9ICVzCgAgICBXX1NDUklQVF9IQVNfWEhFSUdIVCA9ICVzCgAgICBXX1NDUklQVF9JU19MQVRJTiA9ICVzCgAgICBXX0RPTlRfQ0hPUCA9ICVzCgAgICBXX1JFUF9DSEFSID0gJXMKACAgIFdfRlVaWllfU1AgPSAlcwoAICAgV19GVVpaWV9OT04gPSAlcwoAQ29ycmVjdD0gJXMKAFJlamVjdGVkIGNibG9iIGNvdW50ID0gJWQKAFNjcmlwdCA9ICVkCgBNb3N0IGNoYXJhY3RlcnMgb2YgJXMgYXJlIHN1YnNjcmlwdCBvciBzdXBlcnNjcmlwdC4KVGhhdCBzZWVtcyB3cm9uZywgc28gSSdsbCBhc3N1bWUgd2UgZ290IHRoZSBiYXNlbGluZSB3cm9uZwoAU2V0U2NyaXB0UG9zaXRpb24gb24gJXMKACVzIENoYXJhY3RlciAlc1tib3Q6JWQgdG9wOiAlZF0gIGJvdF9yYW5nZVslZCwlZF0gIHRvcF9yYW5nZVslZCwgJWRdIHN1Yl90aHJlc2hbYm90OiVkIHRvcDolZF0gIHN1cF90aHJlc2hfYm90ICVkCgBCbGFtZSByZWFzb25zOgoATWlzYWRhcHRpb24gbG9nOgoATGFzdENoYW5jZUJsYW1lAFJlamVjdGVkIHRydXRoAENob2ljZSBpcyBpbmNvcnJlY3QgYWZ0ZXIgcmVjb2duaXRpb24AQ29ycmVjdGVkICVzCgBtb2RhbF9mb250ICE9IG51bGxwdHIAL3NyYy9zcmMvY2NtYWluL2NvbnRyb2wuY3BwAFFVQUxJVFk6IG51bV9jaHM9ICVkICBudW1fcmVqcz0gJWQgJTUuM2YgYmxvYl9xdWFsPSAlZCAlNS4zZiBvdXRsaW5lX2VycnM9ICVkICU1LjNmIGNoYXJfcXVhbD0gJWQgJTUuM2YgZ29vZF9jaF9xdWFsPSAlZCAlNS4zZgoAQk9MIENSVU5DSCBERUxFVElORyglZCk6ICIlcyIKAEVPTCBDUlVOQ0ggREVMRVRJTkcoJWQpOiAiJXMiCgByZWplY3RfbWFwLmxlbmd0aCgpID09IGxlbgBib3hfd29yZC0+bGVuZ3RoKCkgPT0gbGVuAGJlc3RfY2hvaWNlLT5sZW5ndGgoKSA9PSAwIHx8IHJhdGluZ3MgIT0gbnVsbHB0cgBFTElTVF9JVEVSQVRPUjo6YWRkX2JlZm9yZV90aGVuX21vdmUAMjlfVGVzc01lbWJlclJlc3VsdENhbGxiYWNrXzBfMklMYjBFaThXRVJEX1JFU2lpRQAxOVRlc3NSZXN1bHRDYWxsYmFjazJJaWlpRQBUIENSVU5DSElORzogIiVzIgoAUDEgQ1JVTkNISU5HOiAiJXMiCgBQMiBDUlVOQ0hJTkc6ICIlcyIKAFAzIENSVU5DSElORzogIiVzIgoATk8gQ1JVTkNIOiAiJXMiCgBQb3RlbnRpYWwgcG9vciByYXRpbmcgb24gIiVzIgoAUG90ZW50aWFsIHBvb3IgY2VydCBvbiAiJXMiCgBQb3RlbnRpYWwgZ2FyYmFnZSBvbiAiJXMiCgBUZXJyaWJsZV93b3JkX2NydW5jaCAoJWQpIG9uICIlcyIKADAgPD0gbGVuAC9zcmMvc3JjL2NjdXRpbC9zdHJuZ3MuaABnYXJiYWdlX3dvcmQ6ICIlcyIKAExFTjogJWQgIGJhZDogJWQgIGlzb19OOiAlZCAgaXNvX0E6ICVkICByZWo6ICVkCgBSRUpFQ1QgQUxMICNjaGFyczogJWQgI1JlamVjdHM6ICVkOyAKAE5PIFBBR0UgUkVKRUNUSU9OICNjaGFyczogJWQgICMgUmVqZWN0czogJWQ7IAoAUkVKRUNUSU5HIEJMT0NLICVkICAjY2hhcnM6ICVkOyAgI1JlamVjdHM6ICVkCgBOT1QgUkVKRUNUSU5HIEJMT0NLICVkICNjaGFyczogJWQgICMgUmVqZWN0czogJWQ7IAoAUkVKRUNUSU5HIFJPVyAlZCAgI2NoYXJzOiAlZDsgICNSZWplY3RzOiAlZAoATk9UIFJFSkVDVElORyBST1cgJWQgI2NoYXJzOiAlZCAgIyBSZWplY3RzOiAlZDsgCgAyOV9UZXNzTWVtYmVyUmVzdWx0Q2FsbGJhY2tfMF8xSUxiMEV2Tjl0ZXNzZXJhY3QxNkRvY1F1YWxDYWxsYmFja3NFaUUAMTNUZXNzQ2FsbGJhY2sxSWlFAHJlYWRfcGFyYW1zX2ZpbGU6IENhbid0IG9wZW4gJXMKAFdhcm5pbmc6IFBhcmFtZXRlciBub3QgZm91bmQ6ICVzCgAlcwklZAklcwoAJXMJJXMJJXMKACVzCSVnCSVzCgBTa2lwcGluZyBiZWNhdXNlIG9uZSBvZiB0aGUgd29yZHMgaXMgV19SRVBfQ0hBUgoAVG9wIGNob2ljZSAiJXMgJXMiIHZlcmlmaWVkIGJ5IGJpZ3JhbSBtb2RlbC4KAEV4YW1pbmluZyBhbHQgY2hvaWNlcyBmb3IgIiVzICVzIi4KAFRvcCBjaG9pY2UgIiVzICVzIiB2ZXJpZmllZCAoc2FucyBjYXNlKSBieSBiaWdyYW0gbW9kZWwuCgBUaGlzIHdhcyB0aGUgdW5pcXVlIGJpZ3JhbSBjaG9pY2UuAFRoZXJlIHdlcmUgbWFueSBjaG9pY2VzOiB7AH0AVGhlcmUgd2VyZSAAIGNvbXBhdGlibGUgYmlncmFtcy4AUmVwbGFjZWQgIiVzICVzIiB3aXRoICIlcyAlcyIgd2l0aCBiaWdyYW0gbW9kZWwuICVzCgAiLCAiAEFsdGVybmF0ZXMgZm9yICIlcyI6IHsiJXMifQoAcmVzZXJ2ZWRfID4gbGVuZ3RoXwBhcHBlbmRfdW5pY2hhcl9pZF9zcGFjZV9hbGxvY2F0ZWQAaW5kZXggPCBsZW5ndGhfAHNldF91bmljaGFyX2lkAHN0YXJ0ID49IDAgJiYgc3RhcnQgPD0gbGVuZ3RoXwBlbmQgPj0gMCAmJiBlbmQgPD0gbGVuZ3RoXwBEaWN0aW9uYXJ5IGNvcnJlY3Rpb24gcmVwbGFjZXMgYmVzdCBjaG9pY2UgJyVzJyB3aXRoICclcycKAEVMSVNUX0lURVJBVE9SOjphZGRfbGlzdF9iZWZvcmUARUxJU1RfSVRFUkFUT1I6OmFkZF9saXN0X2FmdGVyAEVMSVNUX0lURVJBVE9SOjphZGRfYWZ0ZXJfdGhlbl9tb3ZlAFByb2Nlc3NpbmcAQWxyZWFkeSBkb25lACVzIHdvcmQgd2l0aCBsYW5nICVzIGF0OgB3b3JkX2RhdGEtPndvcmQtPmJveF93b3JkICE9IG51bGxwdHIAbm8gYmVzdCB3b3JkcyEhCgAlcyAob2NyIHRvb2sgJS4yZiBzZWMpCgBFTElTVDJfSVRFUkFUT1I6OmFkZF9iZWZvcmVfc3RheV9wdXQARUxJU1RfSVRFUkFUT1I6OnNvcnQAYmxhbWVyX2J1bmRsZSAhPSBudWxscHRyAENvbnN1bWVXb3JkUmVzdWx0cwBUcnlpbmcgd29yZCB1c2luZyBsYW5nICVzLCBvZW0gJWQKAExhbmcgcmVzdWx0AHdvcnNlAGJldHRlcgAlZCBuZXcgd29yZHMgJXMgdGhhbiAlZCBvbGQgd29yZHM6IHI6ICVnIHYgJWcgYzogJWcgdiAlZyB2YWxpZCBkaWN0OiAlZCB2ICVkCgBCZXN0IGNob2ljZTogYWNjZXB0ZWQ9JWQsIGFkYXB0YWJsZT0lZCwgZG9uZT0lZCA6IAA8TnVsbCBjaG9pY2U+CgBPbGQgbWlzZml0cz0lZCB3aXRoIHgtaGVpZ2h0ICVmLCBuZXc9JWQgd2l0aCB4LWhlaWdodCAlZgoAT2xkIHJhdGluZz0gJWYsIGNlcnRhaW50eT0lZiwgbmV3PSVmLCAlZgoATmV3IFhIVCBNYXRjaDolcyA9ICVzIAAgLT4gJXMgPSAlcyAAQ0VSVABHVUVTUwBTVElMTCBET1VCVAAgJXMtPiVzICVzICVzCgBEaXNjYXJkaW5nIGNob2ljZSAiJXMiIHdpdGggYW4gb3Zlcmx5IGxvdyBjZXJ0YWludHkgJS4zZiB2cyBiZXN0IGNob2ljZSBjZXJ0YWludHkgJS4zZiAoVGhyZXNob2xkOiAlLjNmKQoARGlzY2FyZGluZyBkdXBsaWNhdGUgY2hvaWNlICIlcyIsIHJhdGluZyAlZyB2cyAlZwoAQmVzdABTZWNvbmRhcnkATmV3ICVzAFBvb3IAIFdvcmQgQ2hvaWNlAGJveF93b3JkICE9IG51bGxwdHIAYmxvYl9jb3VudCA9PSBib3hfd29yZC0+bGVuZ3RoKCkAQ2xhc3MgJXM6IGhlaWdodD0lZCwgYm90dG9tPSVkLCVkIHRvcD0lZCwlZCwgYWN0dWFsPSVkLCVkOiAAIHhodCByYW5nZSBtaW49JWQsIG1heD0lZAoAIGJvdHRvbSBzaGlmdCBtaW49JWQsIG1heD0lZAoAIGFscmVhZHkgT0sKAEFwcGx5aW5nIGJvdHRvbSBzaGlmdD0lZAoAYmFzZWxpbmUgc2hpZnQ9JWcKAE1lZGlhbiB4aHQ9JWYKAE1vZGUyMDpBOiBOZXcgeC1oZWlnaHQgPSAlZiAobm9ybSksICVmIChvcmlnKQoATWlzZml0AENsYXNzICVzIGlzICVzIHdpdGggdG9wICVkIHZzIGxpbWl0cyBvZiAlZC0+JWQsICsvLSVkCgBzdWIAc3VwZXIAQ2FuZGlkYXRlIGZvciBzdXBlcnNjcmlwdCBkZXRlY3Rpb246ICVzICgAJWQuJWQgJXMtbGVhZGluZyAAJWQuJWQgJXMtdHJhaWxpbmcgACBDZXJ0YWludGllcyAtLSBBdmVyYWdlOiAlLjJmICBVbmxpa2VseSB0aHJlc2g6ICUuMmYgIABPcmlnLiBsZWFkaW5nIChtaW4pOiAlLjJmICAAT3JpZy4gdHJhaWxpbmcgKG1pbik6ICUuMmYgIAAgcmVjb2duaXppbmcgZmlyc3QgJWQgY2hvcHBlZCBibG9icwoAIFRoZSBsZWFkaW5nIGJpdHMgbG9vayBsaWtlICVzICVzCgAgcmVjb2duaXppbmcgbWlkZGxlICVkIGNob3BwZWQgYmxvYnMKACByZWNvZ25pemluZyBsYXN0ICVkIGNob3BwZWQgYmxvYnMKACBUaGUgdHJhaWxpbmcgYml0cyBsb29rIGxpa2UgJXMgJXMKAFJFSkVDVABBQ0NFUFQAJXMgc3VwZXJzY3JpcHQgZml4OiAlcwoAd29yZC0+cmF0aW5ncy0+ZGltZW5zaW9uKCkgPT0gcmF0MSArIHJhdDIAL3NyYy9zcmMvY2NtYWluL3RmYWNlcHAuY3BwAEJsYW1lIGZyb20gcGFydCAxOiAAQmxhbWUgZnJvbSBwYXJ0IDI6IAAgUmVqZWN0aW5nOiBzdXBlcnNjcmlwdCBpcyBpdGFsaWMuCgAgUmVqZWN0aW5nOiBwdW5jdHVhdGlvbiBwcmVzZW50LgoAIFJlamVjdGluZzogZG9uJ3QgYmVsaWV2ZSBjaGFyYWN0ZXIgJXMgd2l0aCBjZXJ0YWludHkgJS4yZiB3aGljaCBpcyBsZXNzIHRoYW4gdGhyZXNob2xkICUuMmYKACBSZWplY3Rpbmc6IGNoYXJhY3RlciAlcyBzZWVtcyB0b28gc21hbGwgQCAlLjJmIHZlcnN1cyBleHBlY3RlZCAlLjJmCgAgQWNjZXB0OiB3b3JzdCByZXZpc2VkIGNlcnRhaW50eSBpcyAlLjJmCgByZWNvZ193b3JkOiBEaXNjYXJkZWQgbG9uZyBzdHJpbmcgIiVzIiAoJWQgY2hhcmFjdGVycyB2cyAlZCBibG9icykKAFdvcmQgaXMgYXQ6AC9zcmMvc3JjL3dvcmRyZWMvdGZhY2UuY3BwAHJhd19jaG9pY2UgaGFzIHRvdGFsIG9mIHN0YXRlcyA9ICVkIHZzIHJhdGluZ3MgZGltIG9mICVkCgBDb29rZWQgIyVkIGhhcyB0b3RhbCBvZiBzdGF0ZXMgPSAlZCB2cyByYXRpbmdzIGRpbSBvZiAlZAoACkJlc3QgUmF3IENob2ljZQAKQ29va2VkIENob2ljZSAjAEluaXRpYWw6AEZpbmFsIFJhdGluZ3MgTWF0cml4OgoACkZpbHRlcmluZyBhZ2FpbnN0IGJlc3QgY2hvaWNlAFdvcnN0Q2VydGFpbnR5RGlmZldvcnNlVGhhbgBpICVkIGogJWQgQ2hvaWNlLT5CbG9iW2ldLkNlcnRhaW50eSAlLjRnIFdvcnN0T3RoZXJDaG9pY2VDZXJ0YWludHkgJWcgVGhyZXNob2xkICVnCgBEaXNjYXJkaW5nIGJhZCBjaG9pY2UgIyVkCgBSYXRpbmdzIE1hdHJpeCAodG9wIDMgY2hvaWNlcykKAGNvbD0lZCByb3c9JWQgACVzIHJhdD0lZyBjZXJ0PSVnIAAJJWQAJWQJACAJAEZpbmFsIHNlYW0gbGlzdDoAUGFpbiBwb2ludHMgcXVldWUgaXMgZW1wdHkKAG51bV9mdXRpbGVfY2xhc3NpZmljYXRpb25zICVkCgBEb25lIHdpdGggU2VnU2VhcmNoIChBY2NlcHRhYmxlQ2hvaWNlRm91bmQ6ICVkKQoAQmVzdCBjaG9pY2UgaXM6IGluY29ycmVjdCwgdG9wIGNob2ljZSwgZGljdGlvbmFyeSB3b3JkACB3aXRoIHBlcm11dGVyIABDb3JyZWN0IHNlZ21lbnRhdGlvbiBzdGF0ZSB3YXMgbm90IGV4cGxvcmVkAENvcnJlY3Qgc2VnbWVudGF0aW9uIHBhdGhzIHdlcmUgcHJ1bmVkIGJ5IExNCgBCZXN0IGNvcnJlY3Qgc2VnbWVudGF0aW9uIHJhdGluZyAAIHZzLiBiZXN0IGNob2ljZSByYXRpbmcgACUuOGcAUHVuY3R1YXRpb24AVG9wIENob2ljZQBUb3AgTG93ZXIgQ2FzZQBUb3AgVXBwZXIgQ2FzZQBOZ3JhbQBOdW1iZXIAVXNlciBQYXR0ZXJuAENvbXBvdW5kAHNlZ3NlYXJjaCBzdGFydGluZyB0byBsb29rIGZvciBibGFtZQoAQ29ycmVjdCBzZWdtZW50YXRpb246CgBjb2w9ACByb3c9AApGYWlsZWQgdG8gaW5zZXJ0IHBhaW4gcG9pbnQKADI5X1Rlc3NNZW1iZXJSZXN1bHRDYWxsYmFja18yXzJJTGIwRWJOOXRlc3NlcmFjdDEyTE1QYWluUG9pbnRzRWRQOFdFUkRfUkVTaWlFADE5VGVzc1Jlc3VsdENhbGxiYWNrMkliaWlFAEdlbmVyYXRpbmcgcGFpbiBwb2ludCBmb3IgY29sPSVkIHJvdz0lZCB0eXBlPSVzCgBEaXNjYXJkZWQgcGFpbiBwb2ludCB3aXRoIGEgYmFkIHNoYXBlCgBBZGRlZCBwYWluIHBvaW50IHdpdGggcHJpb3JpdHkgJWcKAFBhaW4gcG9pbnRzIGhlYXAgaXMgZnVsbAoAd29yZF9yZXMgIT0gbnVsbHB0cgAvc3JjL3NyYy93b3JkcmVjL2Fzc29jaWF0ZS5jcHAAIChmaXhlZCBwaXRjaCkAQXNzb2NpYXRlVXRpbHM6OkNvbXB1dGVTdGF0cygpIGZvciBjb2w9JWQsIHJvdz0lZCVzCgBub3JtYWxpemluZyBoZWlnaHQgPSAlZyAoc2NhbGUgJWcgeGhlaWdodCAlZyBhc2NlbmRlcnMgJWcpCgBiYWRfc2hhcGUAd2hfcmF0aW89JWcgKG1heF9jaGFyX3doX3JhdGlvPSVnKSBnYXBfc3VtPSVkICVzCgBsZWZ0X2dhcCAlZywgbGVmdF9zZWFtICVnICVzCgByaWdodF9nYXAgJWcgcmlnaHRfc2VhbSAlZyAlcwoAZnVsbF93aF9yYXRpbyAlZyBmdWxsX3doX3JhdGlvX3RvdGFsICVnIGZ1bGxfd2hfcmF0aW9fdmFyICVnCgBzaGFwZV9jb3N0ICVnCgByYXRpbmdzLT5kaW1lbnNpb24oKSA9PSBwZW5kaW5nLT5zaXplKCkAL3NyYy9zcmMvd29yZHJlYy9zZWdzZWFyY2guY3BwAHJhdGluZ3MtPmRpbWVuc2lvbigpID09IGJlc3RfY2hvaWNlX2J1bmRsZS0+YmVhbS5zaXplKCkACgpVcGRhdGVTZWdTZWFyY2hOb2RlczogY29sPSVkLCByb3dzPVslZCwlZF0sIGFsbGp1c3Q9JWQKAEFkZGVkIGNoaWxkIGNvbD0lZCB0byBwZW5kaW5nCgB3b3JkX3Jlcy0+U3RhdGVzQWxsVmFsaWQoKQBOTyBwYWluIHBvaW50IChDbGFzc2lmaWVkKSBmb3IgY29sPSVkIHJvdz0lZCB0eXBlPSVzCgAgc2NyaXB0PSVkLCBmb250MT0lZCwgZm9udDI9JWQsIHlzaGlmdD0lZywgY2xhc3NpZmllcj0lZAoAciUuMmYgYyUuMmYgeFslZywlZ106ICVkICVzAGp1c3RfY2xhc3NpZmllZAAKVXBkYXRlU3RhdGU6IGNvbD0lZCByb3c9JWQgJXMAKHBhcmVudD0lcCkKAE5vIHBhcmVudHMgZm91bmQgdG8gcHJvY2VzcwoAUGFyZW50IHZpdGVyYmkgbGlzdABDb25zaWRlcmluZwBQYXJlbnQgJXMgaGFzIGNvbXBldGl0aW9uICVzCgBCYXNlbGluZSBkaWZmICVnIGZvciAlZCB2ICVkCgBQb3NBbmRTaXplIGZvciAlZCB2ICVkOiBibCBkaWZmID0gJWcsIHJhbmdlcyAlZywgJWcgLyAlZyAtPiVnCgAlcyBWaXRlcmJpU3RhdGVFbnRyeQAoTkVXKQAgc3RyPSVzACB3aXRoIHJhdGluZ3Nfc3VtPSUuNGYgbGVuZ3RoPSVkIGNvc3Q9JS42ZgAgdG9wX2Nob2ljZV9mbGFncz0weCV4ACBpbmNvbnNpc3RlbnQ9KHB1bmMgJWQgY2FzZSAlZCBjaGFydHlwZSAlZCBzY3JpcHQgJWQgZm9udCAlZCkAIHBlcm11dGVyPSVkACBuZ3JhbV9jbF9jb3N0PSVnIGNvbnRleHQ9JXMgbmdyYW0gcHJ1bmVkPSVkACBzaGFwZV9jb3N0PSVnACAlcwBYSF9HT09EAFhIX1NVQk5PUk1BTABYSF9JTkNPTlNJU1RFTlQAQWRkVml0ZXJiaVN0YXRlRW50cnkgZm9yIHVuaWNoYXIgJXMgcmF0aW5nPSUuNGYgY2VydGFpbnR5PSUuNGYgdG9wX2Nob2ljZV9mbGFncz0weCV4ACBwYXJlbnRfdnNlPSVwCgBjdXJyX3N0YXRlICE9IG51bGxwdHIAL3NyYy9zcmMvd29yZHJlYy9sYW5ndWFnZV9tb2RlbC5jcHAAQWRkVml0ZXJiaVN0YXRlRW50cnk6IHZpdGVyYmkgbGlzdCBpcyBmdWxsIQoATGFuZ3VhZ2UgbW9kZWwgY29tcG9uZW50cyB2ZXJ5IGVhcmx5IHBydW5lZCB0aGlzIGVudHJ5CgBMYW5ndWFnZSBtb2RlbCBjb21wb25lbnRzIGVhcmx5IHBydW5lZCB0aGlzIGVudHJ5CgBBZGp1c3RlZCBjb3N0ID0gJWcKAExhbmd1YWdlIG1vZGVsIGNvbXBvbmVudHMgZGlkIG5vdCBsaWtlIHRoaXMgZW50cnkKAERpc2NhcmRlZCBWaXRlcmJpRW50cnkgd2l0aCBoaWdoIGNvc3QgJWcgbWF4IGNvc3QgJWcKAERpc2NhcmRlZCBWaXRlcmJpRW50cnkgd2l0aCBoaWdoIGNvc3QgJWcKACFjdXJyX3N0YXRlLT52aXRlcmJpX3N0YXRlX2VudHJpZXMuZW1wdHkoKQBTZXQgdml0ZXJiaV9zdGF0ZV9lbnRyaWVzX3BydW5hYmxlX21heF9jb3N0IHRvICVnCgBVcGRhdGVkIHZpdGVyYmkgbGlzdABVcGRhdGVCZXN0Q2hvaWNlKCkgY29uc3RydWN0ZWQgd29yZABSYXcgZmVhdHVyZXMgZXh0cmFjdGVkIGZyb20gJXMgKGNvc3Q9JWcpIFsgAF0KACVnIABVcGRhdGVkIHJhdyBjaG9pY2UKAFVwZGF0ZWQgYmVzdCBjaG9pY2UKAE5ldyBzdGF0ZSAAc2V0X2h5cGhlbl93b3JkOiAAICVkAElOQ09OU0lTVEVOVABTVUJOT1JNQUwATk9STUFMAApTdG9wcGVyOiAgJXMgKHdvcmQ9JWMsIGNhc2U9JWMsIHhodF9vaz0lcz1bJWcsJWddKQoAU3RvcHBlcjogIFJhdGluZyA9ICU0LjFmLCBDZXJ0YWludHkgPSAlNC4xZiwgVGhyZXNob2xkID0gJTQuMWYKAEFjY2VwdGFibGVDaG9pY2UoKSByZXR1cm5lZCBmYWxzZSAobm9fZGFuZ19hbWJpZzolZCBjZXJ0OiUuNGcgdGhyZXNoOiVnIHVuaWZvcm06JWQpCgBTdG9wcGVyOiBOb24tdW5pZm9ybSBjZXJ0YWludHkgPSAlNC4xZiAobT0lNC4xZiwgcz0lNC4xZiwgdD0lNC4xZikKAENvbnNpc3RlbmN5IGNvdWxkIG5vdCBiZSBjYWxjdWxhdGVkLgoALCB4aHRCQUQALCB4aHRTVUIATm9uLQAlc1dvcmQ6ICVzICU0LjJmJXMALCBXACwgQwAsIFAALCBGACAlNC4yZiAtLT4gJTQuMmYKAGZ1bGxfd2hfcmF0aW9fdmFyICs9ICglZy0lZyleMgoAaSA9PSAwAHRvdGFsX2Jsb2JzID09IHdvcmRfcmVzLT5yYXRpbmdzLT5kaW1lbnNpb24oKQAKUnVubmluZyBOb0Rhbmdlcm91c0FtYmlnKCkgZm9yICVzCgByZXBsYWNlYWJsZQBhbWJpZ3VvdXMATG9va2luZyBmb3IgJXMgbmdyYW1zIHN0YXJ0aW5nIHdpdGggJXM6CgBjYW5kaWRhdGUgbmdyYW06IABjdXJyZW50IG5ncmFtIGZyb20gc3BlYzogAGNvbXBhcmlzb24gcmVzdWx0OiAlZAoAZml4cHQrPSglZCAlZCAlZCAlZCAlcykKAHJlcGxhY2UgYW1iaWd1aXR5IHdpdGggJXMgOiAAZm91bmQgYW1iaWd1aXR5OiAAClJlc3VsdGluZyBhbWJpZ19ibG9iX2Nob2ljZXM6CgBTdG9wcGVyOiBQb3NzaWJsZSBhbWJpZ3VvdXMgd29yZCA9ICVzCgBmaXhwdC0+ZGFuZ2Vyb3VzKz0oJWQgJWQgJWQgJWQgJXMpCgBwZXJtdXRlX2Rhd2dfZGVidWcAJXMgcGVybXV0ZV9jaG9pY2VzOiBjaGFyX2Nob2ljZV9pbmRleD0lZCBsaW1pdD0lZyByYXRpbmc9JWcsIGNlcnRhaW50eT0lZyB3b3JkPSVzCgBwZXJtdXRlX2Nob2ljZXMoKTogYXR0ZW1wdHNfbGVmdCBpcyAwCgAlcyBjaGVjayBmcmFnbWVudHM6IGNob2ljZT0lcyB3b3JkX2VuZGluZz0lZAoAcHJldl9mcmFnbWVudCAlcwoAdGhpc19mcmFnbWVudCAlcwoAU2tpcCBjaG9pY2Ugd2l0aCBpbmNvbXBsZXRlIGZyYWdtZW50CgBOb24tbWF0Y2hpbmcgZnJhZ21lbnQgcGllY2UKAEJ1aWx0IGNoYXJhY3RlciAlcyBmcm9tIGZyYWdtZW50cwoAUmVjb3JkIGZyYWdtZW50IGNvbnRpbnVhdGlvbgoAUmVjb3JkIGZyYWdtZW50IGJlZ2lubmluZwoATm9uLXN0YXJ0aW5nIGZyYWdtZW50IHBpZWNlIHdpdGggbm8gcHJldl9mcmFnbWVudAoAV29yZCBjYW4gbm90IGVuZCB3aXRoIGEgZnJhZ21lbnQKAGNoZWNraW5nIHVuaWdyYW1zIGluIGFuIG5ncmFtICVzCgBnZXRVbmljaGFyc2V0KCkuZW5jb2RlX3N0cmluZyhuZ3JhbV9zdHIsIHRydWUsICZlbmNvZGluZywgbnVsbHB0ciwgbnVsbHB0cikAL3NyYy9zcmMvZGljdC9wZXJtZGF3Zy5jcHAAdWNoX2lkICE9IElOVkFMSURfVU5JQ0hBUl9JRABPSwBub3QgT0sAdW5pZ3JhbSAlcyBpcyAlcwoAZm91bmQgd29yZCA9ICVzCgBGYWlsZWQgdG8gb3BlbiBvdXRwdXRfYW1iaWdfd29yZHNfZmlsZSAlcwoAbGFzdCB1bmljaGFyIG5vdCBPSyBhdCBpbmRleCAlZCBpbiAlcwoAJXM6PG5vbmU+CgBjaG9pY2VzICE9IG51bGxwdHIAL3NyYy9zcmMvZGljdC9zdG9wcGVyLmNwcABvbGRfY2hvaWNlICE9IG51bGxwdHIAUmVwbGFjZUFtYmlnKCkgAE1vZGlmaWVkIGJsb2JfY2hvaWNlczogAFtFbXB0eV0AKCAAcmVzZXJ2ZWRfID49IGxlbgAvc3JjL3NyYy9jY3N0cnVjdC9yYXRuZ3MuaABHZW5lcmF0ZVRvcENob2ljZUluZm86IHRvcF9jaG9pY2VfZmxhZ3M9MHgleAoAdnNlICE9IG51bGxwdHIAQ29tcHV0ZUFkanVzdGVkUGF0aENvc3QgJWcgUGFyYW1zTW9kZWwgZmVhdHVyZXM6CgAlcz0lZwoAdnNlLT5uZ3JhbV9pbmZvICE9IG51bGxwdHIAcGZvbnQgJXMgcGZvbnQgJXMgZm9udCAlcyBmb250MiAlcyBjb21tb24gJXMoJWQpCgBmb250aW5mb19pZCA8IGZvbnRpbmZvX3RhYmxlXy0+c2l6ZSgpAHRlbXBfZmlkIDwgMCB8fCBmb250aW5mb190YWJsZV8tPnNpemUoKQBzcGFjaW5nIGZvciAlcyglZCkgJXMoJWQpIGNvbCAlZDogZXhwZWN0ZWQgJWcgYWN0dWFsICVnCgBuZ3JhbV9pbmZvLT5jb250ZXh0X3VuaWNoYXJfc3RlcF9sZW4gPD0gbGFuZ3VhZ2VfbW9kZWxfbmdyYW1fb3JkZXIAR2VuZXJhdGVOZ3JhbUluZm8AcHJvYiglcyB8ICVzKT0lZwoARm91bmQgc21hbGwgcHJvYiAlZwoALWxvZyBbIHAoJXMpICogcCglcyB8ICVzKSBdID0gLWxvZzIoJWcqJWcpID0gJWcKAEh5cGhlbmF0ZWQgd29yZCBmb3VuZAoARm91bmQgY29tcG91bmQgbWFya2VyCgBDb21wb3VuZCB3b3JkIGZvdW5kCgBUZXN0IExldHRlciBPSyBmb3IgdW5pY2hhciAlZCwgbm9ybWVkICVkCgBMZXR0ZXIgd2FzIE9LIGZvciB1bmljaGFyICVkLCBub3JtZWQgJWQKAExldHRlciAlcyBub3QgT0shCgBjb250YWluc191bmljaGFyX2lkKHVuaWNoYXJfaWQpAC9zcmMvc3JjL2NjdXRpbC91bmljaGFyc2V0LmgAJXMgVlNFcyAobWF4X2Nvc3Q9JWcgcHJuX2xlbj0lZCB0b3RfbGVuPSVkKToKAGZpcnN0X3VuaWNoYXIgIT0gbnVsbHB0cgBjX2l0LmRhdGEoKSAhPSBudWxscHRyAGxlbiAhPSAwAENvbXB1dGVEZW5vbQBDbGFzc2lmeWluZyBwYWluIHBvaW50ICVzIHByaW9yaXR5PSUuNGYsIGNvbD0lZCwgcm93PSVkCgBwYWluX3BvaW50cyAhPSBudWxscHRyAHBhaW5fcG9pbnQuVmFsaWQoKnJhdGluZ3MpAFVwZGF0ZWQgcmF0aW5ncyBtYXRyaXggd2l0aCBhIG5ldyBlbnRyeToATE1fUFBUWVBFX0JMQU1FUgBMTV9QUFRZUEVfQU1CSUdTAExNX1BQVFlQRV9QQVRIAExNX1BQVFlQRV9TSEFQRQBEZXRlY3RlZCBtaXNzaW5nIGNob3AgKHRvbGVyYW5jZT0AKSBhdCBCb3VuZGluZyBCb3g9AApObyBjaG9wIGZvciB0cnV0aCBhdCB4PQBNaXNzaW5nIGNob3BzIGZvciBsYXN0IAAgdHJ1dGggYm94KGVzKQAKTWF4aW1hbGx5IGNob3BwZWQgd29yZCBib3hlczoKAFRydXRoICBib3VuZGluZyAgYm94ZXM6CgApLT4oACUyZDogICAAICU2LjJmIEAgKCVkLCVkKSwgcD0lZCwgbj0lZCAALCAgIAAoJWQsJWQpLS0oJWQsJWQpAENob3AxAENob3AyACFibG9iX2Nob2ljZV9pdC5lbXB0eSgpAC9zcmMvc3JjL2Njc3RydWN0L2JsYW1lci5jcHAAZmlyc3RfY2hvaWNlICE9IG51bGxwdHIAQ2xhc3NpZmllci9PbGQgTE0gdHJhZGVvZmYgaXMgdG8gYmxhbWUAcm93ID49IGNvbABjb29yZC5WYWxpZCgqcmVzdWx0KQAvc3JjL3NyYy9jY3N0cnVjdC9tYXRyaXguY3BwAGJsb2JfbnVtYmVyIGZyb20gZml4cHQgPSAlZAoAYmxvYl9udW1iZXIgPSAlZAoAR29vZCBzZWFtIHBpY2tlZD0ACioqIG5vIHNlYW0gcGlja2VkICoqKiAKAFBhcnRpYWwgcHJpb3JpdHkgICAgAEZ1bGwgbXlfcHJpb3JpdHkgJTAuMGYsICAAQ29tYm8gcHJpb3JpdHkgICAgICAgAFB1c2hpbmcgbmV3IHNlYW0gd2l0aCBwcmlvcml0eSAlZyA6AHNlYW06IABPbGQgc2VhbSBzdGF5aW5nIHdpdGggcHJpb3JpdHkgJWcKAE5ldyBzZWFtIHdpdGggcHJpb3JpdHkgJWcgYmVhdHMgb2xkIHdvcnN0IHNlYW0gd2l0aCAlZwoAcmF0aW5nX2NlaWxpbmcgPSAlOC40ZgoAcmF0aW5nX2NlaWxpbmcgPSBObyBMaW1pdAoAICh3aXRoIGFzc29jKQBTdGFydGluZyBTZWdTZWFyY2ggb24gcmF0aW5ncyBtYXRyaXglczoKAEJsYW1lciBjb21wdXRpbmcgY29ycmVjdF9zZWdtZW50YXRpb25fY29scwoAQm94IHggY29vcmQgdnMuIHRydXRoOiAAQmxhbWVyIGZhaWxlZCB0byBmaW5kIGNvcnJlY3Qgc2VnbWVudGF0aW9uICh0b2xlcmFuY2U9ACBibG9iID09IG51bGxwdHIAKQoAIHBhdGggbGVuZ3RoIAAgdnMuIHRydXRoIABzdHJfcHRyID09IHN0cl9lbmQAcmVzZXRfaHlwaGVuX3ZhcnM6IGxhc3Rfd29yZF9vbl9saW5lICVkIC0+ICVkCgBzcGxpdF9pbmRleCA+IDAAc3BsaXRfcHQgPjAgJiYgc3BsaXRfcHQgPCB3b3JkLT5jaG9wcGVkX3dvcmQtPk51bUJsb2JzKCkATG9va2luZyBmb3IgdHJ1dGggc3BsaXQgYXQAIGVuZDFfeCAAIGJlZ2luMl94IAAKbm9ybV90cnV0aF93b3JkIGJveGVzOgoAU3BsaXQgZm91bmQAVHJ1dGggc3BsaXQgbm90IGZvdW5kACAobm8gdHJ1dGggY2hhciBib3hlcykKAFBPU1QgRklYX1FVT1RFUyBGQUlMIFN0cmluZzoiJXMiOyBTdHJsZW49JWQ7ICNCbG9icz0lZAoAd29yZC0+cmF3X2Nob2ljZSAhPSBudWxscHRyAHdvcmQtPmJlc3RfY2hvaWNlICE9IG51bGxwdHIARXhhbWluaW5nIGZvbnRzIGluICVzCgBGb250ICVzLCB0b3RhbCBzY29yZSA9ICVkCgBXb3JkIG1vZGFsIGZvbnQ9JXMsIHNjb3JlPSVkLCAybmQgY2hvaWNlICVzLyVkCgBXb3JkIG1vZGFsIGZvbnQ9JXMsIHNjb3JlPSVkLiBObyAybmQgY2hvaWNlCgBCQUQgdGVzc2VkaXRfcmVqZWN0X21vZGUKAFBlcm11dGVyIFR5cGUgPSAlZAoAQ2VydGFpbnR5OiAlZiAgICAgUmF0aW5nOiAlZgoARGljdCB3b3JkOiAlZAoAd29yZC0+cmVqZWN0X21hcC5sZW5ndGgoKSA9PSBibG9iY291bnQAL3NyYy9zcmMvY2NtYWluL3JlamVjdC5jcHAAIkZhdGFsIGVycm9yIGVuY291bnRlcmVkISIgPT0gbnVsbHB0cgAvc3JjL3NyYy9jY3V0aWwvZ2xvYmFsb2MuY3BwAG9uZV9lbGxfY29uZmxpY3QgZGV0ZWN0ZWQKAG5vbi1kaWN0IG9yIGFtYmlnIHdvcmQgZGV0ZWN0ZWQKAHNldF9kb25lKCk6IGRvbmU9JWQKAE8ASQAKUmVqZWN0ZXI6ICVzICh3b3JkPSVjLCBjYXNlPSVjLCB1bmFtYmlnPSVjLCBtdWx0aXBsZT0lYykKAFJlamVjdGVyOiBDZXJ0YWludHkgPSAlNC4xZiwgVGhyZXNob2xkID0gJTQuMWYgICAAQUNDRVBURUQKAFJFSkVDVEVECgAyOV9UZXNzTWVtYmVyUmVzdWx0Q2FsbGJhY2tfMF8ySUxiMEViOFdFUkRfUkVTUks0VEJPWFMzX0UAMTlUZXNzUmVzdWx0Q2FsbGJhY2sySWJSSzRUQk9YUzJfRQAiAE5vIHRydXRoIGZvciB3b3JkIC0gc2tpcHBpbmcKACF3b3JkLT5jaG9wcGVkX3dvcmQtPmJsb2JzLmVtcHR5KCkAcmVjb2dfd29yZCBBU1NFUlQgRkFJTCBTdHJpbmc6IiVzIjsgU3RybGVuPSVkOyAjQmxvYnM9JWQKAHdvcmQtPmJlc3RfY2hvaWNlLT5sZW5ndGgoKSA9PSB3b3JkLT5ib3hfd29yZC0+bGVuZ3RoKCkATm90IGFsbCB3b3JkcyBoYXZlIHZhbGlkIHN0YXRlcyByZWxhdGl2ZSB0byByYXRpbmdzIG1hdHJpeCEhAHdvcmQtPlN0YXRlc0FsbFZhbGlkKCkAUGVybXV0ZXIgVHlwZSBGbGlwcGVkIGZyb20gJWQgdG8gJWQKACh3b3JkLT5iZXN0X2Nob2ljZSA9PSBudWxscHRyKSA9PSAod29yZC0+cmF3X2Nob2ljZSA9PSBudWxscHRyKQAuZG9jAGRvY193b3JkX2ZpbGUAL3NyYy9zcmMvZGljdC9kaWN0LmNwcAByZXBldGl0aW9ucy0+c2l6ZSgpID09IHdvcmQubGVuZ3RoKCkACkFkZGluZyB3b3JkOiAAQWRkaW5nIGxldHRlciAlZAoAZXhwbG9yaW5nIGVkZ2UgJWxsZCBpbiBub2RlICVsbGQKAGFkZGluZyBub2RlICVsbGQKAFJlLWluaXRpYWxpemluZyBkb2N1bWVudCBkaWN0aW9uYXJ5Li4uCgBlZGdlX2NoYXJfb2YodGhlX25leHRfbm9kZSwgTk9fRURHRSwgQkFDS1dBUkRfRURHRSwgZmFsc2UsIHVuaWNoYXJfaWQsICZiYWNrX2VkZ2VfcHRyLCAmYmFja19lZGdlX2luZGV4KQBuZXcgZWRnZSBpbiBub2Rlc19bJWxsZF06IABwb3BfYmFjawBlZGdlX2NoYXJfb2Yobm9kZTEsIG5vZGUyLCBkaXJlY3Rpb24sIHdvcmRfZW5kLCB1bmljaGFyX2lkLCAmZWRnZV9wdHIsICZlZGdlX2luZGV4KQByZW1vdmVkIGVkZ2UgaW4gbm9kZXNfWyVsbGRdOiAAbWlzYWRhcHQgdG8gd29yZCAoACk6IAAKCkFkYXB0aW5nIHRvIHdvcmQgPSAlcwoACkxlYXJuaW5nICVzCgA9PT09PT09PT09PT09PT09PT09PT09Ckxvb2tzTGlrZUdhcmJhZ2UoKSBnb3QgAEFkYXB0aW5nIHRvIGNoYXIgPSAlcywgdGhyPSAlZyBmb250X2lkPSAlZAoAQ2FuJ3QgYWRhcHQgdG8gJXMgbm90IGluIHVuaWNoYXJzZXQKAEFkYXB0VG9DaGFyAEZvdW5kIGdvb2QgbWF0Y2ggdG8gcGVybSBjb25maWcgJWQgPSAlNC4xZiUlLgoASW5jcmVhc2luZyByZWxpYWJpbGl0eSBvZiB0ZW1wIGNvbmZpZyAlZCB0byAlZC4KAEZvdW5kIHBvb3IgbWF0Y2ggdG8gdGVtcCBjb25maWcgJWQgPSAlNC4xZiUlLgoAQ2Fubm90IG1ha2UgbmV3IHRlbXBvcmFyeSBjb25maWc6IG1heGltdW0gbnVtYmVyIGV4Y2VlZGVkLgoAQ2Fubm90IG1ha2UgbmV3IHRlbXAgcHJvdG9zOiBtYXhpbXVtIG51bWJlciBleGNlZWRlZC4KAE1ha2luZyBuZXcgdGVtcCBjb25maWcgJWQgZm9udGluZm8gaWQgJWQgdXNpbmcgJWQgb2xkIGFuZCAlZCBuZXcgcHJvdG9zLgoAQ2xhc3MtPk51bUNvbmZpZ3MgPCBNQVhfTlVNX0NPTkZJR1MAQWRkSW50Q29uZmlnAEFkZFByb3RvVG9Qcm90b1BydW5lcjphc3NlcnQgZmFpbGVkOiAlZCA8ICVkAFByb3RvSWQgPCBDbGFzcy0+TnVtUHJvdG9zAEFkZFByb3RvVG9Qcm90b1BydW5lcgAhc3RkOjppc25hbihBbmdsZSkATGluZWFyIGZpbGwgZnJvbSAlZCB0byAlZABDaXJjdWxhciBmaWxsIGZyb20gJWQgdG8gJWQAQ29udmVydFByb3RvAENvbnZlcnRlZCBmZmVhdCB0byAoQT0lZCxCPSVkLEM9JWQsTD0lZCkAc2l6ZSA+IDAgfHwgKHNpemUgPT0gMCAmJiBwdHIgIT0gbnVsbHB0cikAQnVmZmVyICE9IG51bGxwdHIgfHwgc2l6ZSA9PSAwAFNpemUgPiAwAEJ1ZmZlciAhPSBudWxscHRyAEZpbmQgQmFkIEZlYXR1cmVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KAE1hdGNoIENvbXBsZXRlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgBGaW5kIEdvb2QgUHJvdG9zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KAFJ1bm5pbmcgVXBkYXRlQW1iaWdzR3JvdXAgZm9yICVzIGNsYXNzX2lkPSVkCgBNYWtpbmcgY29uZmlnICVkIG9mICVzIHBlcm1hbmVudAoATWFraW5nIGNvbmZpZyAlZCBmb3IgJXMgKENsYXNzSWQgJWQpIHBlcm1hbmVudDogZm9udGluZm8gaWQgJWQsIGFtYmlndWl0aWVzICcAJy4KAE51bVRpbWVzU2VlbiBmb3IgY29uZmlnIG9mICVzIGlzICVkCgBhbWJpZ19jbGFzcyAhPSBudWxscHRyAFRlbXBDb25maWdSZWxpYWJsZQBBbWJpZyAlcyBoYXMgbm90IGJlZW4gc2VlbiBlbm91Z2ggdGltZXMsIG5vdCBtYWtpbmcgY29uZmlnIGZvciAlcyBwZXJtYW5lbnQKACEiSG93IGRpZCBOb3JtYWxpemVPdXRsaW5lcyBnZXQgY2FsbGVkIGluIGNoYXJhY3RlciBtb2RlPyIAL3NyYy9zcmMvY2xhc3NpZnkvbWZvdXRsaW5lLmNwcABQaWQgIT0gTk9fUFJPVE8ASW5pdEFkYXB0ZWRDbGFzcwBBZGRlZCBuZXcgY2xhc3MgJyVzJyB3aXRoIGNsYXNzIGlkICVkIGFuZCAlZCBwcm90b3MuCgBCbG9iIGxlYXJuZWQgd2FzIGludmFsaWQhCgAvc3JjL3NyYy9jbGFzc2lmeS9vY3JmZWF0dXJlcy5jcHAAV3JpdGVGZWF0dXJlACFzdGQ6OmlzbmFuKEZlYXR1cmUtPlBhcmFtc1tpXSkAL3NyYy9zcmMvY2xhc3NpZnkvbWYuY3BwAFJ1bm5pbmcgd29yZF9hZGFwdGFibGUoKSBmb3IgJXMgcmF0aW5nICUuNGYgY2VydGFpbnR5ICUuNGYKAGFkYXB0aW9uIGRpc2FibGVkCgB0ZXNzX3dvdWxkX2FkYXB0IGJpdCBpcyBmYWxzZQoAdGVzc19hY2NlcHRlZCBiaXQgaXMgZmFsc2UKAHdvcmQgbm90IGluIGRhd2dzCgB3b3JkIGhhcyBlbGwgY29uZmxpY3QKAHdvcmQgY29udGFpbnMgc3BhY2VzCgB3b3JkIGlzIGFtYmlndW91cwoAcmV0dXJuaW5nIHN0YXR1cyAlZAoAQmVzdCBjaG9pY2UgY2VydGFpbnR5PSVnLCBzcGFjZT0lZywgc2NhbGVkPSVnLCBmaW5hbD0lZwoAClNlY29uZCBjaG9pY2UgcGF0aDoKAGRpcmRpZmYgPT0gMCB8fCBkaXJkaWZmID09IDMyIHx8IGRpcmRpZmYgPT0gLTMyAC9zcmMvc3JjL2Njc3RydWN0L2NvdXRsbi5jcHAAY291bnQgPT0gMTI4IHx8IGNvdW50ID09IC0xMjgAUGF0aCB0b3RhbCByYXRpbmcgPSAlZwoAJWQgJWQ9JXMgcj0lZywgYz0lZywgcz0lZCwgZT0lZCwgcGVybT0lZAoAbnVsbF9jaGFyAGxhYmVsPSVkLCB1aWQ9JWQ9JXMAIERhd2dTdGFydAAgU3RhcnQAIEVuZAAgc2NvcmU9JWcsIGM9JWcsJXMlcyVzIHBlcm09JWQsIGhhc2g9JWx4ACBwcmV2OgBlbnRyeS5kYXRhLmRhd2dzID09IG51bGxwdHIAL3NyYy9zcmMvbHN0bS9yZWNvZGViZWFtLmNwcAB1bmljaGFyc2V0LmNvbnRhaW5zX3VuaWNoYXJfaWQodW5pY2hhcl9pZCkAZGVmX2xldHRlcl9pc19va2F5OiBjdXJyZW50IHVuaWNoYXI9JXMgd29yZF9lbmQ9JWQgbnVtIGFjdGl2ZSBkYXdncz0lZAoAUmVjZWl2ZWQgRGF3Z1Bvc2l0aW9uIHdpdGggbm8gZGF3ZyBvciBwdW5jX2Rhd2cuICB3dGg/CgBMZXR0ZXIgZm91bmQgaW4gZGF3ZyAlZAoAQXBwZW5kIHRyYW5zaXRpb24gZnJvbSBwdW5jIGRhd2cgdG8gY3VycmVudCBkYXdnczogAExldHRlciBmb3VuZCBpbiBwdW5jdHVhdGlvbiBkYXdnCgBFeHRlbmQgcHVuY3R1YXRpb24gZGF3ZzogAFJldHVybiB0byBwdW5jdHVhdGlvbiBkYXdnOiAAQWN0aXZlIGRhd2c6IFslZCwgJWxsZF0gZWRnZT0lbGxkCgBQdW5jdHVhdGlvbiBjb25zdHJhaW50IG5vdCBzYXRpc2ZpZWQgYXQgZW5kIG9mIHdvcmQuCgBBcHBlbmQgY3VycmVudCBkYXdnIHRvIHVwZGF0ZWQgYWN0aXZlIGRhd2dzOiAAUmV0dXJuaW5nICVkIGZvciBwZXJtdXRlciBjb2RlIGZvciB0aGlzIGNoYXJhY3Rlci4KAFBhdHRlcm4gZGF3ZzogWyVkLCAlbGxkXSBlZGdlPSVsbGQKAExldHRlciBmb3VuZCBpbiBwYXR0ZXJuIGRhd2cgJWQKACByZXR1cm5lZAAlc1slZCwgJWxsZF0gW3B1bmM6ICVsbGQlc10KACFpbnRfbW9kZV8AL3NyYy9zcmMvbHN0bS9uZXR3b3JraW8uaABMaW5lIGNhbm5vdCBiZSByZWNvZ25pemVkISEKAEltYWdlIHRvbyBsYXJnZSB0byBsZWFybiEhIFNpemUgPSAlZHglZAoASW52ZXJ0aW5nIGltYWdlOiBvbGQgbWluPSVnLCBtZWFuPSVnLCBzZD0lZywgaW52ICVnLCVnLCVnCgA8bnVsbD4APFVuZGVjb2RhYmxlPgAlcz0lZCBPbiBbJWQsICVkKSwgc2NvcmVzPQAsIE1lYW49JWcsIG1heD0lZwoAICUuM2coJXM9JWQ9JS4zZykAaGVpZ2h0ID09IE51bUZlYXR1cmVzKCkAQmFkIHBpeCBmcm9tIEltYWdlRGF0YSEKAEltYWdlIHRvbyBzbWFsbCB0byBzY2FsZSEhICglZHglZCB2cyBtaW4gd2lkdGggb2YgJWQpCgBzcmNfcGl4ICE9IG51bGxwdHIAL3NyYy9zcmMvY2NzdHJ1Y3QvaW1hZ2VkYXRhLmNwcABTY2FsaW5nIHBpeCBvZiBzaXplICVkLCAlZCBieSBmYWN0b3IgJWcgbWFkZSBudWxsIHBpeCEhCgBFWFRSQUNURUQgKCVkKTogIgBURVNURUQgKCVkKTogIgBSRVRVUk5FRCAoJWQpOiAiACVzLyUxZCAAIgoARklYIFNQQUNJTkcgIiVzIiA9PiAiACEiYCcsLjo7AERlc3RpbmF0aW9uIGxpc3QgbXVzdCBiZSBlbXB0eSBiZWZvcmUgZXh0cmFjdGluZyBhIHN1Ymxpc3QARUxJU1QuYXNzaWduX3RvX3N1Ymxpc3QAQ2FuJ3QgZXh0cmFjdCBzdWJsaXN0IGZyb20gcG9pbnRzIG9uIGRpZmZlcmVudCBsaXN0cwBDYW4ndCBleHRyYWN0IGEgc3VibGlzdCBtYXJrZWQgYnkgZGVsZXRlZCBwb2ludHMAQ2FuJ3QgZmluZCBzdWJsaXN0IGVuZCBwb2ludCBpbiBvcmlnaW5hbCBsaXN0AEVMSVNUX0lURVJBVE9SOjpleHRyYWN0X3N1Ymxpc3QAb3RoZXJfaXQgbnVsbHB0cgBFTElTVF9JVEVSQVRPUi5leHRyYWN0X3N1Ymxpc3QARlAgZml4c3BhY2Ugd29ya2luZyBvbiAiJXMiCgBibG9iX2NvdW50IDw9IDUxMgAvc3JjL3NyYy9jY21haW4vZml4c3BhY2UuY3BwAEZQIGZpeHNwYWNlIE5vaXNlIG1ldHJpY3MgZm9yICIlcyI6IAAlMS4xZiAARUxJU1RfSVRFUkFUT1I6OmRhdGFfcmVsYXRpdmUAb2Zmc2V0IDwgLWwARmFpbGVkIHRvIGZpbmQgYSBjaG9pY2UgZm9yICVzLCBvY2N1cnJpbmcgJWQgdGltZXMKAHByX2l0LT53b3JkKCkgIT0gbnVsbHB0cgBQYXNzJWQ6ICVzIFslc10KAHdyX2l0LmRhdGEoKS0+cGFydF9vZl9jb21ibwAhcmVhbF93b3JkLT5mbGFnKFdfRlVaWllfU1ApICYmICFyZWFsX3dvcmQtPmZsYWcoV19GVVpaWV9OT04pAFVzZWQgJWQvJWQgb3ZlcmxhcHBlZCAlZC8lZCBub24tb3ZlcmxhcGVkIGRpYWNyaXRpY3Mgb24gd29yZDoATnVtIGJsb2JsZXNzIG91dGxpbmVzID0gJWQKAEFkZGVkIHRvIGxlZnQgYmxvYgoAQWRkZWQgdG8gcmlnaHQgYmxvYgoARml0dGVkIGJldHdlZW4gYmxvYnMKAE5vIE5vaXNlIGJsb2IgY2xhc3NpZmllZCBhcyAlcz0lZyglZykgYXQ6AEFsbCBOb2lzZSBibG9iIGNsYXNzaWZpZWQgYXMgJXM9JWcsIGRlbHRhPSVnIGF0OgAgYmxvYiBjbGFzc2lmaWVkIGFzICVzPSVnLCBkZWx0YT0lZykgYXQ6AEFkZGluZwBOZXcAJXMgbm9pc2UgY29tYmluYXRpb24gACB5aWVsZHMgY2VydGFpbnR5ICVnLCBiZWF0aW5nIHRhcmdldCBvZiAlZwoAaXQud29yZCgpID09IHdvcmRfcmVzAHdvcmQgeGhlaWdodD0lZywgcm93PSVnLCByYW5nZT1bJWcsJWddCgBHb3Qgd29yZCB3aXRoIG51bGwgcmF3IGNob2ljZSB4aGVpZ2h0PSVnLCByb3c9JWcKACVkIG5vaXNlIG91dGxpbmVzIG92ZXJsYXAgYmxvYiBhdDoAVGVtcGxhdGVzICE9IG51bGxwdHIAQWRkQWRhcHRlZENsYXNzAENsYXNzICE9IG51bGxwdHIAVW51c2VkQ2xhc3NJZEluIChUZW1wbGF0ZXMtPlRlbXBsYXRlcywgQ2xhc3NJZCkAQ2xhc3MtPk51bVBlcm1Db25maWdzID09IDAAVGVtcGxhdGVzLT5DbGFzc1tDbGFzc0lkXSA9PSBudWxscHRyAExlZ2FsQ2xhc3NJZCAoQ2xhc3NJZCkAQWRkSW50Q2xhc3MAUGxlYXNlIG1ha2Ugc3VyZSB0aGF0IGNsYXNzZXMgYXJlIGFkZGVkIHRvIHRlbXBsYXRlcwAgaW4gaW5jcmVhc2luZyBvcmRlciBvZiBDbGFzc0lkcwoAU3dpdGNoIHRvIGJhY2t1cCBhZGFwdGl2ZSBjbGFzc2lmaWVyIChOdW1BZGFwdGF0aW9uc0ZhaWxlZD0lZCkKAFJlc2V0dGluZyBhZGFwdGl2ZSBjbGFzc2lmaWVyIChOdW1BZGFwdGF0aW9uc0ZhaWxlZD0lZCkKAEVuZCBvZiBQYXNzIDEARW5kIG9mIFBhc3MgMgBFbmQgb2YgUGFzcyAzAEVuZCBvZiBQYXNzIDQARmluYWwgUGFyYWdyYXBoIFNlZ21lbnRhdGlvbgBNZW1vcnkgbGVhayEgQ29udmVydEh5cG90aGVzaXplTW9kZWxSdW5zVG9QYXJhZ3JhcGhzKCkgY2FsbGVkIG1vcmUgdGhhbiBvbmNlIQoAY29tcGFyZV9jYl8gIT0gbnVsbHB0cgBnZXRfaW5kZXgAVmFsaWRGaXJzdExpbmUoKSBzaG91bGQgb25seSBiZSBjYWxsZWQgd2l0aCBzdHJvbmcgbW9kZWxzIQoAVmFsaWRCb2R5TGluZSgpIHNob3VsZCBvbmx5IGJlIGNhbGxlZCB3aXRoIHN0cm9uZyBtb2RlbHMhCgBFbmNvdW50ZXJlZCBiYWQgdmFsdWUgaW4gaHlwb3RoZXNpcyBsaXN0OiAlYwoAMzFfVGVzc0Z1bmN0aW9uUmVzdWx0Q2FsbGJhY2tfMF8ySUxiMEViUktQSzE0UGFyYWdyYXBoTW9kZWxTNF9FADE5VGVzc1Jlc3VsdENhbGxiYWNrMkliUktQSzE0UGFyYWdyYXBoTW9kZWxTNF9FAEdlb21ldHJpY0NsYXNzaWZ5ACMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgAjIyMjIyBHZW9tZXRyaWNDbGFzc2lmeSggcm93c1slZDolZCkgKSAgICMjIyMKAFRvbyBtdWNoIHZhcmlldHkgZm9yIHNpbXBsZSBvdXRsaW5lIGNsYXNzaWZpY2F0aW9uLgBOb3QgZW5vdWdoIHZhcmlldHkgZm9yIHNpbXBsZSBvdXRsaW5lIGNsYXNzaWZpY2F0aW9uLgBsZWZ0AHJpZ2h0ACMgQ2Fubm90IGRldGVybWluZSAlcyBpbmRlbnQgbGlrZWx5IHRvIHN0YXJ0IHBhcmFncmFwaHMuCgAjIEluZGVudCBvZiAlZCBsb29rcyBsaWtlIGEgZmlyc3QgbGluZSAlZCUlIG9mIHRoZSB0aW1lLgoATWFya1Jvd3NXaXRoTW9kZWwARG9uJ3QgY2FsbCBGaXJzdFdvcmRXb3VsZEhhdmVGaXQociwgcywgSlVTVElGSUNBVElPTl9VTktOT1dOKS4KAD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgBOb3QgZW5vdWdoIGZ1bGwgbGluZXMgdG8ga25vdyB3aGljaCBsaW5lcyBzdGFydCBwYXJhcy4AIyBOb3QgZW5vdWdoIHZhcmlldHkgZm9yIGNsZWFyIG91dGxpbmUgY2xhc3NpZmljYXRpb24uIEd1ZXNzaW5nIHRoZXNlIGFyZSAlcyBhbGlnbmVkIGJhc2VkIG9uIHNjcmlwdC4KACMgJXMKAEdlb21ldHJ5OiBUYWJTdG9wIGNsdXN0ZXIgdG9sZXJhbmNlID0gJWQ7ICVkIGxlZnQgdGFiczsgJWQgcmlnaHQgdGFicwoAQ2FsY3VsYXRlVGFiU3RvcHMAUmVjb21wdXRlTWFyZ2luc0FuZENsZWFySHlwb3RoZXNlcwBJbnZhbGlkIGFyZ3VtZW50cyByb3dzWyVkLCAlZCkgd2hpbGUgcm93cyBpcyBvZiBzaXplICVkLgoAIyBUb28gZmV3IHJvd3NbJWQsICVkKSBmb3IgJXMuCgBDcm93bkNvbXBhdGlibGUoKSBzaG91bGQgb25seSBiZSBjYWxsZWQgd2l0aCBjcm93biBtb2RlbHMhCgBTdHJvbmdFdmlkZW5jZUNsYXNzaWZ5ACMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoAIyBTdHJvbmdFdmlkZW5jZUNsYXNzaWZ5KCByb3dzWyVkOiVkKSApCgBJbml0aWFsIHN0cm9uZyBzaWduYWxzLgBVbnNtZWFyZWQgaHlwb3RoZXNlcy5zLgBQYXJhZ3JhcGhNb2RlbFNtZWFyZXIATW9kZWxTdHJvbmdFdmlkZW5jZQBDb3VsZCBub3QgZGV0ZXJtaW5lIGEgbW9kZWwgZm9yIHRoaXMgcGFyYWdyYXBoOgoASW50ZXJuYWxQYXJhZ3JhcGhNb2RlbEJ5T3V0bGluZQBNYXJnaW5zIGRvbid0IG1hdGNoISBTb2Z0d2FyZSBlcnJvci4KAFRyeWluZyB0byBzZXQgYSBsaW5lIHRvIGJlIFNUQVJUIHdoZW4gaXQncyBhbHJlYWR5IEJPRFkuCgBUcnlpbmcgdG8gc2V0IGEgbGluZSB0byBiZSBCT0RZIHdoZW4gaXQncyBhbHJlYWR5IFNUQVJULgoAI3JvdwBzcGFjZQAuLgBsd29yZFt3aWR0aFNFTF0AcndvcmRbd2lkdGhTRUxdAHRleHQAWwBzAFMAZQBFAEFjdGl2ZSBQYXJhZ3JhcGggTW9kZWxzOgoAICVkOiAlcwoAbWFyZ2luOiAlZCwgZmlyc3RfaW5kZW50OiAlZCwgYm9keV9pbmRlbnQ6ICVkLCBhbGlnbm1lbnQ6ICVzAExFRlQAUklHSFQAQ0VOVEVSAFVOS05PV04AJS0AWyUzZCwlM2Q7JTNkLCUzZF0AOgBDckwAQ3JSAFtsbWFyZyxsaW5kO3JpbmQscm1hcmddAG1vZGVsADMxX1Rlc3NGdW5jdGlvblJlc3VsdENhbGxiYWNrXzBfMklMYjBFYlJLTjl0ZXNzZXJhY3QxNExpbmVIeXBvdGhlc2lzRVMzX0UAMTlUZXNzUmVzdWx0Q2FsbGJhY2sySWJSS045dGVzc2VyYWN0MTRMaW5lSHlwb3RoZXNpc0VTM19FADMxX1Rlc3NGdW5jdGlvblJlc3VsdENhbGxiYWNrXzBfMklMYjBFYlJLUDE0UGFyYWdyYXBoTW9kZWxTM19FADE5VGVzc1Jlc3VsdENhbGxiYWNrMkliUktQMTRQYXJhZ3JhcGhNb2RlbFMzX0UAOiciLj8hXX0pACciKHtbAGl2eGxtZElWWExNRAAwMTIzNDU3ODkAXX0pADo7LS4sAFt7KAAwT28qLiwrLgB4AEVycm9yOiBDb3VsZCBub3Qgb3BlbiBmaWxlICVzCgBib3hfZmlsZQAvc3JjL3NyYy9jY21haW4vcmVjb2d0cmFpbmluZy5jcHAAVE9ETyhhbnRvbm92YSk6IGNsZWFuIHVwIHJlY29nX3RyYWluaW5nX3NlZ21lbnRlZDsgIEl0IGV4YW1pbmVkIG9ubHkgYSBzbWFsbCBmcmFjdGlvbiBvZiB0aGUgYW1iaWdzIGltYWdlLgoAcmVjb2dfdHJhaW5pbmdfc2VnbWVudGVkOiBleGFtaW5lZCAlZCAvICVkIHdvcmRzLgoATm90IG91dHB1dHRpbmcgaWxsZWdhbCB1bmljaGFyICVzCgAJJXMJJS40ZgklLjRmCgBCb3ggZmlsZSBmb3JtYXQgZXJyb3Igb24gbGluZSAlaTsgaWdub3JlZAoAJWQgJWQgJWQgJWQgJWQAQmFkIGJveCBjb29yZGluYXRlcyBpbiBib3hmaWxlIHN0cmluZyEgJXMKAFdvcmRTdHIAQmFkIFVURi04IHN0ciAlcyBzdGFydHMgd2l0aCAweCUwMnggYXQgY29sICVkCgAudHh0AGErAG91dHB1dF9maWxlAEdlbmVyYXRlZCB0cmFpbmluZyBkYXRhIGZvciAlZCB3b3JkcwoALmxzdG1mAEZhaWxlZCB0byByZWFkIHRyYWluaW5nIGRhdGEgZnJvbSAlcyEKAEZhaWxlZCB0byByZWFkIGJveGVzIGZyb20gJXMKAEZhaWxlZCB0byB3cml0ZSB0cmFpbmluZyBkYXRhIHRvICVzIQoAU2VyaWFsaXplIGZhaWxlZDogJXMKAE5vIGJsb2NrIG92ZXJsYXBwaW5nIHRleHRsaW5lOiAlcwoALmJveABEZXNlcmlhbGl6ZSBoZWFkZXIgZmFpbGVkOiAlcwoARGVzZXJpYWxpemVza2lwIGZhaWxlZAoARGVzZXJpYWxpemUgZmFpbGVkOiAlcyByZWFkICVkLyVkIHBhZ2VzCgBMb2FkZWQgJWQvJWQgcGFnZXMgKCVkLSVkKSBvZiBkb2N1bWVudCAlcwoARkFJTFVSRSEgQ291bGRuJ3QgZmluZCBhIG1hdGNoaW5nIGJsb2IAQVBQTFlfQk9YRVM6CgAgICBCb3hlcyByZWFkIGZyb20gYm94ZmlsZTogICU2ZAoAICAgQm94ZXMgZmFpbGVkIHJlc2VnbWVudGF0aW9uOiAgJTZkCgBBUFBMWV9CT1hFUzogVW5sYWJlbGxlZCB3b3JkIGF0IDoAICAgRm91bmQgJWQgZ29vZCBibG9icy4KACAgIExlYXZpbmcgJWQgdW5sYWJlbGxlZCBibG9icyBpbiAlZCB3b3Jkcy4KACAgICVkIHJlbWFpbmluZyB1bmxhYmVsbGVkIHdvcmRzIGRlbGV0ZWQuCgBBUFBMWV9CT1g6IEZBSUxVUkU6IGNhbid0IGZpbmQgY2xhc3NfaWQgZm9yICclcycKAEFQUExZX0JPWDogRkFJTFVSRTogY2FuJ3QgZmluZCBzZWdtZW50YXRpb24gZm9yICclcycKAEFwcGx5Ym94ACVkKyVkOgBTZWdtZW50OgBDb21wbGV0ZSBtYXRjaCwgcmF0aW5nID0gJWcsIGJlc3Q9JWcsIHNlZ2xlbmd0aD0lZCwgYmVzdD0lZAoATWF0Y2gAQW1iaWcATWF0Y2ggZm91bmQgZm9yICVkPSVzOiVzLCBhdCAlZCslZCwgcmVjdXJzaW5nLi4uCgBFbmQgcmVjdXJzaW9uIGZvciAlZD0lcwoAQVBQTFlfQk9YRVM6IGJveGZpbGUgbGluZSAlZC8lcyAoKCVkLCVkKSwoJWQsJWQpKTogJXMKAApBUFBMWV9CT1g6IGluIFJlc2VnbWVudFdvcmRCb3goKSBmb3IgJXMKAENoZWNraW5nIHdvcmQ6AENoZWNraW5nIGJsb2I6AEN1cnJlbnQgbWlzcyBtZXRyaWMgPSAlZywgbmV4dCA9ICVnCgBCbG9iIG1hdGNoOiBibG9iOgBNYXRjaGVzIGJveDoAV2l0aCBuZXh0IGJveDoARkFJTCEKAEVMSVNUMl9JVEVSQVRPUjo6YWRkX3RvX2VuZABFTElTVDJfSVRFUkFUT1I6OmFkZF9hZnRlcl9zdGF5X3B1dABhICE9IDAgJiYgYiAhPSAwAC9zcmMvc3JjL2NjbWFpbi9hcHBseWJveC5jcHAACkFQUExZX0JPWDogaW4gUmVzZWdtZW50Q2hhckJveCgpIGZvciAlcwoAQ2hlY2tpbmcgd29yZCBib3g6AEluZGV4IFslZCwgJWQpIHNlZW0gZ29vZC4KACVkIEJsb2JzIG1hdGNoOiBibG9iIGJveDoAQmVzdCBzdGF0ZSA9IABDb3JyZWN0IHRleHQgPSBbWyAAXV0KACVzIABNYXhpbWFsbHkgY2hvcHBpbmcgd29yZCBhdDoAIXdvcmRfcmVzLT5jaG9wcGVkX3dvcmQtPmJsb2JzLmVtcHR5KCkAcm93IHhoZWlnaHQ9JWcsIGJ1dCBtZWRpYW4geGhlaWdodCA9ICVnCgBjb21ibyAhPSBudWxscHRyAEVMSVNUMl9JVEVSQVRPUjo6ZGF0YV9yZWxhdGl2ZQBMaXN0IGlzIGVtcHR5AFBsZWFzZSBjYWxsIFNldEltYWdlIGJlZm9yZSBhdHRlbXB0aW5nIHJlY29nbml0aW9uLgoAV2FybmluZzogQ291bGQgbm90IHNldCBlcXVhdGlvbiBkZXRlY3RvcgoAb3NkAFdhcm5pbmc6IEF1dG8gb3JpZW50YXRpb24gYW5kIHNjcmlwdCBkZXRlY3Rpb24gcmVxdWVzdGVkLCBidXQgZGF0YSBwYXRoIGlzIHVuZGVmaW5lZAoAV2FybmluZzogQXV0byBvcmllbnRhdGlvbiBhbmQgc2NyaXB0IGRldGVjdGlvbiByZXF1ZXN0ZWQsIGJ1dCBvc2QgbGFuZ3VhZ2UgZmFpbGVkIHRvIGxvYWQKAHNwbGl0dGVyXy5vcmlnX3BpeCgpAC9zcmMvc3JjL2NjbWFpbi90ZXNzZXJhY3RjbGFzcy5jcHAAc2VnbWVudGF0aW9uX2Jsb2NrX2xpc3RfAC9zcmMvc3JjL3RleHRvcmQvZGV2YW5hZ2FyaV9wcm9jZXNzaW5nLmNwcABCZWZvcmUgcmVmcmVzaGluZyBibG9iczoKAE5ldyBCbG9icyBmb3VuZDogJWQKAEFmdGVyIHJlZnJlc2hpbmcgYmxvYnM6CgBFTElTVDJfSVRFUkFUT1I6OmFkZF9saXN0X2FmdGVyAGxpc3RfdG9fYWRkIGlzIG51bGxwdHIARUxJU1QyX0lURVJBVE9SOjptb3ZlX3RvX2ZpcnN0AEVMSVNUMl9JVEVSQVRPUjo6YWRkX2FmdGVyX3RoZW5fbW92ZQBCb3VuZGluZyBib3ggY291bGRuJ3QgYmUgYXNjZXJ0YWluZWQKAEJsb2NrIGxpc3Qgc3RhdHM6CkJsb2NrcyA9ICVkClJvd3MgPSAlZApXb3JkcyA9ICVkCkJsb2JzID0gJWQKAERpc2NhcmRpbmcgcGFyZW50IHdpdGggY2hpbGQgY291bnQ9JWQsIGdjPSVkCgBEaXNjYXJkaW5nIHBhcmVudCBvZiBhcmVhICVkLCBjaGlsZCBhcmVhPSVkLCBtYXglZyB3aXRoIGdjPSVkCgBEaXNjYXJkaW5nIHBhcmVudCBvZiBhcmVhICVkLCBjaGlsZCBhcmVhPSVkLCBtYXglZyB3aXRoIGNoaWxkIGxlbmd0aD0lZAoARGlzY2FyZGluZyBwYXJlbnQgb2YgYXJlYSAlZCwgY2hpbGQgYXJlYT0lZCwgbWF4JWcgd2l0aCBjaGlsZCByZWN0PSVkCgBEaXNjYXJkIG91dGxpbmUgb24gY2hpbGRfY291bnQ9JWQgPiBtYXhfY2hpbGRyZW5fcGVyX291dGxpbmU9JWQKAERpc2dhcmQgb3V0bGluZSBvbiBjaGlsZF9jb3VudD0lZCArIGdyYW5kY2hpbGRfY291bnQ9JWQgPiBtYXhfY291bnQ9JWQKAHRyaWdodC54KCkgPD0gd2lkdGgAL3NyYy9zcmMvdGV4dG9yZC9zY2FuZWRnLmNwcAB0cmlnaHQueSgpIDw9IGhlaWdodABJbGxlZ2FsIHN1bSBvZiBjaGFpbiBjb2RlcwBjaGVja19wYXRoX2xlZ2FsAGNoYWluc3VtPSVkAEJMT0NLX0xJTkVfSVQ6OmdldF9saW5lAFk9JWQAQ2FuJ3QgZmluZCByZWN0YW5nbGUgZm9yIGxpbmUAWSBjb29yZGluYXRlIGluIGJsb2NrIG91dCBvZiBib3VuZHMAc3BsaXRfc3RyYXRlZ3kgPT0gTUlOSU1BTF9TUExJVCB8fCBzcGxpdF9zdHJhdGVneSA9PSBNQVhJTUFMX1NQTElUAG9yaWdfcGl4XwBTcGxpdHRpbmcgc2hpcm8tcmVraGEgLi4uCgBNaW5pbWFsAE1heGltYWwAU3BsaXQgc3RyYXRlZ3kgPSAlcwoAbm8AeWVzAEluaXRpYWwgcGFnZXNlZyBhdmFpbGFibGUgPSAlcwoAUGVyZm9ybWluZyBhIGdsb2JhbCBjbG9zZSBvcGVyYXRpb24uLgoAd29yZF9waXgAQ0MgZHJvcHBlZCBmcm9tIHNwbGl0dGluZzogJWQsJWQgKCVkLCAlZCkKAHBhZ2VzZWdfc3BsaXQAb2NyX3NwbGl0AFNraXBwaW5nIHNwbGl0dGluZyBDQyBhdCAoJWQsICVkKTogc2hpcm9yZWtoYSBpbiBsb3dlciBoYWxmLi4KAFNraXBwaW5nIHNwbGl0dGluZyBDQyBhdCAoJWQsICVkKTogc3Ryb2tlIHdpZHRoIHRvbyBodWdlLi4KAHBpeF9iaW5hcnlfICE9IG51bGxwdHIAL3NyYy9zcmMvY2NtYWluL3BhZ2VzZWdtYWluLmNwcABFbXB0eSBwYWdlCgAhdG9fYmxvY2tzLT5lbXB0eSgpAC9zcmMvc3JjL3RleHRvcmQvdGV4dG9yZC5jcHAARUxJU1QyX0lURVJBVE9SOjplbXB0eQBOOXRlc3NlcmFjdDZCQkdyaWRJTlNfMTFXb3JkV2l0aEJveEVOU18xN1dvcmRXaXRoQm94X0NMSVNURU5TXzE2V29yZFdpdGhCb3hfQ19JVEVFRQBkZXN0cG9zLnggKCkgPT0gc3RhcnQueCAoKSAmJiBkZXN0cG9zLnkgKCkgPT0gc3RhcnQueSAoKQBkZXN0aW5kZXggPD0gc3RlcGNvdW50AGNsZWFudXBfYmxvY2tzOiAjIHJvd3MgPSAlZCAvICVkCgBjbGVhbnVwX2Jsb2NrczogIyBibG9ja3MgPSAlZCAvICVkCgBFTElTVDJfSVRFUkFUT1I6Omxlbmd0aABCbG9iIGF0ICglZCwlZCkgLT4gKCVkLCVkKSwgb2xzPSVkLCB0Yz0lZCwgYmxkaWZmPSVnCgBSb3cgZW5kaW5nIGF0ICglZCwlZyk6AFJFSkVDVEVEAEFDQ0VQVEVEACBSPSVnLCBkYz0lZCwgbmM9JWQsICVzCgB0aGlzID09IGl0LT5kYXRhKCkAIXdvcmQtPmNibG9iX2xpc3QoKS0+ZW1wdHkoKQAvc3JjL3NyYy90ZXh0b3JkL3RvcmRtYWluLmNwcABFTElTVDJfSVRFUkFUT1I6OnNvcnQASXRlcmF0b3Igbm90IHNldCB0byBhIGxpc3QARkFMU0UAL3NyYy9zcmMvdGV4dG9yZC93b3Jkc2VnLmNwcABSb3cgd2l0aG91dCBlbm91Z2ggY2hhciBjZWxscyEKAExlZnRtb3N0IGJsb2IgaXMgYXQgKCVkLCVkKQoAIWNlbGxfaXQuZW1wdHkgKCkgJiYgIXJvdy0+Y2hhcl9jZWxscy5zaW5nbGV0b24gKCkAL3NyYy9zcmMvdGV4dG9yZC9mcGNob3AuY3BwAHdvcmQgIT0gbnVsbHB0cgBsZWZ0X2NoLmVtcHR5KCkgJiYgcmlnaHRfY2guZW1wdHkoKQBvdXRsaW5lID09IG51bGxwdHIAdG9wLT5zdGVwcyAhPSBudWxscHRyAHRvcC0+c3RlcHMgPT0gbnVsbHB0cgBib3R0b20t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ZXN0X2Zha2UgPCBJTlQxNl9NQVgAeD0lZCwgQz0lZywgcz0lZywgc3E9JWcsIHByZXY9JWQKAFdvcmQgZW5kaW5nIGF0ICglZCwlZCksIGxlbj0lZCwgc3luYyByYXRpbmc9JWcsIAAoRikAJWQsIABiZXN0X2VuZCAhPSBudWxscHRyAC9zcmMvc3JjL3RleHRvcmQvcGl0c3luYzEuY3BwAGJlc3RfZW5kID09IG51bGxwdHIAIW91dHNlZ19pdC5lbXB0eSAoKQBJbXBvc3NpYmxlIHNxc3VtPSVnLCBtZWFuPSVnLCB0b3RhbD0lZAoAb2Zmc2V0ID49IDAAbWFkZSBmYWtlIGF0ICVkCgBSb3cgZW5kaW5nIGF0ICglZCwlZCksIGxlbj0lZCwgc3luYyByYXRpbmc9JWcsIAB0dW5lX3Jvd19waXRjaDpzdGFydCBwaXRjaD0lZywgYmVzdF9kZWx0YT0lZCwgY291bnQ9JWQKAHR1bmVfcm93X3BpdGNoOm91dHB1dCBwaXRjaD0lZywgc2Q9JWcKAC9zcmMvc3JjL3RleHRvcmQvdG9waXRjaC5jcHAASW5pdGlhbGx5OgBCbG9jayAlZCBoYXMgKCVkLCVkLCVkKQAgKFdyb25nbHkpACBmaXhlZCwgKCVkLCVkLCVkKQAgcHJvcCwgJWQgZHVubm8KAD8/ADpzZC9wPSVnOm9jYz0lZzppbml0X3Jlcz0lcwoAdHJ5X2RvYzpwcm9wcz0lZDpmaXhlZD0lZDpwaXRjaD0lZDpmaW5hbF9waXRjaD0lZzpwaXRjaF9zZD0lZzpzcF9zZD0lZzpzZC90cmM9JWc6c2QvcD0lZzpzZC90cmMvcD0lZwoAQmxvY2sgJWQgYXQgKCVkLCVkKS0+KCVkLCVkKQoARmlyc3QgZnAgaXRlcmF0aW9uOmluaXRpYWxfcGl0Y2g9JWcsIGdhcF9pcXI9JWcsIHBpdGNoX2lxcj0lZywgcGl0Y2g9JWcKAFJldmlzZWQgZnAgaXRlcmF0aW9uOmluaXRpYWxfcGl0Y2g9JWcsIGdhcF9pcXI9JWcsIHBpdGNoX2lxcj0lZywgcGl0Y2g9JWcKAEJsaz0lZDpSb3c9JWQ6JWM6cF9pcXI9JWc6Z19pcXI9JWc6ZG1fcF9pcXI9JWc6ZG1fZ19pcXI9JWc6JWM6AENob29zaW5nIG5vbiBkbSB2ZXJzaW9uOnBpdGNoX2lxcj0lZywgZ2FwX2lxcj0lZywgZG1fcGl0Y2hfaXFyPSVnLCBkbV9nYXBfaXFyPSVnCgBDaG9vc2luZyBkbSB2ZXJzaW9uOnBpdGNoX2lxcj0lZywgZ2FwX2lxcj0lZywgZG1fcGl0Y2hfaXFyPSVnLCBkbV9nYXBfaXFyPSVnCgByZXZfcF9pcXI9JWc6cmV2X2dfaXFyPSVnOnBpdGNoPSVnOgBwX2lxci9nPSVnOnBfaXFyL3g9JWc6aXFyX3Jlcz0lYzoAY2x1c3Rlcl9jb3VudD0lZDoAICVnKCVkKQBObyBjbHVzdGVycyBiZWxvdyBub25zcGFjZSB0aHJlc2hvbGQhIQoATm8gY2x1c3RlcnMgYWJvdmUgbm9uc3BhY2UgdGhyZXNob2xkISEKAE5vIGNsdXN0ZXJzIGJlbG93IHNwYWNlIHRocmVzaG9sZCEhCgBObyBjbHVzdGVycyBhYm92ZSBzcGFjZSB0aHJlc2hvbGQhIQoASW5pdGlhbCBlc3RpbWF0ZXM6cHJfbm9uc3A9JWcsIHByX3NwYWNlPSVnLCBmcF9ub25zcD0lZywgZnBfc3BhY2U9JWcKAEJhZCBib3ggam9pbmVkIHRvIHByZXYgYXQAQWZ0ZXIgcmVwZWF0ZWQgd29yZDoAYm94X2l0LmVtcHR5KCkgfHwgIWJveF9pdC5kYXRhKCktPmpvaW5lZF90b19wcmV2KCkAUGFnZSBkb2Vzbid0IHNlZW0gdG8gY29udGFpbiBmaXhlZCBwaXRjaCByb3dzCgBjb21wdXRlX2ZpeGVkX3BpdGNoX2NqayBmaW5pc2hlZCBhZnRlciAldSBpdGVyYXRpb24gKGxpbWl0PSV1KQoARlBBbmFseXplcjogZmluYWwgcmVzdWx0CgBSb3cgJWQ6IHBpdGNoX2RlY2lzaW9uPSVkLCBmaXhlZF9waXRjaD0lZiwgbWF4X25vbnNwYWNlPSVkLCBzcGFjZV9zaXplPSVmLCBzcGFjZV90aHJlc2hvbGQ9JWQsIHhoZWlnaHQ9JWYKAENoYXIgJXU6IGlzX2ZpbmFsPSVkIGlzX2dvb2Q9JWQgbnVtX2Jsb2JzPSVkOiAAZmluYWxpemVkXwAvc3JjL3NyYy90ZXh0b3JkL2Nqa3BpdGNoLmNwcABwaXRjaF8gPiAwLjBmAGJsb2NrLT54aGVpZ2h0ID4gMAByb3cgIT0gbnVsbHB0cgByb3ctPnhoZWlnaHQgPiAwAHVfbGluZS0+Y2Jsb2IgKCkgIT0gbnVsbHB0cgAvc3JjL3NyYy90ZXh0b3JkL3VuZGVybGluLmNwcABCbG9jayBhdmVyYWdlIHhoZWlnaHQ9JS40ZiwgYXNjcmlzZT0lLjRmLCBkZXNjZHJvcD0lLjRmCgBjb3JyZWN0aW5nIHJvdyB4aGVpZ2h0OiByb3ctPnhoZWlnaHQgJS40Ziwgcm93LT5hY3Jpc2UgJS40ZiByb3ctPmRlc2Nkcm9wICUuNGYKAHVzaW5nIGF2ZXJhZ2UgeGhlaWdodAoAbG93ZXJjYXNlLCBjb3JyZWN0ZWQgYXNjcmlzZQoAYWxsIGNhcHMKAHNtYWxsIGNhcHMKAGFsbCBjYXBzIHdpdGggaXJyZWd1bGFyIHhoZWlnaHQKAGNvcnJlY3RlZCByb3ctPnhoZWlnaHQgPSAlLjRmLCByb3ctPmFjcmlzZSA9ICUuNGYsIHJvdy0+ZGVzY2Ryb3AgPSAlLjRmCgBtaW5faGVpZ2h0PSVkLCBtYXhfaGVpZ2h0PSVkLCBtb2RlPSVkLCBjb3VudD0lZCwgdG90YWw9JWQKAGZvdW5kICVkIG1vZGVzOiAAJWQgAFg9JWQsIGFzYz0lZCwgY291bnQ9JWQsIHJhdGlvPSVnCgBTaW5nbGUgbW9kZSB4aGVpZ2h0IHNldCB0byAlZwoATXVsdGktbW9kZSB4aGVpZ2h0IHNldCB0byAlZywgYXNjPSVnCgBTa2lwcGluZyByZXBlYXRlZCBjaGFyIHdoZW4gY29tcHV0aW5nIHhoZWlnaHQKAERlc2Nkcm9wOiAlZCAocG90ZW50aWFsIGFzY2VuZGVycyAlZCwgZGVzY2VuZGVycyAlZCkKAFJvdyBiYXNlbGluZSBnZW5lcmF0aW9uIGZhaWxlZCBvbiByb3cgYXQgKCVkLCVkKQoACklucHV0IGhlaWdodD0lZywgRXN0aW1hdGUgeC1oZWlnaHQ9JWQgcGl4ZWxzLCBqdW1wbGltaXQ9JS4yZgoAYmxvYmNvdW50PSVkLCBtb2RlX2NvdW50PSVkLCBtb2RlX3Q9JWQKAG1vZGVbJWRdPSVkIABPdXRwdXQgeGhlaWdodD0lZwoAd2FybmluZzogUm93IExpbmUgaGVpZ2h0IDwgMDsgJTQuMmYKAFRvbyBtYW55IHNlZ21lbnRzIHRvIHJlc2VnbWVudCBzcGxpbmUhIQoAU3BsaXR0aW5nIHNwbGluZSBhdCAlZCB3aXRoIHN0ZXAgJWcgYXQgKCVkLCVkKQoAUmVzZWdtZW50aW5nIHNwbGluZSBmYWlsZWQgLSBpbnN1ZmZpY2llbnQgcHRzICglZCwlZCwlZCwlZCkKAEZpcnN0IHR1cm4gaXMgJWQgYXQgKCVkLCVkKQoAVHVybiAlZCBpcyAlZCBhdCAoJWQsJWQpLCBtaWQgcHQgaXMgJWRAJWQsIGZpbmFsIEAlZAoAJWQoJWQsJWQpLCAARml0dGVkIGxpbmUgeT0lZyB4ICsgJWcKAERpZmYgb2YgY29tbW9uIGJsb2IgdG8gc3VzcGVjdCBwYXJ0PSVnIGF0ICglZywlZykKAE1lcmdlZCAlZCBibG9icyBiYWNrIGludG8gcGFydCAlZCBmcm9tICVkIHN0YXJ0aW5nIGF0ICglZCwlZCkKAERpZmY9JS4yZiwgRGVsdGE9JS4zZiwgRHJpZnQ9JS4zZiwgAFA9JWQKAENvbnN0cmFpbmVkIGZpdCB0byBkaXIgJWcsICVnID0gJWQsICVkIDolZCBkaXN0YW5jZXM6CgBSZXN1bHQgPSAlZAoAJWQ6ICVkLCAlZCAtPiAlZwoATGluZWFyIHNwbGluaW5nIGJhc2VsaW5lIG9mICVkIGJsb2JzIGF0ICglZCwlZCksIGludG8gJWQgc2VnbWVudHMgb2YgJWQgYmxvYnMKAFNlZ21lbnRpbmcgYmFzZWxpbmUgb2YgJWQgYmxvYnMgYXQgKCVkLCVkKQoATWFkZSAlZCBzZWdtZW50cyBvbiByb3cgYXQgKCVkLCVkKQoAYmxvYi0+Y2Jsb2IoKSAhPSBudWxscHRyAC9zcmMvc3JjL3RleHRvcmQvbWFrZXJvdy5jcHAAVW5kZXJsaW5lZCBibG9iIGF0OgBXYXM6AExhcmdlIGJsb2Igb3ZlcmxhcHMgJWQgYmxvYnMgYXQ6AFRlc3RpbmcgdW5kZXJsaW5lIG9uIGJsb2IgYXQgKCVkLCVkKS0+KCVkLCVkKSwgYmFzZT0lZApPY2NzOgAlZCAlZCAlZAoAQm90dG9tPSVkLCB0b3A9JWQsIGJhc2U9JWQsIHg9JWQKAEZpdHRpbmcgaW5pdGlhbCBiYXNlbGluZXMuLi4KAFBhZ2Ugc2tldyBhbmdsZSA9ICVnCgBBZGp1c3RpbmcgYmxvY2sgdG8gc2tldyBhbmdsZSAlZwoAUm93IGVtcHR5IGF0OgBNb2RlIGF0ICVnIGhhcyBlcnJvciAlZyBmcm9tIG1vZGVsIAoAQXR0ZW1wdGluZyBsaW5lc3BhY2luZyBtb2RlbCBmaXQgd2l0aCBtb2RlICVnIHRvIHJvdyBhdDoATGluZXNwYWNpbmcgbW9kZWwgb25seSBtb3ZlcyBjdXJyZW50IGxpbmUgYnkgJWcgZm9yIHJvdyBhdDoATGluZXNwYWNpbmcgbW9kZWwgbm90IGNsb3NlIGVub3VnaCB0byBhbnkgbW9kZSBmb3Igcm93IGF0OgBDb25zdHJhaW5lZCBlcnJvciA9ICVnLCBvcmlnaW5hbCA9ICVnACBhbmdsZXMgPSAlZywgJWcsIGRlbHRhPSVnIHZzIHRocmVzaG9sZCAlZwoAUmVwbGFjaW5nIHdpdGggY29uc3RyYWluZWQgYmFzZWxpbmUsIGdvb2QgPSAlZAoAS2VlcGluZyBvbGQgYmFzZWxpbmUKAFNwYWNpbmcgJWcsIGluICVkIHJvd3MsICVkIGdhcHMgZml0dGVkIG91dCBvZiAlZCBub24tdHJpdmlhbAoARmluYWwgbGluZXNwYWNpbmcgbW9kZWwgPSAlZyArIG9mZnNldCAlZywgZXJyb3IgJWcKACVkOiAlZwoATWVkaWFuIG9mZnNldCA9ICVnLCBjb21wYXJlZCB0byBtZWFuIG9mICVnLgoATGluZXNwYWNpbmcgb2YgeT0lZyB4ICsgJWcgaW1wcm92ZWQgdG8gJWcgeCArICVnLCBybXM9JWcKAEVzdGltYXRlIG9mIGxpbmVzcGFjaW5nID0gJWcKAEJhc2VsaW5lICglZywlZyktPiglZywlZyksIGFuZ2xlPSVnLCBpbnRlcmNlcHQ9JWcKAFF1YW50IGZhY3Rvcj0lZywgZXJyb3I9JWcsIGdvb2Q9JWQsIGJveDoASW5pdGlhbCBibG9jayBza2V3IGFuZ2xlID0gJWcsIGdvb2QgPSAlZAoARUxJU1QyX0lURVJBVE9SOjphZGRfYmVmb3JlX3RoZW5fbW92ZQBuZXdfZWxlbWVudCBpcyBudWxscHRyAEF0dGVtcHRpbmcgdG8gYWRkIGFuIGVsZW1lbnQgd2l0aCBub24gbnVsbHB0ciBsaW5rcywgdG8gYSBsaXN0AExpc3QgcGFyYW1ldGVyIGVycm9yAFRlc3QgYmxvYiBhc3NpZ25lZCB0byByb3cgYXQgKCVnLCVnKSBvbiBwYXNzICVkCgBUZXN0IGJsb2IgYXNzaWduZWQgdG8gbm8gcm93IG9uIHBhc3MgJWQKAFRlc3QgYmxvYiB5PSglZywlZyksIHJvdz0oJWYsJWYpLCBzaXplPSVnLCBvdmVybGFwPSVmCgBNZXJnaW5nIHJvd3MgYXQgKCVnLCVnKSwgKCVnLCVnKQoAVGVzdCBibG9iIHk9KCVnLCVnKSwgcm93PSglZiwlZiksIHNpemU9JWcsIG92ZXJsYXA9JWYtPiVmCgBFTElTVDJfSVRFUkFUT1I6OmJhY2t3YXJkAFByZXZpb3VzIGVsZW1lbnQgb24gdGhlIGxpc3QgaXMgbnVsbHB0cgBFeHBhbmRpbmcgYm90dG9tIG9mIHJvdyBhdCAlZiBmcm9tICVmIHRvICVmCgBFYXRpbmcgcm93IGJlbG93IGF0ICVmCgBUcnVuY2F0aW5nIGxpbWl0IHRvICVmIGR1ZSB0byB0b3VjaGluZyByb3cgYXQgJWYKAE5vdCBleHBhbmRpbmcgbGltaXQgYmV5b25kICVmIGR1ZSB0byB0b3VjaGluZyByb3cgYXQgJWYKAEV4cGFuZGluZyB0b3Agb2Ygcm93IGF0ICVmIGZyb20gJWYgdG8gJWYKAEVhdGluZyByb3cgYWJvdmUgYXQgJWYKAEVMSVNUMl9JVEVSQVRPUjo6bW92ZV90b19sYXN0AFJvdyBhdCAlZyB5aWVsZHMgc3BhY2luZyBvZiAlZwoAQmxvYiBiYXNlZCBzcGFjaW5nPSglZywlZyksIG9mZnNldD0lZwAgcm93IGJhc2VkPSVnKCVnKQAKRXN0aW1hdGUgbGluZSBzaXplPSVnLCBzcGFjaW5nPSVnLCBvZmZzZXQ9JWcKAEFkanVzdGluZyByb3cgbGltaXRzIGZvciBibG9jayglZCwlZCkKAFJvdyBhdCAlZiBoYXMgbWluICVmLCBtYXggJWYsIHNpemUgJWYKAFJvdyBhdCAlZyglZyksIGRyb3BvdXQgZGlzdD0lZCwAIHRvbyBmYXIgLSBkZWxldGluZwoAIG5lYXJlciBuZWlnaGJvdXIgKCVkKSBhdCAlZwoAIGVxdWFsIGJ1dCBtb3JlIGJlbGlldmFibGUgYXQgJWcgKCVnLyVnKQoAIGtlZXBpbmcKAGluZGV4ID49IDAgJiYgaW5kZXggPCBsaW5lX2NvdW50AGJsb2NrLT5wZGJsay5wb2x5X2Jsb2NrKCkgIT0gbnVsbHB0cgAvc3JjL3NyYy9jY3N0cnVjdC9ibG9iYm94LmgAcm90YXRpb24ueCgpID49IGtDb3NTbWFsbEFuZ2xlAC9zcmMvc3JjL2Njc3RydWN0L2Jsb2Jib3guY3BwAElucHV0IGltYWdlIHRvbyBsYXJnZSEgKCVkLCAlZCkKAEVtcHR5IHBhZ2UhIQoARm91bmQgJWQgYmxvY2tzLCAlZCB0b19ibG9ja3MKAEJsb2NrIG1lZGlhbiBzaXplID0gKCVkLCAlZCkKAEJsayAlZCwgdHlwZSAlZCByZXJvdGF0aW9uKCUuMmYsICUuMmYpLCBjaGFyKCUuMmYsJS4yZiksIGJveDoAY29sdW1uX3NldCAhPSBudWxscHRyAC9zcmMvc3JjL3RleHRvcmQvY29sZmluZC5jcHAAQ2hhbmdlZCBjb2x1bW4gZ3JvdXBzIGF0IGdyaWQgaW5kZXggJWQsIHk9JWQKAGNvbXBsZXRlZF9ibG9ja3NfLmxlbmd0aCgpID09IHRvX2Jsb2Nrc18ubGVuZ3RoKCkAL3NyYy9zcmMvdGV4dG9yZC93b3JraW5ncGFydHNldC5jcHAAIXBhcnQtPmJveGVzKCktPmVtcHR5KCkAc2lkZSBzdGVwID0gJS4yZiwgdG9wIHNwYWNpbmcgPSAlZCwgYm90dG9tIHNwYWNpbmc9JWQKAFNwYWNpbmdzIHVuZXF1YWw6IHVwcGVyOiVkLyVkLCBsb3dlcjolZC8lZCwgc2l6ZXMgJWQgJWQgJWQKAEFkZGVkIGxpbmUgdG8gY3VycmVudCBibG9jay4KAFNwYWNpbmdzIGVxdWFsOiB1cHBlcjolZC8lZCwgbG93ZXI6JWQvJWQsIG1lZGlhbjolZC8lZAoAU3BhY2luZyBydW4gZW5kZWQuIENhdXNlOgBObyBtb3JlIGxpbmVzCgBTcGFjaW5nIGNoYW5nZS4gU3BhY2luZ3M6CgAgTG93ZXIgcGFydG5lcjoAIG51bGxwdHIgbG93ZXIgcGFydG5lcjoKAFRvcCA9ICVkLCBib3R0b20gPSAlZAoATWVhbiBzcGFjaW5nID0gJWQvJWQKAFNldHRpbmcgbWVhbiBvbjoATWFraW5nIGJsb2NrIGF0ICglZCwlZCktPiglZCwlZCkKAE93bmVyc2hpcCBpbmNvcnJlY3QgZm9yIGJsb2I6AFBhcnQ9AE5vdCBvd25lZAoAT3duZXIgcGFydDoAYmJsb2ItPm93bmVyKCkgPT0gcGFydAAhdGV4dF90eXBlIHx8IGJibG9iLT5yZWdpb25fdHlwZSgpID49IEJSVF9VTktOT1dOACF0ZXh0X3R5cGUgfHwgb2xfaXQuZGF0YSgpLT5wYXRobGVuZ3RoKCkgPiAwAFJpZ2h0IHJ1biBmcm9tIHk9JWQgdG8gJWQgdGVybWluYXRlZCB3aXRoIHN1bSAlZC0lZCwgbmV3ICVkLSVkCgBMZWZ0IHJ1biBmcm9tIHk9JWQgdG8gJWQgdGVybWluYXRlZCB3aXRoIHN1bSAlZC0lZCwgbmV3ICVkLSVkCgBNYWtpbmcgYmxvY2sgYXQ6AFBhcnRpdGlvbiB3aXRoIHBhcnRuZXIgaGFzIG5vIHdvcmtpbmcgc2V0IToAQmV0d2VlbgBSZWFsAE1hdGNoIGlzICVzIGZvcjoAVGFyZ2V0IGNvbHVtbj0lZCwgb25seSBoYWQgJWQKACFpdC5jeWNsZWRfbGlzdCgpAGl0Mi5kYXRhKCkgIT0gcHRyAE9vb3BzISBQYXJ0aXRpb246KCVkIHBhcnRuZXJzKQBoYXMgc2luZ2xldG9uIHBhcnRuZXI6KCVkIHBhcnRuZXJzAGJ1dCBpdHMgc2luZ2xldG9uIHBhcnRuZXIgaXM6AE5VTEwKAHBhcnRuZXItPlNpbmdsZXRvblBhcnRuZXIoZmFsc2UpID09IHBhcnQAVXBwZXIATG93ZXIAUmVmaW5pbmcgJWQgJXMgcGFydG5lcnMgYnkgb3ZlcmxhcCBmb3I6CgBSZW1vdmluZyBwYXJ0bmVyOgBSZWZpbmluZyAlZCAlcyBwYXJ0bmVycyBieSB0eXBlIGZvcjoKAEtlZXBpbmcgcGFydG5lcjoAUmVmaW5pbmcgJWQgJXMgcGFydG5lcnMgYnkgbWVyZ2UgZm9yOgoARmluZGluZyBiZXN0IG1lcmdlIGNhbmRpZGF0ZSBmcm9tICVkLCAlZCBuZWlnaGJvdXJzIGZvciBib3g6AENhbmRpZGF0ZSBub3QgY29uZmlybWVkOgBOZXcgYmVzdCBtZXJnZSBjYW5kaWRhdGUgaGFzIGluY3JlYXNlICVkLCBhcmVhICVkLCBvdmVyIGJveDoATkMgb3ZlcmxhcCBmYWlsZWQ6Q2FuZGlkYXRlOgBmYWlscyB0byBiZSBhIGdvb2QgbWVyZ2Ugd2l0aDoARXhhbWluaW5nIG1lcmdlIGNhbmRpZGF0ZToAVG9vIGZhciBhd2F5OiBoX2Rpc3QgPSAlZAoAVG9vIGZhciBhd2F5OiB2X2Rpc3QgPSAlZAoAQ2FuZGlkYXRlIGZhaWxzIG92ZXJsYXAgYW5kIGRpYWNyaXRpYyB0ZXN0cyEKAEJsb2IgaXMgbm90IGEgZGlhY3JpdGljOgBPS0RpYWNyaXRpYyEKAHkgcmFuZ2VzIGRvbid0IG92ZXJsYXA6ICVkLSVkIC8gJWQtJWQKAG1lcmdlMSAhPSBudWxscHRyICYmIG1lcmdlMiAhPSBudWxscHRyAC9zcmMvc3JjL3RleHRvcmQvY29scGFydGl0aW9uZ3JpZC5jcHAAVmVydGljYWwgcGFydGl0aW9uCgBWb3ZlcmxhcCAlZCAoJWQpCgBFeGNlc3NpdmUgYm94IG92ZXJsYXAKAENMSVNUX0lURVJBVE9SOjphZGRfYWZ0ZXJfdGhlbl9tb3ZlAG5ld19kYXRhIGlzIG51bGxwdHIARmluZGluZyBmaWd1cmUgY2FwdGlvbnMgZm9yIGltYWdlIHBhcnQ6AENvbnNpZGVyaW5nIHBhcnRuZXI6AEJlc3QgY2FwdGlvbiBjYW5kaWRhdGU6AExpbmUgY291bnQ9JWQsIGJpZ2dlc3QgZ2FwICVkLCBzbWFsbGVzdCVkLCBtZWFuIGhlaWdodCAlZAoARW5kIHBhcnRuZXI6AFNldCBjYXB0aW9uIHR5cGUgZm9yIHBhcnRpdGlvbjoAYmJsb2ItPm93bmVyKCkgPT0gdGhpcyB8fCBiYmxvYi0+b3duZXIoKSA9PSBudWxscHRyAENsaWNrIGF0ICglZCwgJWQpCgBOOXRlc3NlcmFjdDZCQkdyaWRJTlNfMTBDb2xTZWdtZW50RU5TXzE2Q29sU2VnbWVudF9DTElTVEVOU18xNUNvbFNlZ21lbnRfQ19JVEVFRQAwIDw9IHJvdyAmJiByb3cgPCByb3dfY291bnQoKQAvc3JjL3NyYy90ZXh0b3JkL3RhYmxlcmVjb2cuY3BwADAgPD0gcm93X3N0YXJ0ICYmIHJvd19zdGFydCA8PSByb3dfZW5kICYmIHJvd19lbmQgPCByb3dfY291bnQoKQAwIDw9IGNvbHVtbl9zdGFydCAmJiBjb2x1bW5fc3RhcnQgPD0gY29sdW1uX2VuZCAmJiBjb2x1bW5fZW5kIDwgY29sdW1uX2NvdW50KCkAMCA8PSBjb2x1bW4gJiYgY29sdW1uIDwgY29sdW1uX2NvdW50KCkAdGV4dC0+Ym91bmRpbmdfYm94KCkuYm90dG9tKCkgPCB0ZXh0LT5ib3VuZGluZ19ib3goKS50b3AoKQBtaW5fbGlzdC5sZW5ndGgoKSA9PSBtYXhfbGlzdC5sZW5ndGgoKQBtaW5fbGlzdC5nZXQoMCkgPCBtYXhfbGlzdC5nZXQoMCkAbWluX2xpc3QuZ2V0KG1pbl9saXN0Lmxlbmd0aCgpIC0gMSkgPCBtYXhfbGlzdC5nZXQobWF4X2xpc3QubGVuZ3RoKCkgLSAxKQB0ZXh0LT5ib3VuZGluZ19ib3goKS5sZWZ0KCkgPCB0ZXh0LT5ib3VuZGluZ19ib3goKS5yaWdodCgpAGNlbGxfeV8ubGVuZ3RoKCkgPj0gMiAmJiBjZWxsX3hfLmxlbmd0aCgpID49IDIAY2hlY2sAYm91bmRpbmdfYm94LT5hcmVhKCkgPj0gb2xkX2FyZWEAcGFnZV93aWR0aCA+IDAAL3NyYy9zcmMvdGV4dG9yZC90YWJsZWZpbmQuY3BwAHBhZ2VfaGVpZ2h0ID4gMAAmcGFydCAhPSBsZWFkZXIAcGFydC0+SXNUZXh0VHlwZSgpAHBhcnQgIT0gbnVsbHB0cgBwYXJ0LT5tZWRpYW5fd2lkdGgoKSA+IDAAIW93bnNfYmxvYnMoKSB8fCBwcmV2X293bmVyID09IHRoaXMgfHwgcHJldl9vd25lciA9PSBudWxscHRyACFpdC5lbXB0eSgpAGJveGVzXy5lbXB0eSgpAC9zcmMvc3JjL3RleHRvcmQvY29scGFydGl0aW9uLmgAQWRkZWQgYm94ICglZCwlZCktPiglZCwlZCkgbGVmdF9ibG9iX3hfPSVkLCByaWdodF9ibG9iX3hfID0gJWQKAEFkZGluZyBub2lzZSBibG9iIHdpdGggZGlzdGFuY2UgJWQsIHRocj0lZzpib3g6AFRvIHBhcnRpdGlvbjoAQXQgKCVkLCVkKSwgcGl4ID0gJWQsIHByZXY9JWQKAENvbnNpZGVyaW5nIHBhcnQgZm9yIG1lcmdlIGF0OgBJbiBkaWZmZXJlbnQgY29sdW1ucwoAQ29uc2lkZXJpbmcgbWVyZ2Ugd2l0aCBuZWlnaGJvdXIgYXQ6AFJ1bm5pbmcgZ3JpZC1iYXNlZCBtZXJnZSBiZXR3ZWVuOgoATmVpZ2hib3VyIGZhaWxlZCBoZ2FwIHRlc3QKAE5laWdoYm91ciBmYWlsZWQgb3ZlcmxhcCBvciB0eXBlc21hdGNoIHRlc3QKAENvbnNpZGVyaW5nIHBhcnRpdGlvbiBmb3IgR3JpZFNwbGl0OgBTZWFyY2hpbmcgYm94ICglZCwlZCktPiglZCwlZCkKAFNwbGl0dGluZyBwYXJ0IGF0ICVkOgBTcGxpdCByZXN1bHQ6AFNwbGl0IGhhZCBubyBlZmZlY3QKAFBhcnQgY2Fubm90IGJlIHNwbGl0OiBibG9iICglZCwlZCktPiglZCwlZCkgaW4gY29sdW1uIGdhcAoAQ29tcHV0ZWQgbWFyZ2lucyBmb3IgcGFydDoASW5zZXJ0ZWQgJWQgYmxvYnMgaW50byBncmlkLCAlZCByZWplY3RlZC4KAHBhcnRfZ3JpZF8uZ3JpZGhlaWdodCgpID09IGdyaWRoZWlnaHRfAENvbHVtbiBjYW5kaWRhdGVzAEltcHJvdmVkIGNvbHVtbnMARmluYWwgQ29sdW1ucwBiZXN0X2NvbHVtbnNfW2ldICE9IG51bGxwdHIAc2V0X2NvdW50ID09IGdyaWRoZWlnaHQoKQBTZXQgaWQgJWQgZGlkIG5vdCBtYXRjaCBhdCB5PSVkLCBsaW5lc2V0ID0lcAoAQmlnZ2VzdCB1bmFzc2lnbmVkIHJhbmdlID0gJWQtICVkCgBSYW5nZSBtb2RhbCBjb2x1bW4gaWQgPSAlZAoAU2hydW5rIHJhbmdlID0gJWQtICVkCgBDb2x1bW4gaWQgJWQgYXBwbGllcyB0byByYW5nZSA9ICVkIC0gJWQKAFN0YXJ0aW5nIGV4cGFuc2lvbiBhdCAlZCwgc3RlcD0lZCwgbGltaXQ9JWQKAEF0ICVkLCBCYXJyaWVyIHNpemU9JWQKAEF0ICVkLCBnb29kIHNpemUgPSAlZAoAUGFydGl0aW9uIHNldCBvZiAlZCBwYXJ0cywgJWQgZ29vZCwgY292ZXJhZ2U9JWQrJWQgKCVkLCVkKS0+KCVkLCVkKQoAY29sdW1uX3N0YXRzLmdldF90b3RhbCgpID4gMABDb21wYXRpYmxlQ29sdW1ucyB0ZXN0aW5nIGNvbXBhdGliaWxpdHkKAENvbXBhdGlibGVDb2x1bW5zIHRydWUgZHVlIHRvIGVtcHR5IG90aGVyCgBDb21wYXRpYmxlQ29sdW1ucyBpZ25vcmluZyBpbWFnZSBwYXJ0aXRpb24KAENvbXBhdGlibGVDb2x1bW5zIGZhbHNlIGR1ZSB0byBwYXJ0aXRpb24gZWRnZSBvdXRzaWRlCgBDb21wYXRpYmxlQ29sdW1ucyBmYWxzZSBkdWUgdG8gZ29vZCB3aWR0aCBpbiBtdWx0aXBsZSBjb2xzCgBDb21wYXRpYmxlQ29sdW1ucyBmYWxzZSBkdWUgdG8gMiBwYXJ0cyBvZiBnb29kIHdpZHRoCgBwYXJ0MSAlZC0lZCwgcGFydDIgJWQtJWQKAENvbXBhdGlibGVDb2x1bW5zIHRydWUhCgBjb2x1bW5fY2FuZGlkYXRlICE9IG51bGxwdHIAIXBhcnRfaXQuZW1wdHkoKQBGb3VuZCAlZCAlczoKAENvbnNpZGVyaW5nIG5ldyBjb2x1bW4gY2FuZGlkYXRlOgoATm90IGEgbGVnYWwgY29sdW1uIGNhbmRpZGF0ZToKAEdvb2Qgb25lCgBEdXBsaWNhdGUKAEFkZGVkIHRvIGVuZAoAQm91bmRpbmcgYm94IGludmFsaWQKAE1hcmdpbnMgaW52YWxpZAoAS2V5IGluc2lkZSBib3g6ICVkIHYgJWQgb3IgJWQgdiAlZAoAZ2V0AENvbnN0cmFpbnQgaXMgWyVkLCVkXQAgZm9yACVzICVzICglZCwlZCktPiglZCwlZCkgdz0lZCBzPSVkLCBzb3J0IGtleT0lZCwgYm94ZXM9JWQsIHBhcnRuZXJzPSVkCgBNZXJnaW5nIGNvbnN0cmFpbnRzCgBNZXJnZQBUZXN0aW5nIGNvbnN0cmFpbnQgY29tcGF0aWJpbGl0eQoAUmVzdWx0aW5nIHJhbmdlID0gWyVkLCVkXQoASW1wb3NzaWJsZTogaGFzIG5vIGNvbnN0cmFpbnRzAFRoaXMgdmVjdG9yIGhhcyBpdCBhcyBhIHBhcnRuZXIAVmVydGljYWwgc2tldyB2ZWN0b3I9KCVkLCVkKQoAWmVybyBsZW5ndGggaW4gZXZhbHVhdGUAQWZ0ZXIgYWxyZWFkeSBkZWxldGluZyAlZCBib3hlcywgAFN0YXJ0aW5nIGV2YWx1YXRpb24AQm94ICglZCwlZCktPiglZCwlZCkgaGFzIGd1dHRlciAlZCwgbmRpc3QgJWQKAEJveCBhbmQgcHJldiBnb29kLCBnYXA9JWQsIHRhcmdldCAlZywgZ29vZGxlbmd0aD0lZAoAQmFkIEJveCAoJWQsJWQpLT4oJWQsJWQpIHdpdGggZ3V0dGVyICVkLCBuZGlzdCAlZAoARXZhbHVhdGluZzoAQmFkIEJveCAoJWQsJWQpLT4oJWQsJWQpIHdpdGggZ3V0dGVyICVkLCBtZWFuIGd1dHRlciAlZAoAUmVqZWN0aW5nIGJhZCB0YWIgVmVjdG9yIHdpdGggJWQgZ3V0dGVyIHZzICVnIG1pbgoARmluYWwgZ3V0dGVyICVkLCB2cyBsaW1pdCBvZiAlZywgcmVxdWlyZWQgc2hpZnQgPSAlZAoARXZhbHVhdGlvbiBjb21wbGV0ZToATG9va2luZyBpbiBndXR0ZXIKAExvb2tpbmcgZm9yIG5laWdoYm91cgoARm91bmQgbmVpZ2hib3VyOgBBZGphY2VudCBibG9iOiBjb25zaWRlcmluZyBib3g6AEdpdmluZyB1cCBkdWUgdG8gYmlnIGdhcCA9ICVkIHZzICVkCgBDb2xsaXNpb24gd2l0aCBsaWtlIHRhYiBvZiB0eXBlICVkIGF0ICVkLCVkCgBHb29kIHJlc3VsdAoAV3Jvbmcgd2F5CgBJbnN1ZmZpY2llbnQgb3ZlcmxhcAoAR2l2aW5nIHVwIGR1ZSB0byBlbmQgb2Ygc2VhcmNoCgBNZXJnaW5nAGJ5IGRlbGV0aW5nAFByb2R1Y2luZwBHYXJiYWdlIHJlc3VsdCBvZiBtZXJnZT8AQ0xJU1RfSVRFUkFUT1I6Om1vdmVfdG9fbGFzdABDb2x1bW4gb2Ygd2lkdGggJWQgaGFzICVkID0gJS4yZiUlIGxpbmVzCgBCb3ggZWRnZSAoJWQsJWQtJWQpACBsb29raW5nIGZvciBpbXByb3ZlbWVudCBmb3IARXh0ZW5kZWQgdmVjdG9yAENyZWF0ZWQgbmV3IHZlY3RvcgBDb25zdHJ1Y3RlZCBhIG5ldyB0YWIgdmVjdG9yOgAhbGVmdF9rZXlfdGFiXyAmJiAhcmlnaHRfa2V5X3RhYl8ATW92ZWQgJWQgbGFyZ2UgYmxvYnMgdG8gbm9ybWFsIGxpc3QKAGJsb2ItPmNibG9iKCktPmFyZWEoKSAhPSAwAEltYWdlQ29tcG9uZW50AENvbXBvbmVudCBoYXMgJWQgcGFydHMKAFNlYXJjaGluZyBmb3IgbWVyZ2Ugd2l0aCBpbWFnZSBwYXJ0OgBUZXh0IGJveD0AQ29uc2lkZXJpbmcgbWVyZ2Ugd2l0aCBwYXJ0OgBGdWxseSBjb250YWluZWQKAE5vdCB3aXRoaW4gdGV4dCBib3gKAFRvbyBzdHJvbmcgdGV4dAoAUmVhbCBjYW5kaWRhdGUKAE1lcmdpbmcgaW1hZ2UgcGFydDoAd2l0aCBwYXJ0OgBvdGhlciA9PSB0aGlzACFwYXJ0X2xpc3QtPmVtcHR5KCkAL3NyYy9zcmMvdGV4dG9yZC9pbWFnZWZpbmQuY3BwAENvbm5jb21waW1hZ2UAQSBjb21wb25lbnQARGV0ZWN0ZWQgJWQgZGlhY3JpdGljcwoAUmVnaW9uRmxvd1R5cGVzRnJvbVByb2plY3Rpb25WYWx1ZSBjb3VudD0lZCwgbm9pc3k9JWQsIHNjb3JlPSVkLAAgUHJvamVjdGlvbiB2YWx1ZT0lZCwgZmxvdz0lZCwgYmxvYl90eXBlPSVkCgBQYXJ0aXRpb24gaHJlc3VsdD0lZCwgdnJlc3VsdD0lZCBmcm9tOgBHcmFkaWVudHM6IHRvcCA9ICVkLCBib3R0b20gPSAlZCwgbGVmdD0gJWQsIHJpZ2h0PSAlZCBmb3IgYm94OgBCbG9iIG5vdCBhdmFpbGFibGUgdG8gYmUgYSBkaWFjcml0aWMgYXQ6AEZvdW5kICVkIHNtYWxsIGRpYWNyaXRpY3MsICVkIG1lZGl1bQoAVGVzdGluZyBibG9iIGZvciBkaWFjcml0aWNuZXNzIGF0OgBOZWlnaGJvdXIgbm90IHN0cm9uZyBlbm91Z2g6AE5laWdoYm91ciBub3QgYmlnIGVub3VnaDoAeGdhcD0lZCwgeT0lZCwgdG90YWwgZGlzdD0lZAoATmVpZ2hib3VyIHdpdGggbWVkaWFuIHNpemUgJWQgdG9vIGZhciBhd2F5OgBDb21wdXRpbmcgcmVkdWNlZCBib3ggZm9yIDoATmV3IGJlc3Q6AFNocnVua2VuIGJveCBkb2Vzbid0IHdpbjoATmV3IGJlc3QgeSBvdmVybGFwOgBOZXcgeSBvdmVybGFwIGJveCBkb2Vzbid0IHdpbjoATmVpZ2hib3VyIHdyb25nIHNpZGUgb2YgYSB0YWI6AERpYWNyaXRpY0Jsb2IgT0shICh4LW92ZXJsYXA6AERpYWNyaXRpY0Jsb2IgT0shICh5LW92ZXJsYXA6AERpYWNyaXRpY0Jsb2IgZmFpbHM6AEJlc3QgeCt5IGdhcCA9ICVkLCB5ID0gJWQKAFhHYXBGaWxsZWQ9JWQsIE5vaXNlQmV0d2Vlbj0lZAoAU21vb290aGluZyBwYXJ0IGF0OgBSZXN1bHQgaW4gZGlyICVkID0gJWQgYXQgZGlzdCAlZAoATW9kaWZpZWQgcGFydDoAVG90YWxzOiBodGV4dD0lZCslZCwgdnRleHQ9JWQrJWQsIGltYWdlPSVkKyVkLCBhdCBkaXN0PSVkCgBQYXJ0IGhhcyB4LWdhcD0lZCwgeT0lZCwgZGlzdD0lZCBhdDoASHRleHQAVnRleHQAJXMgJWQKAFdlYWsgJWQKAEltYWdlICVkCgBNZXJnZSBjYW5kaWRhdGU6AE1lcmdpbmc6aG92ZXJsYXA9JWQsIHZvdmVybGFwPSVkLCBPTEk9JWQKAE92ZXJsYXBwZWQgd2hlbiBtZXJnZWQgd2l0aCBpbmNyZWFzZSAlZDogAE5vIGNhbmRpZGF0ZSBuZWlnaGJvdXIgcmV0dXJuZWQKAENvbWJpbmVkIGJveCBvdmVybGFwcyBhbm90aGVyIHRoYXQgaXMgbm90IE9LIGRlc3BpdGUgYWxsb3dhbmNlIG9mICVkOgBSZWFzb246AC4uLmFuZDoAT3ZlcmxhcDoAQWRkaW5nIGNhbmRpZGF0ZToAMjlfVGVzc01lbWJlclJlc3VsdENhbGxiYWNrXzBfMklMYjBFYk45dGVzc2VyYWN0MTFTdHJva2VXaWR0aEVQS05TMF8xMkNvbFBhcnRpdGlvbkVTNF9FADE5VGVzc1Jlc3VsdENhbGxiYWNrMkliUEtOOXRlc3NlcmFjdDEyQ29sUGFydGl0aW9uRVMzX0UAcDEgIT0gbnVsbHB0ciAmJiBwMiAhPSBudWxscHRyAC9zcmMvc3JjL3RleHRvcmQvc3Ryb2tld2lkdGguY3BwACFwMS0+SXNFbXB0eSgpICYmICFwMi0+SXNFbXB0eSgpADI5X1Rlc3NNZW1iZXJSZXN1bHRDYWxsYmFja18wXzJJTGIwRWJOOXRlc3NlcmFjdDExU3Ryb2tlV2lkdGhFUE5TMF8xMkNvbFBhcnRpdGlvbkVQNFRCT1hFADE5VGVzc1Jlc3VsdENhbGxiYWNrMkliUE45dGVzc2VyYWN0MTJDb2xQYXJ0aXRpb25FUDRUQk9YRQByaWdodF9wYXJ0ICE9IG51bGxwdHIAcHVyZV9oPSVkLCBwdXJlX3Y9JWQKAENsZWFuIG9uIHBhc3MgMyEKAFNldE5laWdoYm91ckZsb3dzIChjdXJyZW50IGZsb3c9JWQsIHR5cGU9JWQpIG9uOgBTZXRGbG93czogaF9jb3VudD0lZCwgdl9jb3VudD0lZAoASGdhcHMgWyVkLCVkXSwgdmdhcHMgWyVkLCVkXToASG9yeiBhdDoAVmVydCBhdDoATmVpdGhlciBhdDoARkdOIGluIGRpciAlZCBmb3IgYmxvYjoATmVpZ2hib3VyIGF0OgBCYWQgc2l6ZQoAT24gd3Jvbmcgc2lkZQoAT3ZlcmxhcHMgd3Jvbmcgd2F5CgBEb2Vzbid0IG92ZXJsYXAgZW5vdWdoCgBnb29kbmVzcyA9ICVnIHZzIGJlc3Qgb2YgJWcsIGdvb2Q9JWQsIG92ZXJsYXA9JWQsIGdhcD0lZAoAQ2hlY2tpbmcgZm9yIEJyb2tlbiBDSksgKG1heCBzaXplPSVkKToAQmFkIGZpbmFsIGFzcGVjdHJhdGlvOgBUb28gbWFueSBuZWlnaGJvdXJzOiAlZAoAQmFkIHN0cm9rZSB3aWR0aHM6AERvbmUhIEZpbmFsIGJveDoAQWRkZWQ6AFRlc3RpbmcgZm9yIG92ZXJsYXAgd2l0aDoARmluYWwgYm94IG92ZXJsYXBzIG5lYXJlc3QKAGdhcHMgPSAlZCwgJWQsIG1lcmdlZF9ib3g6AENoZWNraW5nIGZvciB2ZXJ0aWNhbCBsaW5lcwoAVG9vIGZldyBib3hlcwBFdmFsdWF0ZWQgdGFiAEJlZ2lubmluZyByZWFsIHRhYiBzZWFyY2ggd2l0aCB2ZXJ0aWNhbCA9ICVkLCVkLi4uCgBDb25maXJtaW5nIHRhYiB2ZWN0b3Igb2YgJWQgcHRzIHN0YXJ0aW5nIGF0ICVkLCVkCgBCb3ggd2FzICVkLCAlZAoAQWZ0ZXIgZml0dGluZwBSYWdnZWQgdGFiIHVzZWQgdG9vIG1hbnkgdXNlZCBwb2ludHM6ICVkIG91dCBvZiAlZAoAVGFiIHZlY3RvciBmYWlsZWQgYmFzaWMgdGVzdHM6IHB0IGNvdW50ICVkIHZzIG1pbiAlZCwgbGVuZ3RoICVkIHZzIG1pbiAlZCwgbWluIGdyYWQgJWcKAFN0YXJ0aW5nIGFsaWdubWVudCBydW4gYXQgYmxvYjoAQWxpZ25tZW50IHJ1biBlbmRlZCB3aXRoICVkIHB0cyBhdCBibG9iOgBMZWZ0AFJpZ2h0AFN0YXJ0aW5nICVzICVzIHNlYXJjaCBhdCAlZC0lZCwlZCwgc2VhcmNoX3NpemU9JWQsIGd1dHRlcj0lZAoATmVpZ2hib3VyIHRvbyBmYXIgYXQgKCVkLCVkKS0+KCVkLCVkKQoAbmVpZ2hib3VyIGF0ICglZCwlZCktPiglZCwlZCksIG5feD0lZCwgbl95PSVkLCB4YXRuPSVkCgBndXR0ZXIKAGFsaWduZWQsIHNlZWtpbmclZCwgbD0lZCwgcj0lZAoAQmFja3VwCgBCZXR0ZXIgYmFja3VwCgBDb2x1bW4gZWRnZXMgZm9yIGJsb2IgYXQgKCVkLCVkKS0+KCVkLCVkKSBhcmUgWyVkLCAlZF0KAE5laWdoYm91ciBhdCAoJWQsJWQpLT4oJWQsJWQpCgBOb3QgYSBsZWZ0IHRhYgoATWF5YmUgYSBsZWZ0IHRhYgoATWF5YmUgTm90IGEgbGVmdCB0YWIKAE5vdCBhIHJhZ2dlZCBsZWZ0CgBOb3QgYSByaWdodCB0YWIKAE1heWJlIGEgcmlnaHQgdGFiCgBNYXliZSBOb3QgYSByaWdodCB0YWIKAE5vdCBhIHJhZ2dlZCByaWdodAoAUmFnZ2VkAEFsaWduZWQATGVmdCByZXN1bHQgPSAlcywgUmlnaHQgcmVzdWx0PSVzCgBNYXggbmVpZ2hib3VyIHNpemU9JWQgZm9yIGNhbmRpZGF0ZSBsaW5lIGJveCBhdDoAZ2FwIGlxciA9ICVnLCBibG9iX2NvdW50PSVkLCBsaW1pdHM9JWcsJWcKAE5vIHBhdGgKAFRvdGFsIGNvc3QgPSAlZCB2cyBhbGxvd2VkICVkCgBtaW5fc3RlcCA+IDAAL3NyYy9zcmMvY2NzdHJ1Y3QvZHBwb2ludC5jcHAAUGFnZVNlZ0lucHV0AE5vTGluZXMATm9JbWFnZXMAdG9fYmxvY2tzLT5zaW5nbGV0b24oKQBFc3RpbWF0aW5nIHJlc29sdXRpb24gYXMgJWQKAEphcGFuZXNlAEtvcmVhbgBPU0Q6IFdlYWsgbWFyZ2luICglLjJmKSwgaG9yaXogdGV4dGxpbmVzLCBub3QgQ0pLOiBEb24ndCByb3RhdGUuCgBPU0Q6IFdlYWsgbWFyZ2luICglLjJmKSBmb3IgJWQgYmxvYiB0ZXh0IGJsb2NrLCBidXQgdXNpbmcgb3JpZW50YXRpb24gYW55d2F5OiAlZAoAVmVydGljYWw9JWQsIG9yaWVudGF0aW9uPSVkLCBmaW5hbCByb3RhdGlvbj0oJWYsICVmKSsoJWYsJWYpCgBkZW5vcm1fID09IG51bGxwdHIAVGFiR3V0dGVyIHRvdGFsICVkICBtZWRpYW5fZ2FwICUuMmYgIG1lZGlhbl9oZ3QgJS4yZgoAVG9vIGZldyBjaGFyYWN0ZXJzLiBTa2lwcGluZyB0aGlzIHBhZ2UKAENMSVNUX0lURVJBVE9SOjpsZW5ndGgAc2NyaXB0X3RhYmxlX3NpemVfdXNlZCA9PSBzY3JpcHRfdGFibGVfc2l6ZV9yZXNlcnZlZABhZGRfc2NyaXB0AFRleHREaXIgaGJveD0lZCB2cyB2Ym94PSVkLCAlZEgsICVkViwgJWROIG9zZCBibG9icwoAanVua25vaXNlbWFzay5wbmcAanVua2NjcGhvdG9tYXNrLnBuZwBBdCAlZCwgJWQsIG5vaXNlID0gJWQsIGdvb2Q9JWQsIG9yaWc9JWQsIHRocj0lZAoAZ3JpZF94ID49IDAgJiYgZ3JpZF94IDwgZ3JpZHdpZHRoKCkAL3NyYy9zcmMvdGV4dG9yZC9iYmdyaWQuaABncmlkX3kgPj0gMCAmJiBncmlkX3kgPCBncmlkaGVpZ2h0KCkAMjlfVGVzc01lbWJlclJlc3VsdENhbGxiYWNrXzBfMUlMYjBFYk45dGVzc2VyYWN0N1RhYkZpbmRFaUUAMTlUZXNzUmVzdWx0Q2FsbGJhY2sxSWJpRQBDYXNjYWRlUmVkdWNlZABIYWxmdG9uZU1hc2sASGFsZnRvbmVSZXBsaWNhdGVkAEZpbmVNYXNrAENvYXJzZU1hc2sATWFza0RpbGF0ZWQARmluYWxNYXNrAEVycm9yIGluIHBhcmFtZXRlcnMgZm9yIExpbmVGaW5kZXI6OkZpbmRBbmRSZW1vdmVMaW5lcwoATGluZUZpbmRpbmcAdmhsaW5lZmluZGluZy5wZGYARmluZGluZyBsaW5lIHZlY3RvciBzdGFydGluZyBhdCBiYm94ICglZCwlZCkKAEltYWdlIHJlc29sdXRpb24gPSAlZCwgbWF4IGxpbmUgd2lkdGggPSAlZCwgbWluIGxlbmd0aD0lZAoALnV6bgAlZCAlZCAlZCAlZCAlKnMARmFpbGVkIGxvYWRpbmcgbGFuZ3VhZ2UgJyVzJwoAVGVzc2VyYWN0IGNvdWxkbid0IGxvYWQgYW55IGxhbmd1YWdlcyEKAFVzaW5nIHBhcmFtcyBtb2RlbCBvZiB0aGUgcHJpbWFyeSBsYW5ndWFnZQoAMzFfVGVzc0Z1bmN0aW9uUmVzdWx0Q2FsbGJhY2tfMF8ySUxiMEViUktOOXRlc3NlcmFjdDhGb250SW5mb0VTM19FADE5VGVzc1Jlc3VsdENhbGxiYWNrMkliUktOOXRlc3NlcmFjdDhGb250SW5mb0VTM19FAEVycm9yOiBmYWlsZWQgdG8gbG9hZCAlcwoAcGxlYXNlIGNhbGwgaW5pdGlhbGl6ZV9wYXR0ZXJucygpIGJlZm9yZSByZWFkX3BhdHRlcm5fbGlzdCgpCgBFcnJvciBvcGVuaW5nIHBhdHRlcm4gZmlsZSAlcwoAUGxlYXNlIHByb3ZpZGUgYXQgbGVhc3QgJWQgY29uY3JldGUgY2hhcmFjdGVycyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBwYXR0ZXJuCgBJbnZhbGlkIHVzZXIgcGF0dGVybiAlcwoASW5zZXJ0aW5nIGV4cGFuZGVkIHVzZXIgcGF0dGVybiAlcwoARXJyb3I6IGZhaWxlZCB0byBpbnNlcnQgcGF0dGVybiAnJXMnCgBSZWFkICVkIHZhbGlkIHBhdHRlcm5zIGZyb20gJXMKAFV0ZjggYnVmZmVyIHRvbyBiaWcsIHNpemU+JWQgZm9yICVzCgBFcnJvcjogd29yZCAnJXMnIG5vdCBpbiBEQVdHIGFmdGVyIGFkZGluZyBpdAoAUmVhZCAlZCB3b3JkcyBzbyBmYXIKAFJlYWQgJWQgd29yZHMgdG90YWwuCgB1bmljaGFyc2V0X3NpemUgPiAwAC9zcmMvc3JjL2RpY3QvZGF3Zy5jcHAAMjlfVGVzc01lbWJlclJlc3VsdENhbGxiYWNrXzBfMElMYjFFUE45dGVzc2VyYWN0NERhd2dFTlMwXzEwRGF3Z0xvYWRlckVFADE4VGVzc1Jlc3VsdENhbGxiYWNrSVBOOXRlc3NlcmFjdDREYXdnRUUAUmVhZGluZyBzcXVpc2hlZCBkYXdnCgBCYWQgbWFnaWMgbnVtYmVyIG9uIGRhd2c6ICVkIHZzICVkCgBudW1fZWRnZXNfID4gMAB0eXBlOiAlZCBsYW5nOiAlcyBwZXJtOiAlZCB1bmljaGFyc2V0X3NpemU6ICVkIG51bV9lZGdlczogJWQKAE5PX0VER0UKACVsbGQgOiBuZXh0ID0gJWxsZCwgdW5pY2hhcl9pZCA9ICclZCcsICVzICVzICVzCgBpc19sb2FkZWRfAC9zcmMvc3JjL2NjdXRpbC90ZXNzZGF0YW1hbmFnZXIuY3BwAFByZS00LjAuMABjb25maWcAdW5pY2hhcnNldAB1bmljaGFyYW1iaWdzAGludHRlbXAAcGZmbXRhYmxlAG5vcm1wcm90bwBwdW5jLWRhd2cAd29yZC1kYXdnAG51bWJlci1kYXdnAGZyZXEtZGF3ZwBjdWJlLXdvcmQtZGF3ZwBzaGFwZXRhYmxlAGJpZ3JhbS1kYXdnAHVuYW1iaWctZGF3ZwBwYXJhbXMtbW9kZWwAbHN0bQBsc3RtLXB1bmMtZGF3ZwBsc3RtLXdvcmQtZGF3ZwBsc3RtLXJlY29kZXIAdmVyc2lvbgB0cmFpbmVkZGF0YQBFcnJvciBvcGVuaW5nIGRhdGEgZmlsZSAlcwoAUGxlYXNlIG1ha2Ugc3VyZSB0aGUgVEVTU0RBVEFfUFJFRklYIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNldCB0byB5b3VyICJ0ZXNzZGF0YSIgZGlyZWN0b3J5LgoARXJyb3Igc2V0dGluZyBwYXJhbSAlcwoARmFpbGVkIHRvIG9wZW4gJXMgZm9yIHdyaXRpbmcgcGFyYW1zLgoAbHN0bV9yZWNvZ25pemVyXy0+TG9hZChsc3RtX3VzZV9tYXRyaXggPyBsYW5ndWFnZSA6IG51bGxwdHIsIG1ncikAL3NyYy9zcmMvY2NtYWluL3Rlc3NlZGl0LmNwcABFcnJvcjogTFNUTSByZXF1ZXN0ZWQsIGJ1dCBub3QgcHJlc2VudCEhIExvYWRpbmcgdGVzc2VyYWN0LgoARXJyb3I6IFNpemUgb2YgdW5pY2hhcnNldCBpcyBncmVhdGVyIHRoYW4gTUFYX05VTV9DTEFTU0VTCgBQYXJhbXNNb2RlbDo6VW5rbm93biBwYXJhbWV0ZXIgJXMKAE1pc3NpbmcgZmllbGQgJXMuCgAwIDw9IGluZGV4ICYmIGluZGV4IDwgYml0X3NpemVfAC9zcmMvc3JjL2NjdXRpbC9iaXR2ZWN0b3IuaABXb3JkSW5kZXgAUFRSQUlOX0RJR0lUU19TSE9SVABQVFJBSU5fRElHSVRTX01FRABQVFJBSU5fRElHSVRTX0xPTkcAUFRSQUlOX05VTV9TSE9SVABQVFJBSU5fTlVNX01FRABQVFJBSU5fTlVNX0xPTkcAUFRSQUlOX0RPQ19TSE9SVABQVFJBSU5fRE9DX01FRABQVFJBSU5fRE9DX0xPTkcAUFRSQUlOX0RJQ1RfU0hPUlQAUFRSQUlOX0RJQ1RfTUVEAFBUUkFJTl9ESUNUX0xPTkcAUFRSQUlOX0ZSRVFfU0hPUlQAUFRSQUlOX0ZSRVFfTUVEAFBUUkFJTl9GUkVRX0xPTkcAUFRSQUlOX1NIQVBFX0NPU1RfUEVSX0NIQVIAUFRSQUlOX05HUkFNX0NPU1RfUEVSX0NIQVIAUFRSQUlOX05VTV9CQURfUFVOQwBQVFJBSU5fTlVNX0JBRF9DQVNFAFBUUkFJTl9YSEVJR0hUX0NPTlNJU1RFTkNZAFBUUkFJTl9OVU1fQkFEX0NIQVJfVFlQRQBQVFJBSU5fTlVNX0JBRF9TUEFDSU5HAFBUUkFJTl9OVU1fQkFEX0ZPTlQAUFRSQUlOX1JBVElOR19QRVJfQ0hBUgBQYXJhbXNNb2RlbDo6SW5jb21wbGV0ZSBsaW5lICVzCgAgJWYAUmVhZGluZyBhbWJpZ3VpdGllcwoAYW1iaWdfZmlsZS0+RkdldHMoYnVmZmVyLCBrQnVmZmVyU2l6ZSkgIT0gbnVsbHB0ciAmJiBzdHJsZW4oYnVmZmVyKSA+IDAAL3NyYy9zcmMvY2N1dGlsL2FtYmlncy5jcHAAcmVhZCBsaW5lICVzCgBpZF90b19pbnNlcnQgIT0gSU5WQUxJRF9VTklDSEFSX0lEAFJlcGxhY2VhYmxlAERhbmdlcm91cwAlcyBBbWJpZ3VpdGllcyBmb3IgJXM6CgB3cm9uZ19uZ3JhbToAY29ycmVjdF9mcmFnbWVudHM6AFJldmVyc2UgACVzQW1iaWdzIGZvciBhZGFwdGlvbiBmb3IgJXM6CgBpbmRleCA+PSAwICYmIGluZGV4IDw9IHNpemVfdXNlZF8AaW5zZXJ0AFRvbyBtYW55IHVuaWNoYXJzIGluIGFtYmlndWl0eSBvbiBsaW5lICVkCgAJIAAlcyAleCAlZCwlZCwlZCwlZCwlZywlZywlZywlZywlZywlZyAlNjNzICVkICVkICVkICU2M3MAJXMgJXggJWQsJWQsJWQsJWQsJWcsJWcsJWcsJWcsJWcsJWcgJTYzcyAlZCAlZCAlZAAlcyAleCAlZCwlZCwlZCwlZCAlNjNzICVkICVkICVkACVzICV4ICVkLCVkLCVkLCVkICU2M3MgJWQAJXMgJXggJTYzcyAlZAAlcyAleCAlNjNzACVzICV4AG51bGxfc2lkXyA9PSAwAExhdGluAEN5cmlsbGljAEdyZWVrAEhhbgBIaXJhZ2FuYQBLYXRha2FuYQBUaGFpAEhhbmd1bAAyOV9UZXNzTWVtYmVyUmVzdWx0Q2FsbGJhY2tfMF8ySUxiMEVQY045dGVzc2VyYWN0NVRGaWxlRVMwX2lFADE5VGVzc1Jlc3VsdENhbGxiYWNrMklQY1MwX2lFAEZhaWxlZCB0byBsb2FkIGFueSBsc3RtLXNwZWNpZmljIGRpY3Rpb25hcmllcyBmb3IgbGFuZyAlcyEhCgB1c2VyX3dvcmRzX2ZpbGUAQSBmaWxlbmFtZSBvZiB1c2VyLXByb3ZpZGVkIHdvcmRzLgB1c2VyX3dvcmRzX3N1ZmZpeABBIHN1ZmZpeCBvZiB1c2VyLXByb3ZpZGVkIHdvcmRzIGxvY2F0ZWQgaW4gdGVzc2RhdGEuAHVzZXJfcGF0dGVybnNfZmlsZQBBIGZpbGVuYW1lIG9mIHVzZXItcHJvdmlkZWQgcGF0dGVybnMuAHVzZXJfcGF0dGVybnNfc3VmZml4AEEgc3VmZml4IG9mIHVzZXItcHJvdmlkZWQgcGF0dGVybnMgbG9jYXRlZCBpbiB0ZXNzZGF0YS4AbG9hZF9zeXN0ZW1fZGF3ZwBMb2FkIHN5c3RlbSB3b3JkIGRhd2cuAGxvYWRfZnJlcV9kYXdnAExvYWQgZnJlcXVlbnQgd29yZCBkYXdnLgBsb2FkX3VuYW1iaWdfZGF3ZwBMb2FkIHVuYW1iaWd1b3VzIHdvcmQgZGF3Zy4AbG9hZF9wdW5jX2Rhd2cATG9hZCBkYXdnIHdpdGggcHVuY3R1YXRpb24gcGF0dGVybnMuAGxvYWRfbnVtYmVyX2Rhd2cATG9hZCBkYXdnIHdpdGggbnVtYmVyIHBhdHRlcm5zLgBsb2FkX2JpZ3JhbV9kYXdnAExvYWQgZGF3ZyB3aXRoIHNwZWNpYWwgd29yZCBiaWdyYW1zLgB4aGVpZ2h0X3BlbmFsdHlfc3Vic2NyaXB0cwBTY29yZSBwZW5hbHR5ICgwLjEgPSAxMCUpIGFkZGVkIGlmIHRoZXJlIGFyZSBzdWJzY3JpcHRzIG9yIHN1cGVyc2NyaXB0cyBpbiBhIHdvcmQsIGJ1dCBpdCBpcyBvdGhlcndpc2UgT0suAHhoZWlnaHRfcGVuYWx0eV9pbmNvbnNpc3RlbnQAU2NvcmUgcGVuYWx0eSAoMC4xID0gMTAlKSBhZGRlZCBpZiBhbiB4aGVpZ2h0IGlzIGluY29uc2lzdGVudC4Ac2VnbWVudF9wZW5hbHR5X2RpY3RfZnJlcXVlbnRfd29yZABTY29yZSBtdWx0aXBsaWVyIGZvciB3b3JkIG1hdGNoZXMgd2hpY2ggaGF2ZSBnb29kIGNhc2UgYW5kIGFyZSBmcmVxdWVudCBpbiB0aGUgZ2l2ZW4gbGFuZ3VhZ2UgKGxvd2VyIGlzIGJldHRlcikuAHNlZ21lbnRfcGVuYWx0eV9kaWN0X2Nhc2Vfb2sAU2NvcmUgbXVsdGlwbGllciBmb3Igd29yZCBtYXRjaGVzIHRoYXQgaGF2ZSBnb29kIGNhc2UgKGxvd2VyIGlzIGJldHRlcikuAHNlZ21lbnRfcGVuYWx0eV9kaWN0X2Nhc2VfYmFkAERlZmF1bHQgc2NvcmUgbXVsdGlwbGllciBmb3Igd29yZCBtYXRjaGVzLCB3aGljaCBtYXkgaGF2ZSBjYXNlIGlzc3VlcyAobG93ZXIgaXMgYmV0dGVyKS4Ac2VnbWVudF9wZW5hbHR5X2RpY3Rfbm9ud29yZABTY29yZSBtdWx0aXBsaWVyIGZvciBnbHlwaCBmcmFnbWVudCBzZWdtZW50YXRpb25zIHdoaWNoIGRvIG5vdCBtYXRjaCBhIGRpY3Rpb25hcnkgd29yZCAobG93ZXIgaXMgYmV0dGVyKS4Ac2VnbWVudF9wZW5hbHR5X2dhcmJhZ2UAU2NvcmUgbXVsdGlwbGllciBmb3IgcG9vcmx5IGNhc2VkIHN0cmluZ3MgdGhhdCBhcmUgbm90IGluIHRoZSBkaWN0aW9uYXJ5IGFuZCBnZW5lcmFsbHkgbG9vayBsaWtlIGdhcmJhZ2UgKGxvd2VyIGlzIGJldHRlcikuAG91dHB1dF9hbWJpZ193b3Jkc19maWxlAE91dHB1dCBmaWxlIGZvciBhbWJpZ3VpdGllcyBmb3VuZCBpbiB0aGUgZGljdGlvbmFyeQBkYXdnX2RlYnVnX2xldmVsAFNldCB0byAxIGZvciBnZW5lcmFsIGRlYnVnIGluZm8sIHRvIDIgZm9yIG1vcmUgZGV0YWlscywgdG8gMyB0byBzZWUgYWxsIHRoZSBkZWJ1ZyBtZXNzYWdlcwBoeXBoZW5fZGVidWdfbGV2ZWwARGVidWcgbGV2ZWwgZm9yIGh5cGhlbmF0ZWQgd29yZHMuAG1heF92aXRlcmJpX2xpc3Rfc2l6ZQBNYXhpbXVtIHNpemUgb2Ygdml0ZXJiaSBsaXN0LgB1c2Vfb25seV9maXJzdF91ZnQ4X3N0ZXAAc3RvcHBlcl9ub25kaWN0X2NlcnRhaW50eV9iYXNlAENlcnRhaW50eSB0aHJlc2hvbGQgZm9yIG5vbi1kaWN0IHdvcmRzAHN0b3BwZXJfcGhhc2UyX2NlcnRhaW50eV9yZWplY3Rpb25fb2Zmc2V0AFJlamVjdCBjZXJ0YWludHkgb2Zmc2V0AHN0b3BwZXJfc21hbGx3b3JkX3NpemUAU2l6ZSBvZiBkaWN0IHdvcmQgdG8gYmUgdHJlYXRlZCBhcyBub24tZGljdCB3b3JkAHN0b3BwZXJfY2VydGFpbnR5X3Blcl9jaGFyAENlcnRhaW50eSB0byBhZGQgZm9yIGVhY2ggZGljdCBjaGFyIGFib3ZlIHNtYWxsIHdvcmQgc2l6ZS4Ac3RvcHBlcl9hbGxvd2FibGVfY2hhcmFjdGVyX2JhZG5lc3MATWF4IGNlcnRhaW50bHkgdmFyaWF0aW9uIGFsbG93ZWQgaW4gYSB3b3JkIChpbiBzaWdtYSkAc3RvcHBlcl9kZWJ1Z19sZXZlbABTdG9wcGVyIGRlYnVnIGxldmVsAHN0b3BwZXJfbm9fYWNjZXB0YWJsZV9jaG9pY2VzAE1ha2UgQWNjZXB0YWJsZUNob2ljZSgpIGFsd2F5cyByZXR1cm4gZmFsc2UuIFVzZWZ1bCB3aGVuIHRoZXJlIGlzIGEgbmVlZCB0byBleHBsb3JlIGFsbCBzZWdtZW50YXRpb25zAHRlc3NlZGl0X3RydW5jYXRlX3dvcmRjaG9pY2VfbG9nAE1heCB3b3JkcyB0byBrZWVwIGluIGxpc3QAd29yZF90b19kZWJ1ZwBXb3JkIGZvciB3aGljaCBzdG9wcGVyIGRlYnVnIGluZm9ybWF0aW9uIHNob3VsZCBiZSBwcmludGVkIHRvIHN0ZG91dAB3b3JkX3RvX2RlYnVnX2xlbmd0aHMATGVuZ3RocyBvZiB1bmljaGFycyBpbiB3b3JkX3RvX2RlYnVnAGZyYWdtZW50c19kZWJ1ZwBEZWJ1ZyBjaGFyYWN0ZXIgZnJhZ21lbnRzAHNlZ21lbnRfbm9uYWxwaGFiZXRpY19zY3JpcHQARG9uJ3QgdXNlIGFueSBhbHBoYWJldGljLXNwZWNpZmljIHRyaWNrcy4gU2V0IHRvIHRydWUgaW4gdGhlIHRyYWluZWRkYXRhIGNvbmZpZyBmaWxlIGZvciBzY3JpcHRzIHRoYXQgYXJlIGN1cnNpdmUgb3IgaW5oZXJlbnRseSBmaXhlZC1waXRjaABzYXZlX2RvY193b3JkcwBTYXZlIERvY3VtZW50IFdvcmRzAGRvY19kaWN0X3BlbmRpbmdfdGhyZXNob2xkAFdvcnN0IGNlcnRhaW50eSBmb3IgdXNpbmcgcGVuZGluZyBkaWN0aW9uYXJ5AGRvY19kaWN0X2NlcnRhaW50eV90aHJlc2hvbGQAV29yc3QgY2VydGFpbnR5IGZvciB3b3JkcyB0aGF0IGNhbiBiZSBpbnNlcnRlZCBpbnRvIHRoZSBkb2N1bWVudCBkaWN0aW9uYXJ5AG1heF9wZXJtdXRlcl9hdHRlbXB0cwBNYXhpbXVtIG51bWJlciBvZiBkaWZmZXJlbnQgY2hhcmFjdGVyIGNob2ljZXMgdG8gY29uc2lkZXIgZHVyaW5nIHBlcm11dGF0aW9uLiBUaGlzIGxpbWl0IGlzIGVzcGVjaWFsbHkgdXNlZnVsIHdoZW4gdXNlciBwYXR0ZXJucyBhcmUgc3BlY2lmaWVkLCBzaW5jZSBvdmVybHkgZ2VuZXJpYyBwYXR0ZXJucyBjYW4gcmVzdWx0IGluIGRhd2cgc2VhcmNoIGV4cGxvcmluZyBhbiBvdmVybHkgbGFyZ2UgbnVtYmVyIG9mIG9wdGlvbnMuAFNwYWNlIHdhcyBnYXJibGVkIGluIHJlY29kaW5nISEKAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAYW1iaWdzX2RlYnVnX2xldmVsAERlYnVnIGxldmVsIGZvciB1bmljaGFyIGFtYmlndWl0aWVzAHVzZV9kZWZpbml0ZV9hbWJpZ3NfZm9yX2NsYXNzaWZpZXIAVXNlIGRlZmluaXRlIGFtYmlndWl0aWVzIHdoZW4gcnVubmluZyBjaGFyYWN0ZXIgY2xhc3NpZmllcgB1c2VfYW1iaWdzX2Zvcl9hZGFwdGlvbgBVc2UgYW1iaWdzIGZvciBkZWNpZGluZyB3aGV0aGVyIHRvIGFkYXB0IHRvIGEgY2hhcmFjdGVyAGNvbmZpZ3MvAHRlc3Njb25maWdzLwBURVNTREFUQV9QUkVGSVgALi8AXABlcXUAV2FybmluZzogZXF1YXRpb24gcmVnaW9uIGRldGVjdGlvbiByZXF1ZXN0ZWQsIGJ1dCAlcyBmYWlsZWQgdG8gbG9hZCBmcm9tICVzCgBzcGxpdHRlcl8uc3BsaXR0ZWRfaW1hZ2UoKQBtZ3ItPkdldENvbXBvbmVudChURVNTREFUQV9JTlRURU1QLCAmZnApAEVycm9yIGxvYWRpbmcgc2hhcGUgdGFibGUhCgBtZ3ItPkdldENvbXBvbmVudChURVNTREFUQV9QRkZNVEFCTEUsICZmcCkAbWdyLT5HZXRDb21wb25lbnQoVEVTU0RBVEFfTk9STVBST1RPLCAmZnApAApSZWFkaW5nIHByZS1hZGFwdGVkIHRlbXBsYXRlcyBmcm9tICVzIC4uLgoACgpTVU1NQVJZIE9GIEFEQVBURUQgVEVNUExBVEVTOgoKAE51bSBjbGFzc2VzID0gJWQ7ICBOdW0gcGVybWFuZW50IGNsYXNzZXMgPSAlZAoKACAgIElkICBOQyBOUEMgIE5QIE5QUAoALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgAlNWQgICVzICUzZCAlM2QgJTNkICUzZAoAJXMgJWQARXJyb3I6IHVuaWNoYXIgJXMgaW4gbm9ybXByb3RvIGZpbGUgaXMgbm90IGluIHVuaWNoYXIgc2V0LgoAJTc5cyAlNzlzICVkAEludmFsaWQgcHJvdG90eXBlOiAlcwoASW52YWxpZCBwcm90b3R5cGUgc3R5bGUgc3BlY2lmaWNhdGlvbjolcwoAU2FtcGxlQ291bnQgPj0gMAAvc3JjL3NyYy9jbGFzc2lmeS9jbHVzdHRvb2wuY3BwAFByb3RvLT5NZWFuICE9IG51bGxwdHIAUmVhZE5GbG9hdHMoZnAsIDEsICYoUHJvdG8tPlZhcmlhbmNlLlNwaGVyaWNhbCkpICE9IG51bGxwdHIAUHJvdG8tPlZhcmlhbmNlLkVsbGlwdGljYWwgIT0gbnVsbHB0cgBJbnZhbGlkIHByb3RvdHlwZSBzdHlsZQoASGl0IEVPRiBpbiBSZWFkTkZsb2F0cyEKAFJlYWQgb2YgJWQgZmxvYXRzIGZhaWxlZCEKAGZwLT5GR2V0cyhsaW5lLCBrTWF4TGluZVNpemUpICE9IG51bGxwdHIAJTc5cyAlNzlzICVmICVmAHNzY2FuZihsaW5lLCAiJSIgUVVPVEVEX1RPS0VOU0laRSAicyAlIiBRVU9URURfVE9LRU5TSVpFICJzICVmICVmIiwgbGluZWFyX3Rva2VuLCBlc3NlbnRpYWxfdG9rZW4sICZQYXJhbURlc2NbaV0uTWluLCAmUGFyYW1EZXNjW2ldLk1heCkgPT0gNABzc2NhbmYobGluZSwgIiVkIiwgJlNhbXBsZVNpemUpID09IDEAU2FtcGxlU2l6ZSA+PSAwICYmIFNhbXBsZVNpemUgPD0gTUFYU0FNUExFU0laRQBFcnJvciBkdXJpbmcgcmVhZCBvZiBzaGFwZXRhYmxlIHBmZm10YWJsZSEKACUzMHMgJWQAcmVzZXJ2ZWQgPD0gbGltaXQARGVTZXJpYWxpemUAQmFkIHJlYWQgb2YgaW50dGVtcCEKAG51bV9jb25maWdzIDw9IE1heE51bUNvbmZpZ3MAVW51c2VkQ2xhc3NJZEluIChUZW1wbGF0ZXMsIDApAFJlYWRJbnRUZW1wbGF0ZXMATm9uLWNvbnRpZ3VvdXMgY2xhc3MgaWRzIGluIGludHRlbXAKAENsYXNzIGlkICVkIGV4Y2VlZHMgTnVtQ2xhc3Nlc0luIChUZW1wbGF0ZXMpICVkCgAzMV9UZXNzRnVuY3Rpb25SZXN1bHRDYWxsYmFja18wXzJJTGIwRWJQTjl0ZXNzZXJhY3Q1VEZpbGVFUE5TMF83Rm9udFNldEVFADE5VGVzc1Jlc3VsdENhbGxiYWNrMkliUE45dGVzc2VyYWN0NVRGaWxlRVBOUzBfN0ZvbnRTZXRFRQB2ZWNfc2l6ZSA+PSAwAC9zcmMvc3JjL2Njc3RydWN0L2ZvbnRpbmZvLmNwcABzcGFjaW5nX3ZlYyAhPSBudWxscHRyICYmIHNwYWNpbmdfdmVjLT5zaXplKCkgPiB1Y2hfaWQAL3NyYy9zcmMvY2NzdHJ1Y3QvZm9udGluZm8uaAAzMV9UZXNzRnVuY3Rpb25SZXN1bHRDYWxsYmFja18wXzJJTGIwRWJQTjl0ZXNzZXJhY3Q1VEZpbGVFUE5TMF84Rm9udEluZm9FRQAxOVRlc3NSZXN1bHRDYWxsYmFjazJJYlBOOXRlc3NlcmFjdDVURmlsZUVQTlMwXzhGb250SW5mb0VFAHRlc3NlZGl0X3Jlc2VnbWVudF9mcm9tX2JveGVzAFRha2Ugc2VnbWVudGF0aW9uIGFuZCBsYWJlbGluZyBmcm9tIGJveCBmaWxlAHRlc3NlZGl0X3Jlc2VnbWVudF9mcm9tX2xpbmVfYm94ZXMAQ29udmVyc2lvbiBvZiB3b3JkL2xpbmUgYm94IGZpbGUgdG8gY2hhciBib3ggZmlsZQB0ZXNzZWRpdF90cmFpbl9mcm9tX2JveGVzAEdlbmVyYXRlIHRyYWluaW5nIGRhdGEgZnJvbSBib3hlZCBjaGFycwB0ZXNzZWRpdF9tYWtlX2JveGVzX2Zyb21fYm94ZXMAR2VuZXJhdGUgbW9yZSBib3hlcyBmcm9tIGJveGVkIGNoYXJzAHRlc3NlZGl0X3RyYWluX2xpbmVfcmVjb2duaXplcgBCcmVhayBpbnB1dCBpbnRvIGxpbmVzIGFuZCByZW1hcCBib3hlcyBpZiBwcmVzZW50AHRlc3NlZGl0X2R1bXBfcGFnZXNlZ19pbWFnZXMARHVtcCBpbnRlcm1lZGlhdGUgaW1hZ2VzIG1hZGUgZHVyaW5nIHBhZ2Ugc2VnbWVudGF0aW9uAHRlc3NlZGl0X3BhZ2VzZWdfbW9kZQBQYWdlIHNlZyBtb2RlOiAwPW9zZCBvbmx5LCAxPWF1dG8rb3NkLCAyPWF1dG8sIDM9Y29sLCA0PWJsb2NrLCA1PWxpbmUsIDY9d29yZCwgNz1jaGFyIChWYWx1ZXMgZnJvbSBQYWdlU2VnTW9kZSBlbnVtIGluIHB1YmxpY3R5cGVzLmgpAHRlc3NlZGl0X29jcl9lbmdpbmVfbW9kZQBXaGljaCBPQ1IgZW5naW5lKHMpIHRvIHJ1biAoVGVzc2VyYWN0LCBMU1RNLCBib3RoKS4gRGVmYXVsdHMgdG8gbG9hZGluZyBhbmQgcnVubmluZyB0aGUgbW9zdCBhY2N1cmF0ZSBhdmFpbGFibGUuAHRlc3NlZGl0X2NoYXJfYmxhY2tsaXN0AEJsYWNrbGlzdCBvZiBjaGFycyBub3QgdG8gcmVjb2duaXplAHRlc3NlZGl0X2NoYXJfd2hpdGVsaXN0AFdoaXRlbGlzdCBvZiBjaGFycyB0byByZWNvZ25pemUAdGVzc2VkaXRfY2hhcl91bmJsYWNrbGlzdABMaXN0IG9mIGNoYXJzIHRvIG92ZXJyaWRlIHRlc3NlZGl0X2NoYXJfYmxhY2tsaXN0AHRlc3NlZGl0X2FtYmlnc190cmFpbmluZwBQZXJmb3JtIHRyYWluaW5nIGZvciBhbWJpZ3VpdGllcwBwYWdlc2VnX2RldmFuYWdhcmlfc3BsaXRfc3RyYXRlZ3kAV2hldGhlciB0byB1c2UgdGhlIHRvcC1saW5lIHNwbGl0dGluZyBwcm9jZXNzIGZvciBEZXZhbmFnYXJpIGRvY3VtZW50cyB3aGlsZSBwZXJmb3JtaW5nIHBhZ2Utc2VnbWVudGF0aW9uLgBvY3JfZGV2YW5hZ2FyaV9zcGxpdF9zdHJhdGVneQBXaGV0aGVyIHRvIHVzZSB0aGUgdG9wLWxpbmUgc3BsaXR0aW5nIHByb2Nlc3MgZm9yIERldmFuYWdhcmkgZG9jdW1lbnRzIHdoaWxlIHBlcmZvcm1pbmcgb2NyLgB0ZXNzZWRpdF93cml0ZV9wYXJhbXNfdG9fZmlsZQBXcml0ZSBhbGwgcGFyYW1ldGVycyB0byB0aGUgZ2l2ZW4gZmlsZS4AdGVzc2VkaXRfYWRhcHRpb25fZGVidWcAR2VuZXJhdGUgYW5kIHByaW50IGRlYnVnIGluZm9ybWF0aW9uIGZvciBhZGFwdGlvbgBiaWRpX2RlYnVnAERlYnVnIGxldmVsIGZvciBCaURpAERlYnVnIGxldmVsAFBhZ2UgbnVtYmVyIHRvIGFwcGx5IGJveGVzIGZyb20ALmV4cABhcHBseWJveF9leHBvc3VyZV9wYXR0ZXJuAEV4cG9zdXJlIHZhbHVlIGZvbGxvd3MgdGhpcyBwYXR0ZXJuIGluIHRoZSBpbWFnZSBmaWxlbmFtZS4gVGhlIG5hbWUgb2YgdGhlIGltYWdlIGZpbGVzIGFyZSBleHBlY3RlZCB0byBiZSBpbiB0aGUgZm9ybSBbbGFuZ10uW2ZvbnRuYW1lXS5leHBbbnVtXS50aWYAYXBwbHlib3hfbGVhcm5fY2hhcnNfYW5kX2NoYXJfZnJhZ3NfbW9kZQBMZWFybiBib3RoIGNoYXJhY3RlciBmcmFnbWVudHMgKGFzIGlzIGRvbmUgaW4gdGhlIHNwZWNpYWwgbG93IGV4cG9zdXJlIG1vZGUpIGFzIHdlbGwgYXMgdW5mcmFnbWVudGVkIGNoYXJhY3RlcnMuAGFwcGx5Ym94X2xlYXJuX25ncmFtc19tb2RlAEVhY2ggYm91bmRpbmcgYm94IGlzIGFzc3VtZWQgdG8gY29udGFpbiBuZ3JhbXMuIE9ubHkgbGVhcm4gdGhlIG5ncmFtcyB3aG9zZSBvdXRsaW5lcyBvdmVybGFwIGhvcml6b250YWxseS4AdGVzc2VkaXRfZGlzcGxheV9vdXR3b3JkcwBEcmF3IG91dHB1dCB3b3JkcwB0ZXNzZWRpdF9kdW1wX2Nob2ljZXMARHVtcCBjaGFyIGNob2ljZXMAdGVzc2VkaXRfdGltaW5nX2RlYnVnAFByaW50IHRpbWluZyBzdGF0cwB0ZXNzZWRpdF9maXhfZnV6enlfc3BhY2VzAFRyeSB0byBpbXByb3ZlIGZ1enp5IHNwYWNlcwB0ZXNzZWRpdF91bnJlal9hbnlfd2QARG9uJ3QgYm90aGVyIHdpdGggd29yZCBwbGF1c2liaWxpdHkAdGVzc2VkaXRfZml4X2h5cGhlbnMAQ3J1bmNoIGRvdWJsZSBoeXBoZW5zPwB0ZXNzZWRpdF9yZWRvX3hoZWlnaHQAQ2hlY2svQ29ycmVjdCB4LWhlaWdodAB0ZXNzZWRpdF9lbmFibGVfZG9jX2RpY3QAQWRkIHdvcmRzIHRvIHRoZSBkb2N1bWVudCBkaWN0aW9uYXJ5AHRlc3NlZGl0X2RlYnVnX2ZvbnRzAE91dHB1dCBmb250IGluZm8gcGVyIGNoYXIAdGVzc2VkaXRfZGVidWdfYmxvY2tfcmVqZWN0aW9uAEJsb2NrIGFuZCBSb3cgc3RhdHMAdGVzc2VkaXRfZW5hYmxlX2JpZ3JhbV9jb3JyZWN0aW9uAEVuYWJsZSBjb3JyZWN0aW9uIGJhc2VkIG9uIHRoZSB3b3JkIGJpZ3JhbSBkaWN0aW9uYXJ5LgB0ZXNzZWRpdF9lbmFibGVfZGljdF9jb3JyZWN0aW9uAEVuYWJsZSBzaW5nbGUgd29yZCBjb3JyZWN0aW9uIGJhc2VkIG9uIHRoZSBkaWN0aW9uYXJ5LgB0ZXNzZWRpdF9iaWdyYW1fZGVidWcAQW1vdW50IG9mIGRlYnVnIG91dHB1dCBmb3IgYmlncmFtIGNvcnJlY3Rpb24uAGVuYWJsZV9ub2lzZV9yZW1vdmFsAFJlbW92ZSBhbmQgY29uZGl0aW9uYWxseSByZWFzc2lnbiBzbWFsbCBvdXRsaW5lcyB3aGVuIHRoZXkgY29uZnVzZSBsYXlvdXQgYW5hbHlzaXMsIGRldGVybWluaW5nIGRpYWNyaXRpY3MgdnMgbm9pc2UAZGVidWdfbm9pc2VfcmVtb3ZhbABEZWJ1ZyByZWFzc2lnbm1lbnQgb2Ygc21hbGwgb3V0bGluZXMAbm9pc2VfY2VydF9iYXNlY2hhcgBIaW5nZXBvaW50IGZvciBiYXNlIGNoYXIgY2VydGFpbnR5AG5vaXNlX2NlcnRfZGlzam9pbnQASGluZ2Vwb2ludCBmb3IgZGlzam9pbnQgY2VydGFpbnR5AG5vaXNlX2NlcnRfcHVuYwBUaHJlc2hvbGQgZm9yIG5ldyBwdW5jIGNoYXIgY2VydGFpbnR5AG5vaXNlX2NlcnRfZmFjdG9yAFNjYWxpbmcgb24gY2VydGFpbnR5IGRpZmYgZnJvbSBIaW5nZXBvaW50AG5vaXNlX21heHBlcmJsb2IATWF4IGRpYWNyaXRpY3MgdG8gYXBwbHkgdG8gYSBibG9iAG5vaXNlX21heHBlcndvcmQATWF4IGRpYWNyaXRpY3MgdG8gYXBwbHkgdG8gYSB3b3JkAGRlYnVnX3hfaHRfbGV2ZWwAUmVlc3RpbWF0ZSBkZWJ1ZwBkZWJ1Z19hY2NlcHRhYmxlX3dkcwBEdW1wIHdvcmQgcGFzcy9mYWlsIGNoawAoJ2AiAGNoc19sZWFkaW5nX3B1bmN0AExlYWRpbmcgcHVuY3R1YXRpb24AKS4sOzo/IQBjaHNfdHJhaWxpbmdfcHVuY3QxADFzdCBUcmFpbGluZyBwdW5jdHVhdGlvbgApJ2AiAGNoc190cmFpbGluZ19wdW5jdDIAMm5kIFRyYWlsaW5nIHB1bmN0dWF0aW9uAHF1YWxpdHlfcmVqX3BjAGdvb2RfcXVhbGl0eV9kb2MgbHRlIHJlamVjdGlvbiBsaW1pdABxdWFsaXR5X2Jsb2JfcGMAZ29vZF9xdWFsaXR5X2RvYyBndGUgZ29vZCBibG9icyBsaW1pdABxdWFsaXR5X291dGxpbmVfcGMAZ29vZF9xdWFsaXR5X2RvYyBsdGUgb3V0bGluZSBlcnJvciBsaW1pdABxdWFsaXR5X2NoYXJfcGMAZ29vZF9xdWFsaXR5X2RvYyBndGUgZ29vZCBjaGFyIGxpbWl0AHF1YWxpdHlfbWluX2luaXRpYWxfYWxwaGFzX3JlcWQAYWxwaGFzIGluIGEgZ29vZCB3b3JkAHRlc3NlZGl0X3Rlc3NfYWRhcHRpb25fbW9kZQBBZGFwdGF0aW9uIGRlY2lzaW9uIGFsZ29yaXRobSBmb3IgdGVzcwB0ZXNzZWRpdF9taW5pbWFsX3Jlal9wYXNzMQBEbyBtaW5pbWFsIHJlamVjdGlvbiBvbiBwYXNzIDEgb3V0cHV0AHRlc3NlZGl0X3Rlc3RfYWRhcHRpb24AVGVzdCBhZGFwdGlvbiBjcml0ZXJpYQB0ZXNzZWRpdF9tYXRjaGVyX2xvZwBMb2cgbWF0Y2hlciBhY3Rpdml0eQB0ZXNzZWRpdF90ZXN0X2FkYXB0aW9uX21vZGUAdGVzdF9wdABUZXN0IGZvciBwb2ludAB0ZXN0X3B0X3gAeGNvb3JkAHRlc3RfcHRfeQB5Y29vcmQAbXVsdGlsYW5nX2RlYnVnX2xldmVsAFByaW50IG11bHRpbGFuZyBkZWJ1ZyBpbmZvLgBwYXJhZ3JhcGhfZGVidWdfbGV2ZWwAUHJpbnQgcGFyYWdyYXBoIGRlYnVnIGluZm8uAHBhcmFncmFwaF90ZXh0X2Jhc2VkAFJ1biBwYXJhZ3JhcGggZGV0ZWN0aW9uIG9uIHRoZSBwb3N0LXRleHQtcmVjb2duaXRpb24gKG1vcmUgYWNjdXJhdGUpAGxzdG1fdXNlX21hdHJpeABVc2UgcmF0aW5ncyBtYXRyaXgvYmVhbSBzZWFyY2ggd2l0aCBsc3RtACV8IABvdXRsaW5lc19vZGQATm9uIHN0YW5kYXJkIG51bWJlciBvZiBvdXRsaW5lcwBpaiE/JSI6OwBvdXRsaW5lc18yAGRvY3F1YWxfZXhjdXNlX291dGxpbmVfZXJycwBBbGxvdyBvdXRsaW5lIGVycnMgaW4gdW5yZWplY3Rpb24/AHRlc3NlZGl0X2dvb2RfcXVhbGl0eV91bnJlagBSZWR1Y2UgcmVqZWN0aW9uIG9uIGdvb2QgZG9jcwB0ZXNzZWRpdF91c2VfcmVqZWN0X3NwYWNlcwBSZWplY3Qgc3BhY2VzPwB0ZXNzZWRpdF9yZWplY3RfZG9jX3BlcmNlbnQAJXJlaiBhbGxvd2VkIGJlZm9yZSByZWogd2hvbGUgZG9jAHRlc3NlZGl0X3JlamVjdF9ibG9ja19wZXJjZW50ACVyZWogYWxsb3dlZCBiZWZvcmUgcmVqIHdob2xlIGJsb2NrAHRlc3NlZGl0X3JlamVjdF9yb3dfcGVyY2VudAAlcmVqIGFsbG93ZWQgYmVmb3JlIHJlaiB3aG9sZSByb3cAdGVzc2VkaXRfd2hvbGVfd2RfcmVqX3Jvd19wZXJjZW50AE51bWJlciBvZiByb3cgcmVqZWN0cyBpbiB3aG9sZSB3b3JkIHJlamVjdHMgd2hpY2ggcHJldmVudHMgd2hvbGUgcm93IHJlamVjdGlvbgB0ZXNzZWRpdF9wcmVzZXJ2ZV9ibGtfcmVqX3BlcmZlY3Rfd2RzAE9ubHkgcmVqIHBhcnRpYWxseSByZWplY3RlZCB3b3JkcyBpbiBibG9jayByZWplY3Rpb24AdGVzc2VkaXRfcHJlc2VydmVfcm93X3Jlal9wZXJmZWN0X3dkcwBPbmx5IHJlaiBwYXJ0aWFsbHkgcmVqZWN0ZWQgd29yZHMgaW4gcm93IHJlamVjdGlvbgB0ZXNzZWRpdF9kb250X2Jsa3Jlal9nb29kX3dkcwBVc2Ugd29yZCBzZWdtZW50YXRpb24gcXVhbGl0eSBtZXRyaWMAdGVzc2VkaXRfZG9udF9yb3dyZWpfZ29vZF93ZHMAdGVzc2VkaXRfcHJlc2VydmVfbWluX3dkX2xlbgBPbmx5IHByZXNlcnZlIHdkcyBsb25nZXIgdGhhbiB0aGlzAHRlc3NlZGl0X3Jvd19yZWpfZ29vZF9kb2NzAEFwcGx5IHJvdyByZWplY3Rpb24gdG8gZ29vZCBkb2NzAHRlc3NlZGl0X2dvb2RfZG9jX3N0aWxsX3Jvd3Jlal93ZAByZWogZ29vZCBkb2Mgd2QgaWYgbW9yZSB0aGFuIHRoaXMgZnJhY3Rpb24gcmVqZWN0ZWQAdGVzc2VkaXRfcmVqZWN0X2JhZF9xdWFsX3dkcwBSZWplY3QgYWxsIGJhZCBxdWFsaXR5IHdkcwB0ZXNzZWRpdF9kZWJ1Z19kb2NfcmVqZWN0aW9uAFBhZ2Ugc3RhdHMAdGVzc2VkaXRfZGVidWdfcXVhbGl0eV9tZXRyaWNzAE91dHB1dCBkYXRhIHRvIGRlYnVnIGZpbGUAYmxhbmRfdW5yZWoAdW5yZWogcG90ZW50aWFsIHdpdGggbm8gY2hlY2tzAHF1YWxpdHlfcm93cmVqX3BjAHVubHZfdGlsZGVfY3J1bmNoaW5nAE1hcmsgdi5iYWQgd29yZHMgZm9yIHRpbGRlIGNydW5jaABBZGQgZm9udCBpbmZvIHRvIGhvY3Igb3V0cHV0AGNydW5jaF9lYXJseV9tZXJnZV90ZXNzX2ZhaWxzAEJlZm9yZSB3b3JkIGNydW5jaD8AY3J1bmNoX2Vhcmx5X2NvbnZlcnRfYmFkX3VubHZfY2hzAFRha2Ugb3V0IH5eIGVhcmx5PwBjcnVuY2hfdGVycmlibGVfcmF0aW5nAGNydW5jaCByYXRpbmcgbHQgdGhpcwBjcnVuY2hfdGVycmlibGVfZ2FyYmFnZQBBcyBpdCBzYXlzAGNydW5jaF9wb29yX2dhcmJhZ2VfY2VydABjcnVuY2ggZ2FyYmFnZSBjZXJ0IGx0IHRoaXMAY3J1bmNoX3Bvb3JfZ2FyYmFnZV9yYXRlAGNydW5jaCBnYXJiYWdlIHJhdGluZyBsdCB0aGlzAGNydW5jaF9wb3RfcG9vcl9yYXRlAFBPVEVOVElBTCBjcnVuY2ggcmF0aW5nIGx0IHRoaXMAY3J1bmNoX3BvdF9wb29yX2NlcnQAUE9URU5USUFMIGNydW5jaCBjZXJ0IGx0IHRoaXMAY3J1bmNoX3BvdF9nYXJiYWdlAFBPVEVOVElBTCBjcnVuY2ggZ2FyYmFnZQBjcnVuY2hfZGVsX3JhdGluZwBjcnVuY2hfZGVsX2NlcnQAY3J1bmNoX2RlbF9taW5faHQARGVsIGlmIHdvcmQgaHQgbHQgeGh0IHggdGhpcwBjcnVuY2hfZGVsX21heF9odABEZWwgaWYgd29yZCBodCBndCB4aHQgeCB0aGlzAGNydW5jaF9kZWxfbWluX3dpZHRoAERlbCBpZiB3b3JkIHdpZHRoIGx0IHhodCB4IHRoaXMAY3J1bmNoX2RlbF9oaWdoX3dvcmQARGVsIGlmIHdvcmQgZ3QgeGh0IHggdGhpcyBhYm92ZSBibABjcnVuY2hfZGVsX2xvd193b3JkAERlbCBpZiB3b3JkIGd0IHhodCB4IHRoaXMgYmVsb3cgYmwAY3J1bmNoX3NtYWxsX291dGxpbmVzX3NpemUAU21hbGwgaWYgbHQgeGh0IHggdGhpcwBjcnVuY2hfcmF0aW5nX21heABGb3IgYWRqIGxlbmd0aCBpbiByYXRpbmcgcGVyIGNoAGNydW5jaF9wb3RfaW5kaWNhdG9ycwBIb3cgbWFueSBwb3RlbnRpYWwgaW5kaWNhdG9ycyBuZWVkZWQAY3J1bmNoX2xlYXZlX29rX3N0cmluZ3MARG9uJ3QgdG91Y2ggc2Vuc2libGUgc3RyaW5ncwBjcnVuY2hfYWNjZXB0X29rAFVzZSBhY2NlcHRhYmlsaXR5IGluIG9rc3RyaW5nAGNydW5jaF9sZWF2ZV9hY2NlcHRfc3RyaW5ncwBEb24ndCBwb3QgY3J1bmNoIHNlbnNpYmxlIHN0cmluZ3MAY3J1bmNoX2luY2x1ZGVfbnVtZXJhbHMARmlkZGxlIGFscGhhIGZpZ3VyZXMAY3J1bmNoX2xlYXZlX2xjX3N0cmluZ3MARG9uJ3QgY3J1bmNoIHdvcmRzIHdpdGggbG9uZyBsb3dlciBjYXNlIHN0cmluZ3MAY3J1bmNoX2xlYXZlX3VjX3N0cmluZ3MAY3J1bmNoX2xvbmdfcmVwZXRpdGlvbnMAQ3J1bmNoIHdvcmRzIHdpdGggbG9uZyByZXBldGl0aW9ucwBjcnVuY2hfZGVidWcAZml4c3Bfbm9uX25vaXNlX2xpbWl0AEhvdyBtYW55IG5vbi1ub2lzZSBibGJzIGVpdGhlciBzaWRlPwBmaXhzcF9zbWFsbF9vdXRsaW5lc19zaXplAHRlc3NlZGl0X3ByZWZlcl9qb2luZWRfcHVuY3QAUmV3YXJkIHB1bmN0dWF0aW9uIGpvaW5zAGZpeHNwX2RvbmVfbW9kZQBXaGF0IGNvbnN0aXR1ZXMgZG9uZSBmb3Igc3BhY2luZwBkZWJ1Z19maXhfc3BhY2VfbGV2ZWwAQ29udGV4dHVhbCBmaXhzcGFjZSBkZWJ1ZwAuLABudW1lcmljX3B1bmN0dWF0aW9uAFB1bmN0LiBjaHMgZXhwZWN0ZWQgV0lUSElOIG51bWJlcnMAeF9odF9hY2NlcHRhbmNlX3RvbGVyYW5jZQBNYXggYWxsb3dlZCBkZXZpYXRpb24gb2YgYmxvYiB0b3Agb3V0c2lkZSBvZiBmb250IGRhdGEAeF9odF9taW5fY2hhbmdlAE1pbiBjaGFuZ2UgaW4geGh0IGJlZm9yZSBhY3R1YWxseSB0cnlpbmcgaXQAc3VwZXJzY3JpcHRfZGVidWcARGVidWcgbGV2ZWwgZm9yIHN1YiAmIHN1cGVyc2NyaXB0IGZpeGVyAHN1cGVyc2NyaXB0X3dvcnNlX2NlcnRhaW50eQBIb3cgbWFueSB0aW1lcyB3b3JzZSBjZXJ0YWludHkgZG9lcyBhIHN1cGVyc2NyaXB0IHBvc2l0aW9uIGdseXBoIG5lZWQgdG8gYmUgZm9yIHVzIHRvIHRyeSBjbGFzc2lmeWluZyBpdCBhcyBhIGNoYXIgd2l0aCBhIGRpZmZlcmVudCBiYXNlbGluZT8Ac3VwZXJzY3JpcHRfYmV0dGVyZWRfY2VydGFpbnR5AFdoYXQgcmVkdWN0aW9uIGluIGJhZG5lc3MgZG8gd2UgdGhpbmsgc3VmZmljaWVudCB0byBjaG9vc2UgYSBzdXBlcnNjcmlwdCBvdmVyIHdoYXQgd2UnZCB0aG91Z2h0LiAgRm9yIGV4YW1wbGUsIGEgdmFsdWUgb2YgMC42IG1lYW5zIHdlIHdhbnQgdG8gcmVkdWNlIGJhZG5lc3Mgb2YgY2VydGFpbnR5IGJ5IGF0IGxlYXN0IDQwJQBzdXBlcnNjcmlwdF9zY2FsZWRvd25fcmF0aW8AQSBzdXBlcnNjcmlwdCBzY2FsZWQgZG93biBtb3JlIHRoYW4gdGhpcyBpcyB1bmJlbGlldmFibHkgc21hbGwuICBGb3IgZXhhbXBsZSwgMC4zIG1lYW5zIHdlIGV4cGVjdCB0aGUgZm9udCBzaXplIHRvIGJlIG5vIHNtYWxsZXIgdGhhbiAzMCUgb2YgdGhlIHRleHQgbGluZSBmb250IHNpemUuAHN1YnNjcmlwdF9tYXhfeV90b3AATWF4aW11bSB0b3Agb2YgYSBjaGFyYWN0ZXIgbWVhc3VyZWQgYXMgYSBtdWx0aXBsZSBvZiB4LWhlaWdodCBhYm92ZSB0aGUgYmFzZWxpbmUgZm9yIHVzIHRvIHJlY29uc2lkZXIgd2hldGhlciBpdCdzIGEgc3Vic2NyaXB0LgBzdXBlcnNjcmlwdF9taW5feV9ib3R0b20ATWluaW11bSBib3R0b20gb2YgYSBjaGFyYWN0ZXIgbWVhc3VyZWQgYXMgYSBtdWx0aXBsZSBvZiB4LWhlaWdodCBhYm92ZSB0aGUgYmFzZWxpbmUgZm9yIHVzIHRvIHJlY29uc2lkZXIgd2hldGhlciBpdCdzIGEgc3VwZXJzY3JpcHQuAHRlc3NlZGl0X3dyaXRlX2Jsb2NrX3NlcGFyYXRvcnMAV3JpdGUgYmxvY2sgc2VwYXJhdG9ycyBpbiBvdXRwdXQAdGVzc2VkaXRfd3JpdGVfcmVwX2NvZGVzAFdyaXRlIHJlcGV0aXRpb24gY2hhciBjb2RlAHRlc3NlZGl0X3dyaXRlX3VubHYAV3JpdGUgLnVubHYgb3V0cHV0IGZpbGUAdGVzc2VkaXRfY3JlYXRlX3R4dABXcml0ZSAudHh0IG91dHB1dCBmaWxlAHRlc3NlZGl0X2NyZWF0ZV9ob2NyAFdyaXRlIC5odG1sIGhPQ1Igb3V0cHV0IGZpbGUAdGVzc2VkaXRfY3JlYXRlX3RzdgBXcml0ZSAudHN2IG91dHB1dCBmaWxlAHRlc3NlZGl0X2NyZWF0ZV9wZGYAV3JpdGUgLnBkZiBvdXRwdXQgZmlsZQB0ZXh0b25seV9wZGYAQ3JlYXRlIFBERiB3aXRoIG9ubHkgb25lIGludmlzaWJsZSB0ZXh0IGxheWVyAFNldCBKUEVHIHF1YWxpdHkgbGV2ZWwAdXNlcl9kZWZpbmVkX2RwaQBTcGVjaWZ5IERQSSBmb3IgaW5wdXQgaW1hZ2UAbWluX2NoYXJhY3RlcnNfdG9fdHJ5AFNwZWNpZnkgbWluaW11bSBjaGFyYWN0ZXJzIHRvIHRyeSBkdXJpbmcgT1NEAHVucmVjb2duaXNlZF9jaGFyAE91dHB1dCBjaGFyIGZvciB1bmlkZW50aWZpZWQgYmxvYnMAc3VzcGVjdF9sZXZlbABTdXNwZWN0IG1hcmtlciBsZXZlbABzdXNwZWN0X3NwYWNlX2xldmVsAE1pbiBzdXNwZWN0IGxldmVsIGZvciByZWplY3Rpbmcgc3BhY2VzAHN1c3BlY3Rfc2hvcnRfd29yZHMARG9uJ3Qgc3VzcGVjdCBkaWN0IHdkcyBsb25nZXIgdGhhbiB0aGlzAHN1c3BlY3RfY29uc3RyYWluXzFJbABVTkxWIGtlZXAgMUlsIGNoYXJzIHJlamVjdGVkAHN1c3BlY3RfcmF0aW5nX3Blcl9jaABEb24ndCB0b3VjaCBiYWQgcmF0aW5nIGxpbWl0AHN1c3BlY3RfYWNjZXB0X3JhdGluZwBBY2NlcHQgZ29vZCByYXRpbmcgbGltaXQAdGVzc2VkaXRfbWluaW1hbF9yZWplY3Rpb24AT25seSByZWplY3QgdGVzcyBmYWlsdXJlcwB0ZXNzZWRpdF96ZXJvX3JlamVjdGlvbgBEb24ndCByZWplY3QgQU5ZVEhJTkcAdGVzc2VkaXRfd29yZF9mb3Jfd29yZABNYWtlIG91dHB1dCBoYXZlIGV4YWN0bHkgb25lIHdvcmQgcGVyIFdFUkQAdGVzc2VkaXRfemVyb19rZWx2aW5fcmVqZWN0aW9uAERvbid0IHJlamVjdCBBTllUSElORyBBVCBBTEwAdGVzc2VkaXRfY29uc2lzdGVudF9yZXBzAEZvcmNlIGFsbCByZXAgY2hhcnMgdGhlIHNhbWUAdGVzc2VkaXRfcmVqZWN0X21vZGUAUmVqZWN0aW9uIGFsZ29yaXRobQB0ZXNzZWRpdF9yZWplY3Rpb25fZGVidWcAQWRhcHRpb24gZGVidWcAdGVzc2VkaXRfZmxpcF8wTwBDb250ZXh0dWFsIDBPIE8wIGZsaXBzAHRlc3NlZGl0X2xvd2VyX2ZsaXBfaHlwaGVuAEFzcGVjdCByYXRpbyBkb3QvaHlwaGVuIHRlc3QAdGVzc2VkaXRfdXBwZXJfZmxpcF9oeXBoZW4AcmVqX3RydXN0X2RvY19kYXdnAFVzZSBET0MgZGF3ZyBpbiAxMWwgY29uZi4gZGV0ZWN0b3IAcmVqXzFJbF91c2VfZGljdF93b3JkAFVzZSBkaWN0d29yZCB0ZXN0AHJlal8xSWxfdHJ1c3RfcGVybXV0ZXJfdHlwZQBEb24ndCBkb3VibGUgY2hlY2sAcmVqX3VzZV90ZXNzX2FjY2VwdGVkAEluZGl2aWR1YWwgcmVqZWN0aW9uIGNvbnRyb2wAcmVqX3VzZV90ZXNzX2JsYW5rcwByZWpfdXNlX2dvb2RfcGVybQByZWpfdXNlX3NlbnNpYmxlX3dkAEV4dGVuZCBwZXJtdXRlciBjaGVjawByZWpfYWxwaGFzX2luX251bWJlcl9wZXJtAHJlal93aG9sZV9vZl9tb3N0bHlfcmVqZWN0X3dvcmRfZnJhY3QAaWYgPnRoaXMgZnJhY3QAdGVzc2VkaXRfaW1hZ2VfYm9yZGVyAFJlaiBibGJzIG5lYXIgaW1hZ2UgZWRnZSBsaW1pdAAtPyo9AG9rX3JlcGVhdGVkX2NoX25vbl9hbHBoYW51bV93ZHMAQWxsb3cgTk4gdG8gdW5yZWoASWwxW10AY29uZmxpY3Rfc2V0X0lfbF8xAElsMSBjb25mbGljdCBzZXQAbWluX3NhbmVfeF9odF9waXhlbHMAUmVqZWN0IGFueSB4LWh0IGx0IG9yIGVxIHRoYW4gdGhpcwB0ZXNzZWRpdF9jcmVhdGVfYm94ZmlsZQBPdXRwdXQgdGV4dCB3aXRoIGJveGVzAHRlc3NlZGl0X3BhZ2VfbnVtYmVyAC0xIC0+IEFsbCBwYWdlcyAsIGVsc2Ugc3BlY2lmaWMgcGFnZSB0byBwcm9jZXNzAHRlc3NlZGl0X3dyaXRlX2ltYWdlcwBDYXB0dXJlIHRoZSBpbWFnZSBmcm9tIHRoZSBJUEUAaW50ZXJhY3RpdmVfZGlzcGxheV9tb2RlAFJ1biBpbnRlcmFjdGl2ZWx5PwAudGlmAGZpbGVfdHlwZQBGaWxlbmFtZSBleHRlbnNpb24AdGVzc2VkaXRfb3ZlcnJpZGVfcGVybXV0ZXIAQWNjb3JkaW5nIHRvIGRpY3Rfd29yZAB0ZXNzZWRpdF9sb2FkX3N1YmxhbmdzAExpc3Qgb2YgbGFuZ3VhZ2VzIHRvIGxvYWQgd2l0aCB0aGlzIG9uZQB0ZXNzZWRpdF91c2VfcHJpbWFyeV9wYXJhbXNfbW9kZWwASW4gbXVsdGlsaW5ndWFsIG1vZGUgdXNlIHBhcmFtcyBtb2RlbCBvZiB0aGUgcHJpbWFyeSBsYW5ndWFnZQBtaW5fb3JpZW50YXRpb25fbWFyZ2luAE1pbiBhY2NlcHRhYmxlIG9yaWVudGF0aW9uIG1hcmdpbgB0ZXh0b3JkX3RhYmZpbmRfc2hvd192bGluZXMARGVidWcgbGluZSBmaW5kaW5nAHRleHRvcmRfdXNlX2Nqa19mcF9tb2RlbABVc2UgQ0pLIGZpeGVkIHBpdGNoIG1vZGVsAHBvbHlfYWxsb3dfZGV0YWlsZWRfZngAQWxsb3cgZmVhdHVyZSBleHRyYWN0b3JzIHRvIHNlZSB0aGUgb3JpZ2luYWwgb3V0bGluZQB0ZXNzZWRpdF9pbml0X2NvbmZpZ19vbmx5AE9ubHkgaW5pdGlhbGl6ZSB3aXRoIHRoZSBjb25maWcgZmlsZS4gVXNlZnVsIGlmIHRoZSBpbnN0YW5jZSBpcyBub3QgZ29pbmcgdG8gYmUgdXNlZCBmb3IgT0NSIGJ1dCBzYXkgb25seSBmb3IgbGF5b3V0IGFuYWx5c2lzLgB0ZXh0b3JkX2VxdWF0aW9uX2RldGVjdABUdXJuIG9uIGVxdWF0aW9uIGRldGVjdG9yAHRleHRvcmRfdGFiZmluZF92ZXJ0aWNhbF90ZXh0AEVuYWJsZSB2ZXJ0aWNhbCBkZXRlY3Rpb24AdGV4dG9yZF90YWJmaW5kX2ZvcmNlX3ZlcnRpY2FsX3RleHQARm9yY2UgdXNpbmcgdmVydGljYWwgdGV4dCBwYWdlIG1vZGUAdGV4dG9yZF90YWJmaW5kX3ZlcnRpY2FsX3RleHRfcmF0aW8ARnJhY3Rpb24gb2YgdGV4dGxpbmVzIGRlZW1lZCB2ZXJ0aWNhbCB0byB1c2UgdmVydGljYWwgcGFnZSBtb2RlAHRleHRvcmRfdGFiZmluZF9hbGlnbmVkX2dhcF9mcmFjdGlvbgBGcmFjdGlvbiBvZiBoZWlnaHQgdXNlZCBhcyBhIG1pbmltdW0gZ2FwIGZvciBhbGlnbmVkIGJsb2JzLgB0ZXNzZWRpdF9wYXJhbGxlbGl6ZQBSdW4gaW4gcGFyYWxsZWwgd2hlcmUgcG9zc2libGUAcHJlc2VydmVfaW50ZXJ3b3JkX3NwYWNlcwBQcmVzZXJ2ZSBtdWx0aXBsZSBpbnRlcndvcmQgc3BhY2VzAAwAcGFnZV9zZXBhcmF0b3IAUGFnZSBzZXBhcmF0b3IgKGRlZmF1bHQgaXMgZm9ybSBmZWVkIGNvbnRyb2wgY2hhcmFjdGVyKQBsc3RtX2Nob2ljZV9tb2RlAEFsbG93cyB0byBpbmNsdWRlIGFsdGVybmF0aXZlIHN5bWJvbHMgY2hvaWNlcyBpbiB0aGUgaE9DUiBvdXRwdXQuIFZhbGlkIGlucHV0IHZhbHVlcyBhcmUgMCwgMSBhbmQgMi4gMCBpcyB0aGUgZGVmYXVsdCB2YWx1ZS4gV2l0aCAxIHRoZSBhbHRlcm5hdGl2ZSBzeW1ib2wgY2hvaWNlcyBwZXIgdGltZXN0ZXAgYXJlIGluY2x1ZGVkLiBXaXRoIDIgdGhlIGFsdGVybmF0aXZlIHN5bWJvbCBjaG9pY2VzIGFyZSBhY2N1bXVsYXRlZCBwZXIgY2hhcmFjdGVyLgB0ZXh0b3JkX3NpbmdsZV9oZWlnaHRfbW9kZQBTY3JpcHQgaGFzIG5vIHhoZWlnaHQsIHNvIHVzZSBhIHNpbmdsZSBtb2RlAHRvc3Bfb2xkX3RvX21ldGhvZABTcGFjZSBzdGF0cyB1c2UgcHJlY2hvcHBpbmc/AHRvc3Bfb2xkX3RvX2NvbnN0cmFpbl9zcF9rbgBDb25zdHJhaW4gcmVsYXRpdmUgdmFsdWVzIG9mIGludGVyIGFuZCBpbnRyYS13b3JkIGdhcHMgZm9yIG9sZF90b19tZXRob2QuAHRvc3Bfb25seV91c2VfcHJvcF9yb3dzAEJsb2NrIHN0YXRzIHRvIHVzZSBmaXhlZCBwaXRjaCByb3dzPwB0b3NwX2ZvcmNlX3dvcmRicmVha19vbl9wdW5jdABGb3JjZSB3b3JkIGJyZWFrcyBvbiBwdW5jdCB0byBicmVhayBsb25nIGxpbmVzIGluIG5vbi1zcGFjZSBkZWxpbWl0ZWQgbGFuZ3MAdG9zcF91c2VfcHJlX2Nob3BwaW5nAHRvc3Bfb2xkX3RvX2J1Z19maXgARml4IHN1c3BlY3RlZCBidWcgaW4gb2xkIGNvZGUAdG9zcF9ibG9ja191c2VfY2VydF9zcGFjZXMAT25seSBzdGF0IE9CVklPVVMgc3BhY2VzAHRvc3Bfcm93X3VzZV9jZXJ0X3NwYWNlcwB0b3NwX25hcnJvd19ibG9ic19ub3RfY2VydAB0b3NwX3Jvd191c2VfY2VydF9zcGFjZXMxAHRvc3BfcmVjb3ZlcnlfaXNvbGF0ZWRfcm93X3N0YXRzAFVzZSByb3cgYWxvbmUgd2hlbiBpbmFkZXF1YXRlIGNlcnQgc3BhY2VzAHRvc3Bfb25seV9zbWFsbF9nYXBzX2Zvcl9rZXJuAEJldHRlciBndWVzcwB0b3NwX2FsbF9mbGlwc19mdXp6eQBQYXNzIEFOWSBmbGlwIHRvIGNvbnRleHQ/AHRvc3BfZnV6enlfbGltaXRfYWxsAERvbid0IHJlc3RyaWN0IGtuLT5zcCBmdXp6eSBsaW1pdCB0byB0YWJsZXMAdG9zcF9zdGF0c191c2VfeGh0X2dhcHMAVXNlIHdpdGhpbiB4aHQgZ2FwIGZvciB3ZCBicmVha3MAdG9zcF91c2VfeGh0X2dhcHMAdG9zcF9vbmx5X3VzZV94aHRfZ2FwcwBPbmx5IHVzZSB3aXRoaW4geGh0IGdhcCBmb3Igd2QgYnJlYWtzAHRvc3BfcnVsZV85X3Rlc3RfcHVuY3QARG9uJ3QgY2huZyBrbiB0byBzcGFjZSBuZXh0IHRvIHB1bmN0AHRvc3BfZmxpcF9mdXp6X2tuX3RvX3NwAERlZmF1bHQgZmxpcAB0b3NwX2ZsaXBfZnV6el9zcF90b19rbgB0b3NwX2ltcHJvdmVfdGhyZXNoAEVuYWJsZSBpbXByb3ZlbWVudCBoZXVyaXN0aWMAdG9zcF9kZWJ1Z19sZXZlbABEZWJ1ZyBkYXRhAHRvc3BfZW5vdWdoX3NwYWNlX3NhbXBsZXNfZm9yX21lZGlhbgBvciBzaG91bGQgd2UgdXNlIG1lYW4AdG9zcF9yZWRvX2tlcm5fbGltaXQATm8uc2FtcGxlcyByZXFkIHRvIHJlZXN0aW1hdGUgZm9yIHJvdwB0b3NwX2Zld19zYW1wbGVzAE5vLmdhcHMgcmVxZCB3aXRoIDEgbGFyZ2UgZ2FwIHRvIHRyZWF0IGFzIGEgdGFibGUAdG9zcF9zaG9ydF9yb3cATm8uZ2FwcyByZXFkIHdpdGggZmV3IGNlcnQgc3BhY2VzIHRvIHVzZSBjZXJ0cwB0b3NwX3Nhbml0eV9tZXRob2QASG93IHRvIGF2b2lkIGJlaW5nIHNpbGx5AHRvc3Bfb2xkX3NwX2tuX3RoX2ZhY3RvcgBGYWN0b3IgZm9yIGRlZmluaW5nIHNwYWNlIHRocmVzaG9sZCBpbiB0ZXJtcyBvZiBzcGFjZSBhbmQga2VybiBzaXplcwB0b3NwX3RocmVzaG9sZF9iaWFzMQBob3cgZmFyIGJldHdlZW4ga2VybiBhbmQgc3BhY2U/AHRvc3BfdGhyZXNob2xkX2JpYXMyAHRvc3BfbmFycm93X2ZyYWN0aW9uAEZyYWN0IG9mIHhoZWlnaHQgZm9yIG5hcnJvdwB0b3NwX25hcnJvd19hc3BlY3RfcmF0aW8AbmFycm93IGlmIHcvaCBsZXNzIHRoYW4gdGhpcwB0b3NwX3dpZGVfZnJhY3Rpb24ARnJhY3Qgb2YgeGhlaWdodCBmb3Igd2lkZQB0b3NwX3dpZGVfYXNwZWN0X3JhdGlvAHdpZGUgaWYgdy9oIGxlc3MgdGhhbiB0aGlzAHRvc3BfZnV6enlfc3BhY2VfZmFjdG9yAEZyYWN0IG9mIHhoZWlnaHQgZm9yIGZ1enogc3AAdG9zcF9mdXp6eV9zcGFjZV9mYWN0b3IxAHRvc3BfZnV6enlfc3BhY2VfZmFjdG9yMgB0b3NwX2dhcF9mYWN0b3IAZ2FwIHJhdGlvIHRvIGZsaXAgc3AtPmtlcm4AdG9zcF9rZXJuX2dhcF9mYWN0b3IxAGdhcCByYXRpbyB0byBmbGlwIGtlcm4tPnNwAHRvc3Bfa2Vybl9nYXBfZmFjdG9yMgB0b3NwX2tlcm5fZ2FwX2ZhY3RvcjMAdG9zcF9pZ25vcmVfYmlnX2dhcHMAeGh0IG11bHRpcGxpZXIAdG9zcF9pZ25vcmVfdmVyeV9iaWdfZ2FwcwB0b3NwX3JlcF9zcGFjZQByZXAgZ2FwIG11bHRpcGxpZXIgZm9yIHNwYWNlAHRvc3BfZW5vdWdoX3NtYWxsX2dhcHMARnJhY3Qgb2Yga2VybnMgcmVxZCBmb3IgaXNvbGF0ZWQgcm93IHN0YXRzAHRvc3BfdGFibGVfa25fc3BfcmF0aW8ATWluIGRpZmZlcmVuY2Ugb2Yga24gJiBzcCBpbiB0YWJsZQB0b3NwX3RhYmxlX3hodF9zcF9yYXRpbwBFeHBlY3Qgc3BhY2VzIGJpZ2dlciB0aGFuIHRoaXMAdG9zcF90YWJsZV9mdXp6eV9rbl9zcF9yYXRpbwBGdXp6eSBpZiBsZXNzIHRoYW4gdGhpcwB0b3NwX2Z1enp5X2tuX2ZyYWN0aW9uAE5ldyBmdXp6eSBrbiBhbGcAdG9zcF9mdXp6eV9zcF9mcmFjdGlvbgBOZXcgZnV6enkgc3AgYWxnAHRvc3BfbWluX3NhbmVfa25fc3AARG9uJ3QgdHJ1c3Qgc3BhY2VzIGxlc3MgdGhhbiB0aGlzIHRpbWUga24AdG9zcF9pbml0X2d1ZXNzX2tuX211bHQAVGhyZXNoIGd1ZXNzIC0gbXVsdCBrbiBieSB0aGlzAHRvc3BfaW5pdF9ndWVzc194aHRfbXVsdABUaHJlc2ggZ3Vlc3MgLSBtdWx0IHhodCBieSB0aGlzAHRvc3BfbWF4X3NhbmVfa25fdGhyZXNoAE11bHRpcGxpZXIgb24ga24gdG8gbGltaXQgdGhyZXNoAHRvc3BfZmxpcF9jYXV0aW9uAERvbid0IGF1dG9mbGlwIGtuIHRvIHNwIHdoZW4gbGFyZ2Ugc2VwYXJhdGlvbgB0b3NwX2xhcmdlX2tlcm5pbmcATGltaXQgdXNlIG9mIHhodCBnYXAgd2l0aCBsYXJnZSBrbnMAdG9zcF9kb250X2Zvb2xfd2l0aF9zbWFsbF9rZXJucwBMaW1pdCB1c2Ugb2YgeGh0IGdhcCB3aXRoIG9kZCBzbWFsbCBrbnMAdG9zcF9uZWFyX2xoX2VkZ2UARG9uJ3QgcmVkdWNlIGJveCBpZiB0aGUgdG9wIGxlZnQgaXMgbm9uIGJsYW5rAHRvc3Bfc2lsbHlfa25fc3BfZ2FwAERvbid0IGxldCBzcCBtaW51cyBrbiBnZXQgdG9vIHNtYWxsAHRvc3BfcGFzc193aWRlX2Z1enpfc3BfdG9fY29udGV4dABIb3cgd2lkZSBmdXp6aWVzIG5lZWQgY29udGV4dAB0ZXh0b3JkX25vX3JlamVjdHMARG9uJ3QgcmVtb3ZlIG5vaXNlIGJsb2JzAHRleHRvcmRfc2hvd19ibG9icwBEaXNwbGF5IHVuc29ydGVkIGJsb2JzAHRleHRvcmRfc2hvd19ib3hlcwB0ZXh0b3JkX21heF9ub2lzZV9zaXplAFBpeGVsIHNpemUgb2Ygbm9pc2UAdGV4dG9yZF9iYXNlbGluZV9kZWJ1ZwBCYXNlbGluZSBkZWJ1ZyBsZXZlbAB0ZXh0b3JkX2Jsb2Jfc2l6ZV9iaWdpbGUAUGVyY2VudGlsZSBmb3IgbGFyZ2UgYmxvYnMAdGV4dG9yZF9ub2lzZV9hcmVhX3JhdGlvAEZyYWN0aW9uIG9mIGJvdW5kaW5nIGJveCBmb3Igbm9pc2UAdGV4dG9yZF9ibG9iX3NpemVfc21hbGxpbGUAUGVyY2VudGlsZSBmb3Igc21hbGwgYmxvYnMAdGV4dG9yZF9pbml0aWFseF9pbGUASWxlIG9mIHNpemVzIGZvciB4aGVpZ2h0IGd1ZXNzAHRleHRvcmRfaW5pdGlhbGFzY19pbGUAdGV4dG9yZF9ub2lzZV9zaXplZnJhY3Rpb24ARnJhY3Rpb24gb2Ygc2l6ZSBmb3IgbWF4aW1hAHRleHRvcmRfbm9pc2Vfc2l6ZWxpbWl0AEZyYWN0aW9uIG9mIHggZm9yIGJpZyB0IGNvdW50AHRleHRvcmRfbm9pc2VfdHJhbnNsaW1pdABUcmFuc2l0aW9ucyBmb3Igbm9ybWFsIGJsb2IAdGV4dG9yZF9ub2lzZV9ub3JtcmF0aW8ARG90IHRvIG5vcm0gcmF0aW8gZm9yIGRlbGV0aW9uAHRleHRvcmRfbm9pc2VfcmVqd29yZHMAUmVqZWN0IG5vaXNlLWxpa2Ugd29yZHMAdGV4dG9yZF9ub2lzZV9yZWpyb3dzAFJlamVjdCBub2lzZS1saWtlIHJvd3MAdGV4dG9yZF9ub2lzZV9zeWZyYWN0AHhoIGZyYWN0IGhlaWdodCBlcnJvciBmb3Igbm9ybSBibG9icwB0ZXh0b3JkX25vaXNlX3N4ZnJhY3QAeGggZnJhY3Qgd2lkdGggZXJyb3IgZm9yIG5vcm0gYmxvYnMAdGV4dG9yZF9ub2lzZV9oZnJhY3QASGVpZ2h0IGZyYWN0aW9uIHRvIGRpc2NhcmQgb3V0bGluZXMgYXMgc3BlY2tsZSBub2lzZQB0ZXh0b3JkX25vaXNlX3NuY291bnQAc3VwZXIgbm9ybSBibG9icyB0byBzYXZlIHJvdwB0ZXh0b3JkX25vaXNlX3Jvd3JhdGlvAHRleHRvcmRfbm9pc2VfZGVidWcARGVidWcgcm93IGdhcmJhZ2UgZGV0ZWN0b3IAdGV4dG9yZF9ibHNoaWZ0X21heHNoaWZ0AE1heCBiYXNlbGluZSBzaGlmdAB0ZXh0b3JkX2Jsc2hpZnRfeGZyYWN0aW9uAE1pbiBzaXplIG9mIGJhc2VsaW5lIHNoaWZ0AG1lcmdlX2ZyYWdtZW50c19pbl9tYXRyaXgATWVyZ2UgdGhlIGZyYWdtZW50cyBpbiB0aGUgcmF0aW5ncyBtYXRyaXggYW5kIGRlbGV0ZSB0aGVtIGFmdGVyIG1lcmdpbmcAd29yZHJlY19ub19ibG9jawBEb24ndCBvdXRwdXQgYmxvY2sgaW5mb3JtYXRpb24Ad29yZHJlY19lbmFibGVfYXNzb2MAQXNzb2NpYXRvciBFbmFibGUAZm9yY2Vfd29yZF9hc3NvYwBmb3JjZSBhc3NvY2lhdG9yIHRvIHJ1biByZWdhcmRsZXNzIG9mIHdoYXQgZW5hYmxlX2Fzc29jIGlzLiBUaGlzIGlzIHVzZWQgZm9yIENKSyB3aGVyZSBjb21wb25lbnQgZ3JvdXBpbmcgaXMgbmVjZXNzYXJ5LgB3b3JkcmVjX3dvcnN0X3N0YXRlAFdvcnN0IHNlZ21lbnRhdGlvbiBzdGF0ZQBmcmFnbWVudHNfZ3VpZGVfY2hvcHBlcgBVc2UgaW5mb3JtYXRpb24gZnJvbSBmcmFnbWVudHMgdG8gZ3VpZGUgY2hvcHBpbmcgcHJvY2VzcwByZXBhaXJfdW5jaG9wcGVkX2Jsb2JzAEZpeCBibG9icyB0aGF0IGFyZW4ndCBjaG9wcGVkAHRlc3NlZGl0X2NlcnRhaW50eV90aHJlc2hvbGQAR29vZCBibG9iIGxpbWl0AGNob3BfZGVidWcAQ2hvcCBkZWJ1ZwBjaG9wX2VuYWJsZQBDaG9wIGVuYWJsZQBjaG9wX3ZlcnRpY2FsX2NyZWVwAFZlcnRpY2FsIGNyZWVwAGNob3Bfc3BsaXRfbGVuZ3RoAFNwbGl0IExlbmd0aABjaG9wX3NhbWVfZGlzdGFuY2UAU2FtZSBkaXN0YW5jZQBjaG9wX21pbl9vdXRsaW5lX3BvaW50cwBNaW4gTnVtYmVyIG9mIFBvaW50cyBvbiBPdXRsaW5lAGNob3Bfc2VhbV9waWxlX3NpemUATWF4IG51bWJlciBvZiBzZWFtcyBpbiBzZWFtX3BpbGUAY2hvcF9uZXdfc2VhbV9waWxlAFVzZSBuZXcgc2VhbV9waWxlAGNob3BfaW5zaWRlX2FuZ2xlAE1pbiBJbnNpZGUgQW5nbGUgQmVuZABjaG9wX21pbl9vdXRsaW5lX2FyZWEATWluIE91dGxpbmUgQXJlYQBjaG9wX3NwbGl0X2Rpc3Rfa25vYgBTcGxpdCBsZW5ndGggYWRqdXN0bWVudABjaG9wX292ZXJsYXBfa25vYgBTcGxpdCBvdmVybGFwIGFkanVzdG1lbnQAY2hvcF9jZW50ZXJfa25vYgBTcGxpdCBjZW50ZXIgYWRqdXN0bWVudABjaG9wX2NlbnRlcmVkX21heHdpZHRoAFdpZHRoIG9mIChzbWFsbGVyKSBjaG9wcGVkIGJsb2JzIGFib3ZlIHdoaWNoIHdlIGRvbid0IGNhcmUgdGhhdCBhIGNob3AgaXMgbm90IG5lYXIgdGhlIGNlbnRlci4AY2hvcF9zaGFycG5lc3Nfa25vYgBTcGxpdCBzaGFycG5lc3MgYWRqdXN0bWVudABjaG9wX3dpZHRoX2NoYW5nZV9rbm9iAFdpZHRoIGNoYW5nZSBhZGp1c3RtZW50AGNob3Bfb2tfc3BsaXQAT0sgc3BsaXQgbGltaXQAY2hvcF9nb29kX3NwbGl0AEdvb2Qgc3BsaXQgbGltaXQAY2hvcF94X3lfd2VpZ2h0AFggLyBZICBsZW5ndGggd2VpZ2h0AHNlZ21lbnRfYWRqdXN0X2RlYnVnAFNlZ21lbnRhdGlvbiBhZGp1c3RtZW50IGRlYnVnAGFzc3VtZV9maXhlZF9waXRjaF9jaGFyX3NlZ21lbnQAaW5jbHVkZSBmaXhlZC1waXRjaCBoZXVyaXN0aWNzIGluIGNoYXIgc2VnbWVudGF0aW9uAHdvcmRyZWNfZGVidWdfbGV2ZWwARGVidWcgbGV2ZWwgZm9yIHdvcmRyZWMAd29yZHJlY19tYXhfam9pbl9jaHVua3MATWF4IG51bWJlciBvZiBicm9rZW4gcGllY2VzIHRvIGFzc29jaWF0ZQB3b3JkcmVjX3NraXBfbm9fdHJ1dGhfd29yZHMAT25seSBydW4gT0NSIGZvciB3b3JkcyB0aGF0IGhhZCB0cnV0aCByZWNvcmRlZCBpbiBCbGFtZXJCdW5kbGUAd29yZHJlY19kZWJ1Z19ibGFtZXIAUHJpbnQgYmxhbWVyIGRlYnVnIG1lc3NhZ2VzAHdvcmRyZWNfcnVuX2JsYW1lcgBUcnkgdG8gc2V0IHRoZSBibGFtZSBmb3IgZXJyb3JzAHNlZ3NlYXJjaF9kZWJ1Z19sZXZlbABTZWdTZWFyY2ggZGVidWcgbGV2ZWwAc2Vnc2VhcmNoX21heF9wYWluX3BvaW50cwBNYXhpbXVtIG51bWJlciBvZiBwYWluIHBvaW50cyBzdG9yZWQgaW4gdGhlIHF1ZXVlAHNlZ3NlYXJjaF9tYXhfZnV0aWxlX2NsYXNzaWZpY2F0aW9ucwBNYXhpbXVtIG51bWJlciBvZiBwYWluIHBvaW50IGNsYXNzaWZpY2F0aW9ucyBwZXIgY2h1bmsgdGhhdCBkaWQgbm90IHJlc3VsdCBpbiBmaW5kaW5nIGEgYmV0dGVyIHdvcmQgY2hvaWNlLgBzZWdzZWFyY2hfbWF4X2NoYXJfd2hfcmF0aW8ATWF4aW11bSBjaGFyYWN0ZXIgd2lkdGgtdG8taGVpZ2h0IHJhdGlvAHNhdmVfYWx0X2Nob2ljZXMAU2F2ZSBhbHRlcm5hdGl2ZSBwYXRocyBmb3VuZCBkdXJpbmcgY2hvcHBpbmcgYW5kIHNlZ21lbnRhdGlvbiBzZWFyY2gAbGFuZ3VhZ2VfbW9kZWxfZGVidWdfbGV2ZWwATGFuZ3VhZ2UgbW9kZWwgZGVidWcgbGV2ZWwAbGFuZ3VhZ2VfbW9kZWxfbmdyYW1fb24AVHVybiBvbi9vZmYgdGhlIHVzZSBvZiBjaGFyYWN0ZXIgbmdyYW0gbW9kZWwAbGFuZ3VhZ2VfbW9kZWxfbmdyYW1fb3JkZXIATWF4aW11bSBvcmRlciBvZiB0aGUgY2hhcmFjdGVyIG5ncmFtIG1vZGVsAGxhbmd1YWdlX21vZGVsX3ZpdGVyYmlfbGlzdF9tYXhfbnVtX3BydW5hYmxlAE1heGltdW0gbnVtYmVyIG9mIHBydW5hYmxlICh0aG9zZSBmb3Igd2hpY2ggUHJ1bmFibGVQYXRoKCkgaXMgdHJ1ZSkgZW50cmllcyBpbiBlYWNoIHZpdGVyYmkgbGlzdCByZWNvcmRlZCBpbiBCTE9CX0NIT0lDRXMAbGFuZ3VhZ2VfbW9kZWxfdml0ZXJiaV9saXN0X21heF9zaXplAE1heGltdW0gc2l6ZSBvZiB2aXRlcmJpIGxpc3RzIHJlY29yZGVkIGluIEJMT0JfQ0hPSUNFcwBsYW5ndWFnZV9tb2RlbF9uZ3JhbV9zbWFsbF9wcm9iAFRvIGF2b2lkIG92ZXJseSBzbWFsbCBkZW5vbWluYXRvcnMgdXNlIHRoaXMgYXMgdGhlIGZsb29yIG9mIHRoZSBwcm9iYWJpbGl0eSByZXR1cm5lZCBieSB0aGUgbmdyYW0gbW9kZWwuAGxhbmd1YWdlX21vZGVsX25ncmFtX25vbm1hdGNoX3Njb3JlAEF2ZXJhZ2UgY2xhc3NpZmllciBzY29yZSBvZiBhIG5vbi1tYXRjaGluZyB1bmljaGFyLgBsYW5ndWFnZV9tb2RlbF9uZ3JhbV91c2Vfb25seV9maXJzdF91ZnQ4X3N0ZXAAVXNlIG9ubHkgdGhlIGZpcnN0IFVURjggc3RlcCBvZiB0aGUgZ2l2ZW4gc3RyaW5nIHdoZW4gY29tcHV0aW5nIGxvZyBwcm9iYWJpbGl0aWVzLgBsYW5ndWFnZV9tb2RlbF9uZ3JhbV9zY2FsZV9mYWN0b3IAU3RyZW5ndGggb2YgdGhlIGNoYXJhY3RlciBuZ3JhbSBtb2RlbCByZWxhdGl2ZSB0byB0aGUgY2hhcmFjdGVyIGNsYXNzaWZpZXIgAGxhbmd1YWdlX21vZGVsX25ncmFtX3JhdGluZ19mYWN0b3IARmFjdG9yIHRvIGJyaW5nIGxvZy1wcm9icyBpbnRvIHRoZSBzYW1lIHJhbmdlIGFzIHJhdGluZ3Mgd2hlbiBtdWx0aXBsaWVkIGJ5IG91dGxpbmUgbGVuZ3RoIABsYW5ndWFnZV9tb2RlbF9uZ3JhbV9zcGFjZV9kZWxpbWl0ZWRfbGFuZ3VhZ2UAV29yZHMgYXJlIGRlbGltaXRlZCBieSBzcGFjZQBsYW5ndWFnZV9tb2RlbF9taW5fY29tcG91bmRfbGVuZ3RoAE1pbmltdW0gbGVuZ3RoIG9mIGNvbXBvdW5kIHdvcmRzAGxhbmd1YWdlX21vZGVsX3BlbmFsdHlfbm9uX2ZyZXFfZGljdF93b3JkAFBlbmFsdHkgZm9yIHdvcmRzIG5vdCBpbiB0aGUgZnJlcXVlbnQgd29yZCBkaWN0aW9uYXJ5AGxhbmd1YWdlX21vZGVsX3BlbmFsdHlfbm9uX2RpY3Rfd29yZABQZW5hbHR5IGZvciBub24tZGljdGlvbmFyeSB3b3JkcwBsYW5ndWFnZV9tb2RlbF9wZW5hbHR5X3B1bmMAUGVuYWx0eSBmb3IgaW5jb25zaXN0ZW50IHB1bmN0dWF0aW9uAGxhbmd1YWdlX21vZGVsX3BlbmFsdHlfY2FzZQBQZW5hbHR5IGZvciBpbmNvbnNpc3RlbnQgY2FzZQBsYW5ndWFnZV9tb2RlbF9wZW5hbHR5X3NjcmlwdABQZW5hbHR5IGZvciBpbmNvbnNpc3RlbnQgc2NyaXB0AGxhbmd1YWdlX21vZGVsX3BlbmFsdHlfY2hhcnR5cGUAUGVuYWx0eSBmb3IgaW5jb25zaXN0ZW50IGNoYXJhY3RlciB0eXBlAGxhbmd1YWdlX21vZGVsX3BlbmFsdHlfZm9udABQZW5hbHR5IGZvciBpbmNvbnNpc3RlbnQgZm9udABsYW5ndWFnZV9tb2RlbF9wZW5hbHR5X3NwYWNpbmcAUGVuYWx0eSBmb3IgaW5jb25zaXN0ZW50IHNwYWNpbmcAbGFuZ3VhZ2VfbW9kZWxfcGVuYWx0eV9pbmNyZW1lbnQAUGVuYWx0eSBpbmNyZW1lbnQAd29yZHJlY19kaXNwbGF5X3NlZ21lbnRhdGlvbnMARGlzcGxheSBTZWdtZW50YXRpb25zAGxhbmd1YWdlX21vZGVsX3VzZV9zaWdtb2lkYWxfY2VydGFpbnR5AFVzZSBzaWdtb2lkYWwgc2NvcmUgZm9yIGNlcnRhaW50eQBkaWN0XyAhPSBudWxscHRyAGFsbG93X2Jsb2JfZGl2aXNpb24AVXNlIGRpdmlzaWJsZSBibG9icyBjaG9wcGluZwBwcmlvcml0aXplX2RpdmlzaW9uAFByaW9yaXRpemUgYmxvYiBkaXZpc2lvbiBvdmVyIGNob3BwaW5nAHRlc3NlZGl0X3NpbmdsZV9tYXRjaABUb3AgY2hvaWNlIG9ubHkgZnJvbSBDUABFbmFibGUgYWRhcHRpdmUgY2xhc3NpZmllcgBjbGFzc2lmeV9kZWJ1Z19sZXZlbABDbGFzc2lmeSBkZWJ1ZyBsZXZlbABjbGFzc2lmeV9ub3JtX21ldGhvZABOb3JtYWxpemF0aW9uIE1ldGhvZCAgIC4uLgBjbGFzc2lmeV9jaGFyX25vcm1fcmFuZ2UAQ2hhcmFjdGVyIE5vcm1hbGl6YXRpb24gUmFuZ2UgLi4uAGNsYXNzaWZ5X21pbl9ub3JtX3NjYWxlX3gATWluIGNoYXIgeC1ub3JtIHNjYWxlIC4uLgBjbGFzc2lmeV9tYXhfbm9ybV9zY2FsZV94AE1heCBjaGFyIHgtbm9ybSBzY2FsZSAuLi4AY2xhc3NpZnlfbWluX25vcm1fc2NhbGVfeQBNaW4gY2hhciB5LW5vcm0gc2NhbGUgLi4uAGNsYXNzaWZ5X21heF9ub3JtX3NjYWxlX3kATWF4IGNoYXIgeS1ub3JtIHNjYWxlIC4uLgBjbGFzc2lmeV9tYXhfcmF0aW5nX3JhdGlvAFZldG8gcmF0aW8gYmV0d2VlbiBjbGFzc2lmaWVyIHJhdGluZ3MAY2xhc3NpZnlfbWF4X2NlcnRhaW50eV9tYXJnaW4AVmV0byBkaWZmZXJlbmNlIGJldHdlZW4gY2xhc3NpZmllciBjZXJ0YWludGllcwB0ZXNzX2NuX21hdGNoaW5nAENoYXJhY3RlciBOb3JtYWxpemVkIE1hdGNoaW5nAHRlc3NfYm5fbWF0Y2hpbmcAQmFzZWxpbmUgTm9ybWFsaXplZCBNYXRjaGluZwBjbGFzc2lmeV9lbmFibGVfYWRhcHRpdmVfbWF0Y2hlcgBjbGFzc2lmeV91c2VfcHJlX2FkYXB0ZWRfdGVtcGxhdGVzAFVzZSBwcmUtYWRhcHRlZCBjbGFzc2lmaWVyIHRlbXBsYXRlcwBjbGFzc2lmeV9zYXZlX2FkYXB0ZWRfdGVtcGxhdGVzAFNhdmUgYWRhcHRlZCB0ZW1wbGF0ZXMgdG8gYSBmaWxlAGNsYXNzaWZ5X2VuYWJsZV9hZGFwdGl2ZV9kZWJ1Z2dlcgBFbmFibGUgbWF0Y2ggZGVidWdnZXIAY2xhc3NpZnlfbm9ubGluZWFyX25vcm0ATm9uLWxpbmVhciBzdHJva2UtZGVuc2l0eSBub3JtYWxpemF0aW9uAG1hdGNoZXJfZGVidWdfbGV2ZWwATWF0Y2hlciBEZWJ1ZyBMZXZlbABtYXRjaGVyX2RlYnVnX2ZsYWdzAE1hdGNoZXIgRGVidWcgRmxhZ3MAY2xhc3NpZnlfbGVhcm5pbmdfZGVidWdfbGV2ZWwATGVhcm5pbmcgRGVidWcgTGV2ZWw6IABtYXRjaGVyX2dvb2RfdGhyZXNob2xkAEdvb2QgTWF0Y2ggKDAtMSkAbWF0Y2hlcl9yZWxpYWJsZV9hZGFwdGl2ZV9yZXN1bHQAR3JlYXQgTWF0Y2ggKDAtMSkAbWF0Y2hlcl9wZXJmZWN0X3RocmVzaG9sZABQZXJmZWN0IE1hdGNoICgwLTEpAG1hdGNoZXJfYmFkX21hdGNoX3BhZABCYWQgTWF0Y2ggUGFkICgwLTEpAG1hdGNoZXJfcmF0aW5nX21hcmdpbgBOZXcgdGVtcGxhdGUgbWFyZ2luICgwLTEpAG1hdGNoZXJfYXZnX25vaXNlX3NpemUAQXZnLiBub2lzZSBibG9iIGxlbmd0aABtYXRjaGVyX3Blcm1hbmVudF9jbGFzc2VzX21pbgBNaW4gIyBvZiBwZXJtYW5lbnQgY2xhc3NlcwBtYXRjaGVyX21pbl9leGFtcGxlc19mb3JfcHJvdG90eXBpbmcAUmVsaWFibGUgQ29uZmlnIFRocmVzaG9sZABtYXRjaGVyX3N1ZmZpY2llbnRfZXhhbXBsZXNfZm9yX3Byb3RvdHlwaW5nAEVuYWJsZSBhZGFwdGlvbiBldmVuIGlmIHRoZSBhbWJpZ3VpdGllcyBoYXZlIG5vdCBiZWVuIHNlZW4AbWF0Y2hlcl9jbHVzdGVyaW5nX21heF9hbmdsZV9kZWx0YQBNYXhpbXVtIGFuZ2xlIGRlbHRhIGZvciBwcm90b3R5cGUgY2x1c3RlcmluZwBjbGFzc2lmeV9taXNmaXRfanVua19wZW5hbHR5AFBlbmFsdHkgdG8gYXBwbHkgd2hlbiBhIG5vbi1hbG51bSBpcyB2ZXJ0aWNhbGx5IG91dCBvZiBpdHMgZXhwZWN0ZWQgdGV4dGxpbmUgcG9zaXRpb24AcmF0aW5nX3NjYWxlAFJhdGluZyBzY2FsaW5nIGZhY3RvcgBjZXJ0YWludHlfc2NhbGUAQ2VydGFpbnR5IHNjYWxpbmcgZmFjdG9yAHRlc3NlZGl0X2NsYXNzX21pc3Nfc2NhbGUAU2NhbGUgZmFjdG9yIGZvciBmZWF0dXJlcyBub3QgdXNlZABjbGFzc2lmeV9hZGFwdGVkX3BydW5pbmdfZmFjdG9yAFBydW5lIHBvb3IgYWRhcHRlZCByZXN1bHRzIHRoaXMgbXVjaCB3b3JzZSB0aGFuIGJlc3QgcmVzdWx0AGNsYXNzaWZ5X2FkYXB0ZWRfcHJ1bmluZ190aHJlc2hvbGQAVGhyZXNob2xkIGF0IHdoaWNoIGNsYXNzaWZ5X2FkYXB0ZWRfcHJ1bmluZ19mYWN0b3Igc3RhcnRzAGNsYXNzaWZ5X2FkYXB0X3Byb3RvX3RocmVzaG9sZABUaHJlc2hvbGQgZm9yIGdvb2QgcHJvdG9zIGR1cmluZyBhZGFwdGl2ZSAwLTI1NQBjbGFzc2lmeV9hZGFwdF9mZWF0dXJlX3RocmVzaG9sZABUaHJlc2hvbGQgZm9yIGdvb2QgZmVhdHVyZXMgZHVyaW5nIGFkYXB0aXZlIDAtMjU1AGRpc2FibGVfY2hhcmFjdGVyX2ZyYWdtZW50cwBEbyBub3QgaW5jbHVkZSBjaGFyYWN0ZXIgZnJhZ21lbnRzIGluIHRoZSByZXN1bHRzIG9mIHRoZSBjbGFzc2lmaWVyAGNsYXNzaWZ5X2NoYXJhY3Rlcl9mcmFnbWVudHNfZ2FyYmFnZV9jZXJ0YWludHlfdGhyZXNob2xkAEV4Y2x1ZGUgZnJhZ21lbnRzIHRoYXQgZG8gbm90IGxvb2sgbGlrZSB3aG9sZSBjaGFyYWN0ZXJzIGZyb20gdHJhaW5pbmcgYW5kIGFkYXB0aW9uAGNsYXNzaWZ5X2RlYnVnX2NoYXJhY3Rlcl9mcmFnbWVudHMAQnJpbmcgdXAgZ3JhcGhpY2FsIGRlYnVnZ2luZyB3aW5kb3dzIGZvciBmcmFnbWVudHMgdHJhaW5pbmcAbWF0Y2hlcl9kZWJ1Z19zZXBhcmF0ZV93aW5kb3dzAFVzZSB0d28gZGlmZmVyZW50IHdpbmRvd3MgZm9yIGRlYnVnZ2luZyB0aGUgbWF0Y2hpbmc6IE9uZSBmb3IgdGhlIHByb3RvcyBhbmQgb25lIGZvciB0aGUgZmVhdHVyZXMuAGNsYXNzaWZ5X2xlYXJuX2RlYnVnX3N0cgBDbGFzcyBzdHIgdG8gZGVidWcgbGVhcm5pbmcAY2xhc3NpZnlfY2xhc3NfcHJ1bmVyX3RocmVzaG9sZABDbGFzcyBQcnVuZXIgVGhyZXNob2xkIDAtMjU1AGNsYXNzaWZ5X2NsYXNzX3BydW5lcl9tdWx0aXBsaWVyAENsYXNzIFBydW5lciBNdWx0aXBsaWVyIDAtMjU1OiAgICAgICAAY2xhc3NpZnlfY3BfY3V0b2ZmX3N0cmVuZ3RoAENsYXNzIFBydW5lciBDdXRvZmZTdHJlbmd0aDogICAgICAgICAAY2xhc3NpZnlfaW50ZWdlcl9tYXRjaGVyX211bHRpcGxpZXIASW50ZWdlciBNYXRjaGVyIE11bHRpcGxpZXIgIDAtMjU1OiAgIABpbDFfYWRhcHRpb25fdGVzdABEb24ndCBhZGFwdCB0byBpL0kgYXQgYmVnaW5uaW5nIG9mIHdvcmQAY2xhc3NpZnlfYmxuX251bWVyaWNfbW9kZQBBc3N1bWUgdGhlIGlucHV0IGlzIG51bWJlcnMgWzAtOV0uAHNwZWNrbGVfbGFyZ2VfbWF4X3NpemUATWF4IGxhcmdlIHNwZWNrbGUgc2l6ZQBzcGVja2xlX3JhdGluZ19wZW5hbHR5AFBlbmFsdHkgdG8gYWRkIHRvIHdvcnN0IHJhdGluZyBmb3Igbm9pc2UAMzFfVGVzc0Z1bmN0aW9uUmVzdWx0Q2FsbGJhY2tfMF8xSUxiMEV2Tjl0ZXNzZXJhY3Q3Rm9udFNldEVFADEzVGVzc0NhbGxiYWNrMUlOOXRlc3NlcmFjdDdGb250U2V0RUUAMzFfVGVzc0Z1bmN0aW9uUmVzdWx0Q2FsbGJhY2tfMF8ySUxiMEViUktOOXRlc3NlcmFjdDdGb250U2V0RVMzX0UAMTlUZXNzUmVzdWx0Q2FsbGJhY2sySWJSS045dGVzc2VyYWN0N0ZvbnRTZXRFUzNfRQAzMV9UZXNzRnVuY3Rpb25SZXN1bHRDYWxsYmFja18wXzFJTGIwRXZOOXRlc3NlcmFjdDhGb250SW5mb0VFADEzVGVzc0NhbGxiYWNrMUlOOXRlc3NlcmFjdDhGb250SW5mb0VFAGhvY3JfZm9udF9pbmZvACAgPGRpdiBjbGFzcz0nb2NyX3BhZ2UnAHBhZ2UAIHRpdGxlPSdpbWFnZSAiAHVua25vd24AIjsgYmJveCAAOyBwcGFnZW5vIAAnPgoAICAgPGRpdiBjbGFzcz0nb2NyX2NhcmVhJwBibG9jawAKICAgIDxwIGNsYXNzPSdvY3JfcGFyJwAgZGlyPSdydGwnAHBhcgAgbGFuZz0nACcACiAgICAgPHNwYW4gY2xhc3M9J29jcl9saW5lJwBsaW5lAAogICAgICA8c3BhbiBjbGFzcz0nb2NyeF93b3JkJwB3b3JkACB0aXRsZT0nYmJveCAAOyB4X3djb25mIAA7IHhfZm9udCAAOyB4X2ZzaXplIAAgZGlyPSdsdHInADxzdHJvbmc+ADxlbT4APC9lbT4APC9zdHJvbmc+AAogICAgICAgPHNwYW4gY2xhc3M9J29jcnhfY2luZm8nAHRpbWVzdGVwADwvc3Bhbj4APHNwYW4gY2xhc3M9J29jcl9nbHlwaCcAY2hvaWNlACB0aXRsZT0neF9jb25mcyAAbHN0bV9jaG9pY2VzACBjaG9zZW49JwAnPgAKICAgICA8L3NwYW4+AAogICAgPC9wPgoAICAgPC9kaXY+CgAgIDwvZGl2PgoAJXNfJWRfJWRfJWQAIGlkPScAYmVzdF9jaG9pY2UgIT0gbnVsbHB0cgAvc3JjL3NyYy9jY21haW4vbHRycmVzdWx0aXRlcmF0b3IuY3BwACB0aXRsZT0iYmJveCAAOyB4X3NpemUgADsgeF9kZXNjZW5kZXJzIAA7IHhfYXNjZW5kZXJzIAAiPgA7IHRleHRhbmdsZSAAOyBiYXNlbGluZSAAJmx0OwAmZ3Q7ACZhbXA7ACZxdW90OwAmIzM5OwAlc18lZF8lZAAlc18lZAAxCQAJAAktMQkKADIJADMJADQJADUJACVzICVkICVkICVkICVkICVkCgBQYWdlIG51bWJlcjogJWQKT3JpZW50YXRpb24gaW4gZGVncmVlczogJWQKUm90YXRlOiAlZApPcmllbnRhdGlvbiBjb25maWRlbmNlOiAlLjJmClNjcmlwdDogJXMKU2NyaXB0IGNvbmZpZGVuY2U6ICUuMmYKAENvbW1vbgBOVUxMAHRlc3MtPnBpeF9iaW5hcnkoKSAhPSBudWxscHRyAC9zcmMvc3JjL2NjbWFpbi9vc2RldGVjdC5jcHAAcGl4ICE9IG51bGxwdHIAV2FybmluZy4gSW52YWxpZCByZXNvbHV0aW9uICVkIGRwaS4gVXNpbmcgJWQgaW5zdGVhZC4KACVsZCAwIG9iago8PAogIC9UeXBlIC9QYWdlcwogIC9LaWRzIFsgACVsZCAwIFIgAF0KICAvQ291bnQgJWQKPj4KZW5kb2JqCgBGRUZGACVsZCAwIG9iago8PAogIC9Qcm9kdWNlciAoVGVzc2VyYWN0ICVzKQogIC9DcmVhdGlvbkRhdGUgKEQ6JXMpCiAgL1RpdGxlIDwlcz4KPj4KZW5kb2JqCgB4cmVmCjAgJWxkCjAwMDAwMDAwMDAgNjU1MzUgZiAKACUwMTBsZCAwMDAwMCBuIAoAdHJhaWxlcgo8PAogIC9TaXplICVsZAogIC9Sb290ICVsZCAwIFIKICAvSW5mbyAlbGQgMCBSCj4+CnN0YXJ0eHJlZgolbGQKJSUlJUVPRgoANC4wLjAARHJvcHBpbmcgaW52YWxpZCBjb2RlcG9pbnQgJWQKACUwNFgAJTA0WCUwNFgAaXRfICE9IG51bGxwdHIAaW4gZmlsZSAlcywgbGluZSAlZAAvc3JjL3NyYy9jY3V0aWwvdW5pY2hhci5jcHAARVJST1I6IElsbGVnYWwgVVRGOCBlbmNvdW50ZXJlZC4KAEluZGV4ICVkIGNoYXIgPSAweCV4CgBBc3NlcnQgZmFpbGVkAFdBUk5JTkc6IElsbGVnYWwgVVRGOCBlbmNvdW50ZXJlZAoAMCA8PSBzaXplX3VzZWRfAHVuc2lnbmVkX3NpemUAc2l6ZV91c2VkXyA+IDAAYmFjawAvWE9iamVjdCA8PCAvSW0xICVsZCAwIFIgPj4KACVsZCAwIG9iago8PAogIC9UeXBlIC9QYWdlCiAgL1BhcmVudCAlbGQgMCBSCiAgL01lZGlhQm94IFswIDAgJS4yZiAlLjJmXQogIC9Db250ZW50cyAlbGQgMCBSCiAgL1Jlc291cmNlcwogIDw8CiAgICAlcyAgICAvUHJvY1NldCBbIC9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VJIC9JbWFnZUMgXQogICAgL0ZvbnQgPDwgL2YtMC0wICVsZCAwIFIgPj4KICA+Pgo+PgplbmRvYmoKACVsZCAwIG9iago8PAogIC9MZW5ndGggJWxkIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQoAZW5kc3RyZWFtCmVuZG9iagoAanBnX3F1YWxpdHkAL0pQWERlY29kZQAvQ0NJVFRGYXhEZWNvZGUAL0RDVERlY29kZQAvRmxhdGVEZWNvZGUAICAgIC9LIC0xCgAgIC9Db2xvclNwYWNlIFsgL0luZGV4ZWQgL0RldmljZVJHQiAlZCAlcyBdCgAgIC9Db2xvclNwYWNlIC9EZXZpY2VSR0IKACAgL0NvbG9yU3BhY2UgL0RldmljZUdyYXkKACVsZCAwIG9iago8PAogIC9MZW5ndGggJWxkCiAgL1N1YnR5cGUgL0ltYWdlCgAgIC9XaWR0aCAlZAogIC9IZWlnaHQgJWQKICAvQml0c1BlckNvbXBvbmVudCAlZAogIC9GaWx0ZXIgJXMKICAvRGVjb2RlUGFybXMKICA8PAogICAgL1ByZWRpY3RvciAlZAogICAgL0NvbG9ycyAlZAolcyAgICAvQ29sdW1ucyAlZAogICAgL0JpdHNQZXJDb21wb25lbnQgJWQKICA+Pgo+PgpzdHJlYW0KAHEgACAwIDAgACAwIDAgY20AIC9JbTEgRG8AIFEKAEJUCjMgVHIAIFRtIAAgVGQgAC9mLTAtMCAlZCBUZiAAIFR6ACBbIDwAPiBdIFRKACAKAEVUCgAlJVBERi0xLjUKJSUlYyVjJWMlYwoAMSAwIG9iago8PAogIC9UeXBlIC9DYXRhbG9nCiAgL1BhZ2VzICVsZCAwIFIKPj4KZW5kb2JqCgAzIDAgb2JqCjw8CiAgL0Jhc2VGb250IC9HbHlwaExlc3NGb250CiAgL0Rlc2NlbmRhbnRGb250cyBbICVsZCAwIFIgXQogIC9FbmNvZGluZyAvSWRlbnRpdHktSAogIC9TdWJ0eXBlIC9UeXBlMAogIC9Ub1VuaWNvZGUgJWxkIDAgUgogIC9UeXBlIC9Gb250Cj4+CmVuZG9iagoANCAwIG9iago8PAogIC9CYXNlRm9udCAvR2x5cGhMZXNzRm9udAogIC9DSURUb0dJRE1hcCAlbGQgMCBSCiAgL0NJRFN5c3RlbUluZm8KICA8PAogICAgIC9PcmRlcmluZyAoSWRlbnRpdHkpCiAgICAgL1JlZ2lzdHJ5IChBZG9iZSkKICAgICAvU3VwcGxlbWVudCAwCiAgPj4KICAvRm9udERlc2NyaXB0b3IgJWxkIDAgUgogIC9TdWJ0eXBlIC9DSURGb250VHlwZTIKICAvVHlwZSAvRm9udAogIC9EVyAlZAo+PgplbmRvYmoKADUgMCBvYmoKPDwKICAvTGVuZ3RoICVsdSAvRmlsdGVyIC9GbGF0ZURlY29kZQo+PgpzdHJlYW0KADYgMCBvYmoKPDwgL0xlbmd0aCAlbHUgPj4Kc3RyZWFtCiVzZW5kc3RyZWFtCmVuZG9iagoAL0NJREluaXQgL1Byb2NTZXQgZmluZHJlc291cmNlIGJlZ2luCjEyIGRpY3QgYmVnaW4KYmVnaW5jbWFwCi9DSURTeXN0ZW1JbmZvCjw8CiAgL1JlZ2lzdHJ5IChBZG9iZSkKICAvT3JkZXJpbmcgKFVDUykKICAvU3VwcGxlbWVudCAwCj4+IGRlZgovQ01hcE5hbWUgL0Fkb2JlLUlkZW50aWZ5LVVDUyBkZWYKL0NNYXBUeXBlIDIgZGVmCjEgYmVnaW5jb2Rlc3BhY2VyYW5nZQo8MDAwMD4gPEZGRkY+CmVuZGNvZGVzcGFjZXJhbmdlCjEgYmVnaW5iZnJhbmdlCjwwMDAwPiA8RkZGRj4gPDAwMDA+CmVuZGJmcmFuZ2UKZW5kY21hcApDTWFwTmFtZSBjdXJyZW50ZGljdCAvQ01hcCBkZWZpbmVyZXNvdXJjZSBwb3AKZW5kCmVuZAoANyAwIG9iago8PAogIC9Bc2NlbnQgJWQKICAvQ2FwSGVpZ2h0ICVkCiAgL0Rlc2NlbnQgLTEKICAvRmxhZ3MgNQogIC9Gb250QkJveCAgWyAwIDAgJWQgJWQgXQogIC9Gb250RmlsZTIgJWxkIDAgUgogIC9Gb250TmFtZSAvR2x5cGhMZXNzRm9udAogIC9JdGFsaWNBbmdsZSAwCiAgL1N0ZW1WIDgwCiAgL1R5cGUgL0ZvbnREZXNjcmlwdG9yCj4+CmVuZG9iagoAJXMvcGRmLnR0ZgBDYW4gbm90IG9wZW4gZmlsZSAiJXMiIQoAOCAwIG9iago8PAogIC9MZW5ndGggJWxkCiAgL0xlbmd0aDEgJWxkCj4+CnN0cmVhbQoATjl0ZXNzZXJhY3QxNVRlc3NQREZSZW5kZXJlckUAaXRfLT53b3JkKCktPnVjaF9zZXQgIT0gbnVsbHB0cgByZXN1bHRfaXQuaXRfLT53b3JkKCkgIT0gTlVMTAByZXN1bHRfaXQuaXRfLT53b3JkKCkgIT0gbnVsbHB0cgBPcmllbnRhdGlvbiBpZCAjJWQAJTEycwk6ICVmCgBDYW5ub3QgY29udmVydCBSQVcgaW1hZ2UgdG8gUGl4IHdpdGggYnBwID0gJWQKAC50cgBDYXRjaFNpZ25hbHMgaGFzIG5vIG5vbi1saW51eCBpbXBsZW1lbnRhdGlvbiEKAGVuZwBQbGVhc2UgY2FsbCBJbml0IGJlZm9yZSBhdHRlbXB0aW5nIHRvIHNldCBhbiBpbWFnZS4KAFBsZWFzZSBjYWxsIFNldEltYWdlIGJlZm9yZSBTZXRTb3VyY2VSZXNvbHV0aW9uLgoAMzRfQ29uc3RUZXNzTWVtYmVyUmVzdWx0Q2FsbGJhY2tfNV8wSUxiMEViTjl0ZXNzZXJhY3QxMlBhZ2VJdGVyYXRvckVOUzBfMTdQYWdlSXRlcmF0b3JMZXZlbEVQaVMzX1MzX1MzX0UAMThUZXNzUmVzdWx0Q2FsbGJhY2tJYkUAMzRfQ29uc3RUZXNzTWVtYmVyUmVzdWx0Q2FsbGJhY2tfNl8wSUxiMEViTjl0ZXNzZXJhY3QxMlBhZ2VJdGVyYXRvckVOUzBfMTdQYWdlSXRlcmF0b3JMZXZlbEVpUGlTM19TM19TM19FAEltYWdlIGZpbGUgJXMgY2Fubm90IGJlIHJlYWQhCgBQYWdlICVkIDogJXMKAHRlc3NpbnB1dC50aWYARXJyb3IsIGZhaWxlZCB0byBvcGVuIGZpbGUgIiVzIgoAUGFnZSAlZAoAYXBwbHlib3hfcGFnZQBXcml0ZSBvZiBUUiBmaWxlIGZhaWxlZDogJXMKAEVycm9yLCBjYW5ub3QgcmVhZCBpbnB1dCBmaWxlICVzOiAlcwoATlN0M19fMjEzYmFzaWNfZmlsZWJ1ZkljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTRiYXNpY19pZnN0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBhcHBseWJveF9kZWJ1ZwBjbGFzc2lmeV9lbmFibGVfbGVhcm5pbmcAMABUcnlpbmcgdG8gYWRhcHQgIiVzIiB0byAiJXMiCgBpbmRleCA+PSAwICYmIGluZGV4IDwgc2l6ZV91c2VkXwAvc3JjL3NyYy9jY3V0aWwvZ2VuZXJpY3ZlY3Rvci5oAHJlbW92ZQBzdGRvdXQAd2IAcGRmAP////8AAAD/Qm9ndXMgbWVzc2FnZSBjb2RlICVkAEFMSUdOX1RZUEUgaXMgd3JvbmcsIHBsZWFzZSBmaXgATUFYX0FMTE9DX0NIVU5LIGlzIHdyb25nLCBwbGVhc2UgZml4AEJvZ3VzIGJ1ZmZlciBjb250cm9sIG1vZGUASW52YWxpZCBjb21wb25lbnQgSUQgJWQgaW4gU09TAEludmFsaWQgY3JvcCByZXF1ZXN0AERDVCBjb2VmZmljaWVudCBvdXQgb2YgcmFuZ2UARENUIHNjYWxlZCBibG9jayBzaXplICVkeCVkIG5vdCBzdXBwb3J0ZWQAQ29tcG9uZW50IGluZGV4ICVkOiBtaXNtYXRjaGluZyBzYW1wbGluZyByYXRpbyAlZDolZCwgJWQ6JWQsICVjAEJvZ3VzIEh1ZmZtYW4gdGFibGUgZGVmaW5pdGlvbgBCb2d1cyBpbnB1dCBjb2xvcnNwYWNlAEJvZ3VzIEpQRUcgY29sb3JzcGFjZQBCb2d1cyBtYXJrZXIgbGVuZ3RoAFdyb25nIEpQRUcgbGlicmFyeSB2ZXJzaW9uOiBsaWJyYXJ5IGlzICVkLCBjYWxsZXIgZXhwZWN0cyAlZABTYW1wbGluZyBmYWN0b3JzIHRvbyBsYXJnZSBmb3IgaW50ZXJsZWF2ZWQgc2NhbgBJbnZhbGlkIG1lbW9yeSBwb29sIGNvZGUgJWQAVW5zdXBwb3J0ZWQgSlBFRyBkYXRhIHByZWNpc2lvbiAlZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgU3M9JWQgU2U9JWQgQWg9JWQgQWw9JWQASW52YWxpZCBwcm9ncmVzc2l2ZSBwYXJhbWV0ZXJzIGF0IHNjYW4gc2NyaXB0IGVudHJ5ICVkAEJvZ3VzIHNhbXBsaW5nIGZhY3RvcnMASW52YWxpZCBzY2FuIHNjcmlwdCBhdCBlbnRyeSAlZABJbXByb3BlciBjYWxsIHRvIEpQRUcgbGlicmFyeSBpbiBzdGF0ZSAlZABKUEVHIHBhcmFtZXRlciBzdHJ1Y3QgbWlzbWF0Y2g6IGxpYnJhcnkgdGhpbmtzIHNpemUgaXMgJXUsIGNhbGxlciBleHBlY3RzICV1AEJvZ3VzIHZpcnR1YWwgYXJyYXkgYWNjZXNzAEJ1ZmZlciBwYXNzZWQgdG8gSlBFRyBsaWJyYXJ5IGlzIHRvbyBzbWFsbABTdXNwZW5zaW9uIG5vdCBhbGxvd2VkIGhlcmUAQ0NJUjYwMSBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AFRvbyBtYW55IGNvbG9yIGNvbXBvbmVudHM6ICVkLCBtYXggJWQAVW5zdXBwb3J0ZWQgY29sb3IgY29udmVyc2lvbiByZXF1ZXN0AEJvZ3VzIERBQyBpbmRleCAlZABCb2d1cyBEQUMgdmFsdWUgMHgleABCb2d1cyBESFQgaW5kZXggJWQAQm9ndXMgRFFUIGluZGV4ICVkAEVtcHR5IEpQRUcgaW1hZ2UgKEROTCBub3Qgc3VwcG9ydGVkKQBSZWFkIGZyb20gRU1TIGZhaWxlZABXcml0ZSB0byBFTVMgZmFpbGVkAERpZG4ndCBleHBlY3QgbW9yZSB0aGFuIG9uZSBzY2FuAElucHV0IGZpbGUgcmVhZCBlcnJvcgBPdXRwdXQgZmlsZSB3cml0ZSBlcnJvciAtLS0gb3V0IG9mIGRpc2sgc3BhY2U/AEZyYWN0aW9uYWwgc2FtcGxpbmcgbm90IGltcGxlbWVudGVkIHlldABIdWZmbWFuIGNvZGUgc2l6ZSB0YWJsZSBvdmVyZmxvdwBNaXNzaW5nIEh1ZmZtYW4gY29kZSB0YWJsZSBlbnRyeQBNYXhpbXVtIHN1cHBvcnRlZCBpbWFnZSBkaW1lbnNpb24gaXMgJXUgcGl4ZWxzAEVtcHR5IGlucHV0IGZpbGUAUHJlbWF0dXJlIGVuZCBvZiBpbnB1dCBmaWxlAENhbm5vdCB0cmFuc2NvZGUgZHVlIHRvIG11bHRpcGxlIHVzZSBvZiBxdWFudGl6YXRpb24gdGFibGUgJWQAU2NhbiBzY3JpcHQgZG9lcyBub3QgdHJhbnNtaXQgYWxsIGRhdGEASW52YWxpZCBjb2xvciBxdWFudGl6YXRpb24gbW9kZSBjaGFuZ2UATm90IGltcGxlbWVudGVkIHlldABSZXF1ZXN0ZWQgZmVhdHVyZSB3YXMgb21pdHRlZCBhdCBjb21waWxlIHRpbWUAQXJpdGhtZXRpYyB0YWJsZSAweCUwMnggd2FzIG5vdCBkZWZpbmVkAEJhY2tpbmcgc3RvcmUgbm90IHN1cHBvcnRlZABIdWZmbWFuIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQASlBFRyBkYXRhc3RyZWFtIGNvbnRhaW5zIG5vIGltYWdlAFF1YW50aXphdGlvbiB0YWJsZSAweCUwMnggd2FzIG5vdCBkZWZpbmVkAE5vdCBhIEpQRUcgZmlsZTogc3RhcnRzIHdpdGggMHglMDJ4IDB4JTAyeABJbnN1ZmZpY2llbnQgbWVtb3J5IChjYXNlICVkKQBDYW5ub3QgcXVhbnRpemUgbW9yZSB0aGFuICVkIGNvbG9yIGNvbXBvbmVudHMAQ2Fubm90IHF1YW50aXplIHRvIGZld2VyIHRoYW4gJWQgY29sb3JzAENhbm5vdCBxdWFudGl6ZSB0byBtb3JlIHRoYW4gJWQgY29sb3JzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPRiBtYXJrZXJzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogbWlzc2luZyBTT1MgbWFya2VyAFVuc3VwcG9ydGVkIEpQRUcgcHJvY2VzczogU09GIHR5cGUgMHglMDJ4AEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPSSBtYXJrZXJzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogU09TIGJlZm9yZSBTT0YARmFpbGVkIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSAlcwBSZWFkIGZhaWxlZCBvbiB0ZW1wb3JhcnkgZmlsZQBTZWVrIGZhaWxlZCBvbiB0ZW1wb3JhcnkgZmlsZQBXcml0ZSBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUgLS0tIG91dCBvZiBkaXNrIHNwYWNlPwBBcHBsaWNhdGlvbiB0cmFuc2ZlcnJlZCB0b28gZmV3IHNjYW5saW5lcwBVbnN1cHBvcnRlZCBtYXJrZXIgdHlwZSAweCUwMngAVmlydHVhbCBhcnJheSBjb250cm9sbGVyIG1lc3NlZCB1cABJbWFnZSB0b28gd2lkZSBmb3IgdGhpcyBpbXBsZW1lbnRhdGlvbgBSZWFkIGZyb20gWE1TIGZhaWxlZABXcml0ZSB0byBYTVMgZmFpbGVkAENvcHlyaWdodCAoQykgMjAxMiwgVGhvbWFzIEcuIExhbmUsIEd1aWRvIFZvbGxiZWRpbmcAOGQgIDE1LUphbi0yMDEyAENhdXRpb246IHF1YW50aXphdGlvbiB0YWJsZXMgYXJlIHRvbyBjb2Fyc2UgZm9yIGJhc2VsaW5lIEpQRUcAQWRvYmUgQVBQMTQgbWFya2VyOiB2ZXJzaW9uICVkLCBmbGFncyAweCUwNHggMHglMDR4LCB0cmFuc2Zvcm0gJWQAVW5rbm93biBBUFAwIG1hcmtlciAobm90IEpGSUYpLCBsZW5ndGggJXUAVW5rbm93biBBUFAxNCBtYXJrZXIgKG5vdCBBZG9iZSksIGxlbmd0aCAldQBEZWZpbmUgQXJpdGhtZXRpYyBUYWJsZSAweCUwMng6IDB4JTAyeABEZWZpbmUgSHVmZm1hbiBUYWJsZSAweCUwMngARGVmaW5lIFF1YW50aXphdGlvbiBUYWJsZSAlZCAgcHJlY2lzaW9uICVkAERlZmluZSBSZXN0YXJ0IEludGVydmFsICV1AEZyZWVkIEVNUyBoYW5kbGUgJXUAT2J0YWluZWQgRU1TIGhhbmRsZSAldQBFbmQgT2YgSW1hZ2UAICAgICAgICAlM2QgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkAEpGSUYgQVBQMCBtYXJrZXI6IHZlcnNpb24gJWQuJTAyZCwgZGVuc2l0eSAlZHglZCAgJWQAV2FybmluZzogdGh1bWJuYWlsIGltYWdlIHNpemUgZG9lcyBub3QgbWF0Y2ggZGF0YSBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiB0eXBlIDB4JTAyeCwgbGVuZ3RoICV1ACAgICB3aXRoICVkIHggJWQgdGh1bWJuYWlsIGltYWdlAE1pc2NlbGxhbmVvdXMgbWFya2VyIDB4JTAyeCwgbGVuZ3RoICV1AFVuZXhwZWN0ZWQgbWFya2VyIDB4JTAyeAAgICAgICAgICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUAUXVhbnRpemluZyB0byAlZCA9ICVkKiVkKiVkIGNvbG9ycwBRdWFudGl6aW5nIHRvICVkIGNvbG9ycwBTZWxlY3RlZCAlZCBjb2xvcnMgZm9yIHF1YW50aXphdGlvbgBBdCBtYXJrZXIgMHglMDJ4LCByZWNvdmVyeSBhY3Rpb24gJWQAUlNUJWQAU21vb3RoaW5nIG5vdCBzdXBwb3J0ZWQgd2l0aCBub25zdGFuZGFyZCBzYW1wbGluZyByYXRpb3MAU3RhcnQgT2YgRnJhbWUgMHglMDJ4OiB3aWR0aD0ldSwgaGVpZ2h0PSV1LCBjb21wb25lbnRzPSVkACAgICBDb21wb25lbnQgJWQ6ICVkaHglZHYgcT0lZABTdGFydCBvZiBJbWFnZQBTdGFydCBPZiBTY2FuOiAlZCBjb21wb25lbnRzACAgICBDb21wb25lbnQgJWQ6IGRjPSVkIGFjPSVkACAgU3M9JWQsIFNlPSVkLCBBaD0lZCwgQWw9JWQAQ2xvc2VkIHRlbXBvcmFyeSBmaWxlICVzAE9wZW5lZCB0ZW1wb3JhcnkgZmlsZSAlcwBKRklGIGV4dGVuc2lvbiBtYXJrZXI6IEpQRUctY29tcHJlc3NlZCB0aHVtYm5haWwgaW1hZ2UsIGxlbmd0aCAldQBKRklGIGV4dGVuc2lvbiBtYXJrZXI6IHBhbGV0dGUgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiBSR0IgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUAVW5yZWNvZ25pemVkIGNvbXBvbmVudCBJRHMgJWQgJWQgJWQsIGFzc3VtaW5nIFlDYkNyAEZyZWVkIFhNUyBoYW5kbGUgJXUAT2J0YWluZWQgWE1TIGhhbmRsZSAldQBVbmtub3duIEFkb2JlIGNvbG9yIHRyYW5zZm9ybSBjb2RlICVkAENvcnJ1cHQgSlBFRyBkYXRhOiBiYWQgYXJpdGhtZXRpYyBjb2RlAEluY29uc2lzdGVudCBwcm9ncmVzc2lvbiBzZXF1ZW5jZSBmb3IgY29tcG9uZW50ICVkIGNvZWZmaWNpZW50ICVkAENvcnJ1cHQgSlBFRyBkYXRhOiAldSBleHRyYW5lb3VzIGJ5dGVzIGJlZm9yZSBtYXJrZXIgMHglMDJ4AENvcnJ1cHQgSlBFRyBkYXRhOiBwcmVtYXR1cmUgZW5kIG9mIGRhdGEgc2VnbWVudABDb3JydXB0IEpQRUcgZGF0YTogYmFkIEh1ZmZtYW4gY29kZQBXYXJuaW5nOiB1bmtub3duIEpGSUYgcmV2aXNpb24gbnVtYmVyICVkLiUwMmQAUHJlbWF0dXJlIGVuZCBvZiBKUEVHIGZpbGUAQ29ycnVwdCBKUEVHIGRhdGE6IGZvdW5kIG1hcmtlciAweCUwMnggaW5zdGVhZCBvZiBSU1QlZABJbnZhbGlkIFNPUyBwYXJhbWV0ZXJzIGZvciBzZXF1ZW50aWFsIEpQRUcAQXBwbGljYXRpb24gdHJhbnNmZXJyZWQgdG9vIG1hbnkgc2NhbmxpbmVzACVzOiAAV2FybmluZywgAC4KAE5vbmUATFpXAFBhY2tCaXRzAFRodW5kZXJTY2FuAE5lWFQASlBFRwBPbGQtc3R5bGUgSlBFRwBDQ0lUVCBSTEUAQ0NJVFQgUkxFL1cAQ0NJVFQgR3JvdXAgMwBDQ0lUVCBHcm91cCA0AElTTyBKQklHAERlZmxhdGUAQWRvYmVEZWZsYXRlAFBpeGFyTG9nAFNHSUxvZwBTR0lMb2cyNABzY2hlbWUgPT0gQ09NUFJFU1NJT05fU0dJTE9HMjQgfHwgc2NoZW1lID09IENPTVBSRVNTSU9OX1NHSUxPRwB0aWZfbHV2LmMAVElGRkluaXRTR0lMb2cATWVyZ2luZyBTR0lMb2cgY29kZWMtc3BlY2lmaWMgdGFncyBmYWlsZWQAJXM6IE5vIHNwYWNlIGZvciBMb2dMdXYgc3RhdGUgYmxvY2sAVW5rbm93biBkYXRhIGZvcm1hdCAlZCBmb3IgTG9nTHV2IGNvbXByZXNzaW9uAFVua25vd24gZW5jb2RpbmcgJWQgZm9yIExvZ0x1diBjb21wcmVzc2lvbgBUSUZGU2NhbmxpbmVTaXplAFRJRkZWU3RyaXBTaXplAFRJRkZWVGlsZVNpemUASW52YWxpZCBZQ2JDciBzdWJzYW1wbGluZwBUSUZGVGlsZVJvd1NpemUASW50ZWdlciBvdmVyZmxvdyBpbiAlcwBwc2V1ZG8tAFRJRkZTZXRGaWVsZAAlczogVW5rbm93biAlc3RhZyAldQAlczogQ2Fubm90IG1vZGlmeSB0YWcgIiVzIiB3aGlsZSB3cml0aW5nAExvZ0x1dkNsZWFudXAAQ29tcHJlc3Npb24gYWxnb3JpdGhtIGRvZXMgbm90IHN1cHBvcnQgcmFuZG9tIGFjY2VzcwAlcyAlcyBlbmNvZGluZyBpcyBub3QgaW1wbGVtZW50ZWQAQ29tcHJlc3Npb24gc2NoZW1lICV1ICVzIGVuY29kaW5nIGlzIG5vdCBpbXBsZW1lbnRlZABzY2FubGluZQAlcyAlcyBkZWNvZGluZyBpcyBub3QgaW1wbGVtZW50ZWQAQ29tcHJlc3Npb24gc2NoZW1lICV1ICVzIGRlY29kaW5nIGlzIG5vdCBpbXBsZW1lbnRlZABjYyVyb3dsZW4gPT0gMABMb2dMdXZFbmNvZGVUaWxlAExvZ0x1dkVuY29kZVN0cmlwAEluYXBwcm9wcmlhdGUgcGhvdG9tZXRyaWMgaW50ZXJwcmV0YXRpb24gJWQgZm9yIFNHSUxvZyBjb21wcmVzc2lvbjsgJXMAbXVzdCBiZSBlaXRoZXIgTG9nTFVWIG9yIExvZ0wAWSwgTABYWVosIEx1dgBTR0lMb2cgY29tcHJlc3Npb24gc3VwcG9ydGVkIG9ubHkgZm9yICVzLCBvciByYXcgZGF0YQBzID09IDAATG9nTDE2RW5jb2RlAHNwLT50YnVmbGVuID49IG5waXhlbHMAdGQtPnRkX25zdHJpcHMgPiAwAHRpZl93cml0ZS5jAFNlZWsgZXJyb3IgYXQgc2NhbmxpbmUgJWx1AFdyaXRlIGVycm9yIGF0IHNjYW5saW5lICVsdQB0ZC0+dGRfcGhvdG9tZXRyaWMgPT0gUEhPVE9NRVRSSUNfTE9HTABObyBzdXBwb3J0IGZvciBjb252ZXJ0aW5nIHVzZXIgZGF0YSBmb3JtYXQgdG8gTG9nTAAlczogTm8gc3BhY2UgZm9yIFNHSUxvZyB0cmFuc2xhdGlvbiBidWZmZXIATG9nTHV2RW5jb2RlMzIATG9nTHV2RW5jb2RlMjQAdGQtPnRkX3Bob3RvbWV0cmljID09IFBIT1RPTUVUUklDX0xPR0xVVgBTR0lMb2cgY29tcHJlc3Npb24gY2Fubm90IGhhbmRsZSBub24tY29udGlndW91cyBkYXRhAE5vIHN1cHBvcnQgZm9yIGNvbnZlcnRpbmcgdXNlciBkYXRhIGZvcm1hdCB0byBMb2dMdXYATG9nTHV2RGVjb2RlVGlsZQBMb2dMdXZEZWNvZGVTdHJpcABMb2dMMTZEZWNvZGUATG9nTDE2RGVjb2RlOiBOb3QgZW5vdWdoIGRhdGEgYXQgcm93ICVkIChzaG9ydCAlZCBwaXhlbHMpAExvZ0x1dkRlY29kZTMyAExvZ0x1dkRlY29kZTMyOiBOb3QgZW5vdWdoIGRhdGEgYXQgcm93ICVkIChzaG9ydCAlZCBwaXhlbHMpAExvZ0x1dkRlY29kZTI0AExvZ0x1dkRlY29kZTI0OiBOb3QgZW5vdWdoIGRhdGEgYXQgcm93ICVkIChzaG9ydCAlZCBwaXhlbHMpAEZhaWxlZCB0byBhbGxvY2F0ZSBmaWVsZCBpbmZvIGFycmF5AEZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yICVzICglbGQgZWxlbWVudHMgb2YgJWxkIGJ5dGVzIGVhY2gpAFNHSUxvZ0RhdGFGbXQAU0dJTG9nRW5jb2RlAHNjaGVtZSA9PSBDT01QUkVTU0lPTl9QSVhBUkxPRwB0aWZfcGl4YXJsb2cuYwBNZXJnaW5nIFBpeGFyTG9nIGNvZGVjLXNwZWNpZmljIHRhZ3MgZmFpbGVkAE5vIHNwYWNlIGZvciBQaXhhckxvZyBzdGF0ZSBibG9jawB0aWZfcHJlZGljdC5jAFRJRkZQcmVkaWN0b3JJbml0AE1lcmdpbmcgUHJlZGljdG9yIGNvZGVjLXNwZWNpZmljIHRhZ3MgZmFpbGVkAHNwLT5lbmNvZGVwZnVuYyAhPSBOVUxMAHNwLT5lbmNvZGV0aWxlICE9IE5VTEwAT3V0IG9mIG1lbW9yeSBhbGxvY2F0aW5nICVkIGJ5dGUgdGVtcCBidWZmZXIuAHJvd3NpemUgPiAwAChjYzAlcm93c2l6ZSk9PTAAUHJlZGljdG9yRW5jb2RlUm93AHNwLT5lbmNvZGVyb3cgIT0gTlVMTABQcmVkaWN0b3JTZXR1cABIb3Jpem9udGFsIGRpZmZlcmVuY2luZyAiUHJlZGljdG9yIiBub3Qgc3VwcG9ydGVkIHdpdGggJWQtYml0IHNhbXBsZXMARmxvYXRpbmcgcG9pbnQgIlByZWRpY3RvciIgbm90IHN1cHBvcnRlZCB3aXRoICVkIGRhdGEgZm9ybWF0ACJQcmVkaWN0b3IiIHZhbHVlICVkIG5vdCBzdXBwb3J0ZWQAUHJlZGljdG9yRGVjb2RlVGlsZQBzcC0+ZGVjb2RldGlsZSAhPSBOVUxMAHNwLT5kZWNvZGVwZnVuYyAhPSBOVUxMAFByZWRpY3RvckRlY29kZVJvdwBzcC0+ZGVjb2Rlcm93ICE9IE5VTEwAICBQcmVkaWN0b3I6IABub25lIABob3Jpem9udGFsIGRpZmZlcmVuY2luZyAAZmxvYXRpbmcgcG9pbnQgcHJlZGljdG9yIAAldSAoMHgleCkKAFByZWRpY3RvclZTZXRGaWVsZABzcC0+dnNldHBhcmVudCAhPSBOVUxMAFByZWRpY3RvclZHZXRGaWVsZABzcC0+dmdldHBhcmVudCAhPSBOVUxMAFByZWRpY3RvcgBQaXhhckxvZ0NsZWFudXAAVElGRlByZWRpY3RvckNsZWFudXAAJWQgYml0IGlucHV0IG5vdCBzdXBwb3J0ZWQgaW4gUGl4YXJMb2cAUGl4YXJMb2dFbmNvZGUAUGl4YXJMb2dQcmVFbmNvZGUAUGl4YXJMb2cgY29tcHJlc3Npb24gY2FuJ3QgaGFuZGxlICVkIGJpdCBsaW5lYXIgZW5jb2RpbmdzAFBpeGFyTG9nRGVjb2RlACVzOiBzdHJpZGUgJWQgaXMgbm90IGEgbXVsdGlwbGUgb2Ygc2FtcGxlIGNvdW50LCAlZCwgZGF0YSB0cnVuY2F0ZWQuAFBpeGFyTG9nRGVjb2RlOiB1bnN1cHBvcnRlZCBiaXRzL3NhbXBsZTogJWQAUGl4YXJMb2dQcmVEZWNvZGUAUGl4YXJMb2cgY29tcHJlc3Npb24gY2FuJ3QgaGFuZGxlIGJpdHMgZGVwdGgvZGF0YSBmb3JtYXQgY29tYmluYXRpb24gKGRlcHRoOiAlZCkAKHNjaGVtZSA9PSBDT01QUkVTU0lPTl9ERUZMQVRFKSB8fCAoc2NoZW1lID09IENPTVBSRVNTSU9OX0FET0JFX0RFRkxBVEUpAHRpZl96aXAuYwBUSUZGSW5pdFpJUABNZXJnaW5nIERlZmxhdGUgY29kZWMtc3BlY2lmaWMgdGFncyBmYWlsZWQATm8gc3BhY2UgZm9yIFpJUCBzdGF0ZSBibG9jawBaSVBDbGVhbnVwAFpJUEVuY29kZQBzcC0+c3RhdGUgPT0gWlNUQVRFX0lOSVRfRU5DT0RFACVzOiBFbmNvZGVyIGVycm9yOiAlcwBaSVBQb3N0RW5jb2RlACVzOiB6bGliIGVycm9yOiAlcwBaSVBQcmVFbmNvZGUAWklQU2V0dXBFbmNvZGUAJXM6ICVzAFpJUERlY29kZQBzcC0+c3RhdGUgPT0gWlNUQVRFX0lOSVRfREVDT0RFACVzOiBEZWNvZGluZyBlcnJvciBhdCBzY2FubGluZSAlZCwgJXMAJXM6IE5vdCBlbm91Z2ggZGF0YSBhdCBzY2FubGluZSAlZCAoc2hvcnQgJWQgYnl0ZXMpAFpJUFByZURlY29kZQBaSVBTZXR1cERlY29kZQBaSVBWU2V0RmllbGQAJXMgY29tcHJlc3Npb24gc3VwcG9ydCBpcyBub3QgY29uZmlndXJlZABUSUZGSW5pdENDSVRURmF4NABNZXJnaW5nIENDSVRUIEZheCA0IGNvZGVjLXNwZWNpZmljIHRhZ3MgZmFpbGVkAHRlLT5ydW5sZW4gPT0gNjQqKHNwYW4+PjYpAHRpZl9mYXgzLmMAcHV0c3BhbgBGYXg0RGVjb2RlAFByZW1hdHVyZSBFT0wATGluZSBsZW5ndGggbWlzbWF0Y2gAJXM6ICVzIGF0IGxpbmUgJXUgb2YgJXMgJXUgKGdvdCAldSwgZXhwZWN0ZWQgJXUpACVzOiBQcmVtYXR1cmUgRU9GIGF0IGxpbmUgJXUgb2YgJXMgJXUgKHggJXUpACVzOiBCYWQgY29kZSB3b3JkIGF0IGxpbmUgJXUgb2YgJXMgJXUgKHggJXUpACVzOiBVbmNvbXByZXNzZWQgZGF0YSAobm90IHN1cHBvcnRlZCkgYXQgbGluZSAldSBvZiAlcyAldSAoeCAldSkAR3JvdXA0T3B0aW9ucwBJbml0Q0NJVFRGYXgzAE1lcmdpbmcgY29tbW9uIENDSVRUIEZheCBjb2RlYy1zcGVjaWZpYyB0YWdzIGZhaWxlZABUSUZGSW5pdENDSVRURmF4MwAlczogTm8gc3BhY2UgZm9yIHN0YXRlIGJsb2NrAEZheDNDbGVhbnVwAEZheDNQcmVFbmNvZGUARmF4M0RlY29kZTFEAEZheDNQcmVEZWNvZGUAQml0cy9zYW1wbGUgbXVzdCBiZSAxIGZvciBHcm91cCAzLzQgZW5jb2RpbmcvZGVjb2RpbmcAUm93IHBpeGVscyBpbnRlZ2VyIG92ZXJmbG93IChyb3dwaXhlbHMgJXUpAGZvciBHcm91cCAzLzQgcnVuIGFycmF5cwBGYXgzU2V0dXBTdGF0ZQAlczogTm8gc3BhY2UgZm9yIEdyb3VwIDMvNCByZWZlcmVuY2UgbGluZQBGYXgzRGVjb2RlMkQAAIDA4PD4/P7/eCA9PSBsYXN0eABfVElGRkZheDNmaWxscnVucwBGYXgzUHJpbnREaXIAICBHcm91cCA0IE9wdGlvbnM6ACVzdW5jb21wcmVzc2VkIGRhdGEAICBHcm91cCAzIE9wdGlvbnM6ACVzMi1kIGVuY29kaW5nACVzRU9MIHBhZGRpbmcAICglbHUgPSAweCVseCkKACAgRmF4IERhdGE6ACBjbGVhbgAgcmVjZWl2ZXIgcmVnZW5lcmF0ZWQAIHVuY29ycmVjdGVkIGVycm9ycwAgKCV1ID0gMHgleCkKACAgQmFkIEZheCBMaW5lczogJWx1CgAgIENvbnNlY3V0aXZlIEJhZCBGYXggTGluZXM6ICVsdQoARmF4M1ZTZXRGaWVsZABzcC0+dnNldHBhcmVudCAhPSAwAFRJRkZGaWVsZFdpdGhUYWcASW50ZXJuYWwgZXJyb3IsIHVua25vd24gdGFnIDB4JXgAZmlwICE9IE5VTEwAdGlmX2RpcmluZm8uYwBGYXgzVkdldEZpZWxkAEZheE1vZGUARmF4RmlsbEZ1bmMAQmFkRmF4TGluZXMAQ2xlYW5GYXhEYXRhAENvbnNlY3V0aXZlQmFkRmF4TGluZXMATWVyZ2luZyBDQ0lUVCBGYXggMyBjb2RlYy1zcGVjaWZpYyB0YWdzIGZhaWxlZABHcm91cDNPcHRpb25zAEZheDNEZWNvZGVSTEUAc2NoZW1lPT1DT01QUkVTU0lPTl9PSlBFRwB0aWZfb2pwZWcuYwBUSUZGSW5pdE9KUEVHAE1lcmdpbmcgT2xkIEpQRUcgY29kZWMtc3BlY2lmaWMgdGFncyBmYWlsZWQATm8gc3BhY2UgZm9yIE9KUEVHIHN0YXRlIGJsb2NrAHNwIT1OVUxMAE9KUEVHUHJpbnREaXIAICBKcGVnSW50ZXJjaGFuZ2VGb3JtYXQ6ICVsdQoAICBKcGVnSW50ZXJjaGFuZ2VGb3JtYXRMZW5ndGg6ICVsdQoAICBKcGVnUVRhYmxlczoAICVsdQAgIEpwZWdEY1RhYmxlczoAICBKcGVnQWNUYWJsZXM6ACAgSnBlZ1Byb2M6ICV1CgAgIEpwZWdSZXN0YXJ0SW50ZXJ2YWw6ICV1CgBPSlBFR1ZTZXRGaWVsZABKcGVnUVRhYmxlcyB0YWcgaGFzIGluY29ycmVjdCBjb3VudABKcGVnRGNUYWJsZXMgdGFnIGhhcyBpbmNvcnJlY3QgY291bnQASnBlZ0FjVGFibGVzIHRhZyBoYXMgaW5jb3JyZWN0IGNvdW50AHNwLT5zdWJzYW1wbGluZ2NvcnJlY3RfZG9uZT09MABTdWJzYW1wbGluZyB0YWcgbm90IGFwcHJvcHJpYXRlIGZvciB0aGlzIFBob3RvbWV0cmljIGFuZC9vciBTYW1wbGVzUGVyUGl4ZWwAU3Vic2FtcGxpbmcgdGFnIGlzIG5vdCBzZXQsIHlldCBzdWJzYW1wbGluZyBpbnNpZGUgSlBFRyBkYXRhIFslZCwlZF0gZG9lcyBub3QgbWF0Y2ggZGVmYXVsdCB2YWx1ZXMgWzIsMl07IGFzc3VtaW5nIHN1YnNhbXBsaW5nIGluc2lkZSBKUEVHIGRhdGEgaXMgY29ycmVjdABTdWJzYW1wbGluZyBpbnNpZGUgSlBFRyBkYXRhIFslZCwlZF0gZG9lcyBub3QgbWF0Y2ggc3Vic2FtcGxpbmcgdGFnIHZhbHVlcyBbJWQsJWRdOyBhc3N1bWluZyBzdWJzYW1wbGluZyBpbnNpZGUgSlBFRyBkYXRhIGlzIGNvcnJlY3QAU3Vic2FtcGxpbmcgdGFnIGlzIG5vdCBzZXQsIHlldCBzdWJzYW1wbGluZyBpbnNpZGUgSlBFRyBkYXRhIGRvZXMgbm90IG1hdGNoIGRlZmF1bHQgdmFsdWVzIFsyLDJdIChub3IgYW55IG90aGVyIHZhbHVlcyBhbGxvd2VkIGluIFRJRkYpOyBhc3N1bWluZyBzdWJzYW1wbGluZyBpbnNpZGUgSlBFRyBkYXRhIGlzIGNvcnJlY3QgYW5kIGRlc3Vic2FtcGxpbmcgaW5zaWRlIEpQRUcgZGVjb21wcmVzc2lvbgBTdWJzYW1wbGluZyBpbnNpZGUgSlBFRyBkYXRhIGRvZXMgbm90IG1hdGNoIHN1YnNhbXBsaW5nIHRhZyB2YWx1ZXMgWyVkLCVkXSAobm9yIGFueSBvdGhlciB2YWx1ZXMgYWxsb3dlZCBpbiBUSUZGKTsgYXNzdW1pbmcgc3Vic2FtcGxpbmcgaW5zaWRlIEpQRUcgZGF0YSBpcyBjb3JyZWN0IGFuZCBkZXN1YnNhbXBsaW5nIGluc2lkZSBKUEVHIGRlY29tcHJlc3Npb24AU3Vic2FtcGxpbmcgdmFsdWVzIFslZCwlZF0gYXJlIG5vdCBhbGxvd2VkIGluIFRJRkYAQ29ycnVwdCBKUEVHIGRhdGEAc3AtPnBsYW5lX3NhbXBsZV9vZmZzZXQ9PTAAVW5rbm93biBtYXJrZXIgdHlwZSAlZCBpbiBKUEVHIGRhdGEATWlzc2luZyBKUEVHIHRhYmxlcwBDb3JydXB0IEpwZWdBY1RhYmxlcyB0YWcgdmFsdWUAT3V0IG9mIG1lbW9yeQBDb3JydXB0IEpwZWdEY1RhYmxlcyB0YWcgdmFsdWUAQ29ycnVwdCBKcGVnUVRhYmxlcyB0YWcgdmFsdWUAc3AtPnN1YnNhbXBsaW5nY29ycmVjdD09MABDb3JydXB0IFNPUyBtYXJrZXIgaW4gSlBFRyBkYXRhAENvcnJ1cHQgU09GIG1hcmtlciBpbiBKUEVHIGRhdGEASlBFRyBjb21wcmVzc2VkIGRhdGEgaW5kaWNhdGVzIHVuZXhwZWN0ZWQgbnVtYmVyIG9mIHNhbXBsZXMASlBFRyBjb21wcmVzc2VkIGRhdGEgaW5kaWNhdGVzIHVuZXhwZWN0ZWQgbnVtYmVyIG9mIGJpdHMgcGVyIHNhbXBsZQBKUEVHIGNvbXByZXNzZWQgZGF0YSBpbmRpY2F0ZXMgdW5leHBlY3RlZCBoZWlnaHQASlBFRyBjb21wcmVzc2VkIGRhdGEgaW5kaWNhdGVzIHVuZXhwZWN0ZWQgd2lkdGgASlBFRyBjb21wcmVzc2VkIGRhdGEgaW5kaWNhdGVzIHVuZXhwZWN0ZWQgc3Vic2FtcGxpbmcgdmFsdWVzAENvcnJ1cHQgREhUIG1hcmtlciBpbiBKUEVHIGRhdGEAbGVuPjAAT0pQRUdSZWFkQmxvY2sAc3AtPmluX2J1ZmZlcl90b2dvPjAAbj4wAE9KUEVHUmVhZEJ1ZmZlckZpbGwAbjw9T0pQRUdfQlVGRkVSACh1aW50MTYpbjw9c3AtPmluX2J1ZmZlcl9maWxlX3RvZ28AU3RyaXAgb2Zmc2V0cyBhcmUgbWlzc2luZwBDb3JydXB0IERRVCBtYXJrZXIgaW4gSlBFRyBkYXRhAENvcnJ1cHQgRFJJIG1hcmtlciBpbiBKUEVHIGRhdGEAc3AtPmluX2J1ZmZlcl90b2dvPT0wAE9KUEVHUmVhZFNraXAAT0pQRUdSZWFkQnl0ZQBPSlBFR1JlYWRCeXRlQWR2YW5jZQBPSlBFR1JlYWRCeXRlUGVlawBzcC0+bGlianBlZ19zZXNzaW9uX2FjdGl2ZSE9MABPSlBFR0xpYmpwZWdTZXNzaW9uQWJvcnQAT0pQRUdFbmNvZGUAT0pQRUcgZW5jb2Rpbmcgbm90IHN1cHBvcnRlZDsgdXNlIG5ldy1zdHlsZSBKUEVHIGNvbXByZXNzaW9uIGluc3RlYWQAT0pQRUdQcmVFbmNvZGUARnJhY3Rpb25hbCBzY2FubGluZSBub3QgcmVhZABjYz4wAE9KUEVHRGVjb2RlUmF3AE9KUEVHUG9zdERlY29kZQBzcC0+bGlianBlZ19zZXNzaW9uX2FjdGl2ZT09MABzcC0+c3Vic2FtcGxpbmdfY29udmVydF95Y2JjcmJ1Zj09MABzcC0+c3Vic2FtcGxpbmdfY29udmVydF95Y2JjcmltYWdlPT0wAExpYkpwZWcAVW5leHBlY3RlZCBlcnJvcgBQcmVtYXR1cmUgZW5kIG9mIEpQRUcgZGF0YQBzcC0+b3V0X3N0YXRlPD1vc29zRW9pAE9KUEVHV3JpdGVTdHJlYW0AT0pQRUdXcml0ZVN0cmVhbUNvbXByZXNzZWQAT0pQRUdXcml0ZVN0cmVhbVNvcwAyNTU+PTYrc3AtPnNhbXBsZXNfcGVyX3BpeGVsX3Blcl9wbGFuZSoyAE9KUEVHV3JpdGVTdHJlYW1Tb2YAMjU1Pj04K3NwLT5zYW1wbGVzX3Blcl9waXhlbF9wZXJfcGxhbmUqMwBKUEVHTUVNACVsZCVjACVzCgBzPjAAT0pQRUdSZWFkU2Vjb25kYXJ5U29zAHM8MwBzcC0+c29zX2VuZFswXS5sb2chPTAAc3AtPnNvc19lbmRbc10ubG9nPT0wAHNwLT5yZWFkaGVhZGVyX2RvbmU9PTAAU2FtcGxlc1BlclBpeGVsICVkIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgY29tcHJlc3Npb24gc2NoZW1lAEluY29tcGF0aWJsZSB2ZXJ0aWNhbCBzdWJzYW1wbGluZyBhbmQgaW1hZ2Ugc3RyaXAvdGlsZSBsZW5ndGgARGVwcmVjaWF0ZWQgYW5kIHRyb3VibGVzb21lIG9sZC1zdHlsZSBKUEVHIGNvbXByZXNzaW9uIG1vZGUsIHBsZWFzZSBjb252ZXJ0IHRvIG5ldy1zdHlsZSBKUEVHIGNvbXByZXNzaW9uIGFuZCBub3RpZnkgdmVuZG9yIG9mIHdyaXRpbmcgc29mdHdhcmUASnBlZ0ludGVyY2hhbmdlRm9ybWF0AEpwZWdJbnRlcmNoYW5nZUZvcm1hdExlbmd0aABKcGVnUVRhYmxlcwBKcGVnRGNUYWJsZXMASnBlZ0FjVGFibGVzAEpwZWdQcm9jAEpwZWdSZXN0YXJ0SW50ZXJ2YWwAc2NoZW1lID09IENPTVBSRVNTSU9OX0pQRUcAdGlmX2pwZWcuYwBUSUZGSW5pdEpQRUcATWVyZ2luZyBKUEVHIGNvZGVjLXNwZWNpZmljIHRhZ3MgZmFpbGVkAE5vIHNwYWNlIGZvciBKUEVHIHN0YXRlIGJsb2NrAHNwICE9IDAASlBFR0NsZWFudXAASlBFR0VuY29kZQBmcmFjdGlvbmFsIHNjYW5saW5lIGRpc2NhcmRlZABKUEVHUHJlRW5jb2RlACFzcC0+Y2luZm8uY29tbS5pc19kZWNvbXByZXNzb3IAU3RyaXAvdGlsZSB0b28gbGFyZ2UgZm9yIEpQRUcASlBFR0VuY29kZVJhdwBQaG90b21ldHJpY0ludGVycHJldGF0aW9uICVkIG5vdCBhbGxvd2VkIGZvciBKUEVHAEJpdHNQZXJTYW1wbGUgJWQgbm90IGFsbG93ZWQgZm9yIEpQRUcASlBFRyB0aWxlIGhlaWdodCBtdXN0IGJlIG11bHRpcGxlIG9mICVkAEpQRUcgdGlsZSB3aWR0aCBtdXN0IGJlIG11bHRpcGxlIG9mICVkAFJvd3NQZXJTdHJpcCBtdXN0IGJlIG11bHRpcGxlIG9mICVkIGZvciBKUEVHAFRJRkZqcGVnX3RhYmxlc19kZXN0AE5vIHNwYWNlIGZvciBKUEVHVGFibGVzAAABAgMEBQYHCAkKCwABAgMEBQYHCAkKC0pQRUdMaWIAZnJhY3Rpb25hbCBzY2FubGluZSBub3QgcmVhZABKUEVHUHJlRGVjb2RlAHNwLT5jaW5mby5jb21tLmlzX2RlY29tcHJlc3NvcgBJbXByb3BlciBKUEVHIHN0cmlwL3RpbGUgc2l6ZSwgZXhwZWN0ZWQgJWR4JWQsIGdvdCAlZHglZABKUEVHIHN0cmlwL3RpbGUgc2l6ZSBleGNlZWRzIGV4cGVjdGVkIGRpbWVuc2lvbnMsIGV4cGVjdGVkICVkeCVkLCBnb3QgJWR4JWQASW1wcm9wZXIgSlBFRyBjb21wb25lbnQgY291bnQASW1wcm9wZXIgSlBFRyBkYXRhIHByZWNpc2lvbgBJbXByb3BlciBKUEVHIHNhbXBsaW5nIGZhY3RvcnMgJWQsJWQKQXBwYXJlbnRseSBzaG91bGQgYmUgJWQsJWQuAENhbm5vdCBob25vdXIgSlBFRyBzYW1wbGluZyBmYWN0b3JzIHRoYXQgZXhjZWVkIHRob3NlIHNwZWNpZmllZC4ARGVjb21wcmVzc29yIHdpbGwgdHJ5IHJlYWRpbmcgd2l0aCBzYW1wbGluZyAlZCwlZC4ASW1wcm9wZXIgSlBFRyBzYW1wbGluZyBmYWN0b3JzAEpQRUdTZXR1cERlY29kZQBCb2d1cyBKUEVHVGFibGVzIGZpZWxkAP/ZSlBFR1ByaW50RGlyACAgSlBFRyBUYWJsZXM6ICglbHUgYnl0ZXMpCgAgIEZheCBSZWNlaXZlIFBhcmFtZXRlcnM6ICUwOGx4CgAgIEZheCBTdWJBZGRyZXNzOiAlcwoAICBGYXggUmVjZWl2ZSBUaW1lOiAlbHUgc2VjcwoAICBGYXggRENTOiAlcwoASlBFR1ZTZXRGaWVsZABKUEVHVkdldEZpZWxkAFRJRkZGaWxsU3RyaXAAJXM6IEludmFsaWQgc3RyaXAgYnl0ZSBjb3VudCAlbHUsIHN0cmlwICVsdQAlczogUmVhZCBlcnJvciBvbiBzdHJpcCAlbHU7IGdvdCAlbHUgYnl0ZXMsIGV4cGVjdGVkICVsdQAlczogRGF0YSBidWZmZXIgdG9vIHNtYWxsIHRvIGhvbGQgc3RyaXAgJWx1ACh0aWYtPnRpZl9mbGFncyZUSUZGX05PUkVBRFJBVyk9PTAAdGlmX3JlYWQuYwBUSUZGUmVhZFJhd1N0cmlwMQAlczogU2VlayBlcnJvciBhdCBzY2FubGluZSAlbHUsIHN0cmlwICVsdQAlczogUmVhZCBlcnJvciBhdCBzY2FubGluZSAlbHU7IGdvdCAlbHUgYnl0ZXMsIGV4cGVjdGVkICVsdQAlczogUmVhZCBlcnJvciBhdCBzY2FubGluZSAlbHUsIHN0cmlwICVsdTsgZ290ICVsdSBieXRlcywgZXhwZWN0ZWQgJWx1ACVzOiBObyBzcGFjZSBmb3IgZGF0YSBidWZmZXIgYXQgc2NhbmxpbmUgJWxkACVsdTogSW52YWxpZCB0aWxlIGJ5dGUgY291bnQsIHRpbGUgJWx1AFRJRkZGaWxsVGlsZQAlczogRGF0YSBidWZmZXIgdG9vIHNtYWxsIHRvIGhvbGQgdGlsZSAlbGQAVElGRlJlYWRSYXdUaWxlMQAlczogU2VlayBlcnJvciBhdCByb3cgJWxkLCBjb2wgJWxkLCB0aWxlICVsZAAlczogUmVhZCBlcnJvciBhdCByb3cgJWxkLCBjb2wgJWxkOyBnb3QgJWx1IGJ5dGVzLCBleHBlY3RlZCAlbHUAJXM6IFJlYWQgZXJyb3IgYXQgcm93ICVsZCwgY29sICVsZCwgdGlsZSAlbGQ7IGdvdCAlbHUgYnl0ZXMsIGV4cGVjdGVkICVsdQBKUEVHVGFibGVzAEZheFJlY3ZQYXJhbXMARmF4U3ViQWRkcmVzcwBGYXhSZWN2VGltZQBGYXhEY3MATmVYVERlY29kZTogTm90IGVub3VnaCBkYXRhIGZvciBzY2FubGluZSAlbGQATm90IGVub3VnaABUb28gbXVjaABUaHVuZGVyRGVjb2RlOiAlcyBkYXRhIGF0IHNjYW5saW5lICVsZCAoJWx1ICE9ICVsdSkAUGFja0JpdHNEZWNvZGU6IGRpc2NhcmRpbmcgJWxkIGJ5dGVzIHRvIGF2b2lkIGJ1ZmZlciBvdmVycnVuAFBhY2tCaXRzRGVjb2RlOiBOb3QgZW5vdWdoIGRhdGEgZm9yIHNjYW5saW5lICVsZABzY2hlbWUgPT0gQ09NUFJFU1NJT05fTFpXAHRpZl9sencuYwBUSUZGSW5pdExaVwBObyBzcGFjZSBmb3IgTFpXIHN0YXRlIGJsb2NrAHRpZi0+dGlmX2RhdGEgIT0gMABMWldDbGVhbnVwAHNwLT5lbmNfaGFzaHRhYiAhPSBOVUxMAExaV0VuY29kZQBuYml0cyA8PSBCSVRTX01BWABzcCAhPSBOVUxMAExaV1ByZUVuY29kZQBMWldTZXR1cEVuY29kZQBObyBzcGFjZSBmb3IgTFpXIGhhc2ggdGFibGUATFpXRGVjb2RlAHNwLT5kZWNfY29kZXRhYiAhPSBOVUxMAExaV0RlY29kZTogU3RyaXAgJWQgbm90IHRlcm1pbmF0ZWQgd2l0aCBFT0kgY29kZQBMWldEZWNvZGU6IENvcnJ1cHRlZCBMWlcgdGFibGUgYXQgc2NhbmxpbmUgJWQATFpXRGVjb2RlOiBXcm9uZyBsZW5ndGggb2YgZGVjb2RlZCBzdHJpbmc6IGRhdGEgcHJvYmFibHkgY29ycnVwdGVkIGF0IHNjYW5saW5lICVkAExaV0RlY29kZTogTm90IGVub3VnaCBkYXRhIGF0IHNjYW5saW5lICVkIChzaG9ydCAlbGQgYnl0ZXMpAExaV0RlY29kZTogQm9ndXMgZW5jb2RpbmcsIGxvb3AgaW4gdGhlIGNvZGUgdGFibGU7IHNjYW5saW5lICVkAExaV1ByZURlY29kZQBPbGQtc3R5bGUgTFpXIGNvZGVzLCBjb252ZXJ0IGZpbGUATFpXRGVjb2RlQ29tcGF0AExaV0RlY29kZUNvbXBhdDogQ29ycnVwdGVkIExaVyB0YWJsZSBhdCBzY2FubGluZSAlZABMWldEZWNvZGVDb21wYXQ6IFdyb25nIGxlbmd0aCBvZiBkZWNvZGVkIHN0cmluZzogZGF0YSBwcm9iYWJseSBjb3JydXB0ZWQgYXQgc2NhbmxpbmUgJWQATFpXRGVjb2RlQ29tcGF0OiBOb3QgZW5vdWdoIGRhdGEgYXQgc2NhbmxpbmUgJWQgKHNob3J0ICVsZCBieXRlcykATFpXU2V0dXBEZWNvZGUATm8gc3BhY2UgZm9yIExaVyBjb2RlIHRhYmxlAG4gPiAwAHRpZl9kdW1wbW9kZS5jAER1bXBNb2RlRW5jb2RlAER1bXBNb2RlRGVjb2RlOiBOb3QgZW5vdWdoIGRhdGEgZm9yIHNjYW5saW5lICVkAG51bWFEZXN0cm95AEVycm9yIGluICVzOiAlcwoAcGl4R2V0RGF0YQBwaXhHZXRXcGwAbnVtYUdldElBcnJheQBudW1hR2V0SVZhbHVlAG51bWFHZXRDb3VudABudW1hQWRkTnVtYmVyAGlucHV0IGRhdGEgbm90IGRlZmluZWQAcmVhbGxvY05ldwBuZXdkYXRhIG5vdCBtYWRlAG51bWFDcmVhdGUAbnVtYmVyIGFycmF5IG5vdCBtYWRlAGNtYXAgbm90IGRlZmluZWQAaW5kZXggb3V0IG9mIGJvdW5kcwAmcnZhbCwgJmd2YWwsICZidmFsIG5vdCBhbGwgZGVmaW5lZABwaXhDb3B5AHJlYWxsb2NhdGlvbiBvZiBkYXRhIGZhaWxlZABwaXhDb3B5VGV4dABwaXhTZXRUZXh0AHBkZXN0IG5vdCBkZWZpbmVkAHN0cmluZ1JlcGxhY2UAV2FybmluZyBpbiAlczogc3JjIG5vdCBkZWZpbmVkCgBzdHJpbmdOZXcAc3RyaW5nQ29weQBwaXhHZXRUZXh0AHBpeFNldFlSZXMAcGl4R2V0WVJlcwBwaXhTZXRYUmVzAHBpeEdldFhSZXMAcGl4Q29weVNwcABwaXhTZXRTcHAAc3BwIG11c3QgYmUgPj0gMQBwaXhHZXRTcHAAcGl4U2V0Q29sb3JtYXAAY21hcHMgbm90IGRlZmluZWQAcGl4Y21hcENvcHkAbmFsbG9jID4gMjU2AGNtYXBkIG5vdCBtYWRlAGNtYXAgYXJyYXkgbm90IG1hZGUAcGl4Y21hcERlc3Ryb3kAcGl4X21hbGxvYyBmYWlsIGZvciBkYXRhAHBpeFNldERhdGEAcGl4RnJlZURhdGEAcGl4U2V0V3BsAHBpeFNldERlcHRoAGQgbXVzdCBiZSA+PSAxAHBpeFNldEhlaWdodABoIG11c3QgYmUgPj0gMABwaXhTZXRXaWR0aAB3aWR0aCBtdXN0IGJlID49IDAAcGl4MSBhbmQgcGl4MiBub3QgYm90aCBkZWZpbmVkAHBpeFNpemVzRXF1YWwAcGl4R2V0V2lkdGgAcGl4U2V0UGFkQml0cwBwaXhEZXN0cm95AHBpeEdldFJlZmNvdW50AGRlcHRoIG11c3QgYmUgezEsIDIsIDQsIDgsIDE2LCAyNCwgMzJ9AEVycm9yIGluICVzOiByZXF1ZXN0ZWQgdyA9ICVkLCBoID0gJWQsIGQgPSAlZAoAd3BsID49IDJeMjkATEVQVF9DQUxMT0MgZmFpbCBmb3IgcGl4ZABwaXhHZXRIZWlnaHQAcGl4R2V0Q29sb3JtYXAAJnBpeGVsIG5vdCBkZWZpbmVkAHBpeEdldFBpeGVsAGRlcHRoIG11c3QgYmUgaW4gezEsMiw0LDgsMTYsMzJ9IGJwcABwaXhhRGVzdHJveQBib3hhRGVzdHJveQBib3hEZXN0cm95AGJveEdldFJlZmNvdW50AHBpeGQgbm90IDEsIDIsIDQsIDgsIDE2IG9yIDMyIGJwcABzaG91bGRuJ3QgZ2V0IGhlcmUAZGVwdGggbm90IDIsIDQsIDgsIDE2IG9yIDMyIGJwcABwaXhDb252ZXJ0MVRvOABwaXhDb252ZXJ0MVRvNABwaXhDb252ZXJ0MVRvMgBwaXhSYXN0ZXJvcABkZXB0aHMgb2YgcGl4cyBhbmQgcGl4ZCBkaWZmZXIAT3BlcmF0aW9uICV4IGludmFsaWQKAE9wZXJhdGlvbiAlZCBpbnZhbGlkCgBPcGVyYXRpb24gJWQgbm90IHBlcm1pdHRlZCBoZXJlIQoAbm8gY29sb3JtYXAgaW4gcGl4cwBkZXB0aCBub3QgaW4gezIsNCw4fQBwaXhtIG5vdCAxIGJwcABubyByb29tIGluIGNtYXAAbm8gZnJlZSBjb2xvciBlbnRyaWVzACZpbmRleCBub3QgZGVmaW5lZABXYXJuaW5nIGluICVzOiBJbnZhbGlkIHR5cGU7IGNvbnZlcnRpbmcgYmFzZWQgb24gc3JjCgBwaXhzIG11c3QgYmUgezEsMiw0LDh9IGJwcABXYXJuaW5nIGluICVzOiBub3QgMSBicHA7IGNhbid0IHJlbW92ZSBjbWFwIHRvIGJpbmFyeQoAV2FybmluZyBpbiAlczogcGl4ZWwgdmFsdWUgb3V0IG9mIGJvdW5kcwoAJmJsYWNrd2hpdGUgbm90IGRlZmluZWQAY29sb3JtYXAgYXJyYXlzIG5vdCBtYWRlACZybWFwLCAmZ21hcCwgJmJtYXAgbm90IGFsbCBkZWZpbmVkAGNhbGxvYyBmYWlsIGZvciAqbWFwAGJveEdldEdlb21ldHJ5AGJveGFHZXRCb3gAYm94Q2xvbmUAYm94Q29weQB3IGFuZCBoIG5vdCBib3RoID49IDAAYm94Q3JlYXRlAHggPCAwIGFuZCBib3ggb2ZmICtxdWFkAHkgPCAwIGFuZCBib3ggb2ZmICtxdWFkAGJveFNldEdlb21ldHJ5AHBpeGFHZXRQaXgARXJyb3IgaW4gJXM6IG5vIHBpeCBhdCBwaXhhWyVkXQoAcGl4IG5vdCBmb3VuZCEAaW52YWxpZCBhY2Nlc3N0eXBlAGJveGFHZXRDb3VudABwaXhDb25uQ29tcAAmcGl4YSBub3QgZGVmaW5lZABFcnJvciBpbiAlczogcGl4MSBvciBwaXgyIG5vdCBtYWRlCgBFcnJvciBpbiAlczogc3RhY2sgbm90IG1hZGUKAEVycm9yIGluICVzOiBib3ggbm90IG1hZGUKAGxzdGFja0Rlc3Ryb3kAV2FybmluZyBpbiAlczogbWVtb3J5IGxlYWsgb2YgJWQgaXRlbXMgaW4gbHN0YWNrCgBsc3RhY2sgbm90IGRlZmluZWQAbHN0YWNrUmVtb3ZlAGJveGFDb3B5AGJveGFjIG5vdCBtYWRlAHBpeGFBZGRQaXgAcGl4YUdldENvdW50AHBpeFhvcgBjYW5ub3QgaGF2ZSBwaXhzMiA9PSBwaXhkAGRlcHRocyBvZiBwaXhzKiB1bmVxdWFsAFdhcm5pbmcgaW4gJXM6IGJveCBkb2Vzbid0IG92ZXJsYXAgcGl4CgBib3ggb3V0c2lkZSByZWN0YW5nbGUAYm94YUFkZEJveABib3hjIG5vdCBtYWRlAHBpeFNlZWRmaWxsQkIAc3RhY2sgbm90IGRlZmluZWQAYm94IG5vdCBtYWRlAHBpeFNlZWRmaWxsOEJCAEVycm9yIGluICVzOiBzdGFjayBub3QgZGVmaW5lZAoAcG9wRmlsbHNlZwBFcnJvciBpbiAlczogYXV4c3RhY2sgbm90IGRlZmluZWQKAGxzdGFja0FkZABuZXcgbHN0YWNrIGFycmF5IG5vdCBkZWZpbmVkAGxzdGFja0dldENvdW50AHB1c2hGaWxsc2VnQkIARXJyb3IgaW4gJXM6IGZpbGxzZWcgbm90IG1hZGUKAHBpeFNlZWRmaWxsNEJCAGxzdGFjayBhcnJheSBub3QgbWFkZQBsc3RhY2tDcmVhdGUAYm94YUNyZWF0ZQBib3hhIHB0cnMgbm90IG1hZGUAcGl4YSBub3QgbWFkZQBwaXhhQ3JlYXRlAHBpeCBwdHJzIG5vdCBtYWRlAGJveGEgbm90IG1hZGUAcGl4Q29ubkNvbXBCQgBzY2FsZSBmYWN0b3IgPD0gMABwaXhkIG5vdCBkZWZpbmVkAHBpeGQgbm90IDMyIGJwcABpbnZhbGlkIGNvbXAAV2FybmluZyBpbiAlczogaW1hZ2VzIHNpemVzIG5vdCBlcXVhbAoAcGl4U2NhbGUAcGl4cyBub3QgezEsMiw0LDgsMTYsMzJ9IGJwcABwaXhzIHVuZGVmaW5lZCBvciBub3QgMzIgYnBwAFdhcm5pbmcgaW4gJXM6IHNjYWxpbmcgZmFjdG9ycyA8IDAuNzsgZG8gcmVndWxhciBzY2FsaW5nCgBFcnJvciBpbiAlczogcGl4ZCBub3QgbWFkZQoAcGl4ciBub3QgZGVmaW5lZABwaXhnIG5vdCBkZWZpbmVkAHBpeGIgbm90IGRlZmluZWQAaW5wdXQgcGl4IG5vdCBhbGwgOCBicHAAd2lkdGhzIG5vdCB0aGUgc2FtZQBoZWlnaHRzIG5vdCB0aGUgc2FtZQBwaXhzIHVuZGVmaW5lZCwgY21hcHBlZCBvciBub3QgOCBicHAAcGl4U2NhbGVHcmF5TEkAcGl4cyBub3QgZGVmaW5lZCBvciAxIGJwcABXYXJuaW5nIGluICVzOiBubyBzaGFycGVuaW5nIHJlcXVlc3RlZDsgY2xvbmUgcmV0dXJuZWQKAHBpeHMgbm90IDggYnBwIG9yIGhhcyBjbWFwAFdhcm5pbmcgaW4gJXM6IHB0ciBhZGRyZXNzIGlzIE5VTEwhAHBpeGFjY0Rlc3Ryb3kAcGl4YWNjIG5vdCBkZWZpbmVkAHBpeGFjY0ZpbmFsAGRlc3QgZGVwdGggbm90IDgsIDE2LCAzMiBicHAAcGl4YWNjR2V0UGl4AHBpeGFjY1N1YnRyYWN0AHBpeEFjY3VtdWxhdGUAcGl4cyBub3QgMSwgOCwgMTYgb3IgMzIgYnBwAG9wIG11c3QgYmUgaW4ge0xfQVJJVEhfQURELCBMX0FSSVRIX1NVQlRSQUNUfQBwaXhhY2NBZGQAcGl4YWNjIG5vdCBtYWRlAHBpeGFjY0NyZWF0ZQBXYXJuaW5nIGluICVzOiBpbmRleCBub3QgaW4gY29sb3JtYXA7IHVzaW5nIGxhc3QgY29sb3IKAFdhcm5pbmcgaW4gJXM6IHZhbCA9ICVkIHRvbyBsYXJnZSBmb3IgZGVwdGg7IHVzaW5nIG1heHZhbCA9ICVkCgBXYXJuaW5nIGluICVzOiBrZXJuZWwgdG9vIGxhcmdlOyByZWR1Y2luZyEKAEluZm8gaW4gJXM6IHdjID0gJWQsIGhjID0gJWQKAEVycm9yIGluICVzOiB3YyA+PSB3IHx8IGhjID49aAoAYmxvY2tjb252TG93AHBpeHMgbm90IDEsIDggb3IgMzIgYnBwAEVycm9yIGluICVzOiBkZXB0aCBub3QgMSwgOCBvciAzMiBicHAKAGhhbGZ3aWR0aCBtdXN0IGJlIDEgb3IgMgBmcGl4RGVzdHJveQBmcGl4IG5vdCBkZWZpbmVkAGZwaXhHZXRXcGwAZnBpeEdldERhdGEAZnBpeENyZWF0ZQBFcnJvciBpbiAlczogcmVxdWVzdGVkIHcgPSAlZCwgaCA9ICVkCgByZXF1ZXN0ZWQgYnl0ZXMgPj0gMl4zMQBMRVBUX0NBTExPQyBmYWlsIGZvciBmcGl4ZABmcGl4U2V0RGF0YQBmcGl4U2V0V3BsAHBpeENvcHlCb3JkZXIAcGl4IG5vdCAyLCA0LCA4IG9yIDMyIGJwcABXYXJuaW5nIGluICVzOiBzY2FsaW5nIGZhY3RvcnMgbm90IDwgMC43OyBkbyByZWd1bGFyIHNjYWxpbmcKAHBpeGQgdG9vIHNtYWxsAHBpeENvbnZlcnRUbzgAZGVwdGggbm90IHsxLDIsNCw4LDE2LDMyfQBwaXhzIG5vdCAxNiBicHAAcGl4cyBub3QgZGVmaW5lZCBvciBub3QgOCBicHAAZGVwdGggbm90IGluIHsxLDIsNCw4fQBwaXhjbWFwQ3JlYXRlAGN0YSBub3QgbWFkZQBwaXhDb252ZXJ0NFRvOABwaXhzIG5vdCA0IGJwcABjbWFwcyBub3QgMiBvciA0IGJwcABwaXhDb252ZXJ0MlRvOABwaXhzIG5vdCAyIGJwcABwaXhzIG5vdCBjbWFwcGVkAGFscGhhIGluIGNtYXBzIG5vdCBzdXBwb3J0ZWQAcGl4ZCBub3QgZGVmaW5lZCBvciBub3QgMzIgYnBwAHBpeHMgbm90IGRlZmluZWQgb3Igbm90IDMyIGJwcABzcm93IG5vdCBtYWRlAHNjb2wgbm90IG1hZGUAcGl4U2NhbGVCaW5hcnkAcGl4cyBtdXN0IGJlIDEgYnBwAHNjYWxlQmluYXJ5TG93AHBpeFNldFBpeGVsAHggb3V0IG9mIGJvdW5kcwB5IG91dCBvZiBib3VuZHMAcGl4Q3JlYXRlAGNvbnZlcnNpb24gdG8gcGRmIGZhaWxlZABFcnJvciBpbiAlczogcGRmIGRhdGEgbm90IHdyaXR0ZW4gdG8gZmlsZQoAbF9iaW5hcnlXcml0ZQBuYnl0ZXMgbXVzdCBiZSA+IDAAb3BlcmF0aW9uIG5vdCBvbmUgb2Ygeyd3JywnYSd9AGIAbm8gaW5wdXQAZ2VuUGF0aG5hbWUAbm8gY3VycmVudCBkaXIgZm91bmQAcGF0aG91dCBub3QgbWFkZQAvdG1wAC90bXAvAFRNUERJUgBzdHJpbmdDYXQAc2l6ZSA8IDE7IHRvbyBzbWFsbABubyB0ZXJtaW5hdGluZyBudWwgYnl0ZQBkZXN0IHRvbyBzbWFsbCBmb3IgYXBwZW5kAHN0cmluZ0xlbmd0aABwYXRoIG5vdCBkZWZpbmVkAFdhcm5pbmcgaW4gJXM6IGludmFsaWQgY29tcHJlc3Npb24gdHlwZTsgdXNpbmcgcGVyLXBhZ2UgZGVmYXVsdAoARXJyb3IgaW4gJXM6IHBpeFslZF0gbm90IHJldHJpZXZlZAoARXJyb3IgaW4gJXM6IGVuY29kaW5nIHR5cGUgc2VsZWN0aW9uIGZhaWxlZCBmb3IgcGl4WyVkXQoARXJyb3IgaW4gJXM6IHBkZiBlbmNvZGluZyBmYWlsZWQgZm9yIHBpeFslZF0KAEVycm9yIGluICVzOiBubyBwZGYgZmlsZXMgbWFkZQoAbF9ieXRlYURlc3Ryb3kAcGEgbm90IGRlZmluZWQAcHRyYVJlbW92ZQBpbmRleCBub3QgaW4gWzAgLi4uIGltYXhdACZtYXhpbmRleCBub3QgZGVmaW5lZABwYV9kYXRhIG5vdCBkZWZpbmVkAEVycm9yIGluICVzOiBjYW4ndCBwYXJzZSBmaWxlICVkOyBza2lwcGluZwoAbm8gcGFyc2FibGUgcGRmIGZpbGVzIGZvdW5kAG51bWFhRGVzdHJveQBiYSBub3QgZGVmaW5lZABkYXRhcyBub3QgZGVmaW5lZABsX2JpbmFyeUNvcHkAZGF0YWQgbm90IG1hZGUAZGFsb2Mgbm90IGRlZmluZWQAeHJlZgowICVkCjAwMDAwMDAwMDAgNjU1MzUgZiAKACUwMTBkIDAwMDAwIG4gCgB0cmFpbGVyCjw8Ci9TaXplICVkCi9Sb290IDEgMCBSCi9JbmZvIDIgMCBSCj4+CnN0YXJ0eHJlZgolZAolJSUlRU9GCgBzYXJyYXlUb1N0cmluZwBpbnZhbGlkIGFkZG5sZmxhZwBmaXJzdCBub3QgdmFsaWQAc3RyIG5vdCBmb3VuZABkZXN0IG5vdCBtYWRlACZpdmFsIG5vdCBkZWZpbmVkAGxfZG5hR2V0SVZhbHVlAGRhIG5vdCBkZWZpbmVkAHN0cmluZyBub3QgZGVmaW5lZAAgMCBSAGRhdGEgJiBzZXF1ZW5jZSBub3QgYm90aCBkZWZpbmVkACZvZmZzZXQgYW5kICZmb3VuZCBub3QgZGVmaW5lZABsX2J5dGVhR2V0U2l6ZQBsX2RuYUFkZE51bWJlcgBuZXcgYXJyYXkgbm90IHJldHVybmVkAG5ld2RhdGEgbm90IGRlZmluZWQAbF9kbmFHZXRJQXJyYXkAZGFzIG5vdCBkZWZpbmVkAG5hYSBub3QgZGVmaW5lZABudW1hYUdldE51bWEAbnVtYUNsb25lAGxfYnl0ZWFHZXREYXRhAGRhIG5vdCBtYWRlAGxfZG5hQ3JlYXRlAGRvdWJsZSBhcnJheSBub3QgbWFkZQBiYSBub3QgbWFkZQBsX2J5dGVhQ3JlYXRlAGJhIGFycmF5IG5vdCBtYWRlAG5hcGFnZSBub3QgZGVmaW5lZAAgJWQgMCBSIAAzIDAgb2JqCjw8Ci9UeXBlIC9QYWdlcwovS2lkcyBbJXNdCi9Db3VudCAlZAo+PgoAbF9kbmFEZXN0cm95AG51bWFhQWRkTnVtYQBudW1hYUdldENvdW50AG51bWFTZXRWYWx1ZQBsX2RuYUdldENvdW50AGRhYSBub3QgZGVmaW5lZABsX2RuYWFHZXREbmEAaW52YWxpZCBhY2Nlc3NmbGFnAGxfZG5hQ2xvbmUAbmFhIG5vdCBtYWRlAG51bWFhQ3JlYXRlAG51bWEgcHRyIGFycmF5IG5vdCBtYWRlAGxfZG5hYURlc3Ryb3kARXJyb3IgaW4gJXM6IGluZGV4ID0gJWQ7ICE9IG5hY3R1YWwKAGxfZG5hYUFkZERuYQBpbnZhbGlkIGNvcHlmbGFnAGxfZG5hYUdldENvdW50AGJhcyBub3QgZGVmaW5lZAAlUERGLTEuAFBERiBoZWFkZXIgc2lnbmF0dXJlIG5vdCBmb3VuZABzdGFydHhyZWYKAHN0YXJ0eHJlZiBub3QgZm91bmQhACVkCgB4cmVmbG9jIG5vdCBmb3VuZCEAaW52YWxpZCB4cmVmbG9jIQAwICVkAG5vYmogbm90IGZvdW5kACVkIDAgb2JqAEVycm9yIGluICVzOiBiYWQgdHJhaWxlciBmb3Igb2JqZWN0ICVkCgBJbmZvIGluICVzOiByZWJ1aWxkaW5nIHBkZiB0cmFpbGVyCgAgMCBvYmoKAHhyZWYAJmRhIG5vdCBkZWZpbmVkAHNlcXVlbmNlIG5vdCBkZWZpbmVkAGxfZG5hRW1wdHkAdGV4dHN0ciBub3QgZGVmaW5lZAANCgBpbmRleCBub3QgaW4gWzAgLi4uIG5hbGxvYy0xXQBkYWEgbm90IG1hZGUAbF9kbmFhQ3JlYXRlAGxfZG5hIHB0ciBhcnJheSBub3QgbWFkZQBwdHJhRGVzdHJveQBwdHJhQWRkAGl0ZW0gbm90IGRlZmluZWQAZXh0ZW5zaW9uIGZhaWx1cmUAbm8gYnl0ZXMgdG8gaW5pdGlhbGl6ZQBjaWQgbm90IG1hZGUAbHBkIG5vdCBtYWRlAHBkZiBvdXRwdXQgbm90IG1hZGUAcGRmZGF0YURlc3Ryb3kAcHRhRGVzdHJveQBwdGFHZXRSZWZjb3VudABsX2dlbmVyYXRlUGRmAGxwZCBub3QgZGVmaW5lZABjaWQgbm90IGZvdW5kAHBkZmRhdGFHZXRDaWQAaW52YWxpZCBpbWFnZSBpbmRleAAlZCAwIG9iagpbIC9JbmRleGVkIC9EZXZpY2VSR0IKJWQKJXMKXQplbmRvYmoKAC9JbWFnZU1hc2sgdHJ1ZQovQ29sb3JTcGFjZSAvRGV2aWNlR3JheQAvQ29sb3JTcGFjZSAvRGV2aWNlR3JheQAvQml0c1BlckNvbXBvbmVudCAxCi9JbnRlcnBvbGF0ZSB0cnVlAC9GaWx0ZXIgL0NDSVRURmF4RGVjb2RlCi9EZWNvZGVQYXJtcwo8PAovSyAtMQovQ29sdW1ucyAlZAo+PgAvQ29sb3JTcGFjZSAvRGV2aWNlUkdCAC9Db2xvclNwYWNlIC9EZXZpY2VDTVlLAEVycm9yIGluICVzOiBpbiBqcGVnOiBzcHAgIT0gMSwgMyBvciA0CgAvQml0c1BlckNvbXBvbmVudCA4AC9GaWx0ZXIgL0RDVERlY29kZQBFcnJvciBpbiAlczogaW4ganAyazogc3BwICE9IDEgJiYgc3BwICE9IDMKAC9GaWx0ZXIgL0pQWERlY29kZQAvQ29sb3JTcGFjZSAlZCAwIFIAL0NvbG9yU3BhY2UgL0RldmljZUdyYXkKL0RlY29kZSBbMSAwXQBFcnJvciBpbiAlczogdW5rbm93biBjb2xvcnNwYWNlOiBzcHAgPSAlZAoAL0JpdHNQZXJDb21wb25lbnQgJWQAL0ZpbHRlciAvRmxhdGVEZWNvZGUAL0RlY29kZVBhcm1zCjw8CiAgL0NvbHVtbnMgJWQKICAvUHJlZGljdG9yIDE0CiAgL0NvbG9ycyAlZAogIC9CaXRzUGVyQ29tcG9uZW50ICVkCj4+CgAlZCAwIG9iago8PAovTGVuZ3RoICVsdQovU3VidHlwZSAvSW1hZ2UKJXMKL1dpZHRoICVkCi9IZWlnaHQgJWQKJXMKJXMKJXM+PgpzdHJlYW0KAGNhbGxvYyBmYWlsIGZvciBidWYAcSAlLjRmICUuNGYgJS40ZiAlLjRmICUuNGYgJS40ZiBjbSAvSW0lZCBEbyBRCgBjc3RyIG5vdCBtYWRlADUgMCBvYmoKPDwgL0xlbmd0aCAlZCA+PgpzdHJlYW0KJXNlbmRzdHJlYW0KZW5kb2JqCgBwdGFHZXRQdABpbnZhbGlkIGluZGV4AC9JbSVkICVkIDAgUiAgIAB4c3RyIG5vdCBtYWRlADQgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAzIDAgUgovTWVkaWFCb3ggWyVkICVkICVkICVkXQovQ29udGVudHMgNSAwIFIKL1Jlc291cmNlcwo8PAovWE9iamVjdCA8PCAlcyA+PgovUHJvY1NldCBbIC9JbWFnZUIgL0ltYWdlSSAvSW1hZ2VDIF0KPj4KPj4KZW5kb2JqCgBwdGFTZXRQdAAlUERGLTEuNQoAMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMyAwIFIKPj4KZW5kb2JqCgAyIDAgb2JqCjw8CgAvQ3JlYXRpb25EYXRlIChEOiVzKQoAL1Byb2R1Y2VyIChsZXB0b25pY2E6ICVzKQoAL1RpdGxlICVzCgBFcnJvciBpbiAlczogdGl0bGUgc3RyaW5nIGlzIG5vdCBhc2NpaQoAPj4KZW5kb2JqCgAzIDAgb2JqCjw8Ci9UeXBlIC9QYWdlcwovS2lkcyBbIDQgMCBSIF0KL0NvdW50IDEKPj4KAAplbmRzdHJlYW0KZW5kb2JqCgA8ZmVmZgAlMDR4AGxlcHRvbmljYS0lZC4lZC4lZAAlWSVtJWQlSCVNJVMAJWMlMDJkJyUwMmQnAHB0YUFkZFB0AG5ldyB4IGFycmF5IG5vdCByZXR1cm5lZABuZXcgeSBhcnJheSBub3QgcmV0dXJuZWQAcHRhQ3JlYXRlAHggYXJyYXkgbm90IG1hZGUAeSBhcnJheSBub3QgbWFkZQAmY2lkIG5vdCBkZWZpbmVkAGludmFsaWQgY29udmVyc2lvbiB0eXBlAFdhcm5pbmcgaW4gJXM6IHBpeHMgaGFzIGNtYXA7IHVzaW5nIGZsYXRlIGVuY29kaW5nCgBXYXJuaW5nIGluICVzOiBwaXhzIGhhcyA8IDggYnBwOyB1c2luZyBmbGF0ZSBlbmNvZGluZwoAV2FybmluZyBpbiAlczogcGl4cyBoYXMgPiAxIGJwcDsgdXNpbmcgZmxhdGUgZW5jb2RpbmcKAGpwZWcgZGF0YSBub3QgbWFkZQBnNCBkYXRhIG5vdCBtYWRlAGZsYXRlIGRhdGEgbm90IG1hZGUAY21hcGRhdGEgbm90IG1hZGUAZGF0YWNvbXAgbm90IG1hZGUAZGF0YTg1IG5vdCBtYWRlAGRhdGFpbiBub3QgZGVmaW5lZAB6bGliQ29tcHJlc3MARXJyb3IgaW4gJXM6IGNhbGxvYyBmYWlsIGZvciBidWZmZXIKAGRlZmxhdGVJbml0IGZhaWxlZABXYXJuaW5nIGluICVzOiBwdHIgYWRkcmVzcyBpcyBOVUxMCgBiYnVmZmVyRGVzdHJveQBXYXJuaW5nIGluICVzOiAmbmJ5dGVzIGlzIE5VTEwKAFdhcm5pbmcgaW4gJXM6IGNhbGxvYyBmYWlsdXJlIGZvciBhcnJheQoAYmIgbm90IGRlZmluZWQAYmJ1ZmZlclJlYWQAc3JjIG5vdCBkZWZpbmVkAG5vIGJ5dGVzIHRvIHJlYWQAbmV3IHB0ciBhcnJheSBub3QgcmV0dXJuZWQAYmJ1ZmZlcldyaXRlAGRlc3Qgbm90IGRlZmluZWQAJm5vdXQgbm90IGRlZmluZWQAYmIgbm90IG1hZGUAYmJ1ZmZlckNyZWF0ZQBieXRlIGFycmF5IG5vdCBtYWRlAG5vIGNvbG9ycwAlMDJ4ACZvdXRzaXplIG5vdCBkZWZpbmVkAGVuY29kZUFzY2lpODUAaW5hcnJheSBub3QgZGVmaW5lZABpbnNpemUgbm90ID4gMABjaGFyYSBub3QgbWFkZQBvdXRidWYgbm90IG1hZGUAY3BjIG5vdCAzIG9yIDQAJnJ2YWwsICZndmFsLCAmYnZhbCwgJmF2YWwgbm90IGFsbCBkZWZpbmVkAHBpeGNtYXBHZXRSR0JBAGZpbGVwYXRoIHVuZGVmaW5lZCBvciBlbXB0eQBsZXB0X3JtZmlsZQBkYXRhY29tcCBub3QgZXh0cmFjdGVkAG5vIG91dHB1dCBkYXRhIHJlcXVlc3RlZABzdHJlYW0gbm90IG9wZW5lZCB0byBmaWxlAGZpbGVpbiBub3QgdGlmZgBpbmFycmF5IG5vdCBtYWRlAHRpZiBub3Qgb3BlbiBmb3IgcmVhZABmaWxlaW4gaXMgbm90IGc0IGNvbXByZXNzZWQAV2FybmluZyBpbiAlczogbW9yZSB0aGFuIDEgc3RyaXAKAEVycm9yIHBvc3QtZW5jb2RpbmcgYmVmb3JlIGRpcmVjdG9yeSB3cml0ZQBFcnJvciBmbHVzaGluZyBkYXRhIGJlZm9yZSBkaXJlY3Rvcnkgd3JpdGUAQ2Fubm90IHdyaXRlIGRpcmVjdG9yeSwgb3V0IG9mIHNwYWNlAEVycm9yIHdyaXRpbmcgZGlyZWN0b3J5IGNvdW50AEVycm9yIHdyaXRpbmcgZGlyZWN0b3J5IGNvbnRlbnRzAEVycm9yIHdyaXRpbmcgZGlyZWN0b3J5IGxpbmsAVW5rbm93bgBfVElGRlZHZXRGaWVsZAAlczogSW52YWxpZCAlc3RhZyAiJXMiIChub3Qgc3VwcG9ydGVkIGJ5IGNvZGVjKQBOb25zdGFuZGFyZCB0aWxlIHdpZHRoICVkLCBjb252ZXJ0IGZpbGUATm9uc3RhbmRhcmQgdGlsZSBsZW5ndGggJWQsIGNvbnZlcnQgZmlsZQBfVElGRlZTZXRGaWVsZAAlczogU29ycnksIGNhbm5vdCBuZXN0IFN1YklGRHMAJXM6IEZhaWxlZCB0byBhbGxvY2F0ZSBzcGFjZSBmb3IgbGlzdCBvZiBjdXN0b20gdmFsdWVzACVzOiBCYWQgZmllbGQgdHlwZSAlZCBmb3IgIiVzIgBUYWcgVmFsdWUAJXM6IEJhZCB2YWx1ZSAlZCBmb3IgIiVzIiB0YWcAJXM6IEJhZCB2YWx1ZSAldSBmb3IgIiVzIiB0YWcAJXM6IEludmFsaWQgSW5rTmFtZXMgdmFsdWU7IGV4cGVjdGluZyAlZCBuYW1lcywgZm91bmQgJWQAKGNjICYgNykgPT0gMABfVElGRlN3YWI2NEJpdERhdGEAKGNjICYgMykgPT0gMABfVElGRlN3YWIzMkJpdERhdGEAKGNjICUgMykgPT0gMABfVElGRlN3YWIyNEJpdERhdGEAKGNjICYgMSkgPT0gMABfVElGRlN3YWIxNkJpdERhdGEAVGFnIABfVElGRlNldHVwRmllbGRJbmZvAFNldHRpbmcgdXAgZmllbGQgaW5mbyBmYWlsZWQAU3ViZmlsZVR5cGUAT2xkU3ViZmlsZVR5cGUASW1hZ2VXaWR0aABCaXRzUGVyU2FtcGxlAFRocmVzaGhvbGRpbmcAQ2VsbFdpZHRoAENlbGxMZW5ndGgARmlsbE9yZGVyAERvY3VtZW50TmFtZQBJbWFnZURlc2NyaXB0aW9uAE1ha2UATW9kZWwAT3JpZW50YXRpb24AU2FtcGxlc1BlclBpeGVsAFJvd3NQZXJTdHJpcABNaW5TYW1wbGVWYWx1ZQBNYXhTYW1wbGVWYWx1ZQBYUmVzb2x1dGlvbgBZUmVzb2x1dGlvbgBQbGFuYXJDb25maWd1cmF0aW9uAFBhZ2VOYW1lAFhQb3NpdGlvbgBZUG9zaXRpb24ARnJlZU9mZnNldHMARnJlZUJ5dGVDb3VudHMAR3JheVJlc3BvbnNlVW5pdABHcmF5UmVzcG9uc2VDdXJ2ZQBSZXNvbHV0aW9uVW5pdABQYWdlTnVtYmVyAENvbG9yUmVzcG9uc2VVbml0AFRyYW5zZmVyRnVuY3Rpb24AU29mdHdhcmUARGF0ZVRpbWUAQXJ0aXN0AEhvc3RDb21wdXRlcgBXaGl0ZVBvaW50AFByaW1hcnlDaHJvbWF0aWNpdGllcwBDb2xvck1hcABIYWxmdG9uZUhpbnRzAFRpbGVXaWR0aABUaWxlTGVuZ3RoAFRpbGVCeXRlQ291bnRzAFN1YklGRABJbmtOYW1lcwBOdW1iZXJPZklua3MARG90UmFuZ2UAVGFyZ2V0UHJpbnRlcgBFeHRyYVNhbXBsZXMAU2FtcGxlRm9ybWF0AFNNaW5TYW1wbGVWYWx1ZQBTTWF4U2FtcGxlVmFsdWUAQ2xpcFBhdGgAWENsaXBQYXRoVW5pdHMAWUNsaXBQYXRoVW5pdHMAWUNiQ3JDb2VmZmljaWVudHMAWUNiQ3JTdWJzYW1wbGluZwBZQ2JDclBvc2l0aW9uaW5nAFJlZmVyZW5jZUJsYWNrV2hpdGUAWE1MUGFja2V0AE1hdHRlaW5nAERhdGFUeXBlAEltYWdlRGVwdGgAVGlsZURlcHRoAEltYWdlRnVsbFdpZHRoAEltYWdlRnVsbExlbmd0aABUZXh0dXJlRm9ybWF0AFRleHR1cmVXcmFwTW9kZXMARmllbGRPZlZpZXdDb3RhbmdlbnQATWF0cml4V29ybGRUb1NjcmVlbgBNYXRyaXhXb3JsZFRvQ2FtZXJhAENvcHlyaWdodABSaWNoVElGRklQVEMAUGhvdG9zaG9wAEVYSUZJRkRPZmZzZXQASUNDIFByb2ZpbGUAR1BTSUZET2Zmc2V0AFN0b05pdHMASW50ZXJvcGVyYWJpbGl0eUlGRE9mZnNldABETkdWZXJzaW9uAEROR0JhY2t3YXJkVmVyc2lvbgBVbmlxdWVDYW1lcmFNb2RlbABMb2NhbGl6ZWRDYW1lcmFNb2RlbABDRkFQbGFuZUNvbG9yAENGQUxheW91dABMaW5lYXJpemF0aW9uVGFibGUAQmxhY2tMZXZlbFJlcGVhdERpbQBCbGFja0xldmVsAEJsYWNrTGV2ZWxEZWx0YUgAQmxhY2tMZXZlbERlbHRhVgBXaGl0ZUxldmVsAERlZmF1bHRTY2FsZQBCZXN0UXVhbGl0eVNjYWxlAERlZmF1bHRDcm9wT3JpZ2luAERlZmF1bHRDcm9wU2l6ZQBDb2xvck1hdHJpeDEAQ29sb3JNYXRyaXgyAENhbWVyYUNhbGlicmF0aW9uMQBDYW1lcmFDYWxpYnJhdGlvbjIAUmVkdWN0aW9uTWF0cml4MQBSZWR1Y3Rpb25NYXRyaXgyAEFuYWxvZ0JhbGFuY2UAQXNTaG90TmV1dHJhbABBc1Nob3RXaGl0ZVhZAEJhc2VsaW5lRXhwb3N1cmUAQmFzZWxpbmVOb2lzZQBCYXNlbGluZVNoYXJwbmVzcwBCYXllckdyZWVuU3BsaXQATGluZWFyUmVzcG9uc2VMaW1pdABDYW1lcmFTZXJpYWxOdW1iZXIATGVuc0luZm8AQ2hyb21hQmx1clJhZGl1cwBBbnRpQWxpYXNTdHJlbmd0aABTaGFkb3dTY2FsZQBETkdQcml2YXRlRGF0YQBNYWtlck5vdGVTYWZldHkAQ2FsaWJyYXRpb25JbGx1bWluYW50MQBDYWxpYnJhdGlvbklsbHVtaW5hbnQyAFJhd0RhdGFVbmlxdWVJRABPcmlnaW5hbFJhd0ZpbGVOYW1lAE9yaWdpbmFsUmF3RmlsZURhdGEAQWN0aXZlQXJlYQBNYXNrZWRBcmVhcwBBc1Nob3RJQ0NQcm9maWxlAEFzU2hvdFByZVByb2ZpbGVNYXRyaXgAQ3VycmVudElDQ1Byb2ZpbGUAQ3VycmVudFByZVByb2ZpbGVNYXRyaXgARXJyb3Igd3JpdGluZyBkYXRhIGZvciBmaWVsZCAiJXMiAE5vIHNwYWNlIHRvIHdyaXRlIHBlci1zYW1wbGUgdmFsdWVzAE5vIHNwYWNlIHRvIHdyaXRlIGFycmF5AE5vIHNwYWNlIHRvIHdyaXRlIHBlci1zYW1wbGUgc2hvcnRzAE5vIHNwYWNlIHRvIHdyaXRlIFJBVElPTkFMIGFycmF5ACIlcyI6IEluZm9ybWF0aW9uIGxvc3Qgd3JpdGluZyB2YWx1ZSAoJWcpIGFzICh1bnNpZ25lZCkgUkFUSU9OQUwAJXM6IEVycm9yIHdyaXRpbmcgU3ViSUZEIGRpcmVjdG9yeSBsaW5rAEVycm9yIGZldGNoaW5nIGRpcmVjdG9yeSBjb3VudABFcnJvciBmZXRjaGluZyBkaXJlY3RvcnkgbGluawBvcGVuVGlmZgBtb2Rlc3RyaW5nIG5vdCBkZWZpbmVkAFRJRkZPcGVuACVzOiBDYW5ub3Qgb3BlbgBUSUZGQ2xpZW50T3BlbgAlczogT3V0IG9mIG1lbW9yeSAoVElGRiBzdHJ1Y3R1cmUpAE9uZSBvZiB0aGUgY2xpZW50IHByb2NlZHVyZXMgaXMgTlVMTCBwb2ludGVyLgBDYW5ub3QgcmVhZCBUSUZGIGhlYWRlcgBFcnJvciB3cml0aW5nIFRJRkYgaGVhZGVyAE5vdCBhIFRJRkYgb3IgTURJIGZpbGUsIGJhZCBtYWdpYyBudW1iZXIgJWQgKDB4JXgpAFRoaXMgaXMgYSBCaWdUSUZGIGZpbGUuICBUaGlzIGZvcm1hdCBub3Qgc3VwcG9ydGVkCmJ5IHRoaXMgdmVyc2lvbiBvZiBsaWJ0aWZmLgBOb3QgYSBUSUZGIGZpbGUsIGJhZCB2ZXJzaW9uIG51bWJlciAlZCAoMHgleCkAJXM6IEZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSBhdCBvZmZzZXQgJXUAJXM6IGludmFsaWQgVElGRiBkaXJlY3Rvcnk7IHRhZ3MgYXJlIG5vdCBzb3J0ZWQgaW4gYXNjZW5kaW5nIG9yZGVyACVzOiB3cm9uZyBkYXRhIHR5cGUgJWQgZm9yICIlcyI7IHRhZyBpZ25vcmVkACVzOiB1bmtub3duIGZpZWxkIHdpdGggdGFnICVkICgweCV4KSBlbmNvdW50ZXJlZABSZWdpc3RlcmluZyBhbm9ueW1vdXMgZmllbGQgd2l0aCB0YWcgJWQgKDB4JXgpIGZhaWxlZABQbGFuYXJjb25maWcgdGFnIHZhbHVlIGFzc3VtZWQgaW5jb3JyZWN0LCBhc3N1bWluZyBkYXRhIGlzIGNvbnRpZyBpbnN0ZWFkIG9mIGNodW5reQBJbWFnZUxlbmd0aAB0aWxlcwBzdHJpcHMAJXM6IGNhbm5vdCBoYW5kbGUgemVybyBudW1iZXIgb2YgJXMAVGlsZU9mZnNldHMAU3RyaXBPZmZzZXRzAHRvIHJlYWQgIlRyYW5zZmVyRnVuY3Rpb24iIHRhZwBQaG90b21ldHJpYyB0YWcgaXMgbWlzc2luZywgYXNzdW1pbmcgZGF0YSBpcyBZQ2JDcgBQaG90b21ldHJpYyB0YWcgdmFsdWUgYXNzdW1lZCBpbmNvcnJlY3QsIGFzc3VtaW5nIGRhdGEgaXMgWUNiQ3IgaW5zdGVhZCBvZiBSR0IAQml0c1BlclNhbXBsZSB0YWcgaXMgbWlzc2luZywgYXNzdW1pbmcgOCBiaXRzIHBlciBzYW1wbGUAU2FtcGxlc1BlclBpeGVsIHRhZyBpcyBtaXNzaW5nLCBhc3N1bWluZyBjb3JyZWN0IFNhbXBsZXNQZXJQaXhlbCB2YWx1ZSBpcyAzAFNhbXBsZXNQZXJQaXhlbCB0YWcgaXMgbWlzc2luZywgYXNzdW1pbmcgY29ycmVjdCBTYW1wbGVzUGVyUGl4ZWwgdmFsdWUgaXMgMQBDb2xvcm1hcABTdHJpcEJ5dGVDb3VudHMAJXM6IFRJRkYgZGlyZWN0b3J5IGlzIG1pc3NpbmcgcmVxdWlyZWQgIiVzIiBmaWVsZCwgY2FsY3VsYXRpbmcgZnJvbSBpbWFnZWxlbmd0aAAlczogQm9ndXMgIiVzIiBmaWVsZCwgaWdub3JpbmcgYW5kIGNhbGN1bGF0aW5nIGZyb20gaW1hZ2VsZW5ndGgAJXM6IFdyb25nICIlcyIgZmllbGQsIGlnbm9yaW5nIGFuZCBjYWxjdWxhdGluZyBmcm9tIGltYWdlbGVuZ3RoACVzOiBjYW5ub3QgaGFuZGxlIHplcm8gc2NhbmxpbmUgc2l6ZQAlczogY2Fubm90IGhhbmRsZSB6ZXJvIHRpbGUgc2l6ZQAlczogY2Fubm90IGhhbmRsZSB6ZXJvIHN0cmlwIHNpemUAZm9yIGNob3BwZWQgIlN0cmlwQnl0ZUNvdW50cyIgYXJyYXkAZm9yIGNob3BwZWQgIlN0cmlwT2Zmc2V0cyIgYXJyYXkAZm9yICJTdHJpcEJ5dGVDb3VudHMiIGFycmF5ACVzOiBDYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgdW5rbm93biB0YWcgdHlwZSAlZAB1bmV4cGVjdGVkIGNvdW50IGZvciBmaWVsZCAiJXMiLCAldSwgZXhwZWN0ZWQgMjsgaWdub3JlZABFcnJvciBmZXRjaGluZyBkYXRhIGZvciBmaWVsZCAiJXMiAGZvciBzdHJpcCBhcnJheQB0byBmZXRjaCBzdHJpcCB0YWcAdG8gZmV0Y2ggcGVyLXNhbXBsZSB2YWx1ZXMAQ2Fubm90IGhhbmRsZSBkaWZmZXJlbnQgcGVyLXNhbXBsZSB2YWx1ZXMgZm9yIGZpZWxkICIlcyIAY2Fubm90IHJlYWQgVElGRl9BTlkgdHlwZSAlZCBmb3IgZmllbGQgIiVzIgB0byBmZXRjaCBhcnJheSBvZiByYXRpb25hbHMAJXM6IFJhdGlvbmFsIHdpdGggemVybyBkZW5vbWluYXRvciAobnVtID0gJXUpAFRJRkZOdW1iZXJPZlRpbGVzAFRJRkZOdW1iZXJPZlN0cmlwcwAlczogVElGRiBkaXJlY3RvcnkgaXMgbWlzc2luZyByZXF1aXJlZCAiJXMiIGZpZWxkAFRhZyAlZABpbmNvcnJlY3QgY291bnQgZm9yIGZpZWxkICIlcyIgKCV1LCBleHBlY3RpbmcgJXUpOyB0YWcgaWdub3JlZABpbmNvcnJlY3QgY291bnQgZm9yIGZpZWxkICIlcyIgKCV1LCBleHBlY3RpbmcgJXUpOyB0YWcgdHJpbW1lZABwZGlyAHRpZl9kaXJyZWFkLmMAJXM6IFNlZWsgZXJyb3IgYWNjZXNzaW5nIFRJRkYgZGlyZWN0b3J5ACVzOiBDYW4gbm90IHJlYWQgVElGRiBkaXJlY3RvcnkgY291bnQAdG8gcmVhZCBUSUZGIGRpcmVjdG9yeQAlLjEwMHM6IENhbiBub3QgcmVhZCBUSUZGIGRpcmVjdG9yeQAlczogQ2FuIG5vdCByZWFkIFRJRkYgZGlyZWN0b3J5AGZvciBJRkQgbGlzdAAiJXMiOiBCYWQgbW9kZQBwbmJ5dGVzIG5vdCBkZWZpbmVkAGxfYmluYXJ5UmVhZABmaWxlIHN0cmVhbSBub3Qgb3BlbmVkACZuYnl0ZXMgbm90IGRlZmluZWQARXJyb3IgaW4gJXM6IGNhbGxvYyBmYWlsIGZvciBkYXRhCgAmbnJlYWQgbm90IGRlZmluZWQAY2FsbG9jIGZhaWwgZm9yIGRhdGEASW5mbyBpbiAlczogJWx1IGJ5dGVzIHJlcXVlc3RlZDsgJWx1IGJ5dGVzIHJlYWQKACZmb3JtYXQgbm90IGRlZmluZWQAdHJ1bmNhdGVkIGZpbGUAZmFpbGVkIHRvIHJlYWQgZmlyc3QgMTIgYnl0ZXMgb2YgZmlsZQAmY29tcHR5cGUgbm90IGRlZmluZWQAcgB0aWYgbm90IG9wZW5lZABObyBzcGFjZSBmb3IgIlRyYW5zZmVyRnVuY3Rpb24iIHRhZwBmb3BlblRpZmYAVElGRnN0cmVhbQBieXRlIGJ1ZmZlciBub3QgZGVmaW5lZAD/T/9RAAAADGpQICANCocKZm5ieXRlc0luRmlsZQByYgBmaWxlIG5vdCBmb3VuZABudWxsIGlucHV0IGZvciBib3RoIHN0cmluZ3MAcGF0aG5hbWUgbm90IGRlZmluZWQAcGl4V3JpdGUAcGl4V3JpdGVTdHJlYW0AdW5rbm93biBmb3JtYXQAZmFpbHVyZSB0byB3cml0ZSBwaXggdG8gbWVtb3J5ACZkYXRhIGFuZCAmbmJ5dGVzIG5vdCBib3RoIGRlZmluZWQAcGRmIGRhdGEgbm90IG1hZGUAZmFpbHVyZSB3cml0aW5nIHBkZiBkYXRhIHRvIHN0cmVhbQAmZGF0YSBvciAmbmJ5dGVzIG5vdCBkZWZpbmVkAHBpeFdyaXRlTWVtUGRmAHBpeFdyaXRlU3RyZWFtV2ViUABwaXhXcml0ZVN0cmVhbUpwMmsAZnVuY3Rpb24gbm90IHByZXNlbnQAcGl4V3JpdGVTdHJlYW1HaWYAcGl4YyBub3QgbWFkZQBoZXhkYXRhIG5vdCBtYWRlAG91dHN0ciBub3QgbWFkZQBoZXhkYXRhIG5vdCBkZWZpbmVkAHNhIG5vdCBtYWRlACUhQWRvYmUtUFMAJSUlJUJvdW5kaW5nQm94OiAlNy4yZiAlNy4yZiAlNy4yZiAlNy4yZgBnc2F2ZQB7MSBleGNoIHN1Yn0gc2V0dHJhbnNmZXIgICAgJWludmVydCBiaW5hcnkAL2JwbCAlZCBzdHJpbmcgZGVmICAgICAgICAgJSVicGwgYXMgYSBzdHJpbmcAJTcuMmYgJTcuMmYgdHJhbnNsYXRlICAgICAgICAgJSVzZXQgaW1hZ2Ugb3JpZ2luIGluIHB0cwAlNy4yZiAlNy4yZiBzY2FsZSAgICAgICAgICAgICAlJXNldCBpbWFnZSBzaXplIGluIHB0cwAlZCAlZCAlZCAgICAgICAgICAgICAgICAgJSVpbWFnZSBkaW1lbnNpb25zIGluIHBpeGVscwBbJWQgJWQgJWQgJWQgJWQgJWRdICAgICAlJW1hcHBpbmcgbWF0cml4OiBbdyAwIDAgLWggMCBoXQB7Y3VycmVudGZpbGUgYnBsIHJlYWRoZXhzdHJpbmcgcG9wfSBpbWFnZQB7Y3VycmVudGZpbGUgYnBsIHJlYWRoZXhzdHJpbmcgcG9wfSBmYWxzZSAzIGNvbG9yaW1hZ2UAe2N1cnJlbnRmaWxlIGJwbCByZWFkaGV4c3RyaW5nIHBvcH0gYmluZCBpbWFnZQB7Y3VycmVudGZpbGUgYnBsIHJlYWRoZXhzdHJpbmcgcG9wfSBiaW5kIGZhbHNlIDMgY29sb3JpbWFnZQAKc2hvd3BhZ2UACmdyZXN0b3JlAFdhcm5pbmcgaW4gJXM6IHJlcyAlZCBvdXQgb2YgYm91bmRzOyB1c2luZyBkZWZhdWx0IHJlczsgbm8gc2NhbGluZwoAV2FybmluZyBpbiAlczogbGVmdCBlZGdlIDwgMC4wIGluY2gKAFdhcm5pbmcgaW4gJXM6IHJpZ2h0IGVkZ2UgPiA4LjUgaW5jaAoAV2FybmluZyBpbiAlczogYm90dG9tIGVkZ2UgPCAwLjAgaW5jaAoAV2FybmluZyBpbiAlczogdG9wIGVkZ2UgPiAxMS4wIGluY2gKAGRlcHRoIG5vdCBpbiB7MSwgMiwgNCwgOCwgMTYsIDMyfQBkIG5vdCBpbiB7MSwyLDQsOCwxNiwyNCwzMn0AUDQKIyBSYXcgUEJNIGZpbGUgd3JpdHRlbiBieSBsZXB0b25pY2EgKHd3dy5sZXB0b25pY2EuY29tKQolZCAlZAoAUDUKIyBSYXcgUEdNIGZpbGUgd3JpdHRlbiBieSBsZXB0b25pY2EgKHd3dy5sZXB0b25pY2EuY29tKQolZCAlZAolZAoAUDYKIyBSYXcgUFBNIGZpbGUgd3JpdHRlbiBieSBsZXB0b25pY2EgKHd3dy5sZXB0b25pY2EuY29tKQolZCAlZAoyNTUKAGltYWdlIHdyaXRlIGZhaWwAUDcKIyBBcmJpdHJhcnkgUEFNIGZpbGUgd3JpdHRlbiBieSBsZXB0b25pY2EgKHd3dy5sZXB0b25pY2EuY29tKQoAV0lEVEggJWQKAEhFSUdIVCAlZAoAREVQVEggJWQKAE1BWFZBTCAlZAoAVFVQTFRZUEUgQkxBQ0tBTkRXSElURQoAVFVQTFRZUEUgR1JBWVNDQUxFCgBUVVBMVFlQRSBSR0IKAFRVUExUWVBFIFJHQl9BTFBIQQoARU5ESERSCgB3AGEAbW9kZXN0ciBub3QgJ3cnIG9yICdhJwBXYXJuaW5nIGluICVzOiBpbnZhbGlkIGNvbXByZXNzaW9uIHR5cGUgZm9yIGJwcCA+IDEKAHRpZiB3cml0ZSBlcnJvcgB0aWYgc3RyZWFtIG5vdCBkZWZpbmVkAFdhcm5pbmcgaW4gJXM6IHRvbyBtYW55IGNvbG9ycyBpbiBjbWFwIGZvciB0aWZmOyB0cnVuY2F0aW5nCgBXYXJuaW5nIGluICVzOiB1bmtub3duIHRpZmYgY29tcHJlc3Npb247IHVzaW5nIG5vbmUKAEJpZyB0cm91YmxlOiB0aWZmYnBsID0gJWQsIGJwbCA9ICVkCgBjYWxsb2MgZmFpbCBmb3IgbGluZWJ1ZgBDYW4gbm90IGNoYW5nZSAiSW1hZ2VMZW5ndGgiIHdoZW4gdXNpbmcgc2VwYXJhdGUgcGxhbmVzACVkOiBTYW1wbGUgb3V0IG9mIHJhbmdlLCBtYXggJWQAdGQtPnRkX3BsYW5hcmNvbmZpZyA9PSBQTEFOQVJDT05GSUdfQ09OVElHAFRJRkZHcm93U3RyaXBzACVzOiBObyBzcGFjZSB0byBleHBhbmQgc3RyaXAgYXJyYXlzACVzOiBObyBzcGFjZSBmb3Igb3V0cHV0IGJ1ZmZlcgAlczogRmlsZSBub3Qgb3BlbiBmb3Igd3JpdGluZwBDYW4gbm90IHdyaXRlIHNjYW5saW5lcyB0byBhIHRpbGVkIGltYWdlACVzOiBNdXN0IHNldCAiSW1hZ2VXaWR0aCIgYmVmb3JlIHdyaXRpbmcgZGF0YQAlczogTXVzdCBzZXQgIlBsYW5hckNvbmZpZ3VyYXRpb24iIGJlZm9yZSB3cml0aW5nIGRhdGEAdGlsZQBzdHJpcAAlczogTm8gc3BhY2UgZm9yICVzIGFycmF5cwBub3QgYWxsIGFycmF5cyBkZWZpbmVkAG5vdCBhbGwgc2EgdGhlIHNhbWUgc2l6ZQB0b28gbWFueSA0LWFyZyB0YWcgY2FsbHMAY2hhcioAbF91aW50OCoAV2FybmluZyBpbiAlczogYXJyYXkgdHlwZSBub3QgY2hhciogb3IgbF91aW50OCo7IGlnbm9yZQoAbF91aW50MTYAJXUAdmFsICVzIG5vdCBvZiB0eXBlICVzCgBjdXN0b20gdGFnKHMpIG5vdCB3cml0dGVuAGxfdWludDMyAGxfaW50MzIAbF9mbG9hdDY0ACVsZgBsX3VpbnQxNi1sX3VpbnQxNgAldS0ldQB1bmtub3duIHR5cGU7IHRhZyhzKSBub3Qgd3JpdHRlbgBwbmdfcHRyIG5vdCBtYWRlAGluZm9fcHRyIG5vdCBtYWRlAGludGVybmFsIHBuZyBlcnJvcgBwaXgxIG5vdCBtYWRlAHBuZ193cml0ZV9pbmZvIHdhcyBuZXZlciBjYWxsZWQgYmVmb3JlIHBuZ193cml0ZV9yb3cAemxpYiBlcnJvcgBJbnZhbGlkIHpsaWIgY29tcHJlc3Npb24gbWV0aG9kIG9yIGZsYWdzIGluIElEQVQAQ2FsbCB0byBOVUxMIHdyaXRlIGZ1bmN0aW9uAE91dCBvZiBNZW1vcnkAbGlicG5nIGVycm9yOiAlcwAKAE5vIElEQVRzIHdyaXR0ZW4gaW50byBmaWxlAElFTkQAdEVYdAB6ZXJvIGxlbmd0aCBrZXl3b3JkAE91dCBvZiBtZW1vcnkgd2hpbGUgcHJvY2VzaW5nIGtleXdvcmQAaW52YWxpZCBrZXl3b3JkIGNoYXJhY3RlciAweCUwMlgAdHJhaWxpbmcgc3BhY2VzIHJlbW92ZWQgZnJvbSBrZXl3b3JkAGxlYWRpbmcgc3BhY2VzIHJlbW92ZWQgZnJvbSBrZXl3b3JkAGV4dHJhIGludGVyaW9yIHNwYWNlcyByZW1vdmVkIGZyb20ga2V5d29yZABaZXJvIGxlbmd0aCBrZXl3b3JkAGtleXdvcmQgbGVuZ3RoIG11c3QgYmUgMSAtIDc5IGNoYXJhY3RlcnMAbGlicG5nIHdhcm5pbmc6ICVzAHpUWHQAVW5rbm93biBjb21wcmVzc2lvbiB0eXBlICVkAEVtcHR5IGxhbmd1YWdlIGZpZWxkIGluIGlUWHQgY2h1bmsAaVRYdABJbnZhbGlkIHRpbWUgc3BlY2lmaWVkIGZvciB0SU1FIGNodW5rAHRJTUUAVmFsaWQgcGFsZXR0ZSByZXF1aXJlZCBmb3IgcGFsZXR0ZWQgaW1hZ2VzAHNQTFQAVW5yZWNvZ25pemVkIHVuaXQgdHlwZSBmb3IgcEhZcyBjaHVuawBwSFlzACUxMi4xMmUAc0NBTABwQ0FMAFVucmVjb2duaXplZCB1bml0IHR5cGUgZm9yIG9GRnMgY2h1bmsAb0ZGcwBJbnZhbGlkIG51bWJlciBvZiBoaXN0b2dyYW0gZW50cmllcyBzcGVjaWZpZWQAaElTVABJbnZhbGlkIGJhY2tncm91bmQgcGFsZXR0ZSBpbmRleABiS0dEAElnbm9yaW5nIGF0dGVtcHQgdG8gd3JpdGUgMTYtYml0IGJLR0QgY2h1bmsgd2hlbiBiaXRfZGVwdGggaXMgOABJZ25vcmluZyBhdHRlbXB0IHRvIHdyaXRlIGJLR0QgY2h1bmsgb3V0LW9mLXJhbmdlIGZvciBiaXRfZGVwdGgASW52YWxpZCBudW1iZXIgb2YgdHJhbnNwYXJlbnQgY29sb3JzIHNwZWNpZmllZAB0Uk5TAElnbm9yaW5nIGF0dGVtcHQgdG8gd3JpdGUgdFJOUyBjaHVuayBvdXQtb2YtcmFuZ2UgZm9yIGJpdF9kZXB0aABJZ25vcmluZyBhdHRlbXB0IHRvIHdyaXRlIDE2LWJpdCB0Uk5TIGNodW5rIHdoZW4gYml0X2RlcHRoIGlzIDgAQ2FuJ3Qgd3JpdGUgdFJOUyB3aXRoIGFuIGFscGhhIGNoYW5uZWwASW52YWxpZCBudW1iZXIgb2YgY29sb3JzIGluIHBhbGV0dGUASWdub3JpbmcgcmVxdWVzdCB0byB3cml0ZSBhIFBMVEUgY2h1bmsgaW4gZ3JheXNjYWxlIFBORwBXcml0aW5nIHplcm8tbGVuZ3RoIHVua25vd24gY2h1bmsAY0hSTQBJZ25vcmluZyBhdHRlbXB0IHRvIHNldCBuZWdhdGl2ZSBjaHJvbWF0aWNpdHkgdmFsdWUASWdub3JpbmcgYXR0ZW1wdCB0byBzZXQgY2hyb21hdGljaXR5IHZhbHVlIGV4Y2VlZGluZyAyMTQ3NC44MwBJbnZhbGlkIGNIUk0gd2hpdGUgcG9pbnQASW52YWxpZCBjSFJNIHJlZCBwb2ludABJbnZhbGlkIGNIUk0gZ3JlZW4gcG9pbnQASW52YWxpZCBjSFJNIGJsdWUgcG9pbnQASWdub3JpbmcgYXR0ZW1wdCB0byBzZXQgY0hSTSBSR0IgdHJpYW5nbGUgd2l0aCB6ZXJvIGFyZWEASW52YWxpZCBzQklUIGRlcHRoIHNwZWNpZmllZABzQklUAFVua25vd24gY29tcHJlc3Npb24gdHlwZSBpbiBpQ0NQIGNodW5rAEVtYmVkZGVkIHByb2ZpbGUgbGVuZ3RoIGluIGlDQ1AgY2h1bmsgaXMgbmVnYXRpdmUARW1iZWRkZWQgcHJvZmlsZSBsZW5ndGggdG9vIGxhcmdlIGluIGlDQ1AgY2h1bmsAVHJ1bmNhdGluZyBwcm9maWxlIHRvIGFjdHVhbCBsZW5ndGggaW4gaUNDUCBjaHVuawBpQ0NQAEludmFsaWQgc1JHQiByZW5kZXJpbmcgaW50ZW50IHNwZWNpZmllZABzUkdCAGdBTUEASW52YWxpZCBiaXQgZGVwdGggZm9yIGdyYXlzY2FsZSBpbWFnZQBJbnZhbGlkIGJpdCBkZXB0aCBmb3IgUkdCIGltYWdlAEludmFsaWQgYml0IGRlcHRoIGZvciBwYWxldHRlZCBpbWFnZQBJbnZhbGlkIGJpdCBkZXB0aCBmb3IgZ3JheXNjYWxlK2FscGhhIGltYWdlAEludmFsaWQgYml0IGRlcHRoIGZvciBSR0JBIGltYWdlAEludmFsaWQgaW1hZ2UgY29sb3IgdHlwZSBzcGVjaWZpZWQASW52YWxpZCBjb21wcmVzc2lvbiB0eXBlIHNwZWNpZmllZABJbnZhbGlkIGZpbHRlciB0eXBlIHNwZWNpZmllZABJbnZhbGlkIGludGVybGFjZSB0eXBlIHNwZWNpZmllZABJSERSAHpsaWIgZmFpbGVkIHRvIGluaXRpYWxpemUgY29tcHJlc3NvciAtLSB2ZXJzaW9uIGVycm9yAHpsaWIgZmFpbGVkIHRvIGluaXRpYWxpemUgY29tcHJlc3NvciAtLSBzdHJlYW0gZXJyb3IAemxpYiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBjb21wcmVzc29yIC0tIG1lbSBlcnJvcgB6bGliIGZhaWxlZCB0byBpbml0aWFsaXplIGNvbXByZXNzb3IAUG90ZW50aWFsIG92ZXJmbG93IGluIHBuZ196YWxsb2MoKQBJbnN1ZmZpY2llbnQgbWVtb3J5IHRvIHN0b3JlIHRleHQAdGV4dCBjb21wcmVzc2lvbiBtb2RlIGlzIG91dCBvZiByYW5nZQBMaW1pdGluZyBnYW1tYSB0byAyMTQ3NC44MwBTZXR0aW5nIGdhbW1hPTAASWdub3JpbmcgaW52YWxpZCBudW1fdHJhbnMgdmFsdWUAdFJOUyBjaHVuayBoYXMgb3V0LW9mLXJhbmdlIHNhbXBsZXMgZm9yIGJpdF9kZXB0aABJbnZhbGlkIHBhbGV0dGUgbGVuZ3RoAEltYWdlIHdpZHRoIGlzIHplcm8gaW4gSUhEUgBJbnZhbGlkIGltYWdlIHdpZHRoIGluIElIRFIASW1hZ2Ugd2lkdGggaXMgdG9vIGxhcmdlIGZvciB0aGlzIGFyY2hpdGVjdHVyZQBJbWFnZSB3aWR0aCBleGNlZWRzIHVzZXIgbGltaXQgaW4gSUhEUgBJbWFnZSBoZWlnaHQgaXMgemVybyBpbiBJSERSAEludmFsaWQgaW1hZ2UgaGVpZ2h0IGluIElIRFIASW1hZ2UgaGVpZ2h0IGV4Y2VlZHMgdXNlciBsaW1pdCBpbiBJSERSAEludmFsaWQgYml0IGRlcHRoIGluIElIRFIASW52YWxpZCBjb2xvciB0eXBlIGluIElIRFIASW52YWxpZCBjb2xvciB0eXBlL2JpdCBkZXB0aCBjb21iaW5hdGlvbiBpbiBJSERSAFVua25vd24gaW50ZXJsYWNlIG1ldGhvZCBpbiBJSERSAFVua25vd24gY29tcHJlc3Npb24gbWV0aG9kIGluIElIRFIATU5HIGZlYXR1cmVzIGFyZSBub3QgYWxsb3dlZCBpbiBhIFBORyBkYXRhc3RyZWFtAFVua25vd24gZmlsdGVyIG1ldGhvZCBpbiBJSERSAEludmFsaWQgZmlsdGVyIG1ldGhvZCBpbiBJSERSAEludmFsaWQgSUhEUiBkYXRhAEF0dGVtcHRlZCB0byBzZXQgYm90aCByZWFkX2RhdGFfZm4gYW5kIHdyaXRlX2RhdGFfZm4gaW4AdGhlIHNhbWUgc3RydWN0dXJlLiAgUmVzZXR0aW5nIHJlYWRfZGF0YV9mbiB0byBOVUxMAFdyaXRlIEVycm9yAEluZm8gaW4gJXM6IHJlbW92aW5nIGNvbG9ybWFwOyBtYXkgYmUgYmV0dGVyIHRvIGNvbXByZXNzIGxvc3NsZXNzbHkKAEluZm8gaW4gJXM6IGNvbnZlcnRpbmcgZnJvbSAlZCB0byA4IGJwcAoAaW50ZXJuYWwganBlZyBlcnJvcgBXYXJuaW5nIGluICVzOiB0ZXh0IGlzICVsdSBieXRlczsgY2xpcHBpbmcgdG8gNjU0MzMKAGNhbGxvYyBmYWlsIGZvciByb3didWZmZXIAV3JpdGUgZXJyb3IAJmZkYXRhIG5vdCBkZWZpbmVkAHBpeFdyaXRlTWVtQm1wACZmc2l6ZSBub3QgZGVmaW5lZABXYXJuaW5nIGluICVzOiAyIGJwcCBmaWxlcyBjYW4ndCBiZSByZWFkOyBjb252ZXJ0aW5nIHRvIDggYnBwCgBpbWFnZSBkYXRhIGlzIHRvbyBsYXJnZQBmYWlsZWQgdG8gbWFrZSBkaXJuYW1lAC9sZXB0LlhYWFhYWABta3N0ZW1wIGZhaWxlZAByZXN1bHQgbm90IGRlZmluZWQARXJyb3IgaW4gJXM6IHJlc3VsdCBhcnJheSB0b28gc21hbGwgZm9yIHBhdGgKAGRpciBzdGFydHMgd2l0aCAnLi4nAHBhdGhKb2luAGZuYW1lIHN0YXJ0cyB3aXRoICcuLicAcGl4cyBub3QgOCBvciAzMiBicHAAbm8gcmVzdWx0cyByZXF1ZXN0ZWQAcGl4V3JpdGVKcGVnAHdiKwBwaXggbm90IHdyaXR0ZW4gdG8gc3RyZWFtACZ0eXBlIG5vdCBkZWZpbmVkAHR5cGUgc2VsZWN0aW9uIGZhaWx1cmUAJm5jb2xvcnMgbm90IGRlZmluZWQAcGl4TnVtQ29sb3JzAGQgbm90IGluIHsyLCA0LCA4LCAzMn0AV2FybmluZyBpbiAlczogY29sb3JtYXAgc2l6ZSAlZCBkaWZmZXJzIGZyb20gYWN0dWFsIGNvbG9ycwoAcGEgbm90IG1hZGUAcHRyYUNyZWF0ZQBuZWdhdGl2ZSBib3JkZXIgcmVtb3ZlZCEAd2lkdGggbXVzdCBiZSA+IDAAaGVpZ2h0IG11c3QgYmUgPiAwAHBpeHMgYW5kIHBpeGQgbm90IGJvdGggZGVmaW5lZABwaXhzIG5vdCAzMiBicHAgYW5kIDQgc3BwAFdhcm5pbmcgaW4gJXM6IG9ubHkgZ290ICVkIGNvbXBvbmVudHMKAGJveGFXcml0ZU1lbQBJbmZvIGluICVzOiB3b3JrLWFyb3VuZDogd3JpdGluZyB0byBhIHRlbXAgZmlsZQoAdG1wZmlsZSBzdHJlYW0gbm90IG9wZW5lZAAKQm94YSBWZXJzaW9uICVkCgBOdW1iZXIgb2YgYm94ZXMgPSAlZAoAYm94IG5vdCBmb3VuZAAgIEJveFslZF06IHggPSAlZCwgeSA9ICVkLCB3ID0gJWQsIGggPSAlZAoAcGl4U2V0QWxsAGNtYXAgZW50cnkgZG9lcyBub3QgZXhpc3QAcGl4cyBub3QgMzIgYnBwAFdhcm5pbmcgaW4gJXM6IG5vIGFscGhhIGNoYW5uZWw7IHJldHVybmluZyBjbG9uZQoAcGl4czEgbm90IGRlZmluZWQAcGl4czIgbm90IGRlZmluZWQAcGl4czEgb3IgcGl4czIgaXMgMSBicHAAbm8gYWxwaGE7IHBpeHMyIG5vdCByZ2JhAGRlcHRocyBub3QgcmVndWxhcml6ZWQhIGJhZCEAcGl4Q29udmVydFRvMzIAZGVwdGggbm90IDEsIDIsIDQsIDgsIDE2LCAzMiBicHAAcGl4cyBub3QgMjQgYnBwAHBpeHMgbm90IDggYnBwAHBpeEFkZEJvcmRlcgBuZWdhdGl2ZSBib3JkZXIgYWRkZWQhAGRlcHRoIG5vdCBpbiB7MSwyLDQsOCwxNiwzMn0AZmFjdG9yIDw9IDA7IGludmFsaWQAaW52YWxpZCBkZXB0aAoAaW52YWxpZCBzY2FsZSBmYWN0b3I6IDw9IDAAZmFjdG9yIG11c3QgYmUgaW4gezIsNCw4LDE2fQBwaXhzIG11c3QgYmUgYmluYXJ5AGxldmVscyBtdXN0IG5vdCBleGNlZWQgNABXYXJuaW5nIGluICVzOiBubyByZWR1Y3Rpb24gYmVjYXVzZSBsZXZlbDEgbm90ID4gMAoAdGFiIG5vdCBtYWRlAHBpeHMgbm90IGJpbmFyeQBsZXZlbCBtdXN0IGJlIGluIHNldCB7MSwyLDMsNH0AaHMgbXVzdCBiZSBhdCBsZWFzdCAyAHBpeHMgbm90IDEgYnBwAGhzaXplIGFuZCB2c2l6ZSBub3QgPj0gMQBwcm9jZXNzTW9ycGhBcmdzMSBmYWlsZWQAcGl4RXJvZGUAJnhwIChldGMpIGRlZmluZWQAJnBpeHQgbm90IGRlZmluZWQAc2VsIG5vdCBkZWZpbmVkAHNlbCBvZiBzaXplIDAAcGl4RGlsYXRlAHBpeENsZWFyQWxsAHNlbERlc3Ryb3kAcGl4ZCBub3QgcmV0dXJuZWQAcGl4Q2xvc2UAaCBhbmQgdyBtdXN0IGJvdGggYmUgPiAwAHNlbENyZWF0ZUJyaWNrAHNlbCBub3QgbWFkZQBzZWxTZXRPcmlnaW4Ac2VsQ3JlYXRlAGRhdGEgbm90IGFsbG9jYXRlZABwaXhDbG9zZUJyaWNrAHBpeE9wZW5CcmljawBwaXhPcGVuAHBpeEVyb2RlQnJpY2sAcGl4RGlsYXRlQnJpY2sAaW5kZXggbm90IHZhbGlkAFdhcm5pbmcgaW4gJXM6IHB0ciBhZGRyZXNzIGlzIE5VTEwhCgBzYXJyYXlEZXN0cm95AHNhcnJheUdldENvdW50AHN0ciBub3QgZGVmaW5lZABzZXBhcmF0b3JzIG5vdCBkZWZpbmVkAHNlcHMgbm90IGRlZmluZWQAc3RydG9rU2FmZQAmc2F2ZXB0ciBub3QgZGVmaW5lZABwdHIgYXJyYXkgbm90IG1hZGUAc2FycmF5Q3JlYXRlAHBpeENsb25lAHBpeEJsb2NrY29udgBXYXJuaW5nIGluICVzOiBwaXggaGFzIGNvbG9ybWFwOyByZW1vdmluZwoAZGVwdGggbm90IDggb3IgMzIgYnBwACZlbXB0eSBub3QgZGVmaW5lZABwaXhaZXJvAHBpeEludmVydABwaXhHZXREZXB0aABwaXhBbmQAbnVtYUdldEZWYWx1ZQBuYSBub3QgZGVmaW5lZABudW1hR2V0RkFycmF5AG51bWFTZXRDb3VudABkZXB0aCBub3QgaW4gezEsMiw0LDgsMTZ9AHBpeENvdW50UGl4ZWxzAHBpeCBub3QgZGVmaW5lZCBvciBub3QgMSBicHAAY29ubmVjdGl2aXR5IG5vdCA0IG9yIDgARXJyb3IgaW4gJXM6IGNvbm5lY3Rpdml0eSBtdXN0IGJlIDQgb3IgOAoAcGl4U2V0TWFza2VkAFdhcm5pbmcgaW4gJXM6IG5vIG1hc2s7IG5vdGhpbmcgdG8gZG8KAFdhcm5pbmcgaW4gJXM6IHBpeGQgYW5kIHBpeG0gc2l6ZXMgZGlmZmVyCgBjb25uZWN0aXZpdHkgbm90IGluIHs0LDh9AHJhbmt2YWwgbm90IGluIFswLjAgLi4uIDEuMF0AaW52YWxpZCBzb3J0b3JkZXIAYXJyYXkgbm90IG1hZGUAaWFycmF5IG5vdCBtYWRlAFdhcm5pbmcgaW4gJXM6IG5vIGZyZWUgY29sb3IgZW50cmllcwoAcHRhR2V0Q291bnQAcHRhR2V0SVB0AHB0YWQgbm90IGRlZmluZWQAcHRhSm9pbgBpc3RhcnQgPiBpZW5kOyBubyBwdHMAcGl4IG5vdCBkZWZpbmVkAHB0YSBub3QgbWFkZQBwdGEgbm90IGRlZmluZWQAZGVwdGggbm90IGluIHsxLDIsNCw4LDMyfQBjdGEgbm90IGRlZmluZWQoISkAcGl4UmVuZGVyUHRhAHBpeCBpcyBjb2xvcm1hcHBlZABXYXJuaW5nIGluICVzOiB3aWR0aCA8IDE7IHNldHRpbmcgdG8gMQoAcHRhaiBub3QgbWFkZQBib3hhcyBub3QgZGVmaW5lZABib3hhU29ydABXYXJuaW5nIGluICVzOiBib3hhcyBpcyBlbXB0eQoAaW52YWxpZCBzb3J0IHR5cGUAV2FybmluZyBpbiAlczogaW52YWxpZCBzb3J0IHR5cGUKAG5haW5kZXggbm90IG1hZGUAbmFpbmRleCBub3QgZGVmaW5lZABib3hhQmluU29ydABuYXMgbm90IGRlZmluZWQAaW52YWxpZCBzb3J0IG9yZGVyAFdhcm5pbmcgaW4gJXM6IGxhcmdlIGFycmF5OiAlZCBlbGVtZW50cwoAcHRyYVJlbW92ZUxhc3QAbmFkIG5vdCBkZWZpbmVkAG51bWFKb2luAGlzdGFydCA+IGllbmQ7IG5vdGhpbmcgdG8gYWRkAHB0cmFJbnNlcnQAaW5kZXggbm90IGluIFswIC4uLiBuYWxsb2NdAG5vdGhpbmcgdG8gZG8AbnVtYUdldE1heABwaXggdW5kZWZpbmVkIG9yIG5vdCAxIGJwcAByb3cgb3V0IG9mIGJvdW5kcwBwaXhSZWFkAEVycm9yIGluICVzOiBpbWFnZSBmaWxlIG5vdCBmb3VuZDogJXMKAHBpeFJlYWRTdHJlYW0AYm1wOiBubyBwaXggcmV0dXJuZWQAanBlZzogbm8gcGl4IHJldHVybmVkAHBuZzogbm8gcGl4IHJldHVybmVkAHRpZmY6IG5vIHBpeCByZXR1cm5lZABwbm06IG5vIHBpeCByZXR1cm5lZABnaWY6IG5vIHBpeCByZXR1cm5lZABqcDI6IG5vIHBpeCByZXR1cm5lZAB3ZWJwOiBubyBwaXggcmV0dXJuZWQARXJyb3IgaW4gJXM6IFBvc3RTY3JpcHQgcmVhZGluZyBpcyBub3Qgc3VwcG9ydGVkCgBFcnJvciBpbiAlczogUGRmIHJlYWRpbmcgaXMgbm90IHN1cHBvcnRlZAoAc3BpeDogbm8gcGl4IHJldHVybmVkAFVua25vd24gZm9ybWF0OiBubyBwaXggcmV0dXJuZWQAaW52YWxpZCBkYXRhAGludmFsaWQgaWQgc3RyaW5nAGludmFsaWQgd2lkdGgAaW52YWxpZCBoZWlnaHQAYXJlYSB0b28gbGFyZ2UAaW52YWxpZCBuY29sb3JzAGZhaWxlZCB0byBtYWtlIGhlYWRlcgBFcnJvciBpbiAlczogcGl4ZGF0YV9zaXplID0gJWQsIG1lbWRhdGFfc2l6ZSA9ICVkLCBpbWRhdGFfc2l6ZSA9ICVkIG5vdCBhbGwgZXF1YWwhCgBubyBlbnRyaWVzAG5jb2xvcnMgPiAyNTYAcGl4Y21hcEFkZFJHQkEAcGl4UmVhZFN0cmVhbVdlYlAAcGl4UmVhZFN0cmVhbUpwMmsAcGl4UmVhZFN0cmVhbUdpZgBoZWFkZXIgcmVhZCBmYWlsZWQAaW52YWxpZCBicHMAaW52YWxpZCBzcHAAcmVhZCBhYmVuZAByZWFkIGVycm9yIGluIDQAZXJyb3IgaW4gNQAxNiBicHAgZXJyb3IAcmVhZCBlcnJvciB0eXBlIDYAcmVhZCBlcnJvciB0eXBlIDcAJnZhbCBub3QgZGVmaW5lZABzdHJlYW0gbm90IG9wZW4AJWQAZnJlYWRIZWFkZXJQbm0AUCVkCgBpbnZhbGlkIHJlYWQgZm9yIHR5cGUAaW52YWxpZCBwbm0gZmlsZQBubyBkYXRhIGluIGZpbGUAZm91bmQgbm8gbmV4dCB0YWcAV0lEVEgAZmFpbGVkIHJlYWRpbmcgd2lkdGgASEVJR0hUAGZhaWxlZCByZWFkaW5nIGhlaWdodABERVBUSABmYWlsZWQgcmVhZGluZyBkZXB0aABNQVhWQUwAZmFpbGVkIHJlYWRpbmcgbWF4dmFsAFRVUExUWVBFAGZhaWxlZCByZWFkaW5nIHR1cGxlIHR5cGUARU5ESERSAG1pc3NpbmcgTEYgYWZ0ZXIgRU5ESERSAEluZm8gaW4gJXM6IGludmFsaWQgc2l6ZTogdyA9ICVkLCBoID0gJWQKAEluZm8gaW4gJXM6IGludmFsaWQgbWF4dmFsID0gJWQKAEluZm8gaW4gJXM6IGludmFsaWQgZGVwdGggPSAlZAoAJWQgJWQKAGludmFsaWQgcmVhZCBmb3IgdyxoAGludmFsaWQgcmVhZCBmb3IgbWF4dmFsICgyLDUpAG1heHZhbCA9ICVkCgBpbnZhbGlkIG1heHZhbABpbnZhbGlkIHJlYWQgZm9yIG1heHZhbCAoMyw2KQBXYXJuaW5nIGluICVzOiB1bmV4cGVjdGVkIG1heHZhbCA9ICVkCgBlbmQgb2YgZmlsZSByZWFjaGVkAGNoYXIgcmVhZCBpcyBub3QgYSBkaWdpdABubyB3aGl0ZXNwYWNlIGZvdW5kAGludmFsaWQgcmVhZABidWZmIG5vdCBkZWZpbmVkAHNpemUgaXMgdG9vIHNtYWxsAGJ1ZmYgc2l6ZSB0b28gc21hbGwAdGlmIG5vdCBkZWZpbmVkAFdhcm5pbmcgaW4gJXM6IGJwcCA9ICVkOyBzdHJpcHBpbmcgMTYgYml0IHJnYiBzYW1wbGVzIGRvd24gdG8gOAoAc3BwIG5vdCBpbiBzZXQgezEsMyw0fQBsaW5lIHJlYWQgZmFpbABjYWxsb2MgZmFpbCBmb3IgdGlmZmRhdGEAZmFpbGVkIHRvIHJlYWQgdGlmZmRhdGEAaW52YWxpZCBicHM7ID4gOABjbWFwIG5vdCBtYWRlAHBpeFJvdGF0ZTkwAHBpeHMgbm90IGluIHsxLDIsNCw4LDE2LDMyfSBicHAAaW52YWxpZCBkaXJlY3Rpb24ARXJyb3IgaW4gJXM6IGlsbGVnYWwgZGVwdGg6ICVkCgBwaXhGbGlwTFIAYnVmZmVyIG5vdCBtYWRlAGNhbGxvYyBmYWlsIGZvciB0YWIAcGl4RmxpcFRCACVzAE5vICJnZXQiIHJvdXRpbmUgc2V0dXAATm8gInB1dCIgcm91dGluZSBzZXR1cGw7IHByb2JhYmx5IGNhbiBub3QgaGFuZGxlIGltYWdlIGZvcm1hdABTb3JyeSwgY2FuIG5vdCBoYW5kbGUgaW1hZ2VzIHdpdGggJWQtYml0IHNhbXBsZXMATWlzc2luZyBuZWVkZWQgJXMgdGFnAE1pc3NpbmcgcmVxdWlyZWQgIkNvbG9ybWFwIiB0YWcAT3V0IG9mIG1lbW9yeSBmb3IgY29sb3JtYXAgY29weQBTb3JyeSwgY2FuIG5vdCBoYW5kbGUgY29udGlndW91cyBkYXRhIHdpdGggJXM9JWQsIGFuZCAlcz0lZCBhbmQgQml0cy9TYW1wbGU9JWQAU2FtcGxlcy9waXhlbABTb3JyeSwgY2FuIG5vdCBoYW5kbGUgUkdCIGltYWdlIHdpdGggJXM9JWQAQ29sb3IgY2hhbm5lbHMAU29ycnksIGNhbiBub3QgaGFuZGxlIHNlcGFyYXRlZCBpbWFnZSB3aXRoICVzPSVkAElua1NldABTb3JyeSwgTG9nTCBkYXRhIG11c3QgaGF2ZSAlcz0lZABDb21wcmVzc2lvbgBTb3JyeSwgTG9nTHV2IGRhdGEgbXVzdCBoYXZlICVzPSVkIG9yICVkAFNvcnJ5LCBjYW4gbm90IGhhbmRsZSBMb2dMdXYgaW1hZ2VzIHdpdGggJXM9JWQAUGxhbmFyY29uZmlndXJhdGlvbgBTb3JyeSwgY2FuIG5vdCBoYW5kbGUgaW1hZ2Ugd2l0aCAlcz0lZABTb3JyeSwgY2FuIG5vdCBoYW5kbGUgaW1hZ2UATm8gc3BhY2UgZm9yIFlDYkNyLT5SR0IgY29udmVyc2lvbiBzdGF0ZQBObyBzcGFjZSBmb3IgdGlsZSBidWZmZXIAJWxkOiBTdHJpcCBvdXQgb2YgcmFuZ2UsIG1heCAlbGQARmlsZSBub3Qgb3BlbiBmb3IgcmVhZGluZwBDYW4gbm90IHJlYWQgdGlsZXMgZnJvbSBhIHN0cmlwcGVkIGltYWdlAENhbiBub3QgcmVhZCBzY2FubGluZXMgZnJvbSBhIHRpbGVkIGltYWdlACVsZDogVGlsZSBvdXQgb2YgcmFuZ2UsIG1heCAlbGQAJWx1OiBDb2wgb3V0IG9mIHJhbmdlLCBtYXggJWx1ACVsdTogRGVwdGggb3V0IG9mIHJhbmdlLCBtYXggJWx1AE5vIHNwYWNlIGZvciBDSUUgTCphKmIqLT5SR0IgY29udmVyc2lvbiBzdGF0ZS4AQXNzdW1pbmcgOC1iaXQgY29sb3JtYXAATm8gc3BhY2UgZm9yIFBhbGV0dGUgbWFwcGluZyB0YWJsZQBObyBzcGFjZSBmb3IgcGhvdG9tZXRyaWMgY29udmVyc2lvbiB0YWJsZQBObyBzcGFjZSBmb3IgQiZXIG1hcHBpbmcgdGFibGUATm8gc3BhY2UgZm9yIHN0cmlwIGJ1ZmZlcgBTb3JyeSwgcmVxdWVzdGVkIGNvbXByZXNzaW9uIG1ldGhvZCBpcyBub3QgY29uZmlndXJlZAAlbHU6IFJvdyBvdXQgb2YgcmFuZ2UsIG1heCAlbHUAJWx1OiBTYW1wbGUgb3V0IG9mIHJhbmdlLCBtYXggJWx1ACVzOiBFcnJvciBmZXRjaGluZyBkaXJlY3RvcnkgY291bnQAJXM6IEVycm9yIGZldGNoaW5nIGRpcmVjdG9yeSBsaW5rAGVuZF9pbmZvIG5vdCBtYWRlAEhlbHA6IHNwcCA9IDMgYW5kIGRlcHRoID0gJWQgIT0gOAohIQBub3QgaW1wbGVtZW50ZWQgZm9yIHRoaXMgZGVwdGgASW5mbyBpbiAlczogY29udmVydGluZyAoZ3JheSArIGFscGhhKSA9PT4gUkdCQQoASW5mbyBpbiAlczogdHJhbnNwYXJlbmN5LCAxIHNwcCwgbm8gY29sb3JtYXAsIG5vIHRyYW5zcGFyZW5jeSBhcnJheTogY29udmVudGlvbiBpcyBmdWxseSB0cmFuc3BhcmVudCBpbWFnZQoASW5mbyBpbiAlczogY29udmVydGluZyAoZnVsbHkgdHJhbnNwYXJlbnQgMSBzcHApID09PiBSR0JBCgBJbmZvIGluICVzOiBjb252ZXJ0aW5nIChjbWFwICsgYWxwaGEpID09PiBSR0JBCgBjbWFwLCB0Uk5TLCBidXQgbm8gdHJhbnNwYXJlbmN5IGFycmF5AEluZm8gaW4gJXM6IGNvbnZlcnRpbmcgMSBicHAgY21hcCB3aXRoIGFscGhhID09PiBSR0JBCgBJbmZvIGluICVzOiBudW1fdHJhbnMgPSAxOyBzZWNvbmQgY29sb3Igb3BhcXVlIGJ5IGRlZmF1bHQKAEluZm8gaW4gJXM6IGNvbnZlcnRpbmcgOCBicHAgY21hcCB3aXRoIGFscGhhID09PiBSR0JBCgBFcnJvciBpbiAlczogc3BwID09IDEsIGNtYXAsIHRyYW5zIGFycmF5LCBpbnZhbGlkIGRlcHRoOiAlZAoASW1hZ2UgaXMgdG9vIGhpZ2ggdG8gcHJvY2VzcyB3aXRoIHBuZ19yZWFkX3BuZygpAElIRFIASUVORABJREFUAFRvbyBtYW55IElEQVRzIGZvdW5kAFBMVEUAYktHRABjSFJNAGdBTUEAaElTVABvRkZzAHBDQUwAc0NBTABwSFlzAHNCSVQAc1JHQgBpQ0NQAHNQTFQAdEVYdAB0SU1FAHRSTlMAelRYdABpVFh0AE5vIHNwYWNlIGluIGNodW5rIGNhY2hlIGZvciBpVFh0AE1pc3NpbmcgSUhEUiBiZWZvcmUgaVRYdABObyBtZW1vcnkgdG8gcHJvY2VzcyBpVFh0IGNodW5rAFRydW5jYXRlZCBpVFh0IGNodW5rAE1hbGZvcm1lZCBpVFh0IGNodW5rAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHByb2Nlc3MgaVRYdCBjaHVuawBJbnN1ZmZpY2llbnQgbWVtb3J5IHRvIHN0b3JlIGlUWHQgY2h1bmsAaW52YWxpZCBjaHVua2xlbmd0aABFeGNlZWRlZCBzaXplIGxpbWl0IHdoaWxlIGV4cGFuZGluZyBjaHVuawBwbmdfaW5mbGF0ZSBsb2dpYyBlcnJvcgBOb3QgZW5vdWdoIG1lbW9yeSB0byBkZWNvbXByZXNzIGNodW5rAFVua25vd24gelRYdCBjb21wcmVzc2lvbiB0eXBlICVkAEJ1ZmZlciBlcnJvciBpbiBjb21wcmVzc2VkIGRhdGFzdHJlYW0gaW4gJXMgY2h1bmsARGF0YSBlcnJvciBpbiBjb21wcmVzc2VkIGRhdGFzdHJlYW0gaW4gJXMgY2h1bmsASW5jb21wbGV0ZSBjb21wcmVzc2VkIGRhdGFzdHJlYW0gaW4gJXMgY2h1bmsAQ2FsbCB0byBOVUxMIHJlYWQgZnVuY3Rpb24ATm8gc3BhY2UgaW4gY2h1bmsgY2FjaGUgZm9yIHpUWHQATWlzc2luZyBJSERSIGJlZm9yZSB6VFh0AE91dCBvZiBtZW1vcnkgcHJvY2Vzc2luZyB6VFh0IGNodW5rAFRydW5jYXRlZCB6VFh0IGNodW5rAFVua25vd24gY29tcHJlc3Npb24gdHlwZSBpbiB6VFh0IGNodW5rAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHByb2Nlc3MgelRYdCBjaHVuawBJbnN1ZmZpY2llbnQgbWVtb3J5IHRvIHN0b3JlIHpUWHQgY2h1bmsATWlzc2luZyBJSERSIGJlZm9yZSB0Uk5TAEludmFsaWQgdFJOUyBhZnRlciBJREFUAER1cGxpY2F0ZSB0Uk5TIGNodW5rAEluY29ycmVjdCB0Uk5TIGNodW5rIGxlbmd0aABNaXNzaW5nIFBMVEUgYmVmb3JlIHRSTlMAWmVybyBsZW5ndGggdFJOUyBjaHVuawB0Uk5TIGNodW5rIG5vdCBhbGxvd2VkIHdpdGggYWxwaGEgY2hhbm5lbABPdXQgb2YgcGxhY2UgdElNRSBjaHVuawBEdXBsaWNhdGUgdElNRSBjaHVuawBJbmNvcnJlY3QgdElNRSBjaHVuayBsZW5ndGgASWdub3JpbmcgaW52YWxpZCB0aW1lIHZhbHVlAE5vIHNwYWNlIGluIGNodW5rIGNhY2hlIGZvciB0RVh0AE1pc3NpbmcgSUhEUiBiZWZvcmUgdEVYdABObyBtZW1vcnkgdG8gcHJvY2VzcyB0ZXh0IGNodW5rAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHByb2Nlc3MgdGV4dCBjaHVuawBJbnN1ZmZpY2llbnQgbWVtb3J5IHRvIHByb2Nlc3MgdGV4dCBjaHVuawBObyBzcGFjZSBpbiBjaHVuayBjYWNoZSBmb3Igc1BMVABNaXNzaW5nIElIRFIgYmVmb3JlIHNQTFQASW52YWxpZCBzUExUIGFmdGVyIElEQVQAbWFsZm9ybWVkIHNQTFQgY2h1bmsAc1BMVCBjaHVuayBoYXMgYmFkIGxlbmd0aABzUExUIGNodW5rIHRvbyBsb25nAHNQTFQgY2h1bmsgcmVxdWlyZXMgdG9vIG11Y2ggbWVtb3J5AE5vIG1lbW9yeSBmb3Igc1BMVCBwYWxldHRlcwBPdXQgb2YgbWVtb3J5IHdoaWxlIHByb2Nlc3Npbmcgc1BMVCBjaHVuawBNaXNzaW5nIElIRFIgYmVmb3JlIGlDQ1AASW52YWxpZCBpQ0NQIGFmdGVyIElEQVQAT3V0IG9mIHBsYWNlIGlDQ1AgY2h1bmsARHVwbGljYXRlIGlDQ1AgY2h1bmsATWFsZm9ybWVkIGlDQ1AgY2h1bmsASWdub3Jpbmcgbm9uemVybyBjb21wcmVzc2lvbiB0eXBlIGluIGlDQ1AgY2h1bmsAUHJvZmlsZSBzaXplIGZpZWxkIG1pc3NpbmcgZnJvbSBpQ0NQIGNodW5rAElnbm9yaW5nIHRydW5jYXRlZCBpQ0NQIHByb2ZpbGUAZGVjbGFyZWQgcHJvZmlsZSBzaXplID0gJWx1AGFjdHVhbCBwcm9maWxlIGxlbmd0aCA9ICVsdQBJbnN1ZmZpY2llbnQgbWVtb3J5IHRvIHByb2Nlc3MgaUNDUCBjaHVuawBJbnN1ZmZpY2llbnQgbWVtb3J5IHRvIHByb2Nlc3MgaUNDUCBwcm9maWxlAE1pc3NpbmcgSUhEUiBiZWZvcmUgc1JHQgBJbnZhbGlkIHNSR0IgYWZ0ZXIgSURBVABPdXQgb2YgcGxhY2Ugc1JHQiBjaHVuawBEdXBsaWNhdGUgc1JHQiBjaHVuawBJbmNvcnJlY3Qgc1JHQiBjaHVuayBsZW5ndGgAVW5rbm93biBzUkdCIGludGVudABJZ25vcmluZyBpbmNvcnJlY3QgZ0FNQSB2YWx1ZSB3aGVuIHNSR0IgaXMgYWxzbyBwcmVzZW50AGluY29ycmVjdCBnYW1tYT0oJWQvMTAwMDAwKQoASWdub3JpbmcgaW5jb3JyZWN0IGNIUk0gdmFsdWUgd2hlbiBzUkdCIGlzIGFsc28gcHJlc2VudABTZXR0aW5nIG5lZ2F0aXZlIGdhbW1hIHRvIHplcm8ATWlzc2luZyBJSERSIGJlZm9yZSBzQklUAEludmFsaWQgc0JJVCBhZnRlciBJREFUAE91dCBvZiBwbGFjZSBzQklUIGNodW5rAER1cGxpY2F0ZSBzQklUIGNodW5rAEluY29ycmVjdCBzQklUIGNodW5rIGxlbmd0aABNaXNzaW5nIElIRFIgYmVmb3JlIHBIWXMASW52YWxpZCBwSFlzIGFmdGVyIElEQVQARHVwbGljYXRlIHBIWXMgY2h1bmsASW5jb3JyZWN0IHBIWXMgY2h1bmsgbGVuZ3RoAE1pc3NpbmcgSUhEUiBiZWZvcmUgc0NBTABJbnZhbGlkIHNDQUwgYWZ0ZXIgSURBVABEdXBsaWNhdGUgc0NBTCBjaHVuawBzQ0FMIGNodW5rIHRvbyBzaG9ydABPdXQgb2YgbWVtb3J5IHdoaWxlIHByb2Nlc3Npbmcgc0NBTCBjaHVuawBtYWxmb3JtZWQgd2lkdGggc3RyaW5nIGluIHNDQUwgY2h1bmsAVHJ1bmNhdGVkIHNDQUwgY2h1bmsAbWFsZm9ybWVkIGhlaWdodCBzdHJpbmcgaW4gc0NBTCBjaHVuawBJbnZhbGlkIHNDQUwgZGF0YQBNaXNzaW5nIElIRFIgYmVmb3JlIHBDQUwASW52YWxpZCBwQ0FMIGFmdGVyIElEQVQARHVwbGljYXRlIHBDQUwgY2h1bmsATm8gbWVtb3J5IGZvciBwQ0FMIHB1cnBvc2UASW52YWxpZCBwQ0FMIGRhdGEASW52YWxpZCBwQ0FMIHBhcmFtZXRlcnMgZm9yIGVxdWF0aW9uIHR5cGUAVW5yZWNvZ25pemVkIGVxdWF0aW9uIHR5cGUgZm9yIHBDQUwgY2h1bmsATm8gbWVtb3J5IGZvciBwQ0FMIHBhcmFtcwBJbnN1ZmZpY2llbnQgbWVtb3J5IGZvciBwQ0FMIHB1cnBvc2UASW5zdWZmaWNpZW50IG1lbW9yeSBmb3IgcENBTCB1bml0cwBJbnN1ZmZpY2llbnQgbWVtb3J5IGZvciBwQ0FMIHBhcmFtcwBJbnN1ZmZpY2llbnQgbWVtb3J5IGZvciBwQ0FMIHBhcmFtZXRlcgBNaXNzaW5nIElIRFIgYmVmb3JlIG9GRnMASW52YWxpZCBvRkZzIGFmdGVyIElEQVQARHVwbGljYXRlIG9GRnMgY2h1bmsASW5jb3JyZWN0IG9GRnMgY2h1bmsgbGVuZ3RoAE1pc3NpbmcgSUhEUiBiZWZvcmUgaElTVABJbnZhbGlkIGhJU1QgYWZ0ZXIgSURBVABNaXNzaW5nIFBMVEUgYmVmb3JlIGhJU1QARHVwbGljYXRlIGhJU1QgY2h1bmsASW5jb3JyZWN0IGhJU1QgY2h1bmsgbGVuZ3RoAEludmFsaWQgcGFsZXR0ZSBzaXplLCBoSVNUIGFsbG9jYXRpb24gc2tpcHBlZABJbnN1ZmZpY2llbnQgbWVtb3J5IGZvciBoSVNUIGNodW5rIGRhdGEATWlzc2luZyBJSERSIGJlZm9yZSBnQU1BAEludmFsaWQgZ0FNQSBhZnRlciBJREFUAE91dCBvZiBwbGFjZSBnQU1BIGNodW5rAER1cGxpY2F0ZSBnQU1BIGNodW5rAEluY29ycmVjdCBnQU1BIGNodW5rIGxlbmd0aABJZ25vcmluZyBnQU1BIGNodW5rIHdpdGggZ2FtbWE9MABnYW1tYSA9ICglZC8xMDAwMDApAE1pc3NpbmcgSUhEUiBiZWZvcmUgY0hSTQBJbnZhbGlkIGNIUk0gYWZ0ZXIgSURBVABNaXNzaW5nIFBMVEUgYmVmb3JlIGNIUk0ARHVwbGljYXRlIGNIUk0gY2h1bmsASW5jb3JyZWN0IGNIUk0gY2h1bmsgbGVuZ3RoAHd4PSVmLCB3eT0lZiwgcng9JWYsIHJ5PSVmCgBneD0lZiwgZ3k9JWYsIGJ4PSVmLCBieT0lZgoATWlzc2luZyBJSERSIGJlZm9yZSBiS0dEAEludmFsaWQgYktHRCBhZnRlciBJREFUAE1pc3NpbmcgUExURSBiZWZvcmUgYktHRABEdXBsaWNhdGUgYktHRCBjaHVuawBJbmNvcnJlY3QgYktHRCBjaHVuayBsZW5ndGgASW5jb3JyZWN0IGJLR0QgY2h1bmsgaW5kZXggdmFsdWUATWlzc2luZyBJSERSIGJlZm9yZSBQTFRFAEludmFsaWQgUExURSBhZnRlciBJREFUAER1cGxpY2F0ZSBQTFRFIGNodW5rAElnbm9yaW5nIFBMVEUgY2h1bmsgaW4gZ3JheXNjYWxlIFBORwBJbnZhbGlkIHBhbGV0dGUgY2h1bmsAVHJ1bmNhdGluZyBpbmNvcnJlY3QgdFJOUyBjaHVuayBsZW5ndGgAVHJ1bmNhdGluZyBpbmNvcnJlY3QgaW5mbyB0Uk5TIGNodW5rIGxlbmd0aABObyBzcGFjZSBpbiBjaHVuayBjYWNoZSBmb3IgdW5rbm93biBjaHVuawBJREFUAHVua25vd24gY3JpdGljYWwgY2h1bmsAZXJyb3IgaW4gdXNlciBjaHVuawBPdXQgb2YgbWVtb3J5IHdoaWxlIHByb2Nlc3NpbmcgdW5rbm93biBjaHVuawBObyBpbWFnZSBpbiBmaWxlAEluY29ycmVjdCBJRU5EIGNodW5rIGxlbmd0aABPdXQgb2YgcGxhY2UgSUhEUgBJbnZhbGlkIElIRFIgY2h1bmsAUE5HIHVuc2lnbmVkIGludGVnZXIgb3V0IG9mIHJhbmdlAGNodW5rIGRhdGEgaXMgdG9vIGxhcmdlAGludmFsaWQgY2h1bmsgdHlwZQBDUkMgZXJyb3IASW52YWxpZCBhdHRlbXB0IHRvIHJlYWQgcm93IGRhdGEASURBVABEZWNvbXByZXNzaW9uIGVycm9yAE5VTEwgcm93IGJ1ZmZlciBmb3Igcm93ICVsZCwgcGFzcyAlZABQYWxldHRlIGlzIE5VTEwgaW4gaW5kZXhlZCBpbWFnZQBwbmdfZG9fcmdiX3RvX2dyYXkgZm91bmQgbm9uZ3JheSBwaXhlbABwbmdfZG9fcXVhbnRpemUgcmV0dXJuZWQgcm93Ynl0ZXM9MABJZ25vcmluZyBiYWQgYWRhcHRpdmUgZmlsdGVyIHR5cGUASURBVABOb3QgZW5vdWdoIGltYWdlIGRhdGEARXh0cmEgY29tcHJlc3NlZCBkYXRhAERlY29tcHJlc3Npb24gRXJyb3IARXh0cmEgY29tcHJlc3Npb24gZGF0YQBSb3cgaGFzIHRvbyBtYW55IGJ5dGVzIHRvIGFsbG9jYXRlIGluIG1lbW9yeQBpbnZhbGlkIGJhY2tncm91bmQgZ2FtbWEgdHlwZQBJZ25vcmluZyBleHRyYSBwbmdfcmVhZF91cGRhdGVfaW5mbygpIGNhbGw7IHJvdyBidWZmZXIgbm90IHJlYWxsb2NhdGVkAElEQVQASUhEUgBJRU5EAFBMVEUATWlzc2luZyBJSERSIGJlZm9yZSBJREFUAE1pc3NpbmcgUExURSBiZWZvcmUgSURBVABiS0dEAGNIUk0AZ0FNQQBoSVNUAG9GRnMAcENBTABzQ0FMAHBIWXMAc0JJVABzUkdCAGlDQ1AAc1BMVAB0RVh0AHRJTUUAdFJOUwB6VFh0AGlUWHQATm90IGEgUE5HIGZpbGUAUE5HIGZpbGUgY29ycnVwdGVkIGJ5IEFTQ0lJIGNvbnZlcnNpb24AiVBORw0KGgoxLjQuMjIAQXBwbGljYXRpb24gd2FzIGNvbXBpbGVkIHdpdGggcG5nLmggZnJvbSBsaWJwbmctJS4yMHMAQXBwbGljYXRpb24gIGlzICBydW5uaW5nIHdpdGggcG5nLmMgZnJvbSBsaWJwbmctJS4yMHMASW5jb21wYXRpYmxlIGxpYnBuZyB2ZXJzaW9uIGluIGFwcGxpY2F0aW9uIGFuZCBsaWJyYXJ5ADEuMi41AHpsaWIgbWVtb3J5IGVycm9yAHpsaWIgdmVyc2lvbiBlcnJvcgBVbmtub3duIHpsaWIgZXJyb3IASXQncyBhbiBlcnJvciB0byBzZXQgYm90aCByZWFkX2RhdGFfZm4gYW5kIHdyaXRlX2RhdGFfZm4gaW4gdGhlIABzYW1lIHN0cnVjdHVyZS4gIFJlc2V0dGluZyB3cml0ZV9kYXRhX2ZuIHRvIE5VTEwAUmVhZCBFcnJvcgAmY29tbWVudCBub3QgZGVmaW5lZAByZWR1Y3Rpb24gbm90IGluIHsxLDIsNCw4fQBJbmZvIGluICVzOiByZWFkaW5nIGx1bWluYW5jZSBjaGFubmVsIG9ubHkKAHNwcCBtdXN0IGJlIDEgb3IgMywgb3IgWUNDSyBvciBDTVlLAHJvd2J1ZmZlciBvciBwaXggbm90IG1hZGUARXJyb3IgaW4gJXM6IHJlYWQgZXJyb3IgYXQgc2NhbmxpbmUgJWQKAGJhZCBkYXRhAG91dHB1dCBzcHAgPSAlZCwgc3BwID0gJWQKAEVycm9yIGluICVzOiBmYWlsIHdpdGggJWQgd2FybmluZyhzKSBvZiBiYWQgZGF0YQoAV2FybmluZyBpbiAlczogJWQgd2FybmluZyhzKSBvZiBiYWQgZGF0YQoAcGl4UmVhZE1lbUJtcABibWYgc2l6ZSBlcnJvcgBub3QgYm1mIGZvcm1hdABjYW5ub3QgcmVhZCBjb21wcmVzc2VkIEJNUCBmaWxlcwB3aWR0aCA8IDEAd2lkdGggdG9vIGxhcmdlAGhlaWdodCA8IDEAaGVpZ2h0IHRvbyBsYXJnZQBucGl4ZWxzIHRvbyBsYXJnZQBkZXB0aCBub3QgaW4gezEsIDIsIDQsIDgsIDE2LCAyNCwgMzJ9AGludmFsaWQgaW1hZ2VieXRlcwBpbnZhbGlkOiBjbWFwIHNpemUgPCAwIG9yIDEAaW52YWxpZCBjbWFwOiB0b28gbGFyZ2UAc2l6ZSBpbmNvbW1lbnN1cmF0ZSB3aXRoIGltYWdlIGRhdGEAY21hcEJ1ZiBhbGxvYyBmYWlsACZjb3VudCBub3QgZGVmaW5lZABzdGFjayBub3QgbWFkZQoAcGl4U2VlZGZpbGwAcGl4U2VlZGZpbGw4AHB1c2hGaWxsc2VnAHBpeFNlZWRmaWxsNAAhcGl4cyBvciBwaXhzIG5vdCAxIGJwcABwaXhkIG5vdCBtYWRlAGJtZkNyZWF0ZQBibWYgbm90IG1hZGUAZm9udCBwaXhhIG5vdCBtYWRlAGZvbnR0YWIgbm90IG1hZGUAYmFzZWxpbmV0YWIgbm90IG1hZGUAd2lkdGh0YWIgbm90IG1hZGUAYm1mR2V0UGl4AEVycm9yIGluICVzOiBubyBiaXRtYXAgcmVwcmVzZW50YXRpb24gZm9yICVkCgBwaXhhIG5vdCBmb3VuZABibWZHZXRXaWR0aABXYXJuaW5nIGluICVzOiBwdHIgYWRkcmVzcyBpcyBudWxsIQoAYm1mRGVzdHJveQAmYmwgbm90IGFsbCBkZWZpbmVkAEluZm8gaW4gJXM6IG5yb3dzID0gJWQ7IHNraXBwaW5nIGZvbnRzaXplICVkCgAzIHJvd3Mgbm90IGdlbmVyYXRlZAA5NSBjaGFycyBub3QgZ2VuZXJhdGVkAHBpeGFSZXBsYWNlUGl4AGJveGFSZXBsYWNlQm94AGJveGFSZW1vdmVCb3gAaW5kZXggbm90IGluIHswLi4ubiAtIDF9ACZ5IG5vdCBkZWZpbmVkAHBpeCBub3QgcmVhZABpbnZhbGlkIGZvbnQgc2l6ZQBkYXRhIG5vdCBtYWRlAHBpeFJlYWRNZW0Ac2l6ZSA8IDEyAGpwMms6IG5vIHBpeCByZXR1cm5lZABwaXhSZWFkTWVtV2ViUABwaXhSZWFkTWVtSnAyawBwaXhSZWFkTWVtR2lmAHBpeFJlYWRNZW1Qbm0AY2RhdGEgbm90IGRlZmluZWQAcGl4UmVhZE1lbVRpZmYAdGlmZmVycm9yAHRpZmYgc3RyZWFtIG5vdCBvcGVuZWQAb3BlcmF0aW9uIG5vdCBkZWZpbmVkACZkYXRhc2l6ZSBub3QgZGVmaW5lZABvcCBub3QgJ3InIG9yICd3JwBiYWQgd2hlbmNlIHZhbHVlAEJhZCBmaWxlOiBhbW91bnQgdG9vIGJpZzogJWx1CgBmaWxlZGF0YSBub3QgZGVmaW5lZABwaXhSZWFkTWVtUG5nAGludmFsaWQgZmlsZXNpemUAcGl4UmVhZE1lbUpwZWcARXJyb3IgaW4gJXM6IHBpeCBub3QgcmVhZAoAZGVjb2RlQmFzZTY0AGludmFsaWQgY2hhciBpbiBpbmFycmF5AGJ5dGVhIG5vdCBtYWRlAEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8AJmJhc2VsaW5lIG5vdCBkZWZpbmVkAGJtZkdldEJhc2VsaW5lAGJveGFDbGVhcgBubyBwdHJzIGRlZmluZWQAYm94YUdldEV4dGVudABwaXhTZXRJblJlY3QAcGl4Q2xlYXJJblJlY3QAZ2VuZXJhdGVQdGFCb3gAYm94IGhhcyB3ID0gMCBvciBoID0gMABubyBvdXRwdXQgcmVxdWVzdGVkAHBpeHMgbm90IGRlZmluZWQgb3Igbm90IDEgYnBwAGJveCBub3Qgd2l0aGluIGltYWdlACZsb2Mgbm90IGRlZmluZWQAaW52YWxpZCBib3gAaW52YWxpZCBzY2FuZmxhZwBFcnJvciBpbiAlczogbm8gYml0bWFwIGZvbnRzOyByZXR1cm5pbmcgYSBjb3B5CgBXYXJuaW5nIGluICVzOiBubyB0ZXh0c3RyaW5nIGRlZmluZWQ7IHJldHVybmluZyBhIGNvcHkKAGxpbmUgc3RyaW5nIHNhIG5vdCBtYWRlAHBpeFNldFRleHRsaW5lAGJtZiBub3QgZGVmaW5lZAB0ZXN0c3RyIG5vdCBkZWZpbmVkAHNhd29yZHMgbm90IG1hZGUAbmEgbm90IG1hZGUAbm8gd29yZHMgaW4gdGV4dHN0cgBzYSBub3QgZGVmaW5lZAAmdyBub3QgZGVmaW5lZABwaXhPcgBwaXhtIHVuZGVmaW5lZCBvciBub3QgMSBicHAAcHNhbWUgbm90IGRlZmluZWQAcGl4MSBub3QgZGVmaW5lZABwaXgyIG5vdCBkZWZpbmVkAEluZm8gaW4gJXM6IHBpeCBzaXplcyBkaWZmZXIKAEluZm8gaW4gJXM6IG5vIGNvbG9ybWFwcywgcGl4IGRlcHRocyB1bmVxdWFsLCBhbmQgb25lIG9mIHRoZW0gaXMgUkdCCgBJbmZvIGluICVzOiBvbmUgcGl4IGlzIDE2IGJwcAoASW5mbyBpbiAlczogZmFpbHVyZSB0byBjb252ZXJ0IHRvIDggYnBwCgBwaXhzIGhhcyBjb2xvcm1hcABkZXB0aCA+IGQAJmNvbG9yIG5vdCBkZWZpbmVkAHBpeHMgbm90IGRlZmluZWQAJnNhbWUgbm90IGRlZmluZWQASW5mbyBpbiAlczogYm90aCBpbWFnZXMgZG9uJ3QgaGF2ZSBjb2xvcm1hcAoASW5mbyBpbiAlczogcGl4IGRlcHRoIG5vdCBpbiB7MSwgMiwgNCwgOH0KAGNtYXBFcXVhbABjbWFwMSBub3QgZGVmaW5lZABjbWFwMiBub3QgZGVmaW5lZABJbmZvIGluICVzOiBjb2xvcm1hcCBzaXplcyBhcmUgZGlmZmVyZW50CgAmb3BhcXVlIG5vdCBkZWZpbmVkAHBpeGFHZXRCb3gAYm94YSBub3QgZGVmaW5lZABwaXhTdWJ0cmFjdABwaXhhQ29weQBwaXhhQWRkQm94AGJveCBub3QgZGVmaW5lZAAmaGFzY21hcCBub3QgZGVmaW5lZABwaXhhIG5vdCBkZWZpbmVkAHBpeGFHZXRCb3hhAHBpeGFEaXNwbGF5AG5vIGNvbXBvbmVudHM7IG5vIHNpemUAV2FybmluZyBpbiAlczogbm8gY29tcG9uZW50czsgcmV0dXJuaW5nIGVtcHR5IDEgYnBwIHBpeAoAbm8gYXNzb2NpYXRlZCBib3hhAFdhcm5pbmcgaW4gJXM6IG5vIGJveCBmb3VuZCEKAGJveCBub3QgZm91bmQhAHBpeFJvdGF0ZU9ydGgAcXVhZHMgbm90IGluIHswLDEsMiwzfQBwaXhSb3RhdGUxODAAcmVhZEhlYWRlckpwMmsAZnAgbm90IGRlZmluZWQAcmVhZCBmYWlsdXJlAHNpemUgPCA4MABub3QganAyIGZpbGUAaW1hZ2UgcGFyYW1ldGVycyBub3QgZm91bmQAdW5yZWFsaXN0aWNhbGx5IGxhcmdlIHNpemVzAHBpeGEgaXMgZW1wdHkAcGl4cyB1bmRlZmluZWQgb3Igbm90IDEgYnBwAEVycm9yIGluICVzOiBwaXggdG9vIHNtYWxsOiB3ID0gJWQsIGggPSAlZAoAbmVpdGhlciBmbmFtZSBub3IgcGl4IGFyZSBkZWZpbmVkAHN0ZGluAFdhcm5pbmcgaW4gJXM6IGZpbGUgJXMgZm9ybWF0IGlzIHVua25vd24KAEVycm9yIGluICVzOiBmaWxlICVzIGlzIHVuc3VwcG9ydGVkIGZvcm1hdCAlZAoAcGl4dCBub3QgbWFkZQBFcnJvciBpbiAlczogdG90YWxseSBrZXJmbHVtbW94ZWQKAHBpeCBub3QgbWFkZQB1bmFibGUgdG8gcmVhZCBmaWxlAHVuYWJsZSB0byBhbGxvY2F0ZSBtZW1vcnkARXJyb3IgaW4gJXM6IGludmFsaWQgcG5nOiBpID0gJWQsIG4gPSAlZCwgbmJ5dGVzID0gJWx1CgBJREFUAFBMVEUARXJyb3IgaW4gJXM6IGludmFsaWQgcG5nOiBpID0gJWQsIG4gPSAlZCwgY21hcHNpemUgPSAlZAoAaW52YWxpZCBQTkcgZmlsZQBwaXhzIG5vdCBtYWRlAHN0cmVhbSBub3Qgb3BlbmVkACZ4cmVzIGFuZCAmeXJlcyBub3QgYm90aCBkZWZpbmVkAHN0cmVhbSBub3QgZGVmaW5lZABmcmVhZEhlYWRlclBuZwBmaWxlIHRvbyBzbWFsbCB0byBiZSBwbmcATEVQVF9DQUxMT0MgZmFpbCBmb3IgZGF0YQBlcnJvciByZWFkaW5nIGRhdGEAZGF0YSBub3QgZGVmaW5lZABzaXplIDwgNDAAbm90IGEgdmFsaWQgcG5nIGZpbGUASW5mbyBpbiAlczogZ3JheSArIGFscGhhOiB3aWxsIGV4dHJhY3QgYXMgUkdCQSAoc3BwID0gNCkKAGZpbGVuYW1lIG5vdCBkZWZpbmVkAHJlYWRIZWFkZXJQbmcAJmludGVybGFjZWQgbm90IGRlZmluZWQAZGF0YSBub3QgcmVhZABkYXRhIG5vdCBleHRyYWN0ZWQAZmluZEZpbGVGb3JtYXQAaW1hZ2UgZmlsZSBub3QgZm91bmQAYm1wOiBwaXggbm90IHJlYWQAanBlZzogbm8gaGVhZGVyIGluZm8gcmV0dXJuZWQAcG5nOiBubyBoZWFkZXIgaW5mbyByZXR1cm5lZAB0aWZmOiBubyBoZWFkZXIgaW5mbyByZXR1cm5lZABwbm06IG5vIGhlYWRlciBpbmZvIHJldHVybmVkAGdpZjogcGl4IG5vdCByZWFkAFBvc3RTY3JpcHQgcmVhZGluZyBpcyBub3Qgc3VwcG9ydGVkCgBQZGYgcmVhZGluZyBpcyBub3Qgc3VwcG9ydGVkCgBpbnB1dCBwdHIocykgbm90IGRlZmluZWQAbm90IGEgdmFsaWQgc3BpeCBmaWxlAGlucHV0IHB0cihzKSBub3QgYWxsIGRlZmluZWQAJmZyYWN0IG5vdCBkZWZpbmVkAHBpeGFTZXRCb3hhAHBpeGFDbGVhcgBubyBjb21wb25lbnRzAHBpeGFzIG5vdCBkZWZpbmVkAHBpeFdyaXRlTWVtACZkYXRhIG5vdCBkZWZpbmVkACZzaXplIG5vdCBkZWZpbmVkACZwaXggbm90IGRlZmluZWQAJmZpbGVkYXRhIG5vdCBkZWZpbmVkAHBpeFdyaXRlTWVtUG5nACZmaWxlc2l6ZSBub3QgZGVmaW5lZABzaXplIDwgOAB1bmtub3duIGZvcm1hdDsgbm8gZGF0YSByZXR1cm5lZAByZWFkSGVhZGVyTWVtV2ViUABoZWFkZXIgZGF0YSByZWFkIGZhaWxlZABwaXhSZW1vdmVBbHBoYQBmbmFtZSBub3QgZGVmaW5lZAAmb2Zmc2V0IG5vdCBkZWZpbmVkAEVycm9yIGluICVzOiB0aWYgb3BlbiBmYWlsZWQgZm9yICVzCgBzdHJlYW0gZXJyb3IAaW5zdWZmaWNpZW50IG1lbW9yeQBidWZmZXIgZXJyb3IAaW5jb3JyZWN0IGhlYWRlciBjaGVjawB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABpbnZhbGlkIHdpbmRvdyBzaXplAHVua25vd24gaGVhZGVyIGZsYWdzIHNldABoZWFkZXIgY3JjIG1pc21hdGNoAGludmFsaWQgYmxvY2sgdHlwZQBpbnZhbGlkIHN0b3JlZCBibG9jayBsZW5ndGhzAHRvbyBtYW55IGxlbmd0aCBvciBkaXN0YW5jZSBzeW1ib2xzAGludmFsaWQgY29kZSBsZW5ndGhzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AGludmFsaWQgY29kZSAtLSBtaXNzaW5nIGVuZC1vZi1ibG9jawBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RocyBzZXQAaW52YWxpZCBkaXN0YW5jZXMgc2V0AGluY29ycmVjdCBkYXRhIGNoZWNrAGluY29ycmVjdCBsZW5ndGggY2hlY2sAaW52YWxpZCBkaXN0YW5jZSB0b28gZmFyIGJhY2sAaW52YWxpZCBkaXN0YW5jZSBjb2RlAGludmFsaWQgbGl0ZXJhbC9sZW5ndGggY29kZQAAAQIEBwMGBQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAvcHJvYy9zZWxmL2ZkLwBpbmZpbml0eQBuYW4ATENfQUxMAExBTkcAQy5VVEYtOABQT1NJWABNVVNMX0xPQ1BBVEgAcndhAHcrAFhYWFhYWABOU3QzX18yOGlvc19iYXNlRQBOU3QzX18yOWJhc2ljX2lvc0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yOWJhc2ljX2lvc0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTViYXNpY19zdHJlYW1idWZJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjEzYmFzaWNfaXN0cmVhbUl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX29zdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjExX19zdGRvdXRidWZJd0VFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSWNFRQBOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAJQAAAAAATlN0M19fMjdudW1fcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEljRUUATlN0M19fMjE0X19udW1fcHV0X2Jhc2VFAE5TdDNfXzI3bnVtX3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9wdXRJd0VFACVIOiVNOiVTACVtLyVkLyV5ACVJOiVNOiVTICVwACVhICViICVkICVIOiVNOiVTICVZAEFNAFBNAEphbnVhcnkARmVicnVhcnkATWFyY2gAQXByaWwATWF5AEp1bmUASnVseQBBdWd1c3QAU2VwdGVtYmVyAE9jdG9iZXIATm92ZW1iZXIARGVjZW1iZXIASmFuAEZlYgBNYXIAQXByAEp1bgBKdWwAQXVnAFNlcABPY3QATm92AERlYwBTdW5kYXkATW9uZGF5AFR1ZXNkYXkAV2VkbmVzZGF5AFRodXJzZGF5AEZyaWRheQBTYXR1cmRheQBTdW4ATW9uAFR1ZQBXZWQAVGh1AEZyaQBTYXQAJW0vJWQvJXklWS0lbS0lZCVJOiVNOiVTICVwJUg6JU0lSDolTTolUyVIOiVNOiVTTlN0M19fMjh0aW1lX2dldEljTlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUATlN0M19fMjIwX190aW1lX2dldF9jX3N0b3JhZ2VJY0VFAE5TdDNfXzI5dGltZV9iYXNlRQBOU3QzX18yOHRpbWVfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUl3RUUATlN0M19fMjh0aW1lX3B1dEljTlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUATlN0M19fMjEwX190aW1lX3B1dEUATlN0M19fMjh0aW1lX3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIwRUVFAE5TdDNfXzIxMG1vbmV5X2Jhc2VFAE5TdDNfXzIxMG1vbmV5cHVuY3RJY0xiMUVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjBFRUUATlN0M19fMjEwbW9uZXlwdW5jdEl3TGIxRUVFADAxMjM0NTY3ODkAJUxmAE5TdDNfXzI5bW9uZXlfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEljRUUAMDEyMzQ1Njc4OQBOU3QzX18yOW1vbmV5X2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9nZXRJd0VFACUuMExmAE5TdDNfXzI5bW9uZXlfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X3B1dEljRUUATlN0M19fMjltb25leV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SXdFRQBOU3QzX18yOG1lc3NhZ2VzSWNFRQBOU3QzX18yMTNtZXNzYWdlc19iYXNlRQBOU3QzX18yMTdfX3dpZGVuX2Zyb21fdXRmOElMbTMyRUVFAE5TdDNfXzI3Y29kZWN2dElEaWMxMV9fbWJzdGF0ZV90RUUATlN0M19fMjEyY29kZWN2dF9iYXNlRQBOU3QzX18yMTZfX25hcnJvd190b191dGY4SUxtMzJFRUUATlN0M19fMjhtZXNzYWdlc0l3RUUATlN0M19fMjdjb2RlY3Z0SWNjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dEl3YzExX19tYnN0YXRlX3RFRQBOU3QzX18yN2NvZGVjdnRJRHNjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI2bG9jYWxlNV9faW1wRQBOU3QzX18yNWN0eXBlSWNFRQBOU3QzX18yMTBjdHlwZV9iYXNlRQBOU3QzX18yNWN0eXBlSXdFRQBOU3QzX18yOG51bXB1bmN0SWNFRQBOU3QzX18yOG51bXB1bmN0SXdFRQBOU3QzX18yMTRfX3NoYXJlZF9jb3VudEUAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBzdGQ6OmJhZF9jYXN0AFN0OGJhZF9jYXN0AE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9FACBjb25zdAAgdm9sYXRpbGUAIHJlc3RyaWN0ACBjb21wbGV4ACBpbWFnaW5hcnkAIFsAICgAKQAoACYmAG9iamNfb2JqZWN0PAAqACYAb2JqY3Byb3RvACAAPAA+ACB2ZWN0b3JbAF0AcGl4ZWwgdmVjdG9yWwAmPQA9ACwAfgA6OgBkZWxldGVbXSAAZGVsZXRlIAAvAC89AF4AXj0APT0APj0AKVsAPD0APDwAPDw9AC0ALT0AKj0ALS0AKS0tACE9ACEAfHwAfAB8PQAtPioAKwArPQArKwApKysAKSA/ICgAKSA6ICgAJQAlPQA+PgA+Pj0AdGhyb3cAdGhyb3cgAHR5cGVpZCgAc2l6ZW9mLi4uKAAsIABzaXplb2YgKABzdGF0aWNfY2FzdDwAPigAcmVpbnRlcnByZXRfY2FzdDwALT4Abm9leGNlcHQgKABbXSAAKSAALgAuKgBzdGQ6OgBvcGVyYXRvciYmAG9wZXJhdG9yJgBvcGVyYXRvciY9AG9wZXJhdG9yPQBvcGVyYXRvcigpAG9wZXJhdG9yLABvcGVyYXRvcn4Ab3BlcmF0b3IgAG9wZXJhdG9yIGRlbGV0ZVtdAG9wZXJhdG9yKgBvcGVyYXRvci8Ab3BlcmF0b3IvPQBvcGVyYXRvcl4Ab3BlcmF0b3JePQBvcGVyYXRvcj09AG9wZXJhdG9yPj0Ab3BlcmF0b3I+AG9wZXJhdG9yW10Ab3BlcmF0b3I8PQBvcGVyYXRvciIiIABvcGVyYXRvcjw8AG9wZXJhdG9yPDw9AG9wZXJhdG9yPABvcGVyYXRvci0Ab3BlcmF0b3ItPQBvcGVyYXRvcio9AG9wZXJhdG9yLS0Ab3BlcmF0b3IgbmV3W10Ab3BlcmF0b3IhPQBvcGVyYXRvciEAb3BlcmF0b3IgbmV3AG9wZXJhdG9yfHwAb3BlcmF0b3J8AG9wZXJhdG9yfD0Ab3BlcmF0b3ItPioAb3BlcmF0b3IrAG9wZXJhdG9yKz0Ab3BlcmF0b3IrKwBvcGVyYXRvci0+AG9wZXJhdG9yPwBvcGVyYXRvciUAb3BlcmF0b3IlPQBvcGVyYXRvcj4+AG9wZXJhdG9yPj49AG9wZXJhdG9yIGRlbGV0ZQAndW5uYW1lZAAnbGFtYmRhJygAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjphbGxvY2F0b3I8Y2hhcj4gPgBiYXNpY19zdHJpbmcAc3RkOjppc3RyZWFtAHN0ZDo6YmFzaWNfaXN0cmVhbTxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ID4AYmFzaWNfaXN0cmVhbQBzdGQ6Om9zdHJlYW0Ac3RkOjpiYXNpY19vc3RyZWFtPGNoYXIsIHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4gPgBiYXNpY19vc3RyZWFtAHN0ZDo6aW9zdHJlYW0Ac3RkOjpiYXNpY19pb3N0cmVhbTxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ID4AYmFzaWNfaW9zdHJlYW0AZHluYW1pY19jYXN0PAApKABjb25zdF9jYXN0PABhbGlnbm9mICgAZnAAd2NoYXJfdABmYWxzZQB0cnVlAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydAB1AGwAdWwAbGwAdWxsAF9faW50MTI4AHVuc2lnbmVkIF9faW50MTI4ACVMYUwAJWEAJWFmAGRlY2x0eXBlKABzdGQ6OmFsbG9jYXRvcgBzdGQ6OmJhc2ljX3N0cmluZwA6OnN0cmluZyBsaXRlcmFsAHN0ZABfR0xPQkFMX19OAChhbm9ueW1vdXMgbmFtZXNwYWNlKQAgPgBUXwBpZAA6OioAICYAICYmACBbXQB2b2lkAGJvb2wAaW50AHVuc2lnbmVkIGludABsb25nAHVuc2lnbmVkIGxvbmcAbG9uZyBsb25nAGZsb2F0AGxvbmcgZG91YmxlAF9fZmxvYXQxMjgALi4uAGRlY2ltYWw2NABkZWNpbWFsMTI4AGRlY2ltYWwzMgBkZWNpbWFsMTYAY2hhcjMyX3QAY2hhcjE2X3QAYXV0bwBzdGQ6Om51bGxwdHJfdABkb3VibGUAdW5zaWduZWQgbG9uZyBsb25nAF9ibG9ja19pbnZva2UAaW52b2NhdGlvbiBmdW5jdGlvbiBmb3IgYmxvY2sgaW4gAHZ0YWJsZSBmb3IgAFZUVCBmb3IgAHR5cGVpbmZvIGZvciAAdHlwZWluZm8gbmFtZSBmb3IgAGNvdmFyaWFudCByZXR1cm4gdGh1bmsgdG8gAGNvbnN0cnVjdGlvbiB2dGFibGUgZm9yIAAtaW4tAHZpcnR1YWwgdGh1bmsgdG8gAG5vbi12aXJ0dWFsIHRodW5rIHRvIABndWFyZCB2YXJpYWJsZSBmb3IgAHJlZmVyZW5jZSB0ZW1wb3JhcnkgZm9yIABBiJ75AAsBAQBBsJ/5AAtajJ8FAAEAAACsnwUAAQAAAACoBQABAAAAQGwFAAAAAADEqAUAAQAAAAipBQABAAAAvKcFAAEAAACwYh4AAAAAADipBQABAAAAaKkFAAEAAAA0qAUAAQAAAC4sAEGYoPkACw1cqAUAAQAAAC4AAAAsAEG4oPkAC8kCzJ8FAAEAAAAMoAUAAQAAAEygBQABAAAAgKAFAAEAAADMpQUAAQAAAASmBQABAAAAPKYFAAEAAAB0pgUAAQAAAKymBQABAAAAyKYFAAEAAADkpgUAAQAAAACnBQABAAAAtKAFAAEAAADkoAUAAAAAAAihBQABAAAAOKEFAAAAAACcpQUAAQAAALBiHgAAAAAAtKUFAAEAAACwYh4AAAAAABynBQABAAAAPKcFAAEAAAABAAAAAAAAAOynBQAPAAAACFEeAHhRHgB4UR4AAAAAALBPHgC4Tx4AwE8eANBPHgDYTx4A4E8eAPBPHgD4Tx4AAFAeABhQHgA4UB4AQFAeAEhQHgBQUB4AWFAeAGBQHgBoUB4AcFAeAHhQHgCAUB4AiFAeAJBQHgCYUB4AqFAeALhQHgDIUB4A2FAeAOBQHgABAAAAAAAAAEMAQYuj+QALBgEAAAAAAQBB8Mn5AAsR8J0FAAAAAAAEngUAAhAAAAYAQZDK+QALB5hnHgDwUB4AQcDK+QALGaBlHgD/////GJ4FAAAAAAAsngUAAhAAAAYAQejK+QALB9hnHgDwUB4AQZjL+QALFfRlHgD/////QJ4FAFSeBQACEAAABgBBvMv5AAsHGGgeAPBQHgBB8Mv5AAsR/////2ieBQB8ngUAAhAAAAYAQZDM+QALB1BoHgDwUB4AQcTM+QALEf////9AngUAVJ4FAAIwAAAGAEHkzPkACweIaB4A8FAeAEGUzfkACxWgZR4A/////2ieBQB8ngUAAjAAAAYAQbjN+QALB8BoHgDwUB4AQejN+QALFfRlHgD/////QJ4FAFSeBQACEAAABgBBjM75AAsHiGgeAPBQHgBBwM75AAsR/////2ieBQB8ngUAAhAAAAYAQeDO+QALB8BoHgDwUB4AQZTP+QALC/////9MnwUA8FAeAEG4z/kACxbAmgUA2E8eANBnHgABAAAA/////wABAEHYz/kACwcMnwUA8FAeAEH4z/kACxTAmgUA4E8eABBoHgABAAAA/////wBBmND5AAsHzJ4FAPBQHgBBuND5AAsNPJsFANhPHgBIaB4AAQBB0ND5AAsHjJ4FAPBQHgBB8ND5AAsLPJsFAOBPHgCAaB4AQYjR+QALB8yeBQDwUB4AQajR+QALDUSaBQDYTx4AuGgeAAEAQcDR+QALB4yeBQDwUB4AQeDR+QALC0SaBQDgTx4A8GgeAEH40fkAC1X/////AQAAAP////8CAAAA/////wMAAACwYh4AHAAAAP////8JAAAA/////wsAAAD/////BAAAAP////8KAAAA/////wwAAAD/////DQAAAP////8OAEGM0/kACwX/////FwBB0NP5AAuXAf////8YAAAA/////xkAAAD/////GgAAAP////8PAAAA/////xAAAAD/////EQAAAP////8SAAAA/////xMAAAD/////FAAAAP////8VAAAA/////xYAAAD/////GwAAAP////8cAAAA/////wUAAAD/////BgAAAP////8HAAAA/////wgAAADwUB4AWGoeAPBQHgBgah4=";var asmjsCodeFile="";if(!isDataURI(wasmTextFile)){wasmTextFile=locateFile(wasmTextFile)}if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}if(!isDataURI(asmjsCodeFile)){asmjsCodeFile=locateFile(asmjsCodeFile)}var wasmPageSize=64*1024;var info={"global":null,"env":null,"asm2wasm":asm2wasmImports,"parent":Module};var exports=null;function mergeMemory(newBuffer){var oldBuffer=Module["buffer"];if(newBuffer.byteLength>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function _emscripten_get_now(){abort()}function _emscripten_get_now_is_monotonic(){return ENVIRONMENT_IS_NODE||typeof dateNow!=="undefined"||(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){now=_emscripten_get_now()}else{___setErrNo(ERRNO_CODES.EINVAL);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function ___clock_gettime(){return _clock_gettime.apply(null,arguments)}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___lock(){}function ___map_file(pathname,size){___setErrNo(ERRNO_CODES.EPERM);return-1}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={"1024":flags["O_APPEND"],"64":flags["O_CREAT"],"128":flags["O_EXCL"],"0":flags["O_RDONLY"],"2":flags["O_RDWR"],"4096":flags["O_SYNC"],"512":flags["O_TRUNC"],"1":flags["O_WRONLY"]}}),bufferFrom:(function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsForNode:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),write:(function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall183(which,varargs){SYSCALLS.varargs=varargs;try{var buf=SYSCALLS.get(),size=SYSCALLS.get();if(size===0)return-ERRNO_CODES.EINVAL;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd);if(size>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21524:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _difftime(time1,time0){return time1-time0}function _longjmp(env,value){Module["setThrew"](env,value||1);throw"longjmp"}function _emscripten_longjmp(env,value){_longjmp(env,value)}function __exit(status){exit(status)}function _exit(status){__exit(status)}function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+40>>2]=___tm_timezone;return tmPtr}function _gmtime(time){return _gmtime_r(time,___tm_current)}function _llvm_log2_f32(x){return Math.log(x)/Math.LN2}function _llvm_log2_f64(){return _llvm_log2_f32.apply(null,arguments)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}function _llvm_trap(){abort("trap!")}function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function _pthread_cond_wait(){return 0}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_mutex_init(){}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof self==="object"&&self["performance"]&&typeof self["performance"]["now"]==="function"){_emscripten_get_now=(function(){return self["performance"]["now"]()})}else if(typeof performance==="object"&&typeof performance["now"]==="function"){_emscripten_get_now=(function(){return performance["now"]()})}else{_emscripten_get_now=Date.now}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;i - * @license MIT - */ -var n=r(20),i=r(21),o=r(22);function s(){return f.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(t,e){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|t}function d(t,e){if(f.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return z(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Y(t).length;default:if(n)return z(t).length;e=(""+e).toLowerCase(),n=!0}}function m(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function g(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=f.from(e,n)),f.isBuffer(e))return 0===e.length?-1:A(t,e,r,n,i);if("number"==typeof e)return e&=255,f.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):A(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function A(t,e,r,n,i){var o,s=1,a=t.length,f=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,f/=2,r/=2}function u(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){var h=-1;for(o=r;oa&&(r=a-f),o=r;o>=0;o--){for(var c=!0,l=0;li&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var s=0;s>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function E(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function S(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:u>223?3:u>191?2:1;if(i+c<=r)switch(c){case 1:u<128&&(h=u);break;case 2:128==(192&(o=t[i+1]))&&(f=(31&u)<<6|63&o)>127&&(h=f);break;case 3:o=t[i+1],s=t[i+2],128==(192&o)&&128==(192&s)&&(f=(15&u)<<12|(63&o)<<6|63&s)>2047&&(f<55296||f>57343)&&(h=f);break;case 4:o=t[i+1],s=t[i+2],a=t[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(f=(15&u)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&f<1114112&&(h=f)}null===h?(h=65533,c=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),i+=c}return function(t){var e=t.length;if(e<=I)return String.fromCharCode.apply(String,t);var r="",n=0;for(;nthis.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return B(this,e,r);case"utf8":case"utf-8":return S(this,e,r);case"ascii":return U(this,e,r);case"latin1":case"binary":return T(this,e,r);case"base64":return E(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}.apply(this,arguments)},f.prototype.equals=function(t){if(!f.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===f.compare(this,t)},f.prototype.inspect=function(){var t="",r=e.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""},f.prototype.compare=function(t,e,r,n,i){if(!f.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),a=Math.min(o,s),u=this.slice(n,i),h=t.slice(e,r),c=0;ci)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return y(this,t,e,r);case"utf8":case"utf-8":return b(this,t,e,r);case"ascii":return v(this,t,e,r);case"latin1":case"binary":return w(this,t,e,r);case"base64":return x(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var I=4096;function U(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function P(t,e,r,n,i,o){if(!f.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function k(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i>>8*(n?i:1-i)}function L(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i>>8*(n?i:3-i)&255}function j(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function C(t,e,r,n,o){return o||j(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function M(t,e,r,n,o){return o||j(t,0,r,8),i.write(t,e,r,n,52,8),r+8}f.prototype.slice=function(t,e){var r,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e0&&(i*=256);)n+=this[t+--e]*i;return n},f.prototype.readUInt8=function(t,e){return e||O(t,1,this.length),this[t]},f.prototype.readUInt16LE=function(t,e){return e||O(t,2,this.length),this[t]|this[t+1]<<8},f.prototype.readUInt16BE=function(t,e){return e||O(t,2,this.length),this[t]<<8|this[t+1]},f.prototype.readUInt32LE=function(t,e){return e||O(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},f.prototype.readUInt32BE=function(t,e){return e||O(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},f.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||O(t,e,this.length);for(var n=this[t],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*e)),n},f.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||O(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},f.prototype.readInt8=function(t,e){return e||O(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},f.prototype.readInt16LE=function(t,e){e||O(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},f.prototype.readInt16BE=function(t,e){e||O(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},f.prototype.readInt32LE=function(t,e){return e||O(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},f.prototype.readInt32BE=function(t,e){return e||O(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},f.prototype.readFloatLE=function(t,e){return e||O(t,4,this.length),i.read(this,t,!0,23,4)},f.prototype.readFloatBE=function(t,e){return e||O(t,4,this.length),i.read(this,t,!1,23,4)},f.prototype.readDoubleLE=function(t,e){return e||O(t,8,this.length),i.read(this,t,!0,52,8)},f.prototype.readDoubleBE=function(t,e){return e||O(t,8,this.length),i.read(this,t,!1,52,8)},f.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e|=0,r|=0,n)||P(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[e]=255&t;++o=0&&(o*=256);)this[e+i]=t/o&255;return e+r},f.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||P(this,t,e,1,255,0),f.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},f.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||P(this,t,e,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):k(this,t,e,!0),e+2},f.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||P(this,t,e,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):k(this,t,e,!1),e+2},f.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||P(this,t,e,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):L(this,t,e,!0),e+4},f.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||P(this,t,e,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):L(this,t,e,!1),e+4},f.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);P(this,t,e,r,i-1,-i)}var o=0,s=1,a=0;for(this[e]=255&t;++o>0)-a&255;return e+r},f.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);P(this,t,e,r,i-1,-i)}var o=r-1,s=1,a=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+r},f.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||P(this,t,e,1,127,-128),f.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},f.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||P(this,t,e,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):k(this,t,e,!0),e+2},f.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||P(this,t,e,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):k(this,t,e,!1),e+2},f.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||P(this,t,e,4,2147483647,-2147483648),f.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):L(this,t,e,!0),e+4},f.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||P(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),f.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):L(this,t,e,!1),e+4},f.prototype.writeFloatLE=function(t,e,r){return C(this,t,e,!0,r)},f.prototype.writeFloatBE=function(t,e,r){return C(this,t,e,!1,r)},f.prototype.writeDoubleLE=function(t,e,r){return M(this,t,e,!0,r)},f.prototype.writeDoubleBE=function(t,e,r){return M(this,t,e,!1,r)},f.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--i)t[i+e]=this[i+r];else if(o<1e3||!f.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function Y(t){return n.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(N,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function F(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}}).call(this,r(3))},function(t,e,r){"use strict";(function(e){var n=r(0),i=r(27),o={"Content-Type":"application/x-www-form-urlencoded"};function s(t,e){!n.isUndefined(t)&&n.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var a,f={adapter:("undefined"!=typeof XMLHttpRequest?a=r(7):void 0!==e&&(a=r(7)),a),transformRequest:[function(t,e){return i(e,"Content-Type"),n.isFormData(t)||n.isArrayBuffer(t)||n.isBuffer(t)||n.isStream(t)||n.isFile(t)||n.isBlob(t)?t:n.isArrayBufferView(t)?t.buffer:n.isURLSearchParams(t)?(s(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):n.isObject(t)?(s(e,"application/json;charset=utf-8"),JSON.stringify(t)):t}],transformResponse:[function(t){if("string"==typeof t)try{t=JSON.parse(t)}catch(t){}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(t){return t>=200&&t<300}};f.headers={common:{Accept:"application/json, text/plain, */*"}},n.forEach(["delete","get","head"],function(t){f.headers[t]={}}),n.forEach(["post","put","patch"],function(t){f.headers[t]=n.merge(o)}),t.exports=f}).call(this,r(6))},function(t,e){function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"===("undefined"==typeof window?"undefined":r(window))&&(n=window)}t.exports=n},function(module,exports,__webpack_require__){"use strict";(function(Buffer){function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function _arrayWithoutHoles(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e1&&void 0!==arguments[1]?arguments[1]:0,r=t[e],n=1,i=0;++i<8;)n*=256,r+=t[e+i]*n;return r}var fileType=function(t){if(!(t instanceof Uint8Array||t instanceof ArrayBuffer||Buffer.isBuffer(t)))throw new TypeError("Expected the `input` argument to be of type `Uint8Array` or `Buffer` or `ArrayBuffer`, got `".concat(_typeof(t),"`"));var e=t instanceof Uint8Array?t:new Uint8Array(t);if(!(e&&e.length>1))return null;var r=function(t,r){r=Object.assign({offset:0},r);for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:0;return t.findIndex(function(t,r,n){return r>=e&&80===n[r]&&75===n[r+1]&&3===n[r+2]&&4===n[r+3]})},o=0,s=!1,a=null;do{var f=o+30;if(s||(s=r(oxmlContentTypes,{offset:f})||r(oxmlRels,{offset:f})),a||(n("word/",{offset:f})?a={ext:"docx",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}:n("ppt/",{offset:f})?a={ext:"pptx",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"}:n("xl/",{offset:f})&&(a={ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})),s&&a)return a;o=i(e,f)}while(o>=0);if(a)return a}if(r([80,75])&&(3===e[2]||5===e[2]||7===e[2])&&(4===e[3]||6===e[3]||8===e[3]))return{ext:"zip",mime:"application/zip"};if(r([117,115,116,97,114],{offset:257}))return{ext:"tar",mime:"application/x-tar"};if(r([82,97,114,33,26,7])&&(0===e[6]||1===e[6]))return{ext:"rar",mime:"application/x-rar-compressed"};if(r([31,139,8]))return{ext:"gz",mime:"application/gzip"};if(r([66,90,104]))return{ext:"bz2",mime:"application/x-bzip2"};if(r([55,122,188,175,39,28]))return{ext:"7z",mime:"application/x-7z-compressed"};if(r([120,1]))return{ext:"dmg",mime:"application/x-apple-diskimage"};if(r([51,103,112,53])||r([0,0,0])&&r([102,116,121,112],{offset:4})&&(r([109,112,52,49],{offset:8})||r([109,112,52,50],{offset:8})||r([105,115,111,109],{offset:8})||r([105,115,111,50],{offset:8})||r([109,109,112,52],{offset:8})||r([77,52,86],{offset:8})||r([100,97,115,104],{offset:8})))return{ext:"mp4",mime:"video/mp4"};if(r([77,84,104,100]))return{ext:"mid",mime:"audio/midi"};if(r([26,69,223,163])){var u=e.subarray(4,4100),h=u.findIndex(function(t,e,r){return 66===r[e]&&130===r[e+1]});if(-1!==h){var c=h+3,l=function(t){return _toConsumableArray(t).every(function(t,e){return u[c+e]===t.charCodeAt(0)})};if(l("matroska"))return{ext:"mkv",mime:"video/x-matroska"};if(l("webm"))return{ext:"webm",mime:"video/webm"}}}if(r([0,0,0,20,102,116,121,112,113,116,32,32])||r([102,114,101,101],{offset:4})||r([102,116,121,112,113,116,32,32],{offset:4})||r([109,100,97,116],{offset:4})||r([109,111,111,118],{offset:4})||r([119,105,100,101],{offset:4}))return{ext:"mov",mime:"video/quicktime"};if(r([82,73,70,70])){if(r([65,86,73],{offset:8}))return{ext:"avi",mime:"video/vnd.avi"};if(r([87,65,86,69],{offset:8}))return{ext:"wav",mime:"audio/vnd.wave"};if(r([81,76,67,77],{offset:8}))return{ext:"qcp",mime:"audio/qcelp"}}if(r([48,38,178,117,142,102,207,17,166,217])){var p=30;do{var d=readUInt64LE(e,p+16);if(r([145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101],{offset:p})){if(r([64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43],{offset:p+24}))return{ext:"wma",mime:"audio/x-ms-wma"};if(r([192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43],{offset:p+24}))return{ext:"wmv",mime:"video/x-ms-asf"};break}p+=d}while(p+24<=e.length);return{ext:"asf",mime:"application/vnd.ms-asf"}}if(r([0,0,1,186])||r([0,0,1,179]))return{ext:"mpg",mime:"video/mpeg"};if(r([102,116,121,112,51,103],{offset:4}))return{ext:"3gp",mime:"video/3gpp"};for(var m=0;m<2&&m1)for(var r=1;rm&&te}function _(t,e){return v(t)&&t=e}function S(t,e){return v(t)&&t<=e}function I(t){return"string"==typeof t}function U(t){return I(t)&&""!==t}function T(t){return"[object Object]"===Object.prototype.toString.call(t)}function B(t,e){try{return t instanceof e}catch(t){return!1}}function R(t,e){var r;for(r in e)if(e.hasOwnProperty(r)){if(!1===t.hasOwnProperty(r)||i(t[r])!==i(e[r]))return!1;if(T(t[r])&&!1===R(t[r],e[r]))return!1}return!0}function O(t){return A(t)}function P(t){return b(t)&&E(t.length,0)}function k(t){return"function"==typeof t}function L(t,e){var r;for(r=0;rr}},{n:"greaterOrEqual",f:E},{n:"lessOrEqual",f:S},{n:"inRange",f:function(t,e,r){if(e=r}},{n:"positive",f:function(t){return x(t,0)}},{n:"negative",f:function(t){return _(t,0)}},{n:"string",f:I,s:"s"},{n:"emptyString",f:function(t){return""===t},s:"s"},{n:"nonEmptyString",f:U,s:"s"},{n:"contains",f:function(t,e){return I(t)&&-1!==t.indexOf(e)},s:"s"},{n:"match",f:function(t,e){return I(t)&&!!t.match(e)},s:"s"},{n:"boolean",f:function(t){return!1===t||!0===t},s:"b"},{n:"object",f:T,s:"o"},{n:"emptyObject",f:function(t){return T(t)&&0===Object.keys(t).length},s:"o"},{n:"nonEmptyObject",f:function(t){return T(t)&&Object.keys(t).length>0},s:"o"},{n:"instanceStrict",f:B,s:"t"},{n:"instance",f:function(t,e){try{return B(t,e)||t.constructor.name===e.name||Object.prototype.toString.call(t)==="[object "+e.name+"]"}catch(t){return!1}},s:"t"},{n:"like",f:R,s:"t"},{n:"array",f:O,s:"a"},{n:"emptyArray",f:function(t){return O(t)&&0===t.length},s:"a"},{n:"nonEmptyArray",f:function(t){return O(t)&&x(t.length,0)},s:"a"},{n:"arrayLike",f:P,s:"al"},{n:"iterable",f:function(t){if(!y)return P(t);return b(t)&&k(t[Symbol.iterator])},s:"i"},{n:"date",f:function(t){return B(t,Date)&&w(t.getTime())},s:"d"},{n:"function",f:k,s:"f"},{n:"hasLength",f:function(t,e){return b(t)&&t.length===e},s:"l"}].map(function(t){var e=t.n;a[e]="Invalid "+s[t.s||"n"],f[e]=t.f}),u={apply:function(t,e){if(h.array(t),k(e))return t.map(function(t){return e(t)});return h.array(e),h.hasLength(t,e.length),t.map(function(t,r){return e[r](t)})},map:function(t,e){if(h.object(t),k(e))return function(t,e){var r={};return Object.keys(t).forEach(function(n){r[n]=e(t[n])}),r}(t,e);return h.object(e),function t(e,r){var n={};return Object.keys(r).forEach(function(i){var o=r[i];k(o)?c.assigned(e)?n[i]=!!o.m:n[i]=o(e[i]):T(o)&&(n[i]=t(e[i],o))}),n}(t,e)},all:function(t){if(O(t))return L(t,!1);return h.object(t),j(t,!1)},any:function(t){if(O(t))return L(t,!0);return h.object(t),j(t,!0)}},p=["array","arrayLike","iterable","object"],d=Array.prototype.slice,m=Number.NEGATIVE_INFINITY,g=Number.POSITIVE_INFINITY,A=Array.isArray,y="function"==typeof Symbol,u=C(u,f),h=F(M,N),c=F(D,z),l=F(function(t){var e=function(){return!!c.assigned(arguments[0])||t.apply(null,arguments)};return e.l=t.length,e.m=!0,e},function(t){if(!1===b(t))return!0;return t}),h.not=q(M,c),h.maybe=q(M,l),p.forEach(function(t){f[t].of=G([Y.bind(null,null),f[t],f,null])}),W(h,M),W(c,D),p.forEach(function(t){l[t].of=G([Y.bind(null,"maybe"),f[t],f,null]),h.maybe[t].of=q(M,l[t].of),h.not[t].of=q(M,c[t].of)}),function(i){void 0===(n=function(){return i}.call(e,r,e,t))||(t.exports=n)}(C(u,{assert:h,not:c,maybe:l}))}()},function(t,e,r){var n=this;function i(t){return function(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e=0||(i[r]=t[r]);return i}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(i[r]=t[r])}return i}var f,u,h,c=r(15),l=c.readImage,p=c.loadLang,d=r(48),m=r(49),g=r(50).defaultParams,A=r(11),y=A.OEM,b=A.PSM,v={},w=function(t,e){var r=e.tessjs_image_rectangle_left,n=e.tessjs_image_rectangle_top,i=e.tessjs_image_rectangle_width,o=e.tessjs_image_rectangle_height,s=l(f,Array.from(t)),a=s.w,h=s.h,c=s.bytesPerPixel,p=s.data,d=s.pix;return null===p?u.SetImage(d):u.SetImage(p,a,h,c,a*c),u.SetRectangle(r<0?0:r,n<0?0:n,i<0?a:i,o<0?h:o),null===p?d:p},x=function(t){return"string"==typeof t?t:t.map(function(t){return"string"==typeof t?t:t.data}).join("+")},_=function(t,e){var r=t.corePath;if(!f){var n=v.getCore(r,e);return e.progress({status:"initializing tesseract",progress:0}),n({TesseractProgress:function(t){h.progress({status:"recognizing text",progress:Math.max(0,(t-30)/70)})}}).then(function(t){(f=t).FS.writeFile("/pdf.ttf",v.b64toU8Array(d)),u=new f.TessBaseAPI,e.progress({status:"initialized tesseract",progress:1})})}return Promise.resolve()},E=function(t,e){var r=t.langs,n=t.options;return e.progress({status:"loading language traineddata",progress:0}),p(o({langs:r,TessModule:f},n)).then(function(){e.progress({status:"loaded language traineddata",progress:1});for(var t=arguments.length,r=new Array(t),n=0;n0&&void 0!==arguments[0]?arguments[0]:"keyval-store",r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"keyval";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.storeName=r,this._dbp=new Promise(function(t,n){var i=indexedDB.open(e,1);i.onerror=function(){return n(i.error)},i.onsuccess=function(){return t(i.result)},i.onupgradeneeded=function(){i.result.createObjectStore(r)}})}var e,r,i;return e=t,(r=[{key:"_withIDBStore",value:function(t,e){var r=this;return this._dbp.then(function(n){return new Promise(function(i,o){var s=n.transaction(r.storeName,t);s.oncomplete=function(){return i()},s.onabort=s.onerror=function(){return o(s.error)},e(s.objectStore(r.storeName))})})}}])&&n(e.prototype,r),i&&n(e,i),t}();function s(){return i||(i=new o),i}function a(t){var e;return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:s())._withIDBStore("readonly",function(r){e=r.get(t)}).then(function(){return e.result})}function f(t,e){return(arguments.length>2&&void 0!==arguments[2]?arguments[2]:s())._withIDBStore("readwrite",function(r){r.put(e,t)})}function u(t){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:s())._withIDBStore("readwrite",function(e){e.delete(t)})}function h(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:s())._withIDBStore("readwrite",function(t){t.clear()})}function c(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s(),e=[];return t._withIDBStore("readonly",function(t){(t.openKeyCursor||t.openCursor).call(t).onsuccess=function(){this.result&&(e.push(this.result.key),this.result.continue())}}).then(function(){return e})}},function(t,e,r){function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function i(t,e){if(null==t)return{};var r,n,i=function(t,e){if(null==t)return{};var r,n,i={},o=Object.keys(t);for(n=0;n=0||(i[r]=t[r]);return i}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(i[r]=t[r])}return i}var o=r(19),s=r(4),a=r(23),f=function(t){return function(e){var r=e.langPath,f=e.cachePath,u=e.cacheMethod,h=e.gzip,c=void 0===h||h,l=i(e,["langPath","cachePath","cacheMethod","gzip"]);return function(e){var i="string"==typeof e?e:e.code,h=function(e){var r=s(e);return null!==r&&"application/gzip"===r.mime?t.gunzip(new Uint8Array(e)):new Uint8Array(e)},p=function(t){return function(e){var r=e.TessModule,n=e.dataPath,i=e.cachePath,o=e.cacheMethod,s=e.langCode;return function(e){if(r){if(n)try{r.FS.mkdir(n)}catch(t){}r.FS.writeFile("".concat(n||".","/").concat(s,".traineddata"),e)}return["write","refresh",void 0].includes(o)?t.writeCache("".concat(i||".","/").concat(s,".traineddata"),e).then(function(){return e}):e}}}(t)(function(t){for(var e=1;e0?f-4:f;var h=0;for(e=0;e>16&255,a[h++]=n>>8&255,a[h++]=255&n;2===s?(n=i[t.charCodeAt(e)]<<2|i[t.charCodeAt(e+1)]>>4,a[h++]=255&n):1===s&&(n=i[t.charCodeAt(e)]<<10|i[t.charCodeAt(e+1)]<<4|i[t.charCodeAt(e+2)]>>2,a[h++]=n>>8&255,a[h++]=255&n);return a},e.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o="",s=[],a=0,f=r-i;af?f:a+16383));1===i?(e=t[r-1],o+=n[e>>2],o+=n[e<<4&63],o+="=="):2===i&&(e=(t[r-2]<<8)+t[r-1],o+=n[e>>10],o+=n[e>>4&63],o+=n[e<<2&63],o+="=");return s.push(o),s.join("")};for(var n=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,f=s.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===t[e-2]?2:"="===t[e-1]?1:0}function h(t,e,r){for(var i,o,s=[],a=e;a>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(t,e){e.read=function(t,e,r,n,i){var o,s,a=8*i-n-1,f=(1<>1,h=-7,c=r?i-1:0,l=r?-1:1,p=t[e+c];for(c+=l,o=p&(1<<-h)-1,p>>=-h,h+=a;h>0;o=256*o+t[e+c],c+=l,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=n;h>0;s=256*s+t[e+c],c+=l,h-=8);if(0===o)o=1-u;else{if(o===f)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,n),o-=u}return(p?-1:1)*s*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var s,a,f,u=8*o-i-1,h=(1<>1,l=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:o-1,d=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=h):(s=Math.floor(Math.log(e)/Math.LN2),e*(f=Math.pow(2,-s))<1&&(s--,f*=2),(e+=s+c>=1?l/f:l*Math.pow(2,1-c))*f>=2&&(s++,f/=2),s+c>=h?(a=0,s=h):s+c>=1?(a=(e*f-1)*Math.pow(2,i),s+=c):(a=e*Math.pow(2,c-1)*Math.pow(2,i),s=0));i>=8;t[r+p]=255&a,p+=d,a/=256,i-=8);for(s=s<0;t[r+p]=255&s,p+=d,s/=256,u-=8);t[r+p-d]|=128*m}},function(t,e){var r={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}},function(t,e,r){t.exports=r(24)},function(t,e,r){"use strict";var n=r(0),i=r(5),o=r(26),s=r(2);function a(t){var e=new o(t),r=i(o.prototype.request,e);return n.extend(r,o.prototype,e),n.extend(r,e),r}var f=a(s);f.Axios=o,f.create=function(t){return a(n.merge(s,t))},f.Cancel=r(10),f.CancelToken=r(40),f.isCancel=r(9),f.all=function(t){return Promise.all(t)},f.spread=r(41),t.exports=f,t.exports.default=f},function(t,e){function r(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)} -/*! - * Determine if an object is a Buffer - * - * @author Feross Aboukhadijeh - * @license MIT - */ -t.exports=function(t){return null!=t&&(r(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&r(t.slice(0,0))}(t)||!!t._isBuffer)}},function(t,e,r){"use strict";var n=r(2),i=r(0),o=r(35),s=r(36);function a(t){this.defaults=t,this.interceptors={request:new o,response:new o}}a.prototype.request=function(t){"string"==typeof t&&(t=i.merge({url:arguments[0]},arguments[1])),(t=i.merge(n,{method:"get"},this.defaults,t)).method=t.method.toLowerCase();var e=[s,void 0],r=Promise.resolve(t);for(this.interceptors.request.forEach(function(t){e.unshift(t.fulfilled,t.rejected)}),this.interceptors.response.forEach(function(t){e.push(t.fulfilled,t.rejected)});e.length;)r=r.then(e.shift(),e.shift());return r},i.forEach(["delete","get","head","options"],function(t){a.prototype[t]=function(e,r){return this.request(i.merge(r||{},{method:t,url:e}))}}),i.forEach(["post","put","patch"],function(t){a.prototype[t]=function(e,r,n){return this.request(i.merge(n||{},{method:t,url:e,data:r}))}}),t.exports=a},function(t,e,r){"use strict";var n=r(0);t.exports=function(t,e){n.forEach(t,function(r,n){n!==e&&n.toUpperCase()===e.toUpperCase()&&(t[e]=r,delete t[n])})}},function(t,e,r){"use strict";var n=r(8);t.exports=function(t,e,r){var i=r.config.validateStatus;r.status&&i&&!i(r.status)?e(n("Request failed with status code "+r.status,r.config,null,r.request,r)):t(r)}},function(t,e,r){"use strict";t.exports=function(t,e,r,n,i){return t.config=e,r&&(t.code=r),t.request=n,t.response=i,t}},function(t,e,r){"use strict";var n=r(0);function i(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,e,r){if(!e)return t;var o;if(r)o=r(e);else if(n.isURLSearchParams(e))o=e.toString();else{var s=[];n.forEach(e,function(t,e){null!=t&&(n.isArray(t)?e+="[]":t=[t],n.forEach(t,function(t){n.isDate(t)?t=t.toISOString():n.isObject(t)&&(t=JSON.stringify(t)),s.push(i(e)+"="+i(t))}))}),o=s.join("&")}return o&&(t+=(-1===t.indexOf("?")?"?":"&")+o),t}},function(t,e,r){"use strict";var n=r(0),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,r,o,s={};return t?(n.forEach(t.split("\n"),function(t){if(o=t.indexOf(":"),e=n.trim(t.substr(0,o)).toLowerCase(),r=n.trim(t.substr(o+1)),e){if(s[e]&&i.indexOf(e)>=0)return;s[e]="set-cookie"===e?(s[e]?s[e]:[]).concat([r]):s[e]?s[e]+", "+r:r}}),s):s}},function(t,e,r){"use strict";var n=r(0);t.exports=n.isStandardBrowserEnv()?function(){var t,e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function i(t){var n=t;return e&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return t=i(window.location.href),function(e){var r=n.isString(e)?i(e):e;return r.protocol===t.protocol&&r.host===t.host}}():function(){return!0}},function(t,e,r){"use strict";var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function i(){this.message="String contains an invalid character"}i.prototype=new Error,i.prototype.code=5,i.prototype.name="InvalidCharacterError",t.exports=function(t){for(var e,r,o=String(t),s="",a=0,f=n;o.charAt(0|a)||(f="=",a%1);s+=f.charAt(63&e>>8-a%1*8)){if((r=o.charCodeAt(a+=.75))>255)throw new i;e=e<<8|r}return s}},function(t,e,r){"use strict";var n=r(0);t.exports=n.isStandardBrowserEnv()?{write:function(t,e,r,i,o,s){var a=[];a.push(t+"="+encodeURIComponent(e)),n.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),n.isString(i)&&a.push("path="+i),n.isString(o)&&a.push("domain="+o),!0===s&&a.push("secure"),document.cookie=a.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(t,e,r){"use strict";var n=r(0);function i(){this.handlers=[]}i.prototype.use=function(t,e){return this.handlers.push({fulfilled:t,rejected:e}),this.handlers.length-1},i.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},i.prototype.forEach=function(t){n.forEach(this.handlers,function(e){null!==e&&t(e)})},t.exports=i},function(t,e,r){"use strict";var n=r(0),i=r(37),o=r(9),s=r(2),a=r(38),f=r(39);function u(t){t.cancelToken&&t.cancelToken.throwIfRequested()}t.exports=function(t){return u(t),t.baseURL&&!a(t.url)&&(t.url=f(t.baseURL,t.url)),t.headers=t.headers||{},t.data=i(t.data,t.headers,t.transformRequest),t.headers=n.merge(t.headers.common||{},t.headers[t.method]||{},t.headers||{}),n.forEach(["delete","get","head","post","put","patch","common"],function(e){delete t.headers[e]}),(t.adapter||s.adapter)(t).then(function(e){return u(t),e.data=i(e.data,e.headers,t.transformResponse),e},function(e){return o(e)||(u(t),e&&e.response&&(e.response.data=i(e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)})}},function(t,e,r){"use strict";var n=r(0);t.exports=function(t,e,r){return n.forEach(r,function(r){t=r(t,e)}),t}},function(t,e,r){"use strict";t.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)}},function(t,e,r){"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},function(t,e,r){"use strict";var n=r(10);function i(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise(function(t){e=t});var r=this;t(function(t){r.reason||(r.reason=new n(t),e(r.reason))})}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.source=function(){var t;return{token:new i(function(e){t=e}),cancel:t}},t.exports=i},function(t,e,r){"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},function(t,e,r){t.exports=r(43).gunzipSync},function(t,e,r){(function(t,r){/** @license zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License */ -(function(){"use strict";function n(t){throw t}var i=void 0,o=!0,s="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array&&"undefined"!=typeof DataView;function a(t,e){this.index="number"==typeof e?e:0,this.m=0,this.buffer=t instanceof(s?Uint8Array:Array)?t:new(s?Uint8Array:Array)(32768),2*this.buffer.length<=this.index&&n(Error("invalid index")),this.buffer.length<=this.index&&this.f()}a.prototype.f=function(){var t,e=this.buffer,r=e.length,n=new(s?Uint8Array:Array)(r<<1);if(s)n.set(e);else for(t=0;t>>8&255]<<16|p[t>>>16&255]<<8|p[t>>>24&255])>>32-e:p[t]>>8-e),8>e+s)a=a<>e-n-1&1,8==++s&&(s=0,i[o++]=p[a],a=0,o===i.length&&(i=this.f()));i[o]=a,this.buffer=i,this.m=s,this.index=o},a.prototype.finish=function(){var t,e=this.buffer,r=this.index;return 0f;++f){for(var h=l=f,c=7,l=l>>>1;l;l>>>=1)h<<=1,h|=1&l,--c;u[f]=(h<>>0}var p=u;function d(t,e,r){var n,i="number"==typeof e?e:e=0,o="number"==typeof r?r:t.length;for(n=-1,i=7&o;i--;++e)n=n>>>8^g[255&(n^t[e])];for(i=o>>3;i--;e+=8)n=(n=(n=(n=(n=(n=(n=(n=n>>>8^g[255&(n^t[e])])>>>8^g[255&(n^t[e+1])])>>>8^g[255&(n^t[e+2])])>>>8^g[255&(n^t[e+3])])>>>8^g[255&(n^t[e+4])])>>>8^g[255&(n^t[e+5])])>>>8^g[255&(n^t[e+6])])>>>8^g[255&(n^t[e+7])];return(4294967295^n)>>>0}var m=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],g=s?new Uint32Array(m):m;function A(){}function y(t){this.buffer=new(s?Uint16Array:Array)(2*t),this.length=0}function b(t){var e,r,n,i,o,a,f,u,h,c,l=t.length,p=0,d=Number.POSITIVE_INFINITY;for(u=0;up&&(p=t[u]),t[u]>=1;for(c=n<<16|u,h=a;ho[n]);)i=o[r],o[r]=o[n],o[n]=i,i=o[r+1],o[r+1]=o[n+1],o[n+1]=i,r=n;return this.length},y.prototype.pop=function(){var t,e,r,n,i,o=this.buffer;for(e=o[0],t=o[1],this.length-=2,o[0]=o[this.length],o[1]=o[this.length+1],i=0;!((n=2*i+2)>=this.length)&&(n+2o[n]&&(n+=2),o[n]>o[i]);)r=o[i],o[i]=o[n],o[n]=r,r=o[i+1],o[i+1]=o[n+1],o[n+1]=r,i=n;return{index:t,value:e,length:this.length}};var w,x=2,_={NONE:0,L:1,t:x,X:3},E=[];for(w=0;288>w;w++)switch(o){case 143>=w:E.push([w+48,8]);break;case 255>=w:E.push([w-144+400,9]);break;case 279>=w:E.push([w-256+0,7]);break;case 287>=w:E.push([w-280+192,8]);break;default:n("invalid literal: "+w)}function S(t,e){this.length=t,this.N=e}v.prototype.h=function(){var t,e,r,f,u=this.input;switch(this.k){case 0:for(r=0,f=u.length;r>>8&255,A[y++]=255&l,A[y++]=l>>>8&255,s)A.set(p,y),y+=p.length,A=A.subarray(0,y);else{for(m=0,g=p.length;mX)for(;0X?X:138)>X-3&&Z=Z?(rt[J++]=17,rt[J++]=Z-3,nt[17]++):(rt[J++]=18,rt[J++]=Z-11,nt[18]++),X-=Z;else if(rt[J++]=et[H],nt[et[H]]++,3>--X)for(;0X?X:6)>X-3&&ZF;F++)V[F]=N[W[F]];for(k=19;4=t:return[265,t-11,1];case 14>=t:return[266,t-13,1];case 16>=t:return[267,t-15,1];case 18>=t:return[268,t-17,1];case 22>=t:return[269,t-19,2];case 26>=t:return[270,t-23,2];case 30>=t:return[271,t-27,2];case 34>=t:return[272,t-31,2];case 42>=t:return[273,t-35,3];case 50>=t:return[274,t-43,3];case 58>=t:return[275,t-51,3];case 66>=t:return[276,t-59,3];case 82>=t:return[277,t-67,4];case 98>=t:return[278,t-83,4];case 114>=t:return[279,t-99,4];case 130>=t:return[280,t-115,4];case 162>=t:return[281,t-131,5];case 194>=t:return[282,t-163,5];case 226>=t:return[283,t-195,5];case 257>=t:return[284,t-227,5];case 258===t:return[285,t-258,0];default:n("invalid length: "+t)}}var e,r,i=[];for(e=3;258>=e;e++)r=t(e),i[e]=r[2]<<24|r[1]<<16|r[0];return i}(),U=s?new Uint32Array(I):I;function T(t,e){function r(t,e){var r,i,s,a,f=t.N,u=[],h=0;switch(r=U[t.length],u[h++]=65535&r,u[h++]=r>>16&255,u[h++]=r>>24,o){case 1===f:i=[0,f-1,0];break;case 2===f:i=[1,f-2,0];break;case 3===f:i=[2,f-3,0];break;case 4===f:i=[3,f-4,0];break;case 6>=f:i=[4,f-5,1];break;case 8>=f:i=[5,f-7,1];break;case 12>=f:i=[6,f-9,2];break;case 16>=f:i=[7,f-13,2];break;case 24>=f:i=[8,f-17,3];break;case 32>=f:i=[9,f-25,3];break;case 48>=f:i=[10,f-33,4];break;case 64>=f:i=[11,f-49,4];break;case 96>=f:i=[12,f-65,5];break;case 128>=f:i=[13,f-97,5];break;case 192>=f:i=[14,f-129,6];break;case 256>=f:i=[15,f-193,6];break;case 384>=f:i=[16,f-257,7];break;case 512>=f:i=[17,f-385,7];break;case 768>=f:i=[18,f-513,8];break;case 1024>=f:i=[19,f-769,8];break;case 1536>=f:i=[20,f-1025,9];break;case 2048>=f:i=[21,f-1537,9];break;case 3072>=f:i=[22,f-2049,10];break;case 4096>=f:i=[23,f-3073,10];break;case 6144>=f:i=[24,f-4097,11];break;case 8192>=f:i=[25,f-6145,11];break;case 12288>=f:i=[26,f-8193,12];break;case 16384>=f:i=[27,f-12289,12];break;case 24576>=f:i=[28,f-16385,13];break;case 32768>=f:i=[29,f-24577,13];break;default:n("invalid distance")}for(r=i,u[h++]=r[0],u[h++]=r[1],u[h++]=r[2],s=0,a=u.length;s=u;)v[u++]=0;for(u=0;29>=u;)w[u++]=0}for(v[256]=1,a=0,f=e.length;a=f){for(d&&r(d,-1),u=0,h=f-a;uo&&e+ou&&(i=n,u=o),258===o)break}return new S(u,e-i)}function R(t,e){var r,n,i,o,a,f=t.length,u=new y(572),h=new(s?Uint8Array:Array)(f);if(!s)for(o=0;o2*h[o-1]+c[o]&&(h[o]=2*h[o-1]+c[o]),p[o]=Array(h[o]),d[o]=Array(h[o]);for(i=0;it[i]?(p[o][a]=f,d[o][a]=e,u+=2):(p[o][a]=t[i],d[o][a]=i,++i);m[o]=0,1===c[o]&&n(o)}return l}(n,n.length,e),o=0,a=r.length;o>>=1;return o}function P(t,e){this.input=t,this.b=this.c=0,this.g={},e&&(e.flags&&(this.g=e.flags),"string"==typeof e.filename&&(this.filename=e.filename),"string"==typeof e.comment&&(this.w=e.comment),e.deflateOptions&&(this.l=e.deflateOptions)),this.l||(this.l={})}P.prototype.h=function(){var t,e,r,n,o,a,f,u,h=new(s?Uint8Array:Array)(32768),c=0,l=this.input,p=this.c,m=this.filename,g=this.w;if(h[c++]=31,h[c++]=139,h[c++]=8,t=0,this.g.fname&&(t|=j),this.g.fcomment&&(t|=C),this.g.fhcrc&&(t|=L),h[c++]=t,e=(Date.now?Date.now():+new Date)/1e3|0,h[c++]=255&e,h[c++]=e>>>8&255,h[c++]=e>>>16&255,h[c++]=e>>>24&255,h[c++]=0,h[c++]=k,this.g.fname!==i){for(f=0,u=m.length;f>>8&255),h[c++]=255&a;h[c++]=0}if(this.g.comment){for(f=0,u=g.length;f>>8&255),h[c++]=255&a;h[c++]=0}return this.g.fhcrc&&(r=65535&d(h,0,c),h[c++]=255&r,h[c++]=r>>>8&255),this.l.outputBuffer=h,this.l.outputIndex=c,h=(o=new v(l,this.l)).h(),c=o.b,s&&(c+8>h.buffer.byteLength?(this.a=new Uint8Array(c+8),this.a.set(new Uint8Array(h.buffer)),h=this.a):h=new Uint8Array(h.buffer)),n=d(l,i,i),h[c++]=255&n,h[c++]=n>>>8&255,h[c++]=n>>>16&255,h[c++]=n>>>24&255,u=l.length,h[c++]=255&u,h[c++]=u>>>8&255,h[c++]=u>>>16&255,h[c++]=u>>>24&255,this.c=p,s&&c>>=1){case 0:var e=this.input,r=this.c,a=this.a,f=this.b,u=e.length,h=i,c=a.length,l=i;switch(this.e=this.j=0,r+1>=u&&n(Error("invalid uncompressed block header: LEN")),h=e[r++]|e[r++]<<8,r+1>=u&&n(Error("invalid uncompressed block header: NLEN")),h===~(e[r++]|e[r++]<<8)&&n(Error("invalid uncompressed block header: length verify")),r+h>e.length&&n(Error("input buffer is broken")),this.q){case N:for(;f+h>a.length;){if(h-=l=c-f,s)a.set(e.subarray(r,r+l),f),f+=l,r+=l;else for(;l--;)a[f++]=e[r++];this.b=f,a=this.f(),f=this.b}break;case D:for(;f+h>a.length;)a=this.f({B:2});break;default:n(Error("invalid inflate mode"))}if(s)a.set(e.subarray(r,r+h),f),f+=h,r+=h;else for(;h--;)a[f++]=e[r++];this.c=r,this.b=f,this.a=a;break;case 1:this.r(et,nt);break;case 2:var p,d,m,g,A=it(this,5)+257,y=it(this,5)+1,v=it(this,4)+4,w=new(s?Uint8Array:Array)(G.length),x=i,_=i,E=i,S=i,I=i;for(I=0;I=z?8:255>=z?9:279>=z?7:8;var $,tt,et=b(Z),rt=new(s?Uint8Array:Array)(30);for($=0,tt=rt.length;$=f&&n(Error("input buffer is broken")),i|=s[a++]<>>e,t.e=o-e,t.c=a,r}function ot(t,e){for(var r,i,o=t.j,s=t.e,a=t.input,f=t.c,u=a.length,h=e[0],c=e[1];s=u);)o|=a[f++]<>>16)>s&&n(Error("invalid code length: "+i)),t.j=o>>i,t.e=s-i,t.c=f,65535&r}function st(t){this.input=t,this.c=0,this.G=[],this.R=!1}function at(t){if("string"==typeof t){var e,r,n=t.split("");for(e=0,r=n.length;e>>0;t=n}for(var i,o=1,s=0,a=t.length,f=0;0>>0}function ft(t,e){var r,i;switch(this.input=t,this.c=0,!e&&(e={})||(e.index&&(this.c=e.index),e.verify&&(this.V=e.verify)),r=t[this.c++],i=t[this.c++],15&r){case ut:this.method=ut;break;default:n(Error("unsupported compression method"))}0!=((r<<8)+i)%31&&n(Error("invalid fcheck flag:"+((r<<8)+i)%31)),32&i&&n(Error("fdict flag is not supported")),this.J=new M(t,{index:this.c,bufferSize:e.bufferSize,bufferType:e.bufferType,resize:e.resize})}M.prototype.r=function(t,e){var r=this.a,n=this.b;this.A=t;for(var i,o,s,a,f=r.length-258;256!==(i=ot(this,t));)if(256>i)n>=f&&(this.b=n,r=this.f(),n=this.b),r[n++]=i;else for(a=W[o=i-257],0=f&&(this.b=n,r=this.f(),n=this.b);a--;)r[n]=r[n++-s];for(;8<=this.e;)this.e-=8,this.c--;this.b=n},M.prototype.Q=function(t,e){var r=this.a,n=this.b;this.A=t;for(var i,o,s,a,f=r.length;256!==(i=ot(this,t));)if(256>i)n>=f&&(f=(r=this.f()).length),r[n++]=i;else for(a=W[o=i-257],0f&&(f=(r=this.f()).length);a--;)r[n]=r[n++-s];for(;8<=this.e;)this.e-=8,this.c--;this.b=n},M.prototype.f=function(){var t,e,r=new(s?Uint8Array:Array)(this.b-32768),n=this.b-32768,i=this.a;if(s)r.set(i.subarray(32768,r.length));else for(t=0,e=r.length;tt;++t)i[t]=i[n+t];return this.b=32768,i},M.prototype.S=function(t){var e,r,n,i=this.input.length/this.c+1|0,o=this.input,a=this.a;return t&&("number"==typeof t.B&&(i=t.B),"number"==typeof t.M&&(i+=t.M)),2>i?r=(n=(o.length-this.c)/this.A[2]/2*258|0)e&&(this.a.length=e),t=this.a),this.buffer=t},st.prototype.i=function(){for(var t=this.input.length;this.c>>0,d(e,i,i)!==m&&n(Error("invalid CRC-32 checksum: 0x"+d(e,i,i).toString(16)+" / 0x"+m.toString(16))),a.Z=f=(g[y++]|g[y++]<<8|g[y++]<<16|g[y++]<<24)>>>0,(4294967295&e.length)!==f&&n(Error("invalid input size: "+(4294967295&e.length)+" / "+f)),this.G.push(a),this.c=y}this.R=o;var b,v,w,x=this.G,_=0,E=0;for(b=0,v=x.length;b>>0!==at(t)&&n(Error("invalid adler-32 checksum"))),t};var ut=8;function ht(t,e){this.input=t,this.a=new(s?Uint8Array:Array)(32768),this.k=ct.t;var r,n={};for(r in!e&&(e={})||"number"!=typeof e.compressionType||(this.k=e.compressionType),e)n[r]=e[r];n.outputBuffer=this.a,this.I=new v(this.input,n)}var ct=_;function lt(t,e){var r;return r=new ht(t).h(),e||(e={}),e.H?r:gt(r)}function pt(t,e){var r;return t.subarray=t.slice,r=new ft(t).i(),e||(e={}),e.noBuffer?r:gt(r)}function dt(t,e){var r;return t.subarray=t.slice,r=new P(t).h(),e||(e={}),e.H?r:gt(r)}function mt(t,e){var r;return t.subarray=t.slice,r=new st(t).i(),e||(e={}),e.H?r:gt(r)}function gt(t){var e,n,i=new r(t.length);for(e=0,n=t.length;e>24&255,f[u++]=a>>16&255,f[u++]=a>>8&255,f[u++]=255&a,f},e.deflate=function(e,r,n){t.nextTick(function(){var t,i;try{i=lt(e,n)}catch(e){t=e}r(t,i)})},e.deflateSync=lt,e.inflate=function(e,r,n){t.nextTick(function(){var t,i;try{i=pt(e,n)}catch(e){t=e}r(t,i)})},e.inflateSync=pt,e.gzip=function(e,r,n){t.nextTick(function(){var t,i;try{i=dt(e,n)}catch(e){t=e}r(t,i)})},e.gzipSync=dt,e.gunzip=function(e,r,n){t.nextTick(function(){var t,i;try{i=mt(e,n)}catch(e){t=e}r(t,i)})},e.gunzipSync=mt}).call(this)}).call(this,r(6),r(1).Buffer)},function(t,e,r){(function(e){function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=[],n=!0,i=!1,o=void 0;try{for(var s,a=t[Symbol.iterator]();!(n=(s=a.next()).done)&&(r.push(s.value),!e||r.length!==e);n=!0);}catch(t){i=!0,o=t}finally{try{n||null==a.return||a.return()}finally{if(i)throw o}}return r}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var i=r(45),o=r(4);t.exports=function(t,r){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:70,a=e.from(r),f=o(a),u=0,h=null,c=null,l=0,p=0;if(f&&"image/bmp"===f.mime){var d=i.decode(a);h=t._malloc(d.data.length*Uint8Array.BYTES_PER_ELEMENT),t.HEAPU8.set(d.data,h),l=d.width,p=d.height,u=4}else{var m=t._malloc(a.length*Uint8Array.BYTES_PER_ELEMENT);t.HEAPU8.set(a,m),c=t._pixReadMem(m,a.length),0===t.getValue(c+28,"i32")&&t.setValue(c+28,s,"i32");var g=n(Array(2).fill(0).map(function(e,r){return t.getValue(c+4*r,"i32")}),2);l=g[0],p=g[1]}return{w:l,h:p,bytesPerPixel:u,data:h,pix:c}}}).call(this,r(1).Buffer)},function(t,e,r){var n=r(46),i=r(47);t.exports={encode:n,decode:i}},function(t,e,r){(function(e){function r(t){this.buffer=t.data,this.width=t.width,this.height=t.height,this.extraBytes=this.width%4,this.rgbSize=this.height*(3*this.width+this.extraBytes),this.headerInfoSize=40,this.data=[],this.flag="BM",this.reserved=0,this.offset=54,this.fileSize=this.rgbSize+this.offset,this.planes=1,this.bitPP=24,this.compress=0,this.hr=0,this.vr=0,this.colors=0,this.importantColors=0}r.prototype.encode=function(){var t=new e(this.offset+this.rgbSize);this.pos=0,t.write(this.flag,this.pos,2),this.pos+=2,t.writeUInt32LE(this.fileSize,this.pos),this.pos+=4,t.writeUInt32LE(this.reserved,this.pos),this.pos+=4,t.writeUInt32LE(this.offset,this.pos),this.pos+=4,t.writeUInt32LE(this.headerInfoSize,this.pos),this.pos+=4,t.writeUInt32LE(this.width,this.pos),this.pos+=4,t.writeInt32LE(-this.height,this.pos),this.pos+=4,t.writeUInt16LE(this.planes,this.pos),this.pos+=2,t.writeUInt16LE(this.bitPP,this.pos),this.pos+=2,t.writeUInt32LE(this.compress,this.pos),this.pos+=4,t.writeUInt32LE(this.rgbSize,this.pos),this.pos+=4,t.writeUInt32LE(this.hr,this.pos),this.pos+=4,t.writeUInt32LE(this.vr,this.pos),this.pos+=4,t.writeUInt32LE(this.colors,this.pos),this.pos+=4,t.writeUInt32LE(this.importantColors,this.pos),this.pos+=4;for(var r=0,n=3*this.width+this.extraBytes,i=0;i0){var a=this.pos+i*n+3*this.width;t.fill(0,a,a+this.extraBytes)}}return t},t.exports=function(t,e){return void 0===e&&(e=100),{data:new r(t).encode(),width:t.width,height:t.height}}}).call(this,r(1).Buffer)},function(t,e,r){(function(e){function r(t,e){if(this.pos=0,this.buffer=t,this.is_with_alpha=!!e,this.bottom_up=!0,this.flag=this.buffer.toString("utf-8",0,this.pos+=2),"BM"!=this.flag)throw new Error("Invalid BMP File");this.parseHeader(),this.parseRGBA()}r.prototype.parseHeader=function(){if(this.fileSize=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.reserved=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.offset=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.headerSize=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.width=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.height=this.buffer.readInt32LE(this.pos),this.pos+=4,this.planes=this.buffer.readUInt16LE(this.pos),this.pos+=2,this.bitPP=this.buffer.readUInt16LE(this.pos),this.pos+=2,this.compress=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.rawSize=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.hr=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.vr=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.colors=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.importantColors=this.buffer.readUInt32LE(this.pos),this.pos+=4,16===this.bitPP&&this.is_with_alpha&&(this.bitPP=15),this.bitPP<15){var t=0===this.colors?1<=0?this.height-1:-this.height;for(r=this.height-1;r>=0;r--){for(var n=this.bottom_up?r:this.height-1-r,i=0;i>7-a&1];this.data[s+4*a]=0,this.data[s+4*a+1]=f.blue,this.data[s+4*a+2]=f.green,this.data[s+4*a+3]=f.red}0!=e&&(this.pos+=4-e)}},r.prototype.bit4=function(){if(2==this.compress){var t=function(t){var r=this.palette[t];this.data[e]=0,this.data[e+1]=r.blue,this.data[e+2]=r.green,this.data[e+3]=r.red,e+=4};this.data.fill(255);for(var e=0,r=this.bottom_up?this.height-1:0,n=!1;e>4),1&u&&u+1>1&1)&&this.pos++}}else for(u=0;u>4),n=!n}}else{var h=Math.ceil(this.width/2),c=h%4;for(a=this.height-1;a>=0;a--){var l=this.bottom_up?a:this.height-1-a;for(s=0;s>4,d=15&o,m=this.palette[p];if(this.data[e]=0,this.data[e+1]=m.blue,this.data[e+2]=m.green,this.data[e+3]=m.red,2*s+1>=this.width)break;m=this.palette[d],this.data[e+4]=0,this.data[e+4+1]=m.blue,this.data[e+4+2]=m.green,this.data[e+4+3]=m.red}0!=c&&(this.pos+=4-c)}}},r.prototype.bit8=function(){if(1==this.compress){var t=function(t){var r=this.palette[t];this.data[e]=0,this.data[e+1]=r.blue,this.data[e+2]=r.green,this.data[e+3]=r.red,e+=4};this.data.fill(255);for(var e=0,r=this.bottom_up?this.height-1:0;e=0;s--){var h=this.bottom_up?s:this.height-1-s;for(o=0;o=0;r--){for(var n=this.bottom_up?r:this.height-1-r,i=0;i>5&e)/e*255|0,f=(o>>10&e)/e*255|0,u=o>>15?255:0,h=n*this.width*4+4*i;this.data[h]=u,this.data[h+1]=s,this.data[h+2]=a,this.data[h+3]=f}this.pos+=t}},r.prototype.bit16=function(){var t=this.width%2*2;this.maskRed=31744,this.maskGreen=992,this.maskBlue=31,this.mask0=0,3==this.compress&&(this.maskRed=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.maskGreen=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.maskBlue=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.mask0=this.buffer.readUInt32LE(this.pos),this.pos+=4);for(var e=[0,0,0],r=0;r<16;r++)this.maskRed>>r&1&&e[0]++,this.maskGreen>>r&1&&e[1]++,this.maskBlue>>r&1&&e[2]++;e[1]+=e[0],e[2]+=e[1],e[0]=8-e[0],e[1]-=8,e[2]-=8;for(var n=this.height-1;n>=0;n--){for(var i=this.bottom_up?n:this.height-1-n,o=0;o>e[1],u=(s&this.maskRed)>>e[2],h=i*this.width*4+4*o;this.data[h]=0,this.data[h+1]=a,this.data[h+2]=f,this.data[h+3]=u}this.pos+=t}},r.prototype.bit24=function(){for(var t=this.height-1;t>=0;t--){for(var e=this.bottom_up?t:this.height-1-t,r=0;r=0;t--)for(var e=this.bottom_up?t:this.height-1-t,r=0;r=0;t--)for(e=this.bottom_up?t:this.height-1-t,r=0;r0){var y=g.get_n(),b=g.get_x(),v=g.get_y();A=[];for(var w=0;w Date: Wed, 27 May 2020 15:34:45 +0100 Subject: [PATCH 066/754] 9.20.5 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0368b5f2..6c89333c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.20.4", + "version": "9.20.5", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 9d82c4f1..17dbd9d3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.20.4", + "version": "9.20.5", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 738ee3395958825c64d8297d0e368f929a22ff5b Mon Sep 17 00:00:00 2001 From: Matthieu Date: Tue, 12 May 2020 22:30:11 +0200 Subject: [PATCH 067/754] Fix bug in Normalise Unicode operation: replace nfc by nfkc --- src/core/operations/NormaliseUnicode.mjs | 2 +- tests/operations/tests/NormaliseUnicode.mjs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/operations/NormaliseUnicode.mjs b/src/core/operations/NormaliseUnicode.mjs index 7de8625f..80d3be3c 100644 --- a/src/core/operations/NormaliseUnicode.mjs +++ b/src/core/operations/NormaliseUnicode.mjs @@ -51,7 +51,7 @@ class NormaliseUnicode extends Operation { case "NFKD": return unorm.nfkd(input); case "NFKC": - return unorm.nfc(input); + return unorm.nfkc(input); default: throw new OperationError("Unknown Normalisation Form"); } diff --git a/tests/operations/tests/NormaliseUnicode.mjs b/tests/operations/tests/NormaliseUnicode.mjs index 78a41845..1166be7d 100644 --- a/tests/operations/tests/NormaliseUnicode.mjs +++ b/tests/operations/tests/NormaliseUnicode.mjs @@ -42,7 +42,7 @@ TestRegister.addTests([ }, { name: "Normalise Unicode - NFKC", input: "\u00c7\u0043\u0327\u2160", - expectedMatch: /\u00C7\u00C7\u2160/, + expectedMatch: /\u00C7\u00C7I/, recipeConfig: [ { op: "Normalise Unicode", From 007224c92e65dd337689dde68c2022293f53a934 Mon Sep 17 00:00:00 2001 From: d98762625 Date: Wed, 27 May 2020 15:59:42 +0100 Subject: [PATCH 068/754] 9.20.6 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6c89333c..6ec7dfdf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.20.5", + "version": "9.20.6", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 17dbd9d3..3b2083e7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.20.5", + "version": "9.20.6", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 093512a55ab6f08464e69a951510baeaf40480ce Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 May 2020 15:11:47 +0000 Subject: [PATCH 069/754] Bump jquery from 3.4.1 to 3.5.0 Bumps [jquery](https://github.com/jquery/jquery) from 3.4.1 to 3.5.0. - [Release notes](https://github.com/jquery/jquery/releases) - [Commits](https://github.com/jquery/jquery/compare/3.4.1...3.5.0) Signed-off-by: dependabot[bot] --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6ec7dfdf..0731c9fc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7662,9 +7662,9 @@ "integrity": "sha512-9IXdWudL61npZjvLuVe/ktHiA41iE8qFyLB+4VDTblEsWBzeg8WQTlktdUK4CdncUqtUgUg0bbOmTE2bKBKaBQ==" }, "jquery": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz", - "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==" + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.0.tgz", + "integrity": "sha512-Xb7SVYMvygPxbFMpTFQiHh1J7HClEaThguL15N/Gg37Lri/qKyhRGZYzHRyLH8Stq3Aow0LsHO2O2ci86fCrNQ==" }, "js-base64": { "version": "2.5.2", diff --git a/package.json b/package.json index 3b2083e7..1231205f 100644 --- a/package.json +++ b/package.json @@ -114,7 +114,7 @@ "geodesy": "^1.1.3", "highlight.js": "^9.18.1", "jimp": "^0.9.5", - "jquery": "3.4.1", + "jquery": "3.5.0", "js-crc": "^0.2.0", "js-sha3": "^0.8.0", "jsesc": "^2.5.2", From a302df8f918628d14422b3b71d3814a7b58f4671 Mon Sep 17 00:00:00 2001 From: d98762625 Date: Thu, 28 May 2020 09:34:57 +0100 Subject: [PATCH 070/754] update bootstrap --- package-lock.json | 20 +++++--------------- package.json | 4 ++-- 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0731c9fc..b32b2e86 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2672,9 +2672,9 @@ "dev": true }, "bootstrap": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.4.1.tgz", - "integrity": "sha512-tbx5cHubwE6e2ZG7nqM3g/FZ5PQEDMWmMGNrCUBVRPHXTJaH7CBDdsLeu3eCh3B1tzAxTnAbtmrzvWEvT2NNEA==" + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.0.tgz", + "integrity": "sha512-Z93QoXvodoVslA+PWNdk23Hze4RBYIkpb5h8I2HY2Tu2h7A0LpAgLcyrhrSUyo2/Oxm2l1fRZPs1e5hnxnliXA==" }, "bootstrap-colorpicker": { "version": "3.2.0", @@ -8750,8 +8750,7 @@ "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, - "optional": true + "dev": true }, "p-limit": { "version": "2.3.0", @@ -13307,7 +13306,6 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, - "optional": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -13326,7 +13324,6 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, - "optional": true, "requires": { "is-extendable": "^0.1.0" } @@ -13359,7 +13356,6 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, - "optional": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -13372,7 +13368,6 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, - "optional": true, "requires": { "is-extendable": "^0.1.0" } @@ -13427,15 +13422,13 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true, - "optional": true + "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, - "optional": true, "requires": { "kind-of": "^3.0.2" }, @@ -13445,7 +13438,6 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, - "optional": true, "requires": { "is-buffer": "^1.1.5" } @@ -13457,7 +13449,6 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, - "optional": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -13491,7 +13482,6 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, - "optional": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" diff --git a/package.json b/package.json index 1231205f..19692201 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "html-webpack-plugin": "^3.2.0", "imports-loader": "^0.8.0", "mini-css-extract-plugin": "^0.9.0", - "nightwatch": "^1.3.4", + "nightwatch": "^1.3.5", "node-sass": "^4.13.1", "postcss-css-variables": "^0.14.0", "postcss-import": "^12.0.1", @@ -92,7 +92,7 @@ "bcryptjs": "^2.4.3", "bignumber.js": "^9.0.0", "blakejs": "^1.1.0", - "bootstrap": "4.4.1", + "bootstrap": "4.5.0", "bootstrap-colorpicker": "^3.2.0", "bootstrap-material-design": "^4.1.2", "bson": "^4.0.3", From 616b38c6fb2010e19803a24bd86d52420e104710 Mon Sep 17 00:00:00 2001 From: d98762625 Date: Thu, 28 May 2020 09:50:22 +0100 Subject: [PATCH 071/754] 9.20.7 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index b32b2e86..3275d016 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.20.6", + "version": "9.20.7", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 19692201..163e1377 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.20.6", + "version": "9.20.7", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 7526f4d7b19c981affaab838ff7a6eeaaefe1894 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Mon, 1 Jun 2020 13:47:51 +0100 Subject: [PATCH 072/754] Generate Epoch Time Operation Added --- src/core/config/Categories.json | 1 + src/core/operations/GenerateCurrentEpoch.mjs | 49 ++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 src/core/operations/GenerateCurrentEpoch.mjs diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 77e3d319..dbc003e9 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -261,6 +261,7 @@ "Windows Filetime to UNIX Timestamp", "UNIX Timestamp to Windows Filetime", "Extract dates", + "Generate Current Epoch", "Sleep" ] }, diff --git a/src/core/operations/GenerateCurrentEpoch.mjs b/src/core/operations/GenerateCurrentEpoch.mjs new file mode 100644 index 00000000..a49ddc44 --- /dev/null +++ b/src/core/operations/GenerateCurrentEpoch.mjs @@ -0,0 +1,49 @@ +/** + * @author n1073645 [n1073645@gmail.com] + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; + +/** + * GenerateCurrentEpoch operation + */ +class GenerateCurrentEpoch extends Operation { + + /** + * GenerateCurrentEpoch constructor + */ + constructor() { + super(); + + this.name = "Generate Current Epoch"; + this.module = "Default"; + this.description = "Generates the current time(in seconds/milliseconds) since the UNIX epoch."; + this.infoURL = "https://wikipedia.org/wiki/Unix_time"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + name: "Granularity", + type: "option", + value: ["Milliseconds", "Seconds"] + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + if (args[0] === "Milliseconds") + return (new Date()).getTime().toString(); + else + return Math.round((new Date()).getTime() / 1000).toString(); + } + +} + +export default GenerateCurrentEpoch; From 939208903afb546e542888e94843eeeb18bc4746 Mon Sep 17 00:00:00 2001 From: d98762625 Date: Fri, 5 Jun 2020 12:26:17 +0100 Subject: [PATCH 073/754] Allow magic in node api --- src/node/api.mjs | 23 ++++++++++++++ tests/lib/TestRegister.mjs | 2 +- tests/node/tests/operations.mjs | 54 +++++++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+), 1 deletion(-) diff --git a/src/node/api.mjs b/src/node/api.mjs index 5733fb1d..1ac8e42b 100644 --- a/src/node/api.mjs +++ b/src/node/api.mjs @@ -191,7 +191,30 @@ export function _wrap(OpClass) { */ wrapped = async (input, args=null) => { const {transformedInput, transformedArgs} = prepareOp(opInstance, input, args); + + // SPECIAL CASE for Magic. + if (opInstance.flowControl) { + opInstance.ingValues = transformedArgs; + + const state = { + "progress": 0, + "dish": ensureIsDish(transformedInput), + "opList": [opInstance], + "numJumps": 0, + "numRegisters": 0, + "forkOffset": 0 + }; + + const updatedState = await opInstance.run(state); + + return new NodeDish({ + value: updatedState.dish.value, + type: opInstance.outputType, + }); + } + const result = await opInstance.run(transformedInput, transformedArgs); + return new NodeDish({ value: result, type: opInstance.outputType, diff --git a/tests/lib/TestRegister.mjs b/tests/lib/TestRegister.mjs index 0236fc9f..452f3f55 100644 --- a/tests/lib/TestRegister.mjs +++ b/tests/lib/TestRegister.mjs @@ -152,7 +152,7 @@ class TestRegister { result.status = "passing"; } catch (e) { result.status = "erroring"; - result.output = e.message; + result.output = `${e.message}\nError: ${e.stack}`; } testResults.push(result); diff --git a/tests/node/tests/operations.mjs b/tests/node/tests/operations.mjs index baf3f238..b85de4aa 100644 --- a/tests/node/tests/operations.mjs +++ b/tests/node/tests/operations.mjs @@ -1075,6 +1075,60 @@ ExifImageHeight: 57`); assert.equal(output, res.value); }), + it("performs MAGIC", async () => { + const input = "WUagwsiae6mP8gNtCCLUFpCpCB26RmBDoDD8PacdAmzAzBVjkK2QstFXaKhpC6iUS7RHqXrJtFisoRSgoJ4whjm1arm864qaNq4RcfUmLHrcsAaZc5TXCYifNdgS83gDeejGX46gaiMyuBV6EskHt1scgJ88x2tNSotQDwbGY1mmCob2ARGFvCKYNqiN9ipMq1ZU1mgkdbNuGcb76aRtYWhCGUc8g93UJudhb8htsheZnwTpgqhx83SVJSZXMXUjJT2zmpC7uXWtumqokbdSi88YtkWDAc1Toouh2oH4D4ddmNKJWUDpMwmngUmK14xwmomccPQE9hM172APnSqwxdKQ172RkcAsysnmj5gGtRmVNNh2s359wr6mS2QRP"; + const depth = 3; + + const res = await chef.magic(input, { + depth: 3 + }); + + // assert against the structure of the output, rather than the values. + assert.strictEqual(res.value.length, depth + 1); + res.value.forEach(row => { + assert.ok(row.recipe); + assert.ok(row.data); + assert.ok(row.languageScores); + assert.ok(Object.prototype.hasOwnProperty.call(row, "fileType")); // Can be null, so cannot just use ok + assert.ok(row.entropy); + assert.ok(row.matchingOps); + assert.ok(Object.prototype.hasOwnProperty.call(row, "useful")); + assert.ok(Object.prototype.hasOwnProperty.call(row, "matchesCrib")); + + row.recipe.forEach(item => { + assert.ok(Object.prototype.hasOwnProperty.call(item, "op"), `No 'op' property in item ${item}`); + assert.strictEqual(typeof item.op, "string"); + assert.ok(Object.prototype.hasOwnProperty.call(item, "args"), `No 'args' property in item ${item}`); + assert.ok(Array.isArray(item.args)); + }); + + row.languageScores.forEach(score => { + assert.ok(Object.prototype.hasOwnProperty.call(score, "lang"), `No 'lang' property in languageScore ${score}`); + assert.strictEqual(typeof score.lang, "string"); + assert.ok(Object.prototype.hasOwnProperty.call(score, "score"), `No 'score' property in languageScore ${score}`); + assert.strictEqual(typeof score.score, "number"); + assert.ok(Object.prototype.hasOwnProperty.call(score, "probability"), `No 'probability' property in languageScore ${score}`); + assert.strictEqual(typeof score.probability, "number"); + }); + + row.matchingOps.forEach(op => { + assert.ok(Object.prototype.hasOwnProperty.call(op, "op"), `No 'op' property in matchingOp ${JSON.stringify(op)}`); + assert.strictEqual(typeof op.op, "string"); + assert.ok(Object.prototype.hasOwnProperty.call(op, "pattern"), `No 'pattern' property in matchingOp ${JSON.stringify(op)}`); + assert.ok(op.pattern instanceof RegExp); + assert.ok(Object.prototype.hasOwnProperty.call(op, "args"), `No 'args' property in matchingOp ${JSON.stringify(op)}`); + assert.ok(Array.isArray(op.args)); + assert.ok(Object.prototype.hasOwnProperty.call(op, "useful"), `No 'useful' property in matchingOp ${JSON.stringify(op)}`); + assert.ifError(op.useful); // Expect this to be undefined + assert.ok(Object.prototype.hasOwnProperty.call(op, "entropyRange"), `No 'entropyRange' property in matchingOp ${JSON.stringify(op)}`); + assert.ifError(op.entropyRange); // Expect this to be undefined + assert.ok(Object.prototype.hasOwnProperty.call(op, "output"), `No 'output' property in matchingOp ${JSON.stringify(op)}`); + assert.ifError(op.output); // Expect this to be undefined + }); + }); + + }), + ]); From 53e69835ffb1eff5c41cc7bd0faf348bacf11e53 Mon Sep 17 00:00:00 2001 From: d98762625 Date: Fri, 5 Jun 2020 14:42:20 +0100 Subject: [PATCH 074/754] Formally disallow flowcontrol operations from being used in bake recipes --- src/node/NodeRecipe.mjs | 8 +- src/node/api.mjs | 37 +++--- src/node/config/scripts/generateNodeIndex.mjs | 5 +- tests/node/tests/nodeApi.mjs | 105 +++++++++--------- 4 files changed, 81 insertions(+), 74 deletions(-) diff --git a/src/node/NodeRecipe.mjs b/src/node/NodeRecipe.mjs index b623f611..e955f76e 100644 --- a/src/node/NodeRecipe.mjs +++ b/src/node/NodeRecipe.mjs @@ -28,16 +28,22 @@ class NodeRecipe { * @param {String | Function | Object} ing */ _validateIngredient(ing) { + // CASE operation name given. Find operation and validate if (typeof ing === "string") { const op = operations.find((op) => { return sanitise(op.opName) === sanitise(ing); }); if (op) { - return op; + return this._validateIngredient(op); } else { throw new TypeError(`Couldn't find an operation with name '${ing}'.`); } + // CASE operation given. Check its a chef operation and check its not flowcontrol } else if (typeof ing === "function") { + if (ing.flowControl) { + throw new TypeError(`flowControl operations like ${ing.opName} are not currently allowed in recipes for chef.bake`); + } + if (operations.includes(ing)) { return ing; } else { diff --git a/src/node/api.mjs b/src/node/api.mjs index 1ac8e42b..7a8f8fdc 100644 --- a/src/node/api.mjs +++ b/src/node/api.mjs @@ -177,6 +177,7 @@ export function _wrap(OpClass) { // Check to see if class's run function is async. const opInstance = new OpClass(); const isAsync = opInstance.run.constructor.name === "AsyncFunction"; + const isFlowControl = opInstance.flowControl; let wrapped; @@ -192,8 +193,9 @@ export function _wrap(OpClass) { wrapped = async (input, args=null) => { const {transformedInput, transformedArgs} = prepareOp(opInstance, input, args); - // SPECIAL CASE for Magic. - if (opInstance.flowControl) { + // SPECIAL CASE for Magic. Other flowControl operations will + // not work because the opList is not passed through. + if (isFlowControl) { opInstance.ingValues = transformedArgs; const state = { @@ -241,6 +243,8 @@ export function _wrap(OpClass) { // used in chef.help wrapped.opName = OpClass.name; wrapped.args = createArgInfo(opInstance); + // Used in NodeRecipe to check for flowControl ops + wrapped.flowControl = isFlowControl; return wrapped; } @@ -315,25 +319,18 @@ export function help(input) { /** - * bake [Wrapped] - Perform an array of operations on some input. - * @returns {Function} + * bake + * + * @param {*} input - some input for a recipe. + * @param {String | Function | String[] | Function[] | [String | Function]} recipeConfig - + * An operation, operation name, or an array of either. + * @returns {NodeDish} of the result + * @throws {TypeError} if invalid recipe given. */ -export function bake() { - - /** - * bake - * - * @param {*} input - some input for a recipe. - * @param {String | Function | String[] | Function[] | [String | Function]} recipeConfig - - * An operation, operation name, or an array of either. - * @returns {SyncDish} of the result - * @throws {TypeError} if invalid recipe given. - */ - return function(input, recipeConfig) { - const recipe = new NodeRecipe(recipeConfig); - const dish = ensureIsDish(input); - return recipe.execute(dish); - }; +export function bake(input, recipeConfig) { + const recipe = new NodeRecipe(recipeConfig); + const dish = ensureIsDish(input); + return recipe.execute(dish); } diff --git a/src/node/config/scripts/generateNodeIndex.mjs b/src/node/config/scripts/generateNodeIndex.mjs index 81ca8fe6..13c9a842 100644 --- a/src/node/config/scripts/generateNodeIndex.mjs +++ b/src/node/config/scripts/generateNodeIndex.mjs @@ -100,8 +100,7 @@ Object.keys(operations).forEach((op) => { code += `]; -const prebaked = bake(operations); -chef.bake = prebaked; +chef.bake = bake; export default chef; // Operations as top level exports. @@ -114,7 +113,7 @@ Object.keys(operations).forEach((op) => { }); code += " NodeDish as Dish,\n"; -code += " prebaked as bake,\n"; +code += " bake,\n"; code += " help,\n"; code += " OperationError,\n"; code += " ExcludedOperationError,\n"; diff --git a/tests/node/tests/nodeApi.mjs b/tests/node/tests/nodeApi.mjs index a4e907b8..2b413f45 100644 --- a/tests/node/tests/nodeApi.mjs +++ b/tests/node/tests/nodeApi.mjs @@ -13,10 +13,10 @@ import assert from "assert"; import it from "../assertionHandler.mjs"; import chef from "../../../src/node/index.mjs"; -import OperationError from "../../../src/core/errors/OperationError.mjs"; +import { OperationError, ExcludedOperationError } from "../../../src/core/errors/index.mjs"; import NodeDish from "../../../src/node/NodeDish.mjs"; -import { toBase32} from "../../../src/node/index.mjs"; +import { toBase32, magic} from "../../../src/node/index.mjs"; import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addApiTests([ @@ -181,22 +181,17 @@ TestRegister.addApiTests([ }), it("chef.bake: should complain if recipe isnt a valid object", () => { - try { - chef.bake("some input", 3264); - } catch (e) { - assert.strictEqual(e.name, "TypeError"); - assert.strictEqual(e.message, "Recipe can only contain function names or functions"); - } + assert.throws(() => chef.bake("some input", 3264), { + name: "TypeError", + message: "Recipe can only contain function names or functions" + }); }), it("chef.bake: Should complain if string op is invalid", () => { - try { - chef.bake("some input", "not a valid operation"); - assert.fail("Shouldn't be hit"); - } catch (e) { - assert.strictEqual(e.name, "TypeError"); - assert.strictEqual(e.message, "Couldn't find an operation with name 'not a valid operation'."); - } + assert.throws(() => chef.bake("some input", "not a valid operation"), { + name: "TypeError", + message: "Couldn't find an operation with name 'not a valid operation'." + }); }), it("chef.bake: Should take an input and an operation and perform it", () => { @@ -205,13 +200,10 @@ TestRegister.addApiTests([ }), it("chef.bake: Should complain if an invalid operation is inputted", () => { - try { - chef.bake("https://google.com/search?q=help", () => {}); - assert.fail("Shouldn't be hit"); - } catch (e) { - assert.strictEqual(e.name, "TypeError"); - assert.strictEqual(e.message, "Inputted function not a Chef operation."); - } + assert.throws(() => chef.bake("https://google.com/search?q=help", () => {}), { + name: "TypeError", + message: "Inputted function not a Chef operation." + }); }), it("chef.bake: accepts an array of operation names and performs them all in order", () => { @@ -241,12 +233,10 @@ TestRegister.addApiTests([ }), it("should complain if an invalid operation is inputted as part of array", () => { - try { - chef.bake("something", [() => {}]); - } catch (e) { - assert.strictEqual(e.name, "TypeError"); - assert.strictEqual(e.message, "Inputted function not a Chef operation."); - } + assert.throws(() => chef.bake("something", [() => {}]), { + name: "TypeError", + message: "Inputted function not a Chef operation." + }); }), it("chef.bake: should take single JSON object describing op and args OBJ", () => { @@ -275,15 +265,13 @@ TestRegister.addApiTests([ }), it("chef.bake: should error if op in JSON is not chef op", () => { - try { - chef.bake("some input", { - op: () => {}, - args: ["Colon"], - }); - } catch (e) { - assert.strictEqual(e.name, "TypeError"); - assert.strictEqual(e.message, "Inputted function not a Chef operation."); - } + assert.throws(() => chef.bake("some input", { + op: () => {}, + args: ["Colon"], + }), { + name: "TypeError", + message: "Inputted function not a Chef operation." + }); }), it("chef.bake: should take multiple ops in JSON object form, some ops by string", () => { @@ -357,22 +345,38 @@ TestRegister.addApiTests([ assert.strictEqual(result.toString(), "begin_something_aaaaaaaaaaaaaa_end_something"); }), - it("Excluded operations: throw a sensible error when you try and call one", () => { - try { - chef.fork(); - } catch (e) { - assert.strictEqual(e.type, "ExcludedOperationError"); - assert.strictEqual(e.message, "Sorry, the Fork operation is not available in the Node.js version of CyberChef."); - } + it("chef.bake: cannot accept flowControl operations in recipe", () => { + assert.throws(() => chef.bake("some input", "magic"), { + name: "TypeError", + message: "flowControl operations like Magic are not currently allowed in recipes for chef.bake" + }); + assert.throws(() => chef.bake("some input", magic), { + name: "TypeError", + message: "flowControl operations like Magic are not currently allowed in recipes for chef.bake" + }); + assert.throws(() => chef.bake("some input", ["to base 64", "magic"]), { + name: "TypeError", + message: "flowControl operations like Magic are not currently allowed in recipes for chef.bake" + }); }), it("Excluded operations: throw a sensible error when you try and call one", () => { - try { - chef.renderImage(); - } catch (e) { - assert.strictEqual(e.type, "ExcludedOperationError"); - assert.strictEqual(e.message, "Sorry, the RenderImage operation is not available in the Node.js version of CyberChef."); - } + assert.throws(chef.fork, + (err) => { + assert(err instanceof ExcludedOperationError); + assert.deepEqual(err.message, "Sorry, the Fork operation is not available in the Node.js version of CyberChef."); + return true; + }, + "Unexpected error type" + ); + assert.throws(chef.javaScriptBeautify, + (err) => { + assert(err instanceof ExcludedOperationError); + assert.deepEqual(err.message, "Sorry, the JavaScriptBeautify operation is not available in the Node.js version of CyberChef."); + return true; + }, + "Unexpected error type" + ); }), it("Operation arguments: should be accessible from operation object if op has array arg", () => { @@ -405,4 +409,5 @@ TestRegister.addApiTests([ assert.equal(chef.convertDistance.args.inputUnits.options[0], "Nanometres (nm)"); assert.equal(chef.defangURL.args.process.options[1], "Only full URLs"); }), + ]); From f007c093eb3820161ab801a83e94a9da45d4f961 Mon Sep 17 00:00:00 2001 From: hettysymes <59455170+hettysymes@users.noreply.github.com> Date: Sun, 12 Jan 2020 15:06:41 +0000 Subject: [PATCH 075/754] Emulation of the WW2 SIGABA machine I have created an emulation of the SIGABA machine and have tested it against some test data from a Master's thesis by Miao Ai: https://scholarworks.sjsu.edu/cgi/viewcontent.cgi?article=1237&context=etd_projects --- src/core/lib/SIGABA.mjs | 501 +++++++++++++++++++++++++++++++++ src/core/operations/SIGABA.mjs | 293 +++++++++++++++++++ 2 files changed, 794 insertions(+) create mode 100644 src/core/lib/SIGABA.mjs create mode 100644 src/core/operations/SIGABA.mjs diff --git a/src/core/lib/SIGABA.mjs b/src/core/lib/SIGABA.mjs new file mode 100644 index 00000000..c35eb3a5 --- /dev/null +++ b/src/core/lib/SIGABA.mjs @@ -0,0 +1,501 @@ +/** +Emulation of the SIGABA machine + +@author hettysymes +*/ + +/** +A set of randomised example SIGABA cipher/control rotors (these rotors are interchangeable). Cipher and control rotors can be referred to as C and R rotors respectively. +*/ + +export const CR_ROTORS = [ + {name: "Example 1", value: "SRGWANHPJZFXVIDQCEUKBYOLMT"}, + {name: "Example 2", value: "THQEFSAZVKJYULBODCPXNIMWRG"}, + {name: "Example 3", value: "XDTUYLEVFNQZBPOGIRCSMHWKAJ"}, + {name: "Example 4", value: "LOHDMCWUPSTNGVXYFJREQIKBZA"}, + {name: "Example 5", value: "ERXWNZQIJYLVOFUMSGHTCKPBDA"}, + {name: "Example 6", value: "FQECYHJIOUMDZVPSLKRTGWXBAN"}, + {name: "Example 7", value: "TBYIUMKZDJSOPEWXVANHLCFQGR"}, + {name: "Example 8", value: "QZUPDTFNYIAOMLEBWJXCGHKRSV"}, + {name: "Example 9", value: "CZWNHEMPOVXLKRSIDGJFYBTQAU"}, + {name: "Example 10", value: "ENPXJVKYQBFZTICAGMOHWRLDUS"} +]; + +/** +A set of randomised example SIGABA index rotors (may be referred to as I rotors). +*/ + +export const I_ROTORS = [ + {name: "Example 1", value: "6201348957"}, + {name: "Example 2", value: "6147253089"}, + {name: "Example 3", value: "8239647510"}, + {name: "Example 4", value: "7194835260"}, + {name: "Example 5", value: "4873205916"} +]; + +export const NUMBERS = "0123456789".split(""); + +/** +Converts a letter to uppercase (if it already isn't) + +@param {char} letter - letter to convert to upper case +@returns {char} +*/ +export function convToUpperCase(letter){ + const charCode = letter.charCodeAt(); + if (97<=charCode && charCode<=122){ + return String.fromCharCode(charCode-32); + } + return letter; +} + +/** +The SIGABA machine consisting of the 3 rotor banks: cipher, control and index banks. +*/ +export class SigabaMachine{ + /** + SigabaMachine constructor + + @param {Object[]} cipherRotors - list of CRRotors + @param {Object[]} controlRotors - list of CRRotors + @param {object[]} indexRotors - list of IRotors + */ + constructor(cipherRotors, controlRotors, indexRotors){ + this.cipherBank = new CipherBank(cipherRotors); + this.controlBank = new ControlBank(controlRotors); + this.indexBank = new IndexBank(indexRotors); + } + + /** + Steps all the correct rotors in the machine. + */ + step(){ + const controlOut = this.controlBank.goThroughControl(); + const indexOut = this.indexBank.goThroughIndex(controlOut); + this.cipherBank.step(indexOut); + } + + /** + Encrypts a letter. A space is converted to a "Z" before encryption, and a "Z" is converted to an "X". This allows spaces to be encrypted. + + @param {char} letter - letter to encrypt + @returns {char} + */ + encryptLetter(letter){ + letter = convToUpperCase(letter); + if (letter == " "){ + letter = "Z"; + } + else if (letter == "Z") { + letter = "X"; + } + const encryptedLetter = this.cipherBank.encrypt(letter); + this.step(); + return encryptedLetter; + } + + /** + Decrypts a letter. A letter decrypted as a "Z" is converted to a space before it is output, since spaces are converted to "Z"s before encryption. + + @param {char} letter - letter to decrypt + @returns {char} + */ + decryptLetter(letter){ + letter = convToUpperCase(letter); + let decryptedLetter = this.cipherBank.decrypt(letter); + if (decryptedLetter == "Z"){ + decryptedLetter = " "; + } + this.step(); + return decryptedLetter; + } + + /** + Encrypts a message of one or more letters + + @param {string} msg - message to encrypt + @returns {string} + */ + encrypt(msg){ + let ciphertext = ""; + for (const letter of msg){ + ciphertext = ciphertext.concat(this.encryptLetter(letter)); + } + return ciphertext; + } + + /** + Decrypts a message of one or more letters + + @param {string} msg - message to decrypt + @returns {string} + */ + decrypt(msg){ + let plaintext = ""; + for (const letter of msg){ + plaintext = plaintext.concat(this.decryptLetter(letter)); + } + return plaintext; + } + +} + +/** +The cipher rotor bank consists of 5 cipher rotors in either a forward or reversed orientation. +*/ +export class CipherBank{ + /** + CipherBank constructor + + @param {Object[]} rotors - list of CRRotors + */ + constructor(rotors){ + this.rotors = rotors; + } + + /** + Encrypts a letter through the cipher rotors (signal goes from left-to-right) + + @param {char} inputPos - the input position of the signal (letter to be encrypted) + @returns {char} + */ + encrypt(inputPos){ + for (let rotor of this.rotors){ + inputPos = rotor.crypt(inputPos, "leftToRight"); + } + return inputPos; + } + + /** + Decrypts a letter through the cipher rotors (signal goes from right-to-left) + + @param {char} inputPos - the input position of the signal (letter to be decrypted) + @returns {char} + */ + decrypt(inputPos){ + const revOrderedRotors = [...this.rotors].reverse(); + for (let rotor of revOrderedRotors){ + inputPos = rotor.crypt(inputPos, "rightToLeft"); + } + return inputPos; + } + + /** + Step the cipher rotors forward according to the inputs from the index rotors + + @param {number[]} indexInputs - the inputs from the index rotors + */ + step(indexInputs){ + const logicDict = {0: [0,9], 1:[7,8], 2:[5,6], 3:[3,4], 4:[1,2]}; + let rotorsToMove = []; + for (const key in logicDict){ + const item = logicDict[key]; + for (const i of indexInputs){ + if (item.includes(i)){ + rotorsToMove.push(this.rotors[key]); + break; + } + } + } + for (let rotor of rotorsToMove){ + rotor.step(); + } + } + +} + +/** +The control rotor bank consists of 5 control rotors in either a forward or reversed orientation. Signals to the control rotor bank always go from right-to-left. +*/ +export class ControlBank{ + /** + ControlBank constructor. The rotors have been reversed as signals go from right-to-left through the control rotors. + + @param {Object[]} rotors - list of CRRotors + */ + constructor(rotors){ + this.rotors = [...rotors].reverse(); + this.numberOfMoves = 1; + } + + /** + Encrypts a letter. + + @param {char} inputPos - the input position of the signal + @returns {char} + */ + crypt(inputPos){ + for (let rotor of this.rotors){ + inputPos = rotor.crypt(inputPos, "rightToLeft"); + } + return inputPos; + } + + /** + Gets the outputs of the control rotors. The inputs to the control rotors are always "F", "G", "H" and "I". + + @returns {number[]} + */ + getOutputs(){ + const outputs = [this.crypt("F"), this.crypt("G"), this.crypt("H"), this.crypt("I")]; + const logicDict = {1:"B", 2:"C", 3:"DE", 4:"FGH", 5:"IJK", 6:"LMNO", 7:"PQRST", 8:"UVWXYZ", 9:"A"}; + let numberOutputs = []; + for (let key in logicDict){ + const item = logicDict[key]; + for (let output of outputs){ + if (item.includes(output)){ + numberOutputs.push(key); + break; + } + } + } + return numberOutputs; + } + + /** + Steps the control rotors. Only 3 of the control rotors step: one after every encryption, one after every 26, and one after every 26 squared. + */ + step(){ + const MRotor = this.rotors[1], FRotor = this.rotors[2], SRotor = this.rotors[3]; + this.numberOfMoves ++; + FRotor.step(); + if (this.numberOfMoves%26 == 0){ + MRotor.step(); + } + if (this.numberOfMoves%(26*26) == 0){ + SRotor.step(); + } + } + + /** + The goThroughControl function combines getting the outputs from the control rotor bank and then stepping them. + + @returns {number[]} + */ + goThroughControl(){ + const outputs = this.getOutputs(); + this.step(); + return outputs; + } + +} + +/** +The index rotor bank consists of 5 index rotors all placed in the forwards orientation. +*/ +export class IndexBank{ + /** + IndexBank constructor + + @param {Object[]} rotors - list of IRotors + */ + constructor(rotors){ + this.rotors = rotors; + } + + /** + Encrypts a number. + + @param {number} inputPos - the input position of the signal + @returns {number} + */ + crypt(inputPos){ + for (let rotor of this.rotors){ + inputPos = rotor.crypt(inputPos); + } + return inputPos; + } + + /** + The goThroughIndex function takes the inputs from the control rotor bank and returns the list of outputs after encryption through the index rotors. + + @param {number[]} - inputs from the control rotors + @returns {number[]} + */ + goThroughIndex(controlInputs){ + let outputs = []; + for (const inp of controlInputs){ + outputs.push(this.crypt(inp)); + } + return outputs; + } + +} + +/** +Rotor class +*/ +export class Rotor{ + /** + Rotor constructor + + @param {number[]} wireSetting - the wirings within the rotor: mapping from left-to-right, the index of the number in the list maps onto the number at that index + @param {bool} rev - true if the rotor is reversed, false if it isn't + @param {number} key - the starting position or state of the rotor + */ + constructor(wireSetting, key, rev){ + this.state = key; + this.numMapping = this.getNumMapping(wireSetting, rev); + this.posMapping = this.getPosMapping(rev); + } + + /** + Get the number mapping from the wireSetting (only different from wireSetting if rotor is reversed) + + @param {number[]} wireSetting - the wirings within the rotors + @param {bool} rev - true if reversed, false if not + @returns {number[]} + */ + getNumMapping(wireSetting, rev){ + if (rev==false){ + return wireSetting; + } + else { + const length = wireSetting.length; + let tempMapping = new Array(length); + for (let i=0; ithis.state-length; i--){ + let res = i%length; + if (res<0){ + res += length; + } + posMapping.push(res); + } + } + return posMapping; + } + + /** + Encrypt/decrypt data. This process is identical to the rotors of cipher machines such as Enigma or Typex. + + @param {number} inputPos - the input position of the signal (the data to encrypt/decrypt) + @param {string} direction - one of "leftToRight" and "rightToLeft", states the direction in which the signal passes through the rotor + @returns {number} + */ + cryptNum(inputPos, direction){ + const inpNum = this.posMapping[inputPos]; + var outNum; + if (direction == "leftToRight"){ + outNum = this.numMapping[inpNum]; + } + else if (direction == "rightToLeft") { + outNum = this.numMapping.indexOf(inpNum); + } + const outPos = this.posMapping.indexOf(outNum); + return outPos; + } + + /** + Steps the rotor. The number at position 0 will be moved to position 1 etc. + */ + step(){ + const lastNum = this.posMapping.pop(); + this.posMapping.splice(0, 0, lastNum); + this.state = this.posMapping[0]; + } + +} + +/** +A CRRotor is a cipher (C) or control (R) rotor. These rotors are identical and interchangeable. A C or R rotor consists of 26 contacts, one for each letter, and may be put into either a forwards of reversed orientation. +*/ +export class CRRotor extends Rotor{ + + /** + CRRotor constructor + + @param {string} wireSetting - the rotor wirings (string of letters) + @param {char} key - initial state of rotor + @param {bool} rev - true if reversed, false if not + */ + constructor(wireSetting, key, rev=false){ + wireSetting = wireSetting.split("").map(CRRotor.letterToNum); + super(wireSetting, CRRotor.letterToNum(key), rev); + } + + /** + Static function which converts a letter into its number i.e. its offset from the letter "A" + + @param {char} letter - letter to convert to number + @returns {number} + */ + static letterToNum(letter){ + return letter.charCodeAt()-65; + } + + /** + Static function which converts a number (a letter's offset from "A") into its letter + + @param {number} num - number to convert to letter + @returns {char} + */ + static numToLetter(num){ + return String.fromCharCode(num+65); + } + + /** + Encrypts/decrypts a letter. + + @param {char} inputPos - the input position of the signal ("A" refers to position 0 etc.) + @param {string} direction - one of "leftToRight" and "rightToLeft" + @returns {char} + */ + crypt(inputPos, direction){ + inputPos = CRRotor.letterToNum(inputPos); + const outPos = this.cryptNum(inputPos, direction); + return CRRotor.numToLetter(outPos); + } + +} + +/** +An IRotor is an index rotor, which consists of 10 contacts each numbered from 0 to 9. Unlike C and R rotors, they cannot be put in the reversed orientation. The index rotors do not step at any point during encryption or decryption. +*/ +export class IRotor extends Rotor{ + /** + IRotor constructor + + @param {string} wireSetting - the rotor wirings (string of numbers) + @param {char} key - initial state of rotor + */ + constructor(wireSetting, key){ + wireSetting = wireSetting.split("").map(Number); + super(wireSetting, Number(key), false); + } + + /** + Encrypts a number + + @param {number} inputPos - the input position of the signal + @returns {number} + */ + crypt(inputPos){ + return this.cryptNum(inputPos, "leftToRight"); + } + +} diff --git a/src/core/operations/SIGABA.mjs b/src/core/operations/SIGABA.mjs new file mode 100644 index 00000000..78f05530 --- /dev/null +++ b/src/core/operations/SIGABA.mjs @@ -0,0 +1,293 @@ +/** +Emulation of the SIGABA machine. + +@author hettysymes +*/ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import {LETTERS} from "../lib/Enigma.mjs"; +import {NUMBERS, CR_ROTORS, I_ROTORS, SigabaMachine, CRRotor, IRotor} from "../lib/SIGABA.mjs"; + +/** +Sigaba operation +*/ +class Sigaba extends Operation{ +/** +Sigaba constructor +*/ +constructor(){ +super(); + +this.name = "SIGABA"; +this.module = "SIGABA"; + this.description = "Encipher/decipher with the WW2 SIGABA machine.

SIGABA, otherwise known as ECM Mark II, was used by the United States for message encryption during WW2 up to the 1950s. It was developed in the 1930s by the US Army and Navy, and has up to this day never been broken. The idea behind its design was to truly randomise the motion of the rotors. In comparison, Enigma, which rotates its rotors once every key pressed, has much less randomised rotor movements. Consisting of 15 rotors: 5 cipher rotors and 10 rotors (5 control rotors and 5 index rotors) controlling the stepping of the cipher rotors, the rotor stepping for SIGABA is much more complex. All example rotor wirings are random example sets.

To configure rotor wirings, for the cipher and control rotors enter a string of letters which map from A to Z, and for the index rotors enter a sequence of numbers which map from 0 to 9. Note that encryption is not the same as decryption, so first choose the desired mode."; + this.infoURL = "https://en.wikipedia.org/wiki/SIGABA"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + name: "1st (left-hand) cipher rotor", + type: "editableOption", + value: CR_ROTORS, + defaultIndex: 0 + }, + { + name: "1st cipher rotor reversed", + type: "boolean", + value: false + }, + { + name: "1st cipher rotor intial value", + type: "option", + value: LETTERS + }, + { + name: "2nd cipher rotor", + type: "editableOption", + value: CR_ROTORS, + defaultIndex: 0 + }, + { + name: "2nd cipher rotor reversed", + type: "boolean", + value: false + }, + { + name: "2nd cipher rotor intial value", + type: "option", + value: LETTERS + }, + { + name: "3rd (middle) cipher rotor", + type: "editableOption", + value: CR_ROTORS, + defaultIndex: 0 + }, + { + name: "3rd cipher rotor reversed", + type: "boolean", + value: false + }, + { + name: "3rd cipher rotor intial value", + type: "option", + value: LETTERS + }, + { + name: "4th cipher rotor", + type: "editableOption", + value: CR_ROTORS, + defaultIndex: 0 + }, + { + name: "4th cipher rotor reversed", + type: "boolean", + value: false + }, + { + name: "4th cipher rotor intial value", + type: "option", + value: LETTERS + }, + { + name: "5th (right-hand) cipher rotor", + type: "editableOption", + value: CR_ROTORS, + defaultIndex: 0 + }, + { + name: "5th cipher rotor reversed", + type: "boolean", + value: false + }, + { + name: "5th cipher rotor intial value", + type: "option", + value: LETTERS + }, + { + name: "1st (left-hand) control rotor", + type: "editableOption", + value: CR_ROTORS, + defaultIndex: 0 + }, + { + name: "1st control rotor reversed", + type: "boolean", + value: false + }, + { + name: "1st control rotor intial value", + type: "option", + value: LETTERS + }, + { + name: "2nd control rotor", + type: "editableOption", + value: CR_ROTORS, + defaultIndex: 0 + }, + { + name: "2nd control rotor reversed", + type: "boolean", + value: false + }, + { + name: "2nd control rotor intial value", + type: "option", + value: LETTERS + }, + { + name: "3rd (middle) control rotor", + type: "editableOption", + value: CR_ROTORS, + defaultIndex: 0 + }, + { + name: "3rd control rotor reversed", + type: "boolean", + value: false + }, + { + name: "3rd control rotor intial value", + type: "option", + value: LETTERS + }, + { + name: "4th control rotor", + type: "editableOption", + value: CR_ROTORS, + defaultIndex: 0 + }, + { + name: "4th control rotor reversed", + type: "boolean", + value: false + }, + { + name: "4th control rotor intial value", + type: "option", + value: LETTERS + }, + { + name: "5th (right-hand) control rotor", + type: "editableOption", + value: CR_ROTORS, + defaultIndex: 0 + }, + { + name: "5th control rotor reversed", + type: "boolean", + value: false + }, + { + name: "5th control rotor intial value", + type: "option", + value: LETTERS + }, + { + name: "1st (left-hand) index rotor", + type: "editableOption", + value: I_ROTORS, + defaultIndex: 0 + }, + { + name: "1st index rotor intial value", + type: "option", + value: NUMBERS + }, + { + name: "2nd index rotor", + type: "editableOption", + value: I_ROTORS, + defaultIndex: 0 + }, + { + name: "2nd index rotor intial value", + type: "option", + value: NUMBERS + }, + { + name: "3rd (middle) index rotor", + type: "editableOption", + value: I_ROTORS, + defaultIndex: 0 + }, + { + name: "3rd index rotor intial value", + type: "option", + value: NUMBERS + }, + { + name: "4th index rotor", + type: "editableOption", + value: I_ROTORS, + defaultIndex: 0 + }, + { + name: "4th index rotor intial value", + type: "option", + value: NUMBERS + }, + { + name: "5th (right-hand) index rotor", + type: "editableOption", + value: I_ROTORS, + defaultIndex: 0 + }, + { + name: "5th index rotor intial value", + type: "option", + value: NUMBERS + }, + { + name: "SIGABA mode", + type: "option", + value: ["Encrypt", "Decrypt"] + } + ]; + } + + /** + @param {string} rotor - rotor wirings + @returns {string} + */ + + parseRotorStr(rotor){ + if (rotor === ""){ + throw new OperationError(`All rotor wirings must be provided.`); + } + return rotor; + } + + run(input, args){ + const sigabaSwitch = args[40]; + const cipherRotors = []; + const controlRotors = []; + const indexRotors = []; + for (let i=0; i<5; i++){ + const rotorWiring = this.parseRotorStr(args[i*3]); + cipherRotors.push(new CRRotor(rotorWiring, args[i*3+2], args[i*3+1])); + } + for (let i=5; i<10; i++){ + const rotorWiring = this.parseRotorStr(args[i*3]); + controlRotors.push(new CRRotor(rotorWiring, args[i*3+2], args[i*3+1])); + } + for (let i=15; i<20; i++){ + const rotorWiring = this.parseRotorStr(args[i*2]); + indexRotors.push(new IRotor(rotorWiring, args[i*2+1])); + } + const sigaba = new SigabaMachine(cipherRotors, controlRotors, indexRotors); + var result; + if (sigabaSwitch === "Encrypt"){ + result = sigaba.encrypt(input); + } + else if (sigabaSwitch === "Decrypt") { + result = sigaba.decrypt(input); + } + return result; + } + +} +export default Sigaba; From 5d01b06877417120826826f823565c202a022b53 Mon Sep 17 00:00:00 2001 From: hettysymes <59455170+hettysymes@users.noreply.github.com> Date: Sun, 12 Jan 2020 15:37:07 +0000 Subject: [PATCH 076/754] Added copyright and clarified description --- src/core/lib/SIGABA.mjs | 2 ++ src/core/operations/SIGABA.mjs | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/core/lib/SIGABA.mjs b/src/core/lib/SIGABA.mjs index c35eb3a5..b56b3e24 100644 --- a/src/core/lib/SIGABA.mjs +++ b/src/core/lib/SIGABA.mjs @@ -2,6 +2,8 @@ Emulation of the SIGABA machine @author hettysymes +@copyright hettysymes 2020 +@license Apache-2.0 */ /** diff --git a/src/core/operations/SIGABA.mjs b/src/core/operations/SIGABA.mjs index 78f05530..2f42c501 100644 --- a/src/core/operations/SIGABA.mjs +++ b/src/core/operations/SIGABA.mjs @@ -2,6 +2,8 @@ Emulation of the SIGABA machine. @author hettysymes +@copyright hettysymes 2020 +@license Apache-2.0 */ import Operation from "../Operation.mjs"; @@ -21,7 +23,7 @@ super(); this.name = "SIGABA"; this.module = "SIGABA"; - this.description = "Encipher/decipher with the WW2 SIGABA machine.

SIGABA, otherwise known as ECM Mark II, was used by the United States for message encryption during WW2 up to the 1950s. It was developed in the 1930s by the US Army and Navy, and has up to this day never been broken. The idea behind its design was to truly randomise the motion of the rotors. In comparison, Enigma, which rotates its rotors once every key pressed, has much less randomised rotor movements. Consisting of 15 rotors: 5 cipher rotors and 10 rotors (5 control rotors and 5 index rotors) controlling the stepping of the cipher rotors, the rotor stepping for SIGABA is much more complex. All example rotor wirings are random example sets.

To configure rotor wirings, for the cipher and control rotors enter a string of letters which map from A to Z, and for the index rotors enter a sequence of numbers which map from 0 to 9. Note that encryption is not the same as decryption, so first choose the desired mode."; + this.description = "Encipher/decipher with the WW2 SIGABA machine.

SIGABA, otherwise known as ECM Mark II, was used by the United States for message encryption during WW2 up to the 1950s. It was developed in the 1930s by the US Army and Navy, and has up to this day never been broken. Consisting of 15 rotors: 5 cipher rotors and 10 rotors (5 control rotors and 5 index rotors) controlling the stepping of the cipher rotors, the rotor stepping for SIGABA is much more complex than other rotor machines of its time, such as Enigma. All example rotor wirings are random example sets.

To configure rotor wirings, for the cipher and control rotors enter a string of letters which map from A to Z, and for the index rotors enter a sequence of numbers which map from 0 to 9. Note that encryption is not the same as decryption, so first choose the desired mode."; this.infoURL = "https://en.wikipedia.org/wiki/SIGABA"; this.inputType = "string"; this.outputType = "string"; From 938385c18b5b66c691fc08ed38949491107c75de Mon Sep 17 00:00:00 2001 From: hettysymes <59455170+hettysymes@users.noreply.github.com> Date: Sun, 12 Jan 2020 16:49:04 +0000 Subject: [PATCH 077/754] Fixed grunt lint errors --- src/core/lib/SIGABA.mjs | 156 +++++----- src/core/operations/SIGABA.mjs | 501 ++++++++++++++++----------------- 2 files changed, 322 insertions(+), 335 deletions(-) diff --git a/src/core/lib/SIGABA.mjs b/src/core/lib/SIGABA.mjs index b56b3e24..b69c7739 100644 --- a/src/core/lib/SIGABA.mjs +++ b/src/core/lib/SIGABA.mjs @@ -43,9 +43,9 @@ Converts a letter to uppercase (if it already isn't) @param {char} letter - letter to convert to upper case @returns {char} */ -export function convToUpperCase(letter){ +export function convToUpperCase(letter) { const charCode = letter.charCodeAt(); - if (97<=charCode && charCode<=122){ + if (97<=charCode && charCode<=122) { return String.fromCharCode(charCode-32); } return letter; @@ -54,7 +54,7 @@ export function convToUpperCase(letter){ /** The SIGABA machine consisting of the 3 rotor banks: cipher, control and index banks. */ -export class SigabaMachine{ +export class SigabaMachine { /** SigabaMachine constructor @@ -62,7 +62,7 @@ export class SigabaMachine{ @param {Object[]} controlRotors - list of CRRotors @param {object[]} indexRotors - list of IRotors */ - constructor(cipherRotors, controlRotors, indexRotors){ + constructor(cipherRotors, controlRotors, indexRotors) { this.cipherBank = new CipherBank(cipherRotors); this.controlBank = new ControlBank(controlRotors); this.indexBank = new IndexBank(indexRotors); @@ -71,7 +71,7 @@ export class SigabaMachine{ /** Steps all the correct rotors in the machine. */ - step(){ + step() { const controlOut = this.controlBank.goThroughControl(); const indexOut = this.indexBank.goThroughIndex(controlOut); this.cipherBank.step(indexOut); @@ -83,12 +83,11 @@ export class SigabaMachine{ @param {char} letter - letter to encrypt @returns {char} */ - encryptLetter(letter){ + encryptLetter(letter) { letter = convToUpperCase(letter); - if (letter == " "){ + if (letter === " ") { letter = "Z"; - } - else if (letter == "Z") { + } else if (letter === "Z") { letter = "X"; } const encryptedLetter = this.cipherBank.encrypt(letter); @@ -102,10 +101,10 @@ export class SigabaMachine{ @param {char} letter - letter to decrypt @returns {char} */ - decryptLetter(letter){ + decryptLetter(letter) { letter = convToUpperCase(letter); let decryptedLetter = this.cipherBank.decrypt(letter); - if (decryptedLetter == "Z"){ + if (decryptedLetter === "Z") { decryptedLetter = " "; } this.step(); @@ -118,9 +117,9 @@ export class SigabaMachine{ @param {string} msg - message to encrypt @returns {string} */ - encrypt(msg){ + encrypt(msg) { let ciphertext = ""; - for (const letter of msg){ + for (const letter of msg) { ciphertext = ciphertext.concat(this.encryptLetter(letter)); } return ciphertext; @@ -132,9 +131,9 @@ export class SigabaMachine{ @param {string} msg - message to decrypt @returns {string} */ - decrypt(msg){ + decrypt(msg) { let plaintext = ""; - for (const letter of msg){ + for (const letter of msg) { plaintext = plaintext.concat(this.decryptLetter(letter)); } return plaintext; @@ -145,13 +144,13 @@ export class SigabaMachine{ /** The cipher rotor bank consists of 5 cipher rotors in either a forward or reversed orientation. */ -export class CipherBank{ +export class CipherBank { /** CipherBank constructor @param {Object[]} rotors - list of CRRotors */ - constructor(rotors){ + constructor(rotors) { this.rotors = rotors; } @@ -161,8 +160,8 @@ export class CipherBank{ @param {char} inputPos - the input position of the signal (letter to be encrypted) @returns {char} */ - encrypt(inputPos){ - for (let rotor of this.rotors){ + encrypt(inputPos) { + for (const rotor of this.rotors) { inputPos = rotor.crypt(inputPos, "leftToRight"); } return inputPos; @@ -174,9 +173,9 @@ export class CipherBank{ @param {char} inputPos - the input position of the signal (letter to be decrypted) @returns {char} */ - decrypt(inputPos){ + decrypt(inputPos) { const revOrderedRotors = [...this.rotors].reverse(); - for (let rotor of revOrderedRotors){ + for (const rotor of revOrderedRotors) { inputPos = rotor.crypt(inputPos, "rightToLeft"); } return inputPos; @@ -187,19 +186,19 @@ export class CipherBank{ @param {number[]} indexInputs - the inputs from the index rotors */ - step(indexInputs){ - const logicDict = {0: [0,9], 1:[7,8], 2:[5,6], 3:[3,4], 4:[1,2]}; - let rotorsToMove = []; - for (const key in logicDict){ + step(indexInputs) { + const logicDict = {0: [0, 9], 1: [7, 8], 2: [5, 6], 3: [3, 4], 4: [1, 2]}; + const rotorsToMove = []; + for (const key in logicDict) { const item = logicDict[key]; - for (const i of indexInputs){ - if (item.includes(i)){ + for (const i of indexInputs) { + if (item.includes(i)) { rotorsToMove.push(this.rotors[key]); break; } } } - for (let rotor of rotorsToMove){ + for (const rotor of rotorsToMove) { rotor.step(); } } @@ -209,13 +208,13 @@ export class CipherBank{ /** The control rotor bank consists of 5 control rotors in either a forward or reversed orientation. Signals to the control rotor bank always go from right-to-left. */ -export class ControlBank{ +export class ControlBank { /** ControlBank constructor. The rotors have been reversed as signals go from right-to-left through the control rotors. @param {Object[]} rotors - list of CRRotors */ - constructor(rotors){ + constructor(rotors) { this.rotors = [...rotors].reverse(); this.numberOfMoves = 1; } @@ -226,8 +225,8 @@ export class ControlBank{ @param {char} inputPos - the input position of the signal @returns {char} */ - crypt(inputPos){ - for (let rotor of this.rotors){ + crypt(inputPos) { + for (const rotor of this.rotors) { inputPos = rotor.crypt(inputPos, "rightToLeft"); } return inputPos; @@ -238,14 +237,14 @@ export class ControlBank{ @returns {number[]} */ - getOutputs(){ + getOutputs() { const outputs = [this.crypt("F"), this.crypt("G"), this.crypt("H"), this.crypt("I")]; - const logicDict = {1:"B", 2:"C", 3:"DE", 4:"FGH", 5:"IJK", 6:"LMNO", 7:"PQRST", 8:"UVWXYZ", 9:"A"}; - let numberOutputs = []; - for (let key in logicDict){ + const logicDict = {1: "B", 2: "C", 3: "DE", 4: "FGH", 5: "IJK", 6: "LMNO", 7: "PQRST", 8: "UVWXYZ", 9: "A"}; + const numberOutputs = []; + for (const key in logicDict) { const item = logicDict[key]; - for (let output of outputs){ - if (item.includes(output)){ + for (const output of outputs) { + if (item.includes(output)) { numberOutputs.push(key); break; } @@ -257,14 +256,14 @@ export class ControlBank{ /** Steps the control rotors. Only 3 of the control rotors step: one after every encryption, one after every 26, and one after every 26 squared. */ - step(){ + step() { const MRotor = this.rotors[1], FRotor = this.rotors[2], SRotor = this.rotors[3]; this.numberOfMoves ++; FRotor.step(); - if (this.numberOfMoves%26 == 0){ + if (this.numberOfMoves%26 === 0) { MRotor.step(); } - if (this.numberOfMoves%(26*26) == 0){ + if (this.numberOfMoves%(26*26) === 0) { SRotor.step(); } } @@ -274,7 +273,7 @@ export class ControlBank{ @returns {number[]} */ - goThroughControl(){ + goThroughControl() { const outputs = this.getOutputs(); this.step(); return outputs; @@ -285,13 +284,13 @@ export class ControlBank{ /** The index rotor bank consists of 5 index rotors all placed in the forwards orientation. */ -export class IndexBank{ +export class IndexBank { /** IndexBank constructor @param {Object[]} rotors - list of IRotors */ - constructor(rotors){ + constructor(rotors) { this.rotors = rotors; } @@ -301,8 +300,8 @@ export class IndexBank{ @param {number} inputPos - the input position of the signal @returns {number} */ - crypt(inputPos){ - for (let rotor of this.rotors){ + crypt(inputPos) { + for (const rotor of this.rotors) { inputPos = rotor.crypt(inputPos); } return inputPos; @@ -314,9 +313,9 @@ export class IndexBank{ @param {number[]} - inputs from the control rotors @returns {number[]} */ - goThroughIndex(controlInputs){ - let outputs = []; - for (const inp of controlInputs){ + goThroughIndex(controlInputs) { + const outputs = []; + for (const inp of controlInputs) { outputs.push(this.crypt(inp)); } return outputs; @@ -327,7 +326,7 @@ export class IndexBank{ /** Rotor class */ -export class Rotor{ +export class Rotor { /** Rotor constructor @@ -335,7 +334,7 @@ export class Rotor{ @param {bool} rev - true if the rotor is reversed, false if it isn't @param {number} key - the starting position or state of the rotor */ - constructor(wireSetting, key, rev){ + constructor(wireSetting, key, rev) { this.state = key; this.numMapping = this.getNumMapping(wireSetting, rev); this.posMapping = this.getPosMapping(rev); @@ -348,14 +347,13 @@ export class Rotor{ @param {bool} rev - true if reversed, false if not @returns {number[]} */ - getNumMapping(wireSetting, rev){ - if (rev==false){ + getNumMapping(wireSetting, rev) { + if (rev===false) { return wireSetting; - } - else { + } else { const length = wireSetting.length; - let tempMapping = new Array(length); - for (let i=0; ithis.state-length; i--){ + } else { + for (let i = this.state; i > this.state-length; i--) { let res = i%length; - if (res<0){ + if (res<0) { res += length; } posMapping.push(res); @@ -399,13 +396,12 @@ export class Rotor{ @param {string} direction - one of "leftToRight" and "rightToLeft", states the direction in which the signal passes through the rotor @returns {number} */ - cryptNum(inputPos, direction){ + cryptNum(inputPos, direction) { const inpNum = this.posMapping[inputPos]; - var outNum; - if (direction == "leftToRight"){ + let outNum; + if (direction === "leftToRight") { outNum = this.numMapping[inpNum]; - } - else if (direction == "rightToLeft") { + } else if (direction === "rightToLeft") { outNum = this.numMapping.indexOf(inpNum); } const outPos = this.posMapping.indexOf(outNum); @@ -415,7 +411,7 @@ export class Rotor{ /** Steps the rotor. The number at position 0 will be moved to position 1 etc. */ - step(){ + step() { const lastNum = this.posMapping.pop(); this.posMapping.splice(0, 0, lastNum); this.state = this.posMapping[0]; @@ -426,7 +422,7 @@ export class Rotor{ /** A CRRotor is a cipher (C) or control (R) rotor. These rotors are identical and interchangeable. A C or R rotor consists of 26 contacts, one for each letter, and may be put into either a forwards of reversed orientation. */ -export class CRRotor extends Rotor{ +export class CRRotor extends Rotor { /** CRRotor constructor @@ -435,7 +431,7 @@ export class CRRotor extends Rotor{ @param {char} key - initial state of rotor @param {bool} rev - true if reversed, false if not */ - constructor(wireSetting, key, rev=false){ + constructor(wireSetting, key, rev=false) { wireSetting = wireSetting.split("").map(CRRotor.letterToNum); super(wireSetting, CRRotor.letterToNum(key), rev); } @@ -446,7 +442,7 @@ export class CRRotor extends Rotor{ @param {char} letter - letter to convert to number @returns {number} */ - static letterToNum(letter){ + static letterToNum(letter) { return letter.charCodeAt()-65; } @@ -456,7 +452,7 @@ export class CRRotor extends Rotor{ @param {number} num - number to convert to letter @returns {char} */ - static numToLetter(num){ + static numToLetter(num) { return String.fromCharCode(num+65); } @@ -467,7 +463,7 @@ export class CRRotor extends Rotor{ @param {string} direction - one of "leftToRight" and "rightToLeft" @returns {char} */ - crypt(inputPos, direction){ + crypt(inputPos, direction) { inputPos = CRRotor.letterToNum(inputPos); const outPos = this.cryptNum(inputPos, direction); return CRRotor.numToLetter(outPos); @@ -478,14 +474,14 @@ export class CRRotor extends Rotor{ /** An IRotor is an index rotor, which consists of 10 contacts each numbered from 0 to 9. Unlike C and R rotors, they cannot be put in the reversed orientation. The index rotors do not step at any point during encryption or decryption. */ -export class IRotor extends Rotor{ +export class IRotor extends Rotor { /** IRotor constructor @param {string} wireSetting - the rotor wirings (string of numbers) @param {char} key - initial state of rotor */ - constructor(wireSetting, key){ + constructor(wireSetting, key) { wireSetting = wireSetting.split("").map(Number); super(wireSetting, Number(key), false); } @@ -496,7 +492,7 @@ export class IRotor extends Rotor{ @param {number} inputPos - the input position of the signal @returns {number} */ - crypt(inputPos){ + crypt(inputPos) { return this.cryptNum(inputPos, "leftToRight"); } diff --git a/src/core/operations/SIGABA.mjs b/src/core/operations/SIGABA.mjs index 2f42c501..d82ee09a 100644 --- a/src/core/operations/SIGABA.mjs +++ b/src/core/operations/SIGABA.mjs @@ -7,285 +7,276 @@ Emulation of the SIGABA machine. */ import Operation from "../Operation.mjs"; -import OperationError from "../errors/OperationError.mjs"; import {LETTERS} from "../lib/Enigma.mjs"; import {NUMBERS, CR_ROTORS, I_ROTORS, SigabaMachine, CRRotor, IRotor} from "../lib/SIGABA.mjs"; /** Sigaba operation */ -class Sigaba extends Operation{ -/** -Sigaba constructor -*/ -constructor(){ -super(); +class Sigaba extends Operation { + /** + Sigaba constructor + */ + constructor() { + super(); -this.name = "SIGABA"; -this.module = "SIGABA"; - this.description = "Encipher/decipher with the WW2 SIGABA machine.

SIGABA, otherwise known as ECM Mark II, was used by the United States for message encryption during WW2 up to the 1950s. It was developed in the 1930s by the US Army and Navy, and has up to this day never been broken. Consisting of 15 rotors: 5 cipher rotors and 10 rotors (5 control rotors and 5 index rotors) controlling the stepping of the cipher rotors, the rotor stepping for SIGABA is much more complex than other rotor machines of its time, such as Enigma. All example rotor wirings are random example sets.

To configure rotor wirings, for the cipher and control rotors enter a string of letters which map from A to Z, and for the index rotors enter a sequence of numbers which map from 0 to 9. Note that encryption is not the same as decryption, so first choose the desired mode."; - this.infoURL = "https://en.wikipedia.org/wiki/SIGABA"; - this.inputType = "string"; - this.outputType = "string"; - this.args = [ - { - name: "1st (left-hand) cipher rotor", - type: "editableOption", - value: CR_ROTORS, - defaultIndex: 0 - }, - { - name: "1st cipher rotor reversed", - type: "boolean", - value: false - }, - { - name: "1st cipher rotor intial value", - type: "option", - value: LETTERS - }, - { - name: "2nd cipher rotor", - type: "editableOption", - value: CR_ROTORS, - defaultIndex: 0 - }, - { - name: "2nd cipher rotor reversed", - type: "boolean", - value: false - }, - { - name: "2nd cipher rotor intial value", - type: "option", - value: LETTERS - }, - { - name: "3rd (middle) cipher rotor", - type: "editableOption", - value: CR_ROTORS, - defaultIndex: 0 - }, - { - name: "3rd cipher rotor reversed", - type: "boolean", - value: false - }, - { - name: "3rd cipher rotor intial value", - type: "option", - value: LETTERS - }, - { - name: "4th cipher rotor", - type: "editableOption", - value: CR_ROTORS, - defaultIndex: 0 - }, - { - name: "4th cipher rotor reversed", - type: "boolean", - value: false - }, - { - name: "4th cipher rotor intial value", - type: "option", - value: LETTERS - }, - { - name: "5th (right-hand) cipher rotor", - type: "editableOption", - value: CR_ROTORS, - defaultIndex: 0 - }, - { - name: "5th cipher rotor reversed", - type: "boolean", - value: false - }, - { - name: "5th cipher rotor intial value", - type: "option", - value: LETTERS - }, - { - name: "1st (left-hand) control rotor", - type: "editableOption", - value: CR_ROTORS, - defaultIndex: 0 - }, - { - name: "1st control rotor reversed", - type: "boolean", - value: false - }, - { - name: "1st control rotor intial value", - type: "option", - value: LETTERS - }, - { - name: "2nd control rotor", - type: "editableOption", - value: CR_ROTORS, - defaultIndex: 0 - }, - { - name: "2nd control rotor reversed", - type: "boolean", - value: false - }, - { - name: "2nd control rotor intial value", - type: "option", - value: LETTERS - }, - { - name: "3rd (middle) control rotor", - type: "editableOption", - value: CR_ROTORS, - defaultIndex: 0 - }, - { - name: "3rd control rotor reversed", - type: "boolean", - value: false - }, - { - name: "3rd control rotor intial value", - type: "option", - value: LETTERS - }, - { - name: "4th control rotor", - type: "editableOption", - value: CR_ROTORS, - defaultIndex: 0 - }, - { - name: "4th control rotor reversed", - type: "boolean", - value: false - }, - { - name: "4th control rotor intial value", - type: "option", - value: LETTERS - }, - { - name: "5th (right-hand) control rotor", - type: "editableOption", - value: CR_ROTORS, - defaultIndex: 0 - }, - { - name: "5th control rotor reversed", - type: "boolean", - value: false - }, - { - name: "5th control rotor intial value", - type: "option", - value: LETTERS - }, - { - name: "1st (left-hand) index rotor", - type: "editableOption", - value: I_ROTORS, - defaultIndex: 0 - }, - { - name: "1st index rotor intial value", - type: "option", - value: NUMBERS - }, - { - name: "2nd index rotor", - type: "editableOption", - value: I_ROTORS, - defaultIndex: 0 - }, - { - name: "2nd index rotor intial value", - type: "option", - value: NUMBERS - }, - { - name: "3rd (middle) index rotor", - type: "editableOption", - value: I_ROTORS, - defaultIndex: 0 - }, - { - name: "3rd index rotor intial value", - type: "option", - value: NUMBERS - }, - { - name: "4th index rotor", - type: "editableOption", - value: I_ROTORS, - defaultIndex: 0 - }, - { - name: "4th index rotor intial value", - type: "option", - value: NUMBERS - }, - { - name: "5th (right-hand) index rotor", - type: "editableOption", - value: I_ROTORS, - defaultIndex: 0 - }, - { - name: "5th index rotor intial value", - type: "option", - value: NUMBERS - }, - { - name: "SIGABA mode", - type: "option", - value: ["Encrypt", "Decrypt"] - } - ]; + this.name = "SIGABA"; + this.module = "SIGABA"; + this.description = "Encipher/decipher with the WW2 SIGABA machine.

SIGABA, otherwise known as ECM Mark II, was used by the United States for message encryption during WW2 up to the 1950s. It was developed in the 1930s by the US Army and Navy, and has up to this day never been broken. Consisting of 15 rotors: 5 cipher rotors and 10 rotors (5 control rotors and 5 index rotors) controlling the stepping of the cipher rotors, the rotor stepping for SIGABA is much more complex than other rotor machines of its time, such as Enigma. All example rotor wirings are random example sets.

To configure rotor wirings, for the cipher and control rotors enter a string of letters which map from A to Z, and for the index rotors enter a sequence of numbers which map from 0 to 9. Note that encryption is not the same as decryption, so first choose the desired mode."; + this.infoURL = "https://en.wikipedia.org/wiki/SIGABA"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + name: "1st (left-hand) cipher rotor", + type: "editableOption", + value: CR_ROTORS, + defaultIndex: 0 + }, + { + name: "1st cipher rotor reversed", + type: "boolean", + value: false + }, + { + name: "1st cipher rotor intial value", + type: "option", + value: LETTERS + }, + { + name: "2nd cipher rotor", + type: "editableOption", + value: CR_ROTORS, + defaultIndex: 0 + }, + { + name: "2nd cipher rotor reversed", + type: "boolean", + value: false + }, + { + name: "2nd cipher rotor intial value", + type: "option", + value: LETTERS + }, + { + name: "3rd (middle) cipher rotor", + type: "editableOption", + value: CR_ROTORS, + defaultIndex: 0 + }, + { + name: "3rd cipher rotor reversed", + type: "boolean", + value: false + }, + { + name: "3rd cipher rotor intial value", + type: "option", + value: LETTERS + }, + { + name: "4th cipher rotor", + type: "editableOption", + value: CR_ROTORS, + defaultIndex: 0 + }, + { + name: "4th cipher rotor reversed", + type: "boolean", + value: false + }, + { + name: "4th cipher rotor intial value", + type: "option", + value: LETTERS + }, + { + name: "5th (right-hand) cipher rotor", + type: "editableOption", + value: CR_ROTORS, + defaultIndex: 0 + }, + { + name: "5th cipher rotor reversed", + type: "boolean", + value: false + }, + { + name: "5th cipher rotor intial value", + type: "option", + value: LETTERS + }, + { + name: "1st (left-hand) control rotor", + type: "editableOption", + value: CR_ROTORS, + defaultIndex: 0 + }, + { + name: "1st control rotor reversed", + type: "boolean", + value: false + }, + { + name: "1st control rotor intial value", + type: "option", + value: LETTERS + }, + { + name: "2nd control rotor", + type: "editableOption", + value: CR_ROTORS, + defaultIndex: 0 + }, + { + name: "2nd control rotor reversed", + type: "boolean", + value: false + }, + { + name: "2nd control rotor intial value", + type: "option", + value: LETTERS + }, + { + name: "3rd (middle) control rotor", + type: "editableOption", + value: CR_ROTORS, + defaultIndex: 0 + }, + { + name: "3rd control rotor reversed", + type: "boolean", + value: false + }, + { + name: "3rd control rotor intial value", + type: "option", + value: LETTERS + }, + { + name: "4th control rotor", + type: "editableOption", + value: CR_ROTORS, + defaultIndex: 0 + }, + { + name: "4th control rotor reversed", + type: "boolean", + value: false + }, + { + name: "4th control rotor intial value", + type: "option", + value: LETTERS + }, + { + name: "5th (right-hand) control rotor", + type: "editableOption", + value: CR_ROTORS, + defaultIndex: 0 + }, + { + name: "5th control rotor reversed", + type: "boolean", + value: false + }, + { + name: "5th control rotor intial value", + type: "option", + value: LETTERS + }, + { + name: "1st (left-hand) index rotor", + type: "editableOption", + value: I_ROTORS, + defaultIndex: 0 + }, + { + name: "1st index rotor intial value", + type: "option", + value: NUMBERS + }, + { + name: "2nd index rotor", + type: "editableOption", + value: I_ROTORS, + defaultIndex: 0 + }, + { + name: "2nd index rotor intial value", + type: "option", + value: NUMBERS + }, + { + name: "3rd (middle) index rotor", + type: "editableOption", + value: I_ROTORS, + defaultIndex: 0 + }, + { + name: "3rd index rotor intial value", + type: "option", + value: NUMBERS + }, + { + name: "4th index rotor", + type: "editableOption", + value: I_ROTORS, + defaultIndex: 0 + }, + { + name: "4th index rotor intial value", + type: "option", + value: NUMBERS + }, + { + name: "5th (right-hand) index rotor", + type: "editableOption", + value: I_ROTORS, + defaultIndex: 0 + }, + { + name: "5th index rotor intial value", + type: "option", + value: NUMBERS + }, + { + name: "SIGABA mode", + type: "option", + value: ["Encrypt", "Decrypt"] + } + ]; } /** - @param {string} rotor - rotor wirings + @param {string} input + @param {Object[]} args @returns {string} */ - - parseRotorStr(rotor){ - if (rotor === ""){ - throw new OperationError(`All rotor wirings must be provided.`); - } - return rotor; - } - - run(input, args){ + run(input, args) { const sigabaSwitch = args[40]; const cipherRotors = []; const controlRotors = []; const indexRotors = []; - for (let i=0; i<5; i++){ - const rotorWiring = this.parseRotorStr(args[i*3]); + for (let i=0; i<5; i++) { + const rotorWiring = args[i*3]; cipherRotors.push(new CRRotor(rotorWiring, args[i*3+2], args[i*3+1])); } - for (let i=5; i<10; i++){ - const rotorWiring = this.parseRotorStr(args[i*3]); + for (let i=5; i<10; i++) { + const rotorWiring = args[i*3]; controlRotors.push(new CRRotor(rotorWiring, args[i*3+2], args[i*3+1])); } - for (let i=15; i<20; i++){ - const rotorWiring = this.parseRotorStr(args[i*2]); + for (let i=15; i<20; i++) { + const rotorWiring = args[i*2]; indexRotors.push(new IRotor(rotorWiring, args[i*2+1])); } const sigaba = new SigabaMachine(cipherRotors, controlRotors, indexRotors); - var result; - if (sigabaSwitch === "Encrypt"){ + let result; + if (sigabaSwitch === "Encrypt") { result = sigaba.encrypt(input); - } - else if (sigabaSwitch === "Decrypt") { + } else if (sigabaSwitch === "Decrypt") { result = sigaba.decrypt(input); } return result; From e2b3389da687e74896c0d0ee8e6e89e40141ec9f Mon Sep 17 00:00:00 2001 From: hettysymes <59455170+hettysymes@users.noreply.github.com> Date: Sun, 12 Jan 2020 17:57:20 +0000 Subject: [PATCH 078/754] Added SIGABA simple test --- src/core/config/Categories.json | 3 +- tests/operations/tests/SIGABA.mjs | 67 +++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 1 deletion(-) mode change 100755 => 100644 src/core/config/Categories.json create mode 100644 tests/operations/tests/SIGABA.mjs diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json old mode 100755 new mode 100644 index 77e3d319..aee80ed4 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -116,7 +116,8 @@ "Multiple Bombe", "Typex", "Lorenz", - "Colossus" + "Colossus", + "SIGABA" ] }, { diff --git a/tests/operations/tests/SIGABA.mjs b/tests/operations/tests/SIGABA.mjs new file mode 100644 index 00000000..f8b19c9d --- /dev/null +++ b/tests/operations/tests/SIGABA.mjs @@ -0,0 +1,67 @@ +/** +SIGABA machine tests + +@author hettysymes +@copyright hettysymes 2020 +@license Apache-2.0 +*/ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "SIGABA: encrypt", + input: "hello world testing the sigaba machine", + expectedOutput: "ULBECJCZJBJFVUDLIXGLGIVXSYGMFRJVCERGOX", + recipeConfig: [ + { + "op": "SIGABA", + "args": [ + "BHKWECJDOVAYLFMITUGXRNSPZQ", true, "G", + "CDTAKGQOZXLVJYHSWMIBPRUNEF", false, "L", + "WAXHJZMBVDPOLTUYRCQFNSGKEI", false, "I", + "HUSCWIMJQXDALVGBFTOYZKRPNE", false, "T", + "RTLSMNKXFVWQUZGCHEJBYDAIPO", false, "B", + "GHAQBRJWDMNZTSKLOUXYPFIECV", false, "N", + "VFLGEMTCXZIQDYAKRPBONHWSUJ", true, "Q", + "ZQCAYHRJNXPFLKIOTBUSVWMGDE", false, "B", + "EZVSWPCTULGAOFDJNBIYMXKQHR", false, "J", + "ELKSGDXMVYJUZNCAROQBPWHITF", false, "R", + "3891625740", "3", + "6297135408", "1", + "2389715064", "8", + "9264351708", "6", + "9573086142", "6", + "Encrypt" + ] + } + ] + }, + { + name: "SIGABA: decrypt", + input: "helloxworldxtestingxthexsigabaxmachine", + expectedOutput: "XWCIWSAIQKNPBUKAP QXVYW RRNYAWXKRBGCQS", + recipeConfig: [ + { + "op": "SIGABA", + "args": [ + "ZECIPSQVBYKJTNRLOXUFGAWHMD", false, "C", + "IPHECDYSZTRXQUKWNVGOBLFJAM", true, "J", + "YHXUSRKIJVQWTPLAZOMDCGNEFB", true, "Z", + "TDPVSOBXULANZQYEHIGFMCRWJK", false, "W", + "THZGFXQRVBSDUICNYJWPAEMOKL", false, "F", + "KOVUTBMZQWGYDNAICSPHERXJLF", false, "F", + "DSTRLAUFXGWCEOKQPVMBZNIYJH", true, "A", + "KCULNSIXJDPEHGQYRTFZVWOBAM", false, "H", + "DZANEQLOWYRXKGUSIVJFMPBCHT", true, "M", + "MVRLHTPFWCAOKEGXZBJYIQUNSD", false, "E", + "9421765830", "3", + "3476815902", "2", + "5701842693", "7", + "4178920536", "0", + "5243709861", "1", + "Decrypt" + ] + } + ] + } +]); From 3c68ad13024b8e08f8f02e26504d6de6f019cc58 Mon Sep 17 00:00:00 2001 From: hettysymes Date: Sun, 7 Jun 2020 17:45:17 +0100 Subject: [PATCH 079/754] Modified control rotor stepping so the next control rotor steps once the previous rotor reaches "O" and added tests --- src/core/lib/SIGABA.mjs | 13 +++--- tests/operations/index.mjs | 1 + tests/operations/tests/SIGABA.mjs | 74 ++++++++++++++++++++----------- 3 files changed, 56 insertions(+), 32 deletions(-) diff --git a/src/core/lib/SIGABA.mjs b/src/core/lib/SIGABA.mjs index b69c7739..30166ad4 100644 --- a/src/core/lib/SIGABA.mjs +++ b/src/core/lib/SIGABA.mjs @@ -216,7 +216,6 @@ export class ControlBank { */ constructor(rotors) { this.rotors = [...rotors].reverse(); - this.numberOfMoves = 1; } /** @@ -258,14 +257,14 @@ export class ControlBank { */ step() { const MRotor = this.rotors[1], FRotor = this.rotors[2], SRotor = this.rotors[3]; - this.numberOfMoves ++; - FRotor.step(); - if (this.numberOfMoves%26 === 0) { + // 14 is the offset of "O" from "A" - the next rotor steps once the previous rotor reaches "O" + if (FRotor.state === 14) { + if (MRotor.state === 14) { + SRotor.step(); + } MRotor.step(); } - if (this.numberOfMoves%(26*26) === 0) { - SRotor.step(); - } + FRotor.step(); } /** diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index 8d3cd623..832b9ddd 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -101,6 +101,7 @@ import "./tests/LuhnChecksum.mjs"; import "./tests/CipherSaber2.mjs"; import "./tests/Colossus.mjs"; import "./tests/ParseObjectIDTimestamp.mjs"; +import "./tests/SIGABA.mjs"; // Cannot test operations that use the File type yet diff --git a/tests/operations/tests/SIGABA.mjs b/tests/operations/tests/SIGABA.mjs index f8b19c9d..7bf196be 100644 --- a/tests/operations/tests/SIGABA.mjs +++ b/tests/operations/tests/SIGABA.mjs @@ -9,9 +9,9 @@ import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { - name: "SIGABA: encrypt", - input: "hello world testing the sigaba machine", - expectedOutput: "ULBECJCZJBJFVUDLIXGLGIVXSYGMFRJVCERGOX", + name: "SIGABA: encrypt test 1", + input: "HELLO WORLD TESTING THE SIGABA MACHINE", + expectedOutput: "ULBECJCZJBJFVUDWAVRGRBMPSQHOTTNVQEESKN", recipeConfig: [ { "op": "SIGABA", @@ -37,30 +37,54 @@ TestRegister.addTests([ ] }, { - name: "SIGABA: decrypt", - input: "helloxworldxtestingxthexsigabaxmachine", - expectedOutput: "XWCIWSAIQKNPBUKAP QXVYW RRNYAWXKRBGCQS", + name: "SIGABA: encrypt test 2", + input: "PCRPJZWSPNOHMWANBFBEIVZOXDQESPYDEFBNTHXLSICIRPKUATJVDUQFLZOKGHHHDUDIBRKUHVCGAGLBWVGFFXNDHKPFSPSCIIPCXUFRRHNYWIJFEJWQSGMSNJHWSLPKVXHUQUWIURHDIHIUTWGQFIYLTKEZAUESWYEKIWXUSSXWXBEHCXCUDQWKCISVPKXJVPOIJZWTUGKAORBMKBAQUZOPTSUSYZRROWQUYKNCLHVIHEGWCCONGVHEKCEXVYIPNILIXTXDELNGLJGMEQKKQJWZLPNXPOGIOSVAEAJYKWYJXXGKKPLVYAZGDCMNHMPLCYWDQSRBEMVVVZVFYJMRYGHJOTDOEQVRQOVXOGOVYGTXETFHAYELRYVDGWOFVGAOWPMHQYRZMNXVTAHWSKZLJDFVQPZGMHZWFNOBHSZHEDAEXIFCEEJYZDOEFOQWCXTKPJRUEITKHVCITCLKBUFNAFBYXELAYPBRGGGOCCAGLXXJXTSWCJHMHQPVUIBAGBDKAGEEEPKRGGICJQXSYHBNNAKGYODRAUWAEYHWCKHEQIBAONWQJYQCIFKDTOCTJMBJULWKMSNNMPXINHZQWUMJQLQKIPVZVRGYPCJJZMENWTFTUSPCSPRXHMZPCHCNQTUDCOUJHRKYQIUWWVEVVRYFDIYRQISNGPMQLNMCNMVBEWHNCUODHAGEVEUMKVZLEIKYAMPGVVSBYNRJMFCATDXTQCYXIBCXXKYEYHHYERQGQWZTWCEJBFQLRFFCIVVSZUKGLOTLNGLQNTIKTBBWVFMONUFKRLCJASEKUEEDDQDIVQMFRSJRNHYZJODFHSCJSDAIRUXOSDNFUFUFMNZYQIEGRUXKUPCHENUEZHRKYHDRJYSHLZNYRBWVXORMJMJRIRNSAJQRUMPCXUDFYRGKEAXQXJHPEWNIYIDURDGWIFEMSOFYYCFRZGMZXJNTLTJBBSZIULQSOMEVGCTCVXUHTIEHSPOPQYCJLPAJAPQPAQXE", + expectedOutput: "GMEXPPCMFGKUVGXZHVTCKXRSTJUYWNOKFVELWAHHSJBXGOEXCMLOVSIMCDMGEYMWWTFDUMCDUJEZITNPVVBGQDJEVHJXSKJAAUZWBELMSPUTXCUYPDTJCQXEBGWPWRSQLSNFMASCTJZDSFNKDDTAXLRGUPKCBNXMZPADJSFGGNYKRPYBNTYPTGVPACBEINILNACWFVKMJPGCEZFROEYYKTGYSQYMFSGVDOJJONNYEYSCCIXWLKUSJZDRVAQSNUWHMDJVDNNMPGOYRGQRSBGSPQKGCTFZQWSOXBWSQZDCRQJQAWZDPQEILGMMABIMCDPNSKAFCLPQGIRJCMGQREBEUHBYREXFABFMVZTZBDUMASVNUMHIYRSZLGNZFMVAIABLCUZLJLKKZPWEXDHYZFVSNRLCLNDRKLKSWRHQVQJRTHCNFZXDEXSLAXXOGMFVSGCJGAWOLGDMTLWSFNTCUVCCEACINRZAZZOGLEHHXLPHVKILBBJDPOOCILQKKGODSXOBDPZZDXHJLLBOBVFCHJVMUBUZZIKGCWGCYGXVEHHIJGPEQERWEZLILQNHPHALFKFMGADNELGBKILKIUETGDCBQUEOECWVFNOXTJKUYPWBNEKYSIKMVSAMBZGLIKDAOELRSTKFASEKABTUCPSFEGXXQGDFPSPVOLBHGLZSLLWCABSRKZDQQRKVCKXDGTIHPDNMPDZEXYFYKXZTPJPLYOFNLWAGKJEOHOYLMZELXIDWWNXPKEPUCKNNNHJLFYHPQNHMMCGMUPHSUSYYIVWTIMFKKKTFPGFTLTWWSQBRBMGBTZXPVULKNZIIKVTYLJFISGPTLZFTCLGNZOMVKZOIMUDGXRDDSVFRHRYWBEWHYLCUISYMRWAZZAQPJYXZQQKZLILOSHXUTQJFPTXQSREKSUDZTLGUDLUGOJMQHJRJHXCHQTKJULTWWQOXIRFRQEYBPJPEKXFIRMNATWNFBADOSIJVZYRYDBHDAEDJUVDHLDAU", recipeConfig: [ - { - "op": "SIGABA", + { "op": "SIGABA", "args": [ - "ZECIPSQVBYKJTNRLOXUFGAWHMD", false, "C", - "IPHECDYSZTRXQUKWNVGOBLFJAM", true, "J", - "YHXUSRKIJVQWTPLAZOMDCGNEFB", true, "Z", - "TDPVSOBXULANZQYEHIGFMCRWJK", false, "W", - "THZGFXQRVBSDUICNYJWPAEMOKL", false, "F", - "KOVUTBMZQWGYDNAICSPHERXJLF", false, "F", - "DSTRLAUFXGWCEOKQPVMBZNIYJH", true, "A", - "KCULNSIXJDPEHGQYRTFZVWOBAM", false, "H", - "DZANEQLOWYRXKGUSIVJFMPBCHT", true, "M", - "MVRLHTPFWCAOKEGXZBJYIQUNSD", false, "E", - "9421765830", "3", - "3476815902", "2", - "5701842693", "7", - "4178920536", "0", - "5243709861", "1", - "Decrypt" - ] + "YCHLQSUGBDIXNZKERPVJTAWFOM", true, "A", + "INPXBWETGUYSAOCHVLDMQKZJFR", false, "B", + "WNDRIOZPTAXHFJYQBMSVEKUCGL", false, "C", + "TZGHOBKRVUXLQDMPNFWCJYEIAS", false, "D", + "YWTAHRQJVLCEXUNGBIPZMSDFOK", true, "E", + "QSLRBTEKOGAICFWYVMHJNXZUDP", false, "F", + "CHJDQIGNBSAKVTUOXFWLEPRMZY", false, "G", + "CDFAJXTIMNBEQHSUGRYLWZKVPO", true, "H", + "XHFESZDNRBCGKQIJLTVMUOYAPW", false, "I", + "EZJQXMOGYTCSFRIUPVNADLHWBK", false, "J", + "7591482630", "0", + "3810592764", "1", + "4086153297", "2", + "3980526174", "3", + "6497135280", "4", + "Encrypt"] + } + ] + }, + { + name: "SIGABA: decrypt test", + input: "AKDHFWAYSLHJDKXEVMJJHGKFTQBZPJPJILOVHMBYOAGBZVLLTQUOIKXFPUFNILBDPCAELMAPSXTLMUEGSDTNUDWGZDADBFELWWHKVPRZNDATDPYEHIDMTGAGPDEZYXFSASVKSBMXVOJQXRMHDBWUNZDTIIIVKHJYPIEUHAJCNBXNLGVFADEWIKXDJZBUTGOQBCQZWYKRVEENWRWWRYDNOAPGMODTPTUJZCLUCRDILJABNTBTWUEIJSJRQBUVCOUJJDWFMNNUHXBDFYXLGUMXQEAWSVHBXQGEOOGPYRVOAJLAIYIOHHEXACDTAWWCBGQRNPERSIKHTXPXKBUNACZLFZTRBMBBDDGKNBIQMFHZROCZZBGNZSJKDRRWPEQHLCFADNPWPWSLPIFNKBWQPMARUERGWUUODXSCOJQECGHIZRFRNRSXWSFWKISHHTUFRVXLHCQWGBMRDHCYDSVNIDDRSTODCGJSSBLUYOBGEWFOVKOZBJTYCAKMZECUGLJGTSZJNBOLTMUZRRSIGGRQHLRPMGLINASSMZOBNACKUMSFNIZAUFCPFXXOOTJQWWLZOFLGZLHJCWZJCRJKVOUDLNMKQATGVTOFHACAEKFLRWRTTMVRXHYGOTYPNBMUSKDAKXFCICUOVSWXGPQOYUUWTWRPQMEQCSDJMMJKELIHGEDYKWOVHVPUAIBFGAODXODXVFIIZIGWRZSBTIGXVHFABMMOPGVMLGHQQXNOEJRDLOBGUOWSELBHERZFSBLUODMOGIBNVGVGQYDBTKLOPNKZZNGLTTGZYYXIBAHZJDCILZXKNSJDHXWTYQLFHTUINTYSBPIXOPLOQHSAHGQPYUWYNPKMRBBBYIICCBBJRKWVLBIDBBEKJCXHLPUBMIGBUFYDPOCSRUNZOKMKJHMYFJZWFNHQZOGGRTNNUVLMRLDSAJIECTYCJKBYVNAXGCMGNVFJEDSATZQDQTYRBPLZKHAXMOVJZEDKINXKBUVWXXHTYUFO", + expectedOutput: "KTSOYDGMLPMVXEAJIATXCNQFXHBNCBXIJOCQGCQBRQSBYFOOEVPVXACBMIUIRNVMJHREKRHBSXJFSMWCKTTCYXJOFSJCQECXXCHTEGPEYSMYDHCSMODUAVBNLILYUIBBIXJCXXNQPCERRSMJTPQLMOXSKTRPWOFUSWXOYRJLBIJGIOYTEAEJEGGYAGSXNHNQTETANPWEGATHSBFLHCVHVIJUAKDVGQCWUSIFFFVAJYPJAFUYDXSLGPGESOUAYXBQIIOXWTXNOXLNCGWSUKVIBMOUGNHORYLSNVNNJLKKFDUAEISOLBLCXYHMDGVBVVVIKDLTMTDVWWJBXWXROVTJBXXKXLEWTTISKIUMYSACVUGGNANMCGUMFNQUXDLTHJNYTFIQEPKQQQSSROYJOILJYQXICXACWGOHCSHENXJILOMIIFCIOUDXDCINIVKIRJCVHWXSFQXMNRBJJWTPXNJADEOPEJBLKHKXNTORIRVRLXUXXAMKMODBXNLQCVJXVOTBRHXBBVJHPFEQFCRXYRRXHXPTXXSUESUTHUGOWQYQPQFPXQPVGEIRPQNKXXMBHIPECRUWFEWJUTYIKSMJSRQIQAIAMXTGDXSJIABHIGKUPJBCHWMVYTMQNQYGDHCNMBSVTPXNFRELFXXQYIOLCDEXDXDVSINICOXRMNSPICPQMOBIDJCNBJKXFAVMUXOXHERJIBIXLMXXULDXKXXHAQDXEXIWXOEEUGKSUGCMRWJDPYCYKXTPCOXMURAJCPRXKFJAJALERWRHVMFHOGMFHXGSXQDPJCJNXRQFGHKRCYTEBJDHPCMYFEAPWSVVMMBVUJJMCAAYURHUPVQVJYDCSNMQEMNIFEXYXIIXBVRVILXAUCBDXRJHGPKPYXHPPPNVSBBCDRLVVIYPKAKYIXTJVYDGVPHXULWMADBEICNIFKWUOOHEFNANDKOXMCVBVORLQYNXLULOEGVGWNKNMOHYVRSYSOVYGAKCGAWKGAIAQNQR", + recipeConfig: [ + { "op": "SIGABA", + "args": [ + "YCHLQSUGBDIXNZKERPVJTAWFOM", true, "A", + "INPXBWETGUYSAOCHVLDMQKZJFR", false, "B", + "WNDRIOZPTAXHFJYQBMSVEKUCGL", false, "C", + "TZGHOBKRVUXLQDMPNFWCJYEIAS", false, "D", + "YWTAHRQJVLCEXUNGBIPZMSDFOK", true, "E", + "QSLRBTEKOGAICFWYVMHJNXZUDP", false, "F", + "CHJDQIGNBSAKVTUOXFWLEPRMZY", false, "G", + "CDFAJXTIMNBEQHSUGRYLWZKVPO", true, "H", + "XHFESZDNRBCGKQIJLTVMUOYAPW", false, "I", + "EZJQXMOGYTCSFRIUPVNADLHWBK", false, "J", + "7591482630", "0", + "3810592764", "1", + "4086153297", "2", + "3980526174", "3", + "6497135280", "4", + "Decrypt"] } ] } From 88947b9d42bd9e4ae085406db3f3301385da68ac Mon Sep 17 00:00:00 2001 From: hettysymes Date: Mon, 8 Jun 2020 12:27:40 +0100 Subject: [PATCH 080/754] Added operation description note and modified comment formatting --- src/core/lib/SIGABA.mjs | 338 +++++++++++++++--------------- src/core/operations/SIGABA.mjs | 31 +-- tests/operations/tests/SIGABA.mjs | 12 +- 3 files changed, 193 insertions(+), 188 deletions(-) diff --git a/src/core/lib/SIGABA.mjs b/src/core/lib/SIGABA.mjs index 30166ad4..09951c4f 100644 --- a/src/core/lib/SIGABA.mjs +++ b/src/core/lib/SIGABA.mjs @@ -1,15 +1,14 @@ /** -Emulation of the SIGABA machine - -@author hettysymes -@copyright hettysymes 2020 -@license Apache-2.0 -*/ + * Emulation of the SIGABA machine + * + * @author hettysymes + * @copyright hettysymes 2020 + * @license Apache-2.0 + */ /** -A set of randomised example SIGABA cipher/control rotors (these rotors are interchangeable). Cipher and control rotors can be referred to as C and R rotors respectively. -*/ - + * A set of randomised example SIGABA cipher/control rotors (these rotors are interchangeable). Cipher and control rotors can be referred to as C and R rotors respectively. + */ export const CR_ROTORS = [ {name: "Example 1", value: "SRGWANHPJZFXVIDQCEUKBYOLMT"}, {name: "Example 2", value: "THQEFSAZVKJYULBODCPXNIMWRG"}, @@ -24,9 +23,8 @@ export const CR_ROTORS = [ ]; /** -A set of randomised example SIGABA index rotors (may be referred to as I rotors). -*/ - + * A set of randomised example SIGABA index rotors (may be referred to as I rotors). + */ export const I_ROTORS = [ {name: "Example 1", value: "6201348957"}, {name: "Example 2", value: "6147253089"}, @@ -38,11 +36,11 @@ export const I_ROTORS = [ export const NUMBERS = "0123456789".split(""); /** -Converts a letter to uppercase (if it already isn't) - -@param {char} letter - letter to convert to upper case -@returns {char} -*/ + * Converts a letter to uppercase (if it already isn't) + * + * @param {char} letter - letter to convert to uppercase + * @returns {char} + */ export function convToUpperCase(letter) { const charCode = letter.charCodeAt(); if (97<=charCode && charCode<=122) { @@ -52,16 +50,17 @@ export function convToUpperCase(letter) { } /** -The SIGABA machine consisting of the 3 rotor banks: cipher, control and index banks. -*/ + * The SIGABA machine consisting of the 3 rotor banks: cipher, control and index banks. + */ export class SigabaMachine { - /** - SigabaMachine constructor - @param {Object[]} cipherRotors - list of CRRotors - @param {Object[]} controlRotors - list of CRRotors - @param {object[]} indexRotors - list of IRotors - */ + /** + * SigabaMachine constructor + * + * @param {Object[]} cipherRotors - list of CRRotors + * @param {Object[]} controlRotors - list of CRRotors + * @param {object[]} indexRotors - list of IRotors + */ constructor(cipherRotors, controlRotors, indexRotors) { this.cipherBank = new CipherBank(cipherRotors); this.controlBank = new ControlBank(controlRotors); @@ -69,8 +68,8 @@ export class SigabaMachine { } /** - Steps all the correct rotors in the machine. - */ + * Steps all the correct rotors in the machine. + */ step() { const controlOut = this.controlBank.goThroughControl(); const indexOut = this.indexBank.goThroughIndex(controlOut); @@ -78,11 +77,11 @@ export class SigabaMachine { } /** - Encrypts a letter. A space is converted to a "Z" before encryption, and a "Z" is converted to an "X". This allows spaces to be encrypted. - - @param {char} letter - letter to encrypt - @returns {char} - */ + * Encrypts a letter. A space is converted to a "Z" before encryption, and a "Z" is converted to an "X". This allows spaces to be encrypted. + * + * @param {char} letter - letter to encrypt + * @returns {char} + */ encryptLetter(letter) { letter = convToUpperCase(letter); if (letter === " ") { @@ -96,11 +95,11 @@ export class SigabaMachine { } /** - Decrypts a letter. A letter decrypted as a "Z" is converted to a space before it is output, since spaces are converted to "Z"s before encryption. - - @param {char} letter - letter to decrypt - @returns {char} - */ + * Decrypts a letter. A letter decrypted as a "Z" is converted to a space before it is output, since spaces are converted to "Z"s before encryption. + * + * @param {char} letter - letter to decrypt + * @returns {char} + */ decryptLetter(letter) { letter = convToUpperCase(letter); let decryptedLetter = this.cipherBank.decrypt(letter); @@ -112,11 +111,11 @@ export class SigabaMachine { } /** - Encrypts a message of one or more letters - - @param {string} msg - message to encrypt - @returns {string} - */ + * Encrypts a message of one or more letters + * + * @param {string} msg - message to encrypt + * @returns {string} + */ encrypt(msg) { let ciphertext = ""; for (const letter of msg) { @@ -126,11 +125,11 @@ export class SigabaMachine { } /** - Decrypts a message of one or more letters - - @param {string} msg - message to decrypt - @returns {string} - */ + * Decrypts a message of one or more letters + * + * @param {string} msg - message to decrypt + * @returns {string} + */ decrypt(msg) { let plaintext = ""; for (const letter of msg) { @@ -142,24 +141,25 @@ export class SigabaMachine { } /** -The cipher rotor bank consists of 5 cipher rotors in either a forward or reversed orientation. -*/ + * The cipher rotor bank consists of 5 cipher rotors in either a forward or reversed orientation. + */ export class CipherBank { - /** - CipherBank constructor - @param {Object[]} rotors - list of CRRotors - */ + /** + * CipherBank constructor + * + * @param {Object[]} rotors - list of CRRotors + */ constructor(rotors) { this.rotors = rotors; } /** - Encrypts a letter through the cipher rotors (signal goes from left-to-right) - - @param {char} inputPos - the input position of the signal (letter to be encrypted) - @returns {char} - */ + * Encrypts a letter through the cipher rotors (signal goes from left-to-right) + * + * @param {char} inputPos - the input position of the signal (letter to be encrypted) + * @returns {char} + */ encrypt(inputPos) { for (const rotor of this.rotors) { inputPos = rotor.crypt(inputPos, "leftToRight"); @@ -168,11 +168,11 @@ export class CipherBank { } /** - Decrypts a letter through the cipher rotors (signal goes from right-to-left) - - @param {char} inputPos - the input position of the signal (letter to be decrypted) - @returns {char} - */ + * Decrypts a letter through the cipher rotors (signal goes from right-to-left) + * + * @param {char} inputPos - the input position of the signal (letter to be decrypted) + * @returns {char} + */ decrypt(inputPos) { const revOrderedRotors = [...this.rotors].reverse(); for (const rotor of revOrderedRotors) { @@ -182,10 +182,10 @@ export class CipherBank { } /** - Step the cipher rotors forward according to the inputs from the index rotors - - @param {number[]} indexInputs - the inputs from the index rotors - */ + * Step the cipher rotors forward according to the inputs from the index rotors + * + * @param {number[]} indexInputs - the inputs from the index rotors + */ step(indexInputs) { const logicDict = {0: [0, 9], 1: [7, 8], 2: [5, 6], 3: [3, 4], 4: [1, 2]}; const rotorsToMove = []; @@ -206,24 +206,25 @@ export class CipherBank { } /** -The control rotor bank consists of 5 control rotors in either a forward or reversed orientation. Signals to the control rotor bank always go from right-to-left. -*/ + * The control rotor bank consists of 5 control rotors in either a forward or reversed orientation. Signals to the control rotor bank always go from right-to-left. + */ export class ControlBank { - /** - ControlBank constructor. The rotors have been reversed as signals go from right-to-left through the control rotors. - @param {Object[]} rotors - list of CRRotors - */ + /** + * ControlBank constructor. The rotors have been reversed as signals go from right-to-left through the control rotors. + * + * @param {Object[]} rotors - list of CRRotors + */ constructor(rotors) { this.rotors = [...rotors].reverse(); } /** - Encrypts a letter. - - @param {char} inputPos - the input position of the signal - @returns {char} - */ + * Encrypts a letter. + * + * @param {char} inputPos - the input position of the signal + * @returns {char} + */ crypt(inputPos) { for (const rotor of this.rotors) { inputPos = rotor.crypt(inputPos, "rightToLeft"); @@ -232,10 +233,10 @@ export class ControlBank { } /** - Gets the outputs of the control rotors. The inputs to the control rotors are always "F", "G", "H" and "I". - - @returns {number[]} - */ + * Gets the outputs of the control rotors. The inputs to the control rotors are always "F", "G", "H" and "I". + * + * @returns {number[]} + */ getOutputs() { const outputs = [this.crypt("F"), this.crypt("G"), this.crypt("H"), this.crypt("I")]; const logicDict = {1: "B", 2: "C", 3: "DE", 4: "FGH", 5: "IJK", 6: "LMNO", 7: "PQRST", 8: "UVWXYZ", 9: "A"}; @@ -253,8 +254,8 @@ export class ControlBank { } /** - Steps the control rotors. Only 3 of the control rotors step: one after every encryption, one after every 26, and one after every 26 squared. - */ + * Steps the control rotors. Only 3 of the control rotors step: one after every encryption, one after every 26, and one after every 26 squared. + */ step() { const MRotor = this.rotors[1], FRotor = this.rotors[2], SRotor = this.rotors[3]; // 14 is the offset of "O" from "A" - the next rotor steps once the previous rotor reaches "O" @@ -268,10 +269,10 @@ export class ControlBank { } /** - The goThroughControl function combines getting the outputs from the control rotor bank and then stepping them. - - @returns {number[]} - */ + * The goThroughControl function combines getting the outputs from the control rotor bank and then stepping them. + * + * @returns {number[]} + */ goThroughControl() { const outputs = this.getOutputs(); this.step(); @@ -281,24 +282,25 @@ export class ControlBank { } /** -The index rotor bank consists of 5 index rotors all placed in the forwards orientation. -*/ + * The index rotor bank consists of 5 index rotors all placed in the forwards orientation. + */ export class IndexBank { - /** - IndexBank constructor - @param {Object[]} rotors - list of IRotors - */ + /** + * IndexBank constructor + * + * @param {Object[]} rotors - list of IRotors + */ constructor(rotors) { this.rotors = rotors; } /** - Encrypts a number. - - @param {number} inputPos - the input position of the signal - @returns {number} - */ + * Encrypts a number. + * + * @param {number} inputPos - the input position of the signal + * @returns {number} + */ crypt(inputPos) { for (const rotor of this.rotors) { inputPos = rotor.crypt(inputPos); @@ -307,11 +309,11 @@ export class IndexBank { } /** - The goThroughIndex function takes the inputs from the control rotor bank and returns the list of outputs after encryption through the index rotors. - - @param {number[]} - inputs from the control rotors - @returns {number[]} - */ + * The goThroughIndex function takes the inputs from the control rotor bank and returns the list of outputs after encryption through the index rotors. + * + * @param {number[]} controlInputs - inputs from the control rotors + * @returns {number[]} + */ goThroughIndex(controlInputs) { const outputs = []; for (const inp of controlInputs) { @@ -323,16 +325,17 @@ export class IndexBank { } /** -Rotor class -*/ + * Rotor class + */ export class Rotor { - /** - Rotor constructor - @param {number[]} wireSetting - the wirings within the rotor: mapping from left-to-right, the index of the number in the list maps onto the number at that index - @param {bool} rev - true if the rotor is reversed, false if it isn't - @param {number} key - the starting position or state of the rotor - */ + /** + * Rotor constructor + * + * @param {number[]} wireSetting - the wirings within the rotor: mapping from left-to-right, the index of the number in the list maps onto the number at that index + * @param {bool} rev - true if the rotor is reversed, false if it isn't + * @param {number} key - the starting position or state of the rotor + */ constructor(wireSetting, key, rev) { this.state = key; this.numMapping = this.getNumMapping(wireSetting, rev); @@ -340,12 +343,12 @@ export class Rotor { } /** - Get the number mapping from the wireSetting (only different from wireSetting if rotor is reversed) - - @param {number[]} wireSetting - the wirings within the rotors - @param {bool} rev - true if reversed, false if not - @returns {number[]} - */ + * Get the number mapping from the wireSetting (only different from wireSetting if rotor is reversed) + * + * @param {number[]} wireSetting - the wirings within the rotors + * @param {bool} rev - true if reversed, false if not + * @returns {number[]} + */ getNumMapping(wireSetting, rev) { if (rev===false) { return wireSetting; @@ -360,11 +363,11 @@ export class Rotor { } /** - Get the position mapping (how the position numbers map onto the numbers of the rotor) - - @param {bool} rev - true if reversed, false if not - @returns {number[]} - */ + * Get the position mapping (how the position numbers map onto the numbers of the rotor) + * + * @param {bool} rev - true if reversed, false if not + * @returns {number[]} + */ getPosMapping(rev) { const length = this.numMapping.length; const posMapping = []; @@ -389,12 +392,12 @@ export class Rotor { } /** - Encrypt/decrypt data. This process is identical to the rotors of cipher machines such as Enigma or Typex. - - @param {number} inputPos - the input position of the signal (the data to encrypt/decrypt) - @param {string} direction - one of "leftToRight" and "rightToLeft", states the direction in which the signal passes through the rotor - @returns {number} - */ + * Encrypt/decrypt data. This process is identical to the rotors of cipher machines such as Enigma or Typex. + * + * @param {number} inputPos - the input position of the signal (the data to encrypt/decrypt) + * @param {string} direction - one of "leftToRight" and "rightToLeft", states the direction in which the signal passes through the rotor + * @returns {number} + */ cryptNum(inputPos, direction) { const inpNum = this.posMapping[inputPos]; let outNum; @@ -408,8 +411,8 @@ export class Rotor { } /** - Steps the rotor. The number at position 0 will be moved to position 1 etc. - */ + * Steps the rotor. The number at position 0 will be moved to position 1 etc. + */ step() { const lastNum = this.posMapping.pop(); this.posMapping.splice(0, 0, lastNum); @@ -419,49 +422,49 @@ export class Rotor { } /** -A CRRotor is a cipher (C) or control (R) rotor. These rotors are identical and interchangeable. A C or R rotor consists of 26 contacts, one for each letter, and may be put into either a forwards of reversed orientation. -*/ + * A CRRotor is a cipher (C) or control (R) rotor. These rotors are identical and interchangeable. A C or R rotor consists of 26 contacts, one for each letter, and may be put into either a forwards of reversed orientation. + */ export class CRRotor extends Rotor { /** - CRRotor constructor - - @param {string} wireSetting - the rotor wirings (string of letters) - @param {char} key - initial state of rotor - @param {bool} rev - true if reversed, false if not - */ + * CRRotor constructor + * + * @param {string} wireSetting - the rotor wirings (string of letters) + * @param {char} key - initial state of rotor + * @param {bool} rev - true if reversed, false if not + */ constructor(wireSetting, key, rev=false) { wireSetting = wireSetting.split("").map(CRRotor.letterToNum); super(wireSetting, CRRotor.letterToNum(key), rev); } /** - Static function which converts a letter into its number i.e. its offset from the letter "A" - - @param {char} letter - letter to convert to number - @returns {number} - */ + * Static function which converts a letter into its number i.e. its offset from the letter "A" + * + * @param {char} letter - letter to convert to number + * @returns {number} + */ static letterToNum(letter) { return letter.charCodeAt()-65; } /** - Static function which converts a number (a letter's offset from "A") into its letter - - @param {number} num - number to convert to letter - @returns {char} - */ + * Static function which converts a number (a letter's offset from "A") into its letter + * + * @param {number} num - number to convert to letter + * @returns {char} + */ static numToLetter(num) { return String.fromCharCode(num+65); } /** - Encrypts/decrypts a letter. - - @param {char} inputPos - the input position of the signal ("A" refers to position 0 etc.) - @param {string} direction - one of "leftToRight" and "rightToLeft" - @returns {char} - */ + * Encrypts/decrypts a letter. + * + * @param {char} inputPos - the input position of the signal ("A" refers to position 0 etc.) + * @param {string} direction - one of "leftToRight" and "rightToLeft" + * @returns {char} + */ crypt(inputPos, direction) { inputPos = CRRotor.letterToNum(inputPos); const outPos = this.cryptNum(inputPos, direction); @@ -471,26 +474,27 @@ export class CRRotor extends Rotor { } /** -An IRotor is an index rotor, which consists of 10 contacts each numbered from 0 to 9. Unlike C and R rotors, they cannot be put in the reversed orientation. The index rotors do not step at any point during encryption or decryption. -*/ + * An IRotor is an index rotor, which consists of 10 contacts each numbered from 0 to 9. Unlike C and R rotors, they cannot be put in the reversed orientation. The index rotors do not step at any point during encryption or decryption. + */ export class IRotor extends Rotor { - /** - IRotor constructor - @param {string} wireSetting - the rotor wirings (string of numbers) - @param {char} key - initial state of rotor - */ + /** + * IRotor constructor + * + * @param {string} wireSetting - the rotor wirings (string of numbers) + * @param {char} key - initial state of rotor + */ constructor(wireSetting, key) { wireSetting = wireSetting.split("").map(Number); super(wireSetting, Number(key), false); } /** - Encrypts a number - - @param {number} inputPos - the input position of the signal - @returns {number} - */ + * Encrypts a number + * + * @param {number} inputPos - the input position of the signal + * @returns {number} + */ crypt(inputPos) { return this.cryptNum(inputPos, "leftToRight"); } diff --git a/src/core/operations/SIGABA.mjs b/src/core/operations/SIGABA.mjs index d82ee09a..42d1a9f3 100644 --- a/src/core/operations/SIGABA.mjs +++ b/src/core/operations/SIGABA.mjs @@ -1,28 +1,29 @@ /** -Emulation of the SIGABA machine. - -@author hettysymes -@copyright hettysymes 2020 -@license Apache-2.0 -*/ + * Emulation of the SIGABA machine. + * + * @author hettysymes + * @copyright hettysymes 2020 + * @license Apache-2.0 + */ import Operation from "../Operation.mjs"; import {LETTERS} from "../lib/Enigma.mjs"; import {NUMBERS, CR_ROTORS, I_ROTORS, SigabaMachine, CRRotor, IRotor} from "../lib/SIGABA.mjs"; /** -Sigaba operation -*/ + * Sigaba operation + */ class Sigaba extends Operation { + /** - Sigaba constructor - */ + * Sigaba constructor + */ constructor() { super(); this.name = "SIGABA"; this.module = "SIGABA"; - this.description = "Encipher/decipher with the WW2 SIGABA machine.

SIGABA, otherwise known as ECM Mark II, was used by the United States for message encryption during WW2 up to the 1950s. It was developed in the 1930s by the US Army and Navy, and has up to this day never been broken. Consisting of 15 rotors: 5 cipher rotors and 10 rotors (5 control rotors and 5 index rotors) controlling the stepping of the cipher rotors, the rotor stepping for SIGABA is much more complex than other rotor machines of its time, such as Enigma. All example rotor wirings are random example sets.

To configure rotor wirings, for the cipher and control rotors enter a string of letters which map from A to Z, and for the index rotors enter a sequence of numbers which map from 0 to 9. Note that encryption is not the same as decryption, so first choose the desired mode."; + this.description = "Encipher/decipher with the WW2 SIGABA machine.

SIGABA, otherwise known as ECM Mark II, was used by the United States for message encryption during WW2 up to the 1950s. It was developed in the 1930s by the US Army and Navy, and has up to this day never been broken. Consisting of 15 rotors: 5 cipher rotors and 10 rotors (5 control rotors and 5 index rotors) controlling the stepping of the cipher rotors, the rotor stepping for SIGABA is much more complex than other rotor machines of its time, such as Enigma. All example rotor wirings are random example sets.

To configure rotor wirings, for the cipher and control rotors enter a string of letters which map from A to Z, and for the index rotors enter a sequence of numbers which map from 0 to 9. Note that encryption is not the same as decryption, so first choose the desired mode.

Note: Whilst this has been tested against other software emulators, it has not been tested against hardware."; this.infoURL = "https://en.wikipedia.org/wiki/SIGABA"; this.inputType = "string"; this.outputType = "string"; @@ -251,10 +252,10 @@ class Sigaba extends Operation { } /** - @param {string} input - @param {Object[]} args - @returns {string} - */ + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ run(input, args) { const sigabaSwitch = args[40]; const cipherRotors = []; diff --git a/tests/operations/tests/SIGABA.mjs b/tests/operations/tests/SIGABA.mjs index 7bf196be..5f07ce20 100644 --- a/tests/operations/tests/SIGABA.mjs +++ b/tests/operations/tests/SIGABA.mjs @@ -1,10 +1,10 @@ /** -SIGABA machine tests - -@author hettysymes -@copyright hettysymes 2020 -@license Apache-2.0 -*/ + * SIGABA machine tests + * + * @author hettysymes + * @copyright hettysymes 2020 + * @license Apache-2.0 + */ import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ From f5a7db03cd8ab8bf9e7bbd43ec47ae9c57975a37 Mon Sep 17 00:00:00 2001 From: Benedikt Werner <1benediktwerner@gmail.com> Date: Wed, 10 Jun 2020 15:50:26 +0200 Subject: [PATCH 081/754] Base85: Only require 15 continuous base85 chars --- src/core/operations/FromBase85.mjs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/operations/FromBase85.mjs b/src/core/operations/FromBase85.mjs index 9d73baa1..3555b020 100644 --- a/src/core/operations/FromBase85.mjs +++ b/src/core/operations/FromBase85.mjs @@ -38,7 +38,7 @@ class FromBase85 extends Operation { pattern: "^\\s*(?:<~)?" + // Optional whitespace and starting marker "[\\s!-uz]*" + // Any amount of base85 characters and whitespace - "[!-uz]{20}" + // At least 20 continoues base85 characters without whitespace + "[!-uz]{15}" + // At least 15 continoues base85 characters without whitespace "[\\s!-uz]*" + // Any amount of base85 characters and whitespace "(?:~>)?\\s*$", // Optional ending marker and whitespace args: ["!-u"], @@ -47,7 +47,7 @@ class FromBase85 extends Operation { pattern: "^" + "[\\s0-9a-zA-Z.\\-:+=^!/*?&<>()[\\]{}@%$#]*" + - "[0-9a-zA-Z.\\-:+=^!/*?&<>()[\\]{}@%$#]{20}" + // At least 20 continoues base85 characters without whitespace + "[0-9a-zA-Z.\\-:+=^!/*?&<>()[\\]{}@%$#]{15}" + // At least 15 continoues base85 characters without whitespace "[\\s0-9a-zA-Z.\\-:+=^!/*?&<>()[\\]{}@%$#]*" + "$", args: ["0-9a-zA-Z.\\-:+=^!/*?&<>()[]{}@%$#"], @@ -56,7 +56,7 @@ class FromBase85 extends Operation { pattern: "^" + "[\\s0-9A-Za-z!#$%&()*+\\-;<=>?@^_`{|}~]*" + - "[0-9A-Za-z!#$%&()*+\\-;<=>?@^_`{|}~]{20}" + // At least 20 continoues base85 characters without whitespace + "[0-9A-Za-z!#$%&()*+\\-;<=>?@^_`{|}~]{15}" + // At least 15 continoues base85 characters without whitespace "[\\s0-9A-Za-z!#$%&()*+\\-;<=>?@^_`{|}~]*" + "$", args: ["0-9A-Za-z!#$%&()*+\\-;<=>?@^_`{|}~"], From 4dafa50799be287fe331594a958620dfb499ca28 Mon Sep 17 00:00:00 2001 From: d98762625 Date: Fri, 12 Jun 2020 12:35:33 +0100 Subject: [PATCH 082/754] improve some comments, remove unused properties from magic state shim in node API --- src/node/NodeRecipe.mjs | 10 +++++++--- src/node/api.mjs | 11 ++++------- tests/node/tests/nodeApi.mjs | 6 +++--- tests/node/tests/operations.mjs | 4 ++-- 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/node/NodeRecipe.mjs b/src/node/NodeRecipe.mjs index e955f76e..bad8fc27 100644 --- a/src/node/NodeRecipe.mjs +++ b/src/node/NodeRecipe.mjs @@ -24,8 +24,11 @@ class NodeRecipe { /** - * Validate an ingredient $ coerce to operation if necessary. + * Validate an ingredient & coerce to operation if necessary. * @param {String | Function | Object} ing + * @returns {Function || Object} The operation, or an object with the + * operation and its arguments + * @throws {TypeError} If it cannot find the operation in chef's list of operations. */ _validateIngredient(ing) { // CASE operation name given. Find operation and validate @@ -34,6 +37,7 @@ class NodeRecipe { return sanitise(op.opName) === sanitise(ing); }); if (op) { + // Need to validate against case 2 return this._validateIngredient(op); } else { throw new TypeError(`Couldn't find an operation with name '${ing}'.`); @@ -41,7 +45,7 @@ class NodeRecipe { // CASE operation given. Check its a chef operation and check its not flowcontrol } else if (typeof ing === "function") { if (ing.flowControl) { - throw new TypeError(`flowControl operations like ${ing.opName} are not currently allowed in recipes for chef.bake`); + throw new TypeError(`flowControl operations like ${ing.opName} are not currently allowed in recipes for chef.bake in the Node API`); } if (operations.includes(ing)) { @@ -63,7 +67,7 @@ class NodeRecipe { /** - * Parse config for recipe. + * Parse an opList from a recipeConfig and assign it to the recipe's opList. * @param {String | Function | String[] | Function[] | [String | Function]} recipeConfig */ _parseConfig(recipeConfig) { diff --git a/src/node/api.mjs b/src/node/api.mjs index 7a8f8fdc..dcdb30f0 100644 --- a/src/node/api.mjs +++ b/src/node/api.mjs @@ -194,17 +194,14 @@ export function _wrap(OpClass) { const {transformedInput, transformedArgs} = prepareOp(opInstance, input, args); // SPECIAL CASE for Magic. Other flowControl operations will - // not work because the opList is not passed through. + // not work because the opList is not passed in. if (isFlowControl) { opInstance.ingValues = transformedArgs; const state = { - "progress": 0, - "dish": ensureIsDish(transformedInput), - "opList": [opInstance], - "numJumps": 0, - "numRegisters": 0, - "forkOffset": 0 + progress: 0, + dish: ensureIsDish(transformedInput), + opList: [opInstance], }; const updatedState = await opInstance.run(state); diff --git a/tests/node/tests/nodeApi.mjs b/tests/node/tests/nodeApi.mjs index 2b413f45..52f79330 100644 --- a/tests/node/tests/nodeApi.mjs +++ b/tests/node/tests/nodeApi.mjs @@ -348,15 +348,15 @@ TestRegister.addApiTests([ it("chef.bake: cannot accept flowControl operations in recipe", () => { assert.throws(() => chef.bake("some input", "magic"), { name: "TypeError", - message: "flowControl operations like Magic are not currently allowed in recipes for chef.bake" + message: "flowControl operations like Magic are not currently allowed in recipes for chef.bake in the Node API" }); assert.throws(() => chef.bake("some input", magic), { name: "TypeError", - message: "flowControl operations like Magic are not currently allowed in recipes for chef.bake" + message: "flowControl operations like Magic are not currently allowed in recipes for chef.bake in the Node API" }); assert.throws(() => chef.bake("some input", ["to base 64", "magic"]), { name: "TypeError", - message: "flowControl operations like Magic are not currently allowed in recipes for chef.bake" + message: "flowControl operations like Magic are not currently allowed in recipes for chef.bake in the Node API" }); }), diff --git a/tests/node/tests/operations.mjs b/tests/node/tests/operations.mjs index b85de4aa..2124ad14 100644 --- a/tests/node/tests/operations.mjs +++ b/tests/node/tests/operations.mjs @@ -1077,10 +1077,10 @@ ExifImageHeight: 57`); it("performs MAGIC", async () => { const input = "WUagwsiae6mP8gNtCCLUFpCpCB26RmBDoDD8PacdAmzAzBVjkK2QstFXaKhpC6iUS7RHqXrJtFisoRSgoJ4whjm1arm864qaNq4RcfUmLHrcsAaZc5TXCYifNdgS83gDeejGX46gaiMyuBV6EskHt1scgJ88x2tNSotQDwbGY1mmCob2ARGFvCKYNqiN9ipMq1ZU1mgkdbNuGcb76aRtYWhCGUc8g93UJudhb8htsheZnwTpgqhx83SVJSZXMXUjJT2zmpC7uXWtumqokbdSi88YtkWDAc1Toouh2oH4D4ddmNKJWUDpMwmngUmK14xwmomccPQE9hM172APnSqwxdKQ172RkcAsysnmj5gGtRmVNNh2s359wr6mS2QRP"; - const depth = 3; + const depth = 1; const res = await chef.magic(input, { - depth: 3 + depth, }); // assert against the structure of the output, rather than the values. From a380aed878350ab57dda250a0e29f0bb300fcbdd Mon Sep 17 00:00:00 2001 From: d98762625 Date: Fri, 12 Jun 2020 12:49:39 +0100 Subject: [PATCH 083/754] 9.21.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3275d016..61c05f2c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.20.7", + "version": "9.21.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 163e1377..5bf451a1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.20.7", + "version": "9.21.0", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From c9d9730726dfa16a1c5f37024ba9c7ea9f37453d Mon Sep 17 00:00:00 2001 From: d98762625 Date: Fri, 12 Jun 2020 13:50:30 +0100 Subject: [PATCH 084/754] Updated CHANGELOG --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ae55753..08c2acdf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ All major and minor version changes will be documented in this file. Details of patch-level version changes can be found in [commit messages](https://github.com/gchq/CyberChef/commits/master). +### [9.21.0] - 2020-06-12 +- Node API now exports `magic` operation [@d98762625] | [#1049] + ### [9.20.0] - 2020-03-27 - 'Parse ObjectID Timestamp' operation added [@dmfj] | [#987] From de727bcddc60ac9ff8c27373852523a56a93a449 Mon Sep 17 00:00:00 2001 From: Stephen G Date: Sat, 13 Jun 2020 14:51:37 -0700 Subject: [PATCH 085/754] use nvmrc file avoids storing node version in travis to allow nvm tool for local dev --- .nvmrc | 1 + .travis.yml | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) create mode 100644 .nvmrc diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 00000000..03128968 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +lts/dubnium diff --git a/.travis.yml b/.travis.yml index 5c247911..7fc82408 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,4 @@ language: node_js -node_js: - - lts/dubnium cache: npm os: linux addons: From 0b5ee7c79fd54b1b60ad155fad954fad14f98319 Mon Sep 17 00:00:00 2001 From: Matt Date: Sat, 4 Jul 2020 15:35:49 +0100 Subject: [PATCH 086/754] Update actions --- .github/workflows/main.yml | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ed0e59a8..ac9856f1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@master + - uses: actions/checkout@v2 - name: Setup run: | npm i @@ -27,8 +27,15 @@ jobs: - name: UI Tests run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui - name: Deploy - uses: peaceiris/actions-gh-pages@v2.4.0 - env: - PERSONAL_TOKEN: ${{ secrets.ACCESS_TOKEN }} - PUBLISH_BRANCH: gh-pages - PUBLISH_DIR: ./build/prod + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./build/prod + # Once NPM_AUTH_TOKEN set up in repo, uncomment this + #- name: Deploy to NPM + # run: | + # npm config set //registry.npmjs.org/:_authToken=$NPM_TOKEN + # npm publish || true + # env: + # Add NPM publish token to the repo secrets + # NPM_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} From d68c8cb845e7976623f35740de50eb4a5ec29a09 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Mon, 6 Jul 2020 10:43:52 +0100 Subject: [PATCH 087/754] Casing Variations --- src/core/config/Categories.json | 1 + src/core/operations/GetAllCasings.mjs | 53 +++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 src/core/operations/GetAllCasings.mjs diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 77e3d319..1bf0b68a 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -217,6 +217,7 @@ "From Case Insensitive Regex", "Add line numbers", "Remove line numbers", + "Get All Casings", "To Table", "Reverse", "Sort", diff --git a/src/core/operations/GetAllCasings.mjs b/src/core/operations/GetAllCasings.mjs new file mode 100644 index 00000000..33892ffc --- /dev/null +++ b/src/core/operations/GetAllCasings.mjs @@ -0,0 +1,53 @@ +/** + * @author n1073645 [n1073645@gmail.com] + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; + +/** + * Permutate String operation + */ +class GetAllCasings extends Operation { + + /** + * GetAllCasings constructor + */ + constructor() { + super(); + + this.name = "Get All Casings"; + this.module = "Default"; + this.description = "Outputs all possible casing variations of a string."; + this.infoURL = ""; + this.inputType = "string"; + this.outputType = "string"; + this.args = []; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const length = input.length; + const max = 1 << length; + input = input.toLowerCase(); + let result = ""; + + for (let i = 0; i < max; i++) { + const temp = input.split(""); + for (let j = 0; j < length; j++) { + if (((i >> j) & 1) === 1) { + temp[j] = temp[j].toUpperCase(); + } + } + result += temp.join("") + "\n"; + } + return result; + } +} + +export default GetAllCasings; From c01ce90e06db1d764f836282aa0e6693831230f5 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Mon, 6 Jul 2020 11:20:54 +0100 Subject: [PATCH 088/754] Tests Added --- tests/operations/index.mjs | 2 +- tests/operations/tests/GetAllCasings.mjs | 44 ++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 tests/operations/tests/GetAllCasings.mjs diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index 8d3cd623..33260005 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -101,7 +101,7 @@ import "./tests/LuhnChecksum.mjs"; import "./tests/CipherSaber2.mjs"; import "./tests/Colossus.mjs"; import "./tests/ParseObjectIDTimestamp.mjs"; - +import "./tests/GetAllCasings.mjs"; // Cannot test operations that use the File type yet // import "./tests/SplitColourChannels.mjs"; diff --git a/tests/operations/tests/GetAllCasings.mjs b/tests/operations/tests/GetAllCasings.mjs new file mode 100644 index 00000000..e5c6a25b --- /dev/null +++ b/tests/operations/tests/GetAllCasings.mjs @@ -0,0 +1,44 @@ +/** + * GetAllCasings tests. + * + * @author n1073645 [n1073645@gmail.com] + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "All casings of test", + input: "test", + expectedOutput: "test\nTest\ntEst\nTEst\nteSt\nTeSt\ntESt\nTESt\ntesT\nTesT\ntEsT\nTEsT\nteST\nTeST\ntEST\nTEST\n", + recipeConfig: [ + { + "op": "Get All Casings", + "args": [] + } + ] + }, + { + name: "All casings of t", + input: "t", + expectedOutput: "t\nT\n", + recipeConfig: [ + { + "op": "Get All Casings", + "args": [] + } + ] + }, + { + name: "All casings of null", + input: "", + expectedOutput: "\n", + recipeConfig: [ + { + "op": "Get All Casings", + "args": [] + } + ] + } +]); From 3e3c526a625cabeae64d8f3b61f88d326e98473a Mon Sep 17 00:00:00 2001 From: n1073645 Date: Mon, 6 Jul 2020 16:35:14 +0100 Subject: [PATCH 089/754] Caesar Box Cipher Added --- src/core/config/Categories.json | 1 + src/core/operations/CaesarBoxCipher.mjs | 61 ++++++++++++++++++++++ tests/operations/index.mjs | 1 + tests/operations/tests/CaesarBoxCipher.mjs | 45 ++++++++++++++++ 4 files changed, 108 insertions(+) create mode 100644 src/core/operations/CaesarBoxCipher.mjs create mode 100644 tests/operations/tests/CaesarBoxCipher.mjs diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 77e3d319..36465ced 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -91,6 +91,7 @@ "Bacon Cipher Decode", "Bifid Cipher Encode", "Bifid Cipher Decode", + "Caesar Box Cipher", "Affine Cipher Encode", "Affine Cipher Decode", "A1Z26 Cipher Encode", diff --git a/src/core/operations/CaesarBoxCipher.mjs b/src/core/operations/CaesarBoxCipher.mjs new file mode 100644 index 00000000..2e4d9830 --- /dev/null +++ b/src/core/operations/CaesarBoxCipher.mjs @@ -0,0 +1,61 @@ +/** + * @author n1073645 [n1073645@gmail.com] + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; + +/** + * Caesar Box Cipher operation + */ +class CaesarBoxCipher extends Operation { + + /** + * CaesarBoxCipher constructor + */ + constructor() { + super(); + + this.name = "Caesar Box Cipher"; + this.module = "Ciphers"; + this.description = ""; + this.infoURL = ""; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + name: "Box Height", + type: "number", + value: 1 + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const tableHeight = args[0]; + const tableWidth = Math.ceil(input.length / tableHeight); + while (input.indexOf(" ") !== -1) + input = input.replace(" ", ""); + for (let i = 0; i < (tableHeight * tableWidth) - input.length; i++) { + input += "\x00"; + } + let result = ""; + for (let i = 0; i < tableHeight; i++) { + for (let j = i; j < input.length; j += tableHeight) { + if (input.charAt(j) !== "\x00") { + result += input.charAt(j); + } + } + } + return result; + } + +} + +export default CaesarBoxCipher; diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index 8d3cd623..bd6cd3ed 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -101,6 +101,7 @@ import "./tests/LuhnChecksum.mjs"; import "./tests/CipherSaber2.mjs"; import "./tests/Colossus.mjs"; import "./tests/ParseObjectIDTimestamp.mjs"; +import "./tests/CaesarBoxCipher.mjs"; // Cannot test operations that use the File type yet diff --git a/tests/operations/tests/CaesarBoxCipher.mjs b/tests/operations/tests/CaesarBoxCipher.mjs new file mode 100644 index 00000000..3ccdae66 --- /dev/null +++ b/tests/operations/tests/CaesarBoxCipher.mjs @@ -0,0 +1,45 @@ +/** + * Base58 tests. + * + * @author n1073645 [n1073645@gmail.com] + * + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "Caesar Box Cipher: nothing", + input: "", + expectedOutput: "", + recipeConfig: [ + { + op: "Caesar Box Cipher", + args: ["1"], + }, + ], + }, + { + name: "Caesar Box Cipher: Hello World!", + input: "Hello World!", + expectedOutput: "Hlodeor!lWl", + recipeConfig: [ + { + op: "Caesar Box Cipher", + args: ["3"], + }, + ], + }, + { + name: "Caesar Box Cipher: Hello World!", + input: "Hlodeor!lWl", + expectedOutput: "HelloWorld!", + recipeConfig: [ + { + op: "Caesar Box Cipher", + args: ["4"], + }, + ], + } +]); From 667dfd820e5e2b93a5daf4258f547d6a0a605a37 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Mon, 6 Jul 2020 16:46:40 +0100 Subject: [PATCH 090/754] info url added --- src/core/operations/CaesarBoxCipher.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/operations/CaesarBoxCipher.mjs b/src/core/operations/CaesarBoxCipher.mjs index 2e4d9830..9c835b4b 100644 --- a/src/core/operations/CaesarBoxCipher.mjs +++ b/src/core/operations/CaesarBoxCipher.mjs @@ -19,8 +19,8 @@ class CaesarBoxCipher extends Operation { this.name = "Caesar Box Cipher"; this.module = "Ciphers"; - this.description = ""; - this.infoURL = ""; + this.description = "Caesar Box Encryption uses a box, a rectangle (or a square), or at least a size W caracterizing its width."; + this.infoURL = "https://www.dcode.fr/caesar-box-cipher"; this.inputType = "string"; this.outputType = "string"; this.args = [ From 2e0aa7ae877bd702cc6b9ad4c44f300c5e9ed613 Mon Sep 17 00:00:00 2001 From: Scott Howard Date: Wed, 15 Jul 2020 22:05:15 -0400 Subject: [PATCH 091/754] Don't pad rail fence decode fixes #1069 --- src/core/operations/RailFenceCipherDecode.mjs | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/core/operations/RailFenceCipherDecode.mjs b/src/core/operations/RailFenceCipherDecode.mjs index d98742b8..058c3b7d 100644 --- a/src/core/operations/RailFenceCipherDecode.mjs +++ b/src/core/operations/RailFenceCipherDecode.mjs @@ -59,13 +59,6 @@ class RailFenceCipherDecode extends Operation { } const cycle = (key - 1) * 2; - - const rest = cipher.length % key; - - if (rest !== 0) { - cipher = cipher + (" ".repeat(key - rest)); - } - const plaintext = new Array(cipher.length); let j = 0; From 7989f119d3deeb5a08b7d01edf7c69d16994c84d Mon Sep 17 00:00:00 2001 From: n1073645 <57447333+n1073645@users.noreply.github.com> Date: Thu, 16 Jul 2020 09:56:30 +0100 Subject: [PATCH 092/754] Linting Modifications --- src/core/operations/RailFenceCipherDecode.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/operations/RailFenceCipherDecode.mjs b/src/core/operations/RailFenceCipherDecode.mjs index 058c3b7d..be54ee12 100644 --- a/src/core/operations/RailFenceCipherDecode.mjs +++ b/src/core/operations/RailFenceCipherDecode.mjs @@ -46,7 +46,7 @@ class RailFenceCipherDecode extends Operation { run(input, args) { const [key, offset] = args; - let cipher = input; + const cipher = input; if (key < 2) { throw new OperationError("Key has to be bigger than 2"); From 2781640a2aac17d5cc8cdb7b2d85175c767e8be5 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Wed, 29 Jul 2020 15:27:55 +0100 Subject: [PATCH 093/754] JSON to CSV improvements --- src/core/operations/JSONToCSV.mjs | 79 +++++++++++++++++----------- tests/operations/tests/JSONtoCSV.mjs | 66 +++++++++++++++++++++++ 2 files changed, 115 insertions(+), 30 deletions(-) diff --git a/src/core/operations/JSONToCSV.mjs b/src/core/operations/JSONToCSV.mjs index e846f164..c363acbe 100644 --- a/src/core/operations/JSONToCSV.mjs +++ b/src/core/operations/JSONToCSV.mjs @@ -6,6 +6,8 @@ import Operation from "../Operation.mjs"; import OperationError from "../errors/OperationError.mjs"; +import * as flat from "flat"; +const flatten = flat.default ? flat.default.flatten : flat.flatten; /** * JSON to CSV operation @@ -38,6 +40,40 @@ class JSONToCSV extends Operation { ]; } + /** + * Converts a JSON to csv equivalent. + * + * @returns {string} + */ + toCsv() { + const self = this; + // If the JSON is an array of arrays, this is easy + if (this.flattened[0] instanceof Array) { + return this.flattened + .map(row => row + .map(self.escapeCellContents.bind(self)) + .join(this.cellDelim) + ) + .join(this.rowDelim) + + this.rowDelim; + } + + // If it's an array of dictionaries... + const header = Object.keys(this.flattened[0]); + return header + .map(self.escapeCellContents.bind(self)) + .join(this.cellDelim) + + this.rowDelim + + this.flattened + .map(row => header + .map(h => row[h]) + .map(self.escapeCellContents.bind(self)) + .join(this.cellDelim) + ) + .join(this.rowDelim) + + this.rowDelim; + } + /** * @param {JSON} input * @param {Object[]} args @@ -49,40 +85,23 @@ class JSONToCSV extends Operation { // Record values so they don't have to be passed to other functions explicitly this.cellDelim = cellDelim; this.rowDelim = rowDelim; - const self = this; - - if (!(input instanceof Array)) { - input = [input]; + this.flattened = input; + if (!(this.flattened instanceof Array)) { + this.flattened = [input]; } try { - // If the JSON is an array of arrays, this is easy - if (input[0] instanceof Array) { - return input - .map(row => row - .map(self.escapeCellContents.bind(self)) - .join(cellDelim) - ) - .join(rowDelim) + - rowDelim; - } - - // If it's an array of dictionaries... - const header = Object.keys(input[0]); - return header - .map(self.escapeCellContents.bind(self)) - .join(cellDelim) + - rowDelim + - input - .map(row => header - .map(h => row[h]) - .map(self.escapeCellContents.bind(self)) - .join(cellDelim) - ) - .join(rowDelim) + - rowDelim; + return this.toCsv(); } catch (err) { - throw new OperationError("Unable to parse JSON to CSV: " + err.toString()); + try { + this.flattened = flatten(input); + if (!(this.flattened instanceof Array)) { + this.flattened = [this.flattened]; + } + return this.toCsv(); + } catch (err) { + throw new OperationError("Unable to parse JSON to CSV: " + err.toString()); + } } } diff --git a/tests/operations/tests/JSONtoCSV.mjs b/tests/operations/tests/JSONtoCSV.mjs index 195bce3d..a9a0867e 100644 --- a/tests/operations/tests/JSONtoCSV.mjs +++ b/tests/operations/tests/JSONtoCSV.mjs @@ -89,5 +89,71 @@ TestRegister.addTests([ args: [",", "\\r\\n"] }, ], + }, + { + name: "JSON to CSV: nested JSON", + input: JSON.stringify({a: 1, b: {c: 2, d: 3}}), + expectedOutput: "a,b.c,b.d\r\n1,2,3\r\n", + recipeConfig: [ + { + op: "JSON to CSV", + args: [",", "\\r\\n"] + }, + ], + }, + { + name: "JSON to CSV: nested array", + input: JSON.stringify({a: 1, b: [2, 3]}), + expectedOutput: "a,b.0,b.1\r\n1,2,3\r\n", + recipeConfig: [ + { + op: "JSON to CSV", + args: [",", "\\r\\n"] + }, + ], + }, + { + name: "JSON to CSV: nested JSON, nested array", + input: JSON.stringify({a: 1, b: {c: [2, 3], d: 4}}), + expectedOutput: "a,b.c.0,b.c.1,b.d\r\n1,2,3,4\r\n", + recipeConfig: [ + { + op: "JSON to CSV", + args: [",", "\\r\\n"] + }, + ], + }, + { + name: "JSON to CSV: nested array, nested JSON", + input: JSON.stringify({a: 1, b: [{c: 3, d: 4}]}), + expectedOutput: "a,b.0.c,b.0.d\r\n1,3,4\r\n", + recipeConfig: [ + { + op: "JSON to CSV", + args: [",", "\\r\\n"] + }, + ], + }, + { + name: "JSON to CSV: nested array, nested array", + input: JSON.stringify({a: 1, b: [[2, 3]]}), + expectedOutput: "a,b.0.0,b.0.1\r\n1,2,3\r\n", + recipeConfig: [ + { + op: "JSON to CSV", + args: [",", "\\r\\n"] + }, + ], + }, + { + name: "JSON to CSV: nested JSON, nested JSON", + input: JSON.stringify({a: 1, b: { c: { d: 2, e: 3}}}), + expectedOutput: "a,b.c.d,b.c.e\r\n1,2,3\r\n", + recipeConfig: [ + { + op: "JSON to CSV", + args: [",", "\\r\\n"] + }, + ], } ]); From 13a54ec3186ece17401fe144ae7a56b9ffc6bf63 Mon Sep 17 00:00:00 2001 From: Matt Date: Thu, 13 Aug 2020 12:36:02 +0100 Subject: [PATCH 094/754] Add unicode text format operation --- package-lock.json | 14 ++++- src/core/config/Categories.json | 1 + src/core/operations/UnicodeTextFormat.mjs | 68 +++++++++++++++++++++++ 3 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 src/core/operations/UnicodeTextFormat.mjs diff --git a/package-lock.json b/package-lock.json index 61c05f2c..5ede14d1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8750,7 +8750,8 @@ "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 + "dev": true, + "optional": true }, "p-limit": { "version": "2.3.0", @@ -13306,6 +13307,7 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, + "optional": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -13324,6 +13326,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, + "optional": true, "requires": { "is-extendable": "^0.1.0" } @@ -13356,6 +13359,7 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, + "optional": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -13368,6 +13372,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, + "optional": true, "requires": { "is-extendable": "^0.1.0" } @@ -13422,13 +13427,15 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "dev": true, + "optional": 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, + "optional": true, "requires": { "kind-of": "^3.0.2" }, @@ -13438,6 +13445,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, + "optional": true, "requires": { "is-buffer": "^1.1.5" } @@ -13449,6 +13457,7 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, + "optional": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -13482,6 +13491,7 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, + "optional": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 77e3d319..ba0b83f4 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -200,6 +200,7 @@ "ops": [ "Encode text", "Decode text", + "Unicode Text Format", "Remove Diacritics", "Unescape Unicode Characters", "Convert to NATO alphabet" diff --git a/src/core/operations/UnicodeTextFormat.mjs b/src/core/operations/UnicodeTextFormat.mjs new file mode 100644 index 00000000..44d17afe --- /dev/null +++ b/src/core/operations/UnicodeTextFormat.mjs @@ -0,0 +1,68 @@ +/** + * @author Matt C [me@mitt.dev] + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; + +/** + * Unicode Text Format operation + */ +class UnicodeTextFormat extends Operation { + + /** + * UnicodeTextFormat constructor + */ + constructor() { + super(); + + this.name = "Unicode Text Format"; + this.module = "Default"; + this.description = "Adds Unicode combining characters to change formatting of plaintext."; + this.infoURL = "https://en.wikipedia.org/wiki/Combining_character"; + this.inputType = "byteArray"; + this.outputType = "byteArray"; + this.args = [ + { + name: "Underline", + type: "boolean", + value: "false" + }, + { + name: "Strikethrough", + type: "boolean", + value: "false" + } + ]; + } + + /** + * @param {byteArray} input + * @param {Object[]} args + * @returns {byteArray} + */ + run(input, args) { + const [underline, strikethrough] = args; + let output = input.map(char => [char]); + console.dir(output); + if (strikethrough) { + output = output.map(charFormat => { + charFormat.push(...Utils.strToUtf8ByteArray("\u0336")); + return charFormat; + }); + } + if (underline) { + output = output.map(charFormat => { + charFormat.push(...Utils.strToUtf8ByteArray("\u0332")); + return charFormat; + }); + } + console.dir(output); + return output.flat(); + } + +} + +export default UnicodeTextFormat; From 3bfddd708c9df3c5ab66fc799b72985fab2aeeb3 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Mon, 17 Aug 2020 10:40:00 +0100 Subject: [PATCH 095/754] rectify week number --- src/core/operations/ParseDateTime.mjs | 2 +- tests/node/tests/operations.mjs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/operations/ParseDateTime.mjs b/src/core/operations/ParseDateTime.mjs index b8f2e08d..1fb6fb5e 100644 --- a/src/core/operations/ParseDateTime.mjs +++ b/src/core/operations/ParseDateTime.mjs @@ -72,7 +72,7 @@ class ParseDateTime extends Operation { "\nLeap year: " + date.isLeapYear() + "\nDays in this month: " + date.daysInMonth() + "\n\nDay of year: " + date.dayOfYear() + - "\nWeek number: " + date.weekYear() + + "\nWeek number: " + date.week() + "\nQuarter: " + date.quarter(); return output; diff --git a/tests/node/tests/operations.mjs b/tests/node/tests/operations.mjs index 2124ad14..dc9f5e4a 100644 --- a/tests/node/tests/operations.mjs +++ b/tests/node/tests/operations.mjs @@ -656,7 +656,7 @@ Leap year: false Days in this month: 31 Day of year: 187 -Week number: 2001 +Week number: 27 Quarter: 3`; assert.strictEqual(result.toString(), expected); }), From 953a581a946baa2add0616eae06e848683016352 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Mon, 17 Aug 2020 14:12:29 +0100 Subject: [PATCH 096/754] byte length arg added --- src/core/operations/FromBinary.mjs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/core/operations/FromBinary.mjs b/src/core/operations/FromBinary.mjs index 15e5d663..0bb7a45c 100644 --- a/src/core/operations/FromBinary.mjs +++ b/src/core/operations/FromBinary.mjs @@ -31,6 +31,11 @@ class FromBinary extends Operation { "name": "Delimiter", "type": "option", "value": BIN_DELIM_OPTIONS + }, + { + "name": "Byte Length", + "type": "number", + "value": 8 } ]; this.checks = [ @@ -78,7 +83,8 @@ class FromBinary extends Operation { * @returns {byteArray} */ run(input, args) { - return fromBinary(input, args[0]); + const byteLen = args[1] ? args[1] : 8; + return fromBinary(input, args[0], byteLen); } /** From 3ab95384df46b4a8a4ec7138a2f9ad72540a4a85 Mon Sep 17 00:00:00 2001 From: Matt Date: Wed, 19 Aug 2020 10:55:29 +0100 Subject: [PATCH 097/754] Add unicode tests --- src/core/operations/RemoveDiacritics.mjs | 2 +- src/core/operations/UnicodeTextFormat.mjs | 5 +- tests/operations/index.mjs | 2 +- tests/operations/tests/RemoveDiacritics.mjs | 22 ------ tests/operations/tests/Unicode.mjs | 83 +++++++++++++++++++++ 5 files changed, 87 insertions(+), 27 deletions(-) delete mode 100644 tests/operations/tests/RemoveDiacritics.mjs create mode 100644 tests/operations/tests/Unicode.mjs diff --git a/src/core/operations/RemoveDiacritics.mjs b/src/core/operations/RemoveDiacritics.mjs index dd814375..859d86d7 100644 --- a/src/core/operations/RemoveDiacritics.mjs +++ b/src/core/operations/RemoveDiacritics.mjs @@ -19,7 +19,7 @@ class RemoveDiacritics extends Operation { this.name = "Remove Diacritics"; this.module = "Default"; - this.description = "Replaces accented characters with their latin character equivalent."; + this.description = "Replaces accented characters with their latin character equivalent. Accented characters are made up of Unicode combining characters, so unicode text formatting such as strikethroughs and underlines will also be removed."; this.infoURL = "https://wikipedia.org/wiki/Diacritic"; this.inputType = "string"; this.outputType = "string"; diff --git a/src/core/operations/UnicodeTextFormat.mjs b/src/core/operations/UnicodeTextFormat.mjs index 44d17afe..b1fc474b 100644 --- a/src/core/operations/UnicodeTextFormat.mjs +++ b/src/core/operations/UnicodeTextFormat.mjs @@ -46,7 +46,6 @@ class UnicodeTextFormat extends Operation { run(input, args) { const [underline, strikethrough] = args; let output = input.map(char => [char]); - console.dir(output); if (strikethrough) { output = output.map(charFormat => { charFormat.push(...Utils.strToUtf8ByteArray("\u0336")); @@ -59,8 +58,8 @@ class UnicodeTextFormat extends Operation { return charFormat; }); } - console.dir(output); - return output.flat(); + // return output.flat(); - Not supported in Node 10, polyfilled + return [].concat(...output); } } diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index 8d3cd623..07991256 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -69,7 +69,6 @@ import "./tests/ParseQRCode.mjs"; import "./tests/PowerSet.mjs"; import "./tests/Regex.mjs"; import "./tests/Register.mjs"; -import "./tests/RemoveDiacritics.mjs"; import "./tests/Rotate.mjs"; import "./tests/SeqUtils.mjs"; import "./tests/SetDifference.mjs"; @@ -101,6 +100,7 @@ import "./tests/LuhnChecksum.mjs"; import "./tests/CipherSaber2.mjs"; import "./tests/Colossus.mjs"; import "./tests/ParseObjectIDTimestamp.mjs"; +import "./tests/Unicode.mjs"; // Cannot test operations that use the File type yet diff --git a/tests/operations/tests/RemoveDiacritics.mjs b/tests/operations/tests/RemoveDiacritics.mjs deleted file mode 100644 index c58a2ba6..00000000 --- a/tests/operations/tests/RemoveDiacritics.mjs +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Remove Diacritics tests. - * - * @author Klaxon [klaxon@veyr.com] - * @copyright Crown Copyright 2017 - * @license Apache-2.0 - */ -import TestRegister from "../../lib/TestRegister.mjs"; - -TestRegister.addTests([ - { - name: "Remove Diacritics", - input: "\xe0, \xe8, \xec, \xf2, \xf9 \xc0, \xc8, \xcc, \xd2, \xd9\n\xe1, \xe9, \xed, \xf3, \xfa, \xfd \xc1, \xc9, \xcd, \xd3, \xda, \xdd\n\xe2, \xea, \xee, \xf4, \xfb \xc2, \xca, \xce, \xd4, \xdb\n\xe3, \xf1, \xf5 \xc3, \xd1, \xd5\n\xe4, \xeb, \xef, \xf6, \xfc, \xff \xc4, \xcb, \xcf, \xd6, \xdc, \u0178\n\xe5, \xc5", - expectedOutput: "a, e, i, o, u A, E, I, O, U\na, e, i, o, u, y A, E, I, O, U, Y\na, e, i, o, u A, E, I, O, U\na, n, o A, N, O\na, e, i, o, u, y A, E, I, O, U, Y\na, A", - recipeConfig: [ - { - "op": "Remove Diacritics", - "args": [] - }, - ], - }, -]); diff --git a/tests/operations/tests/Unicode.mjs b/tests/operations/tests/Unicode.mjs new file mode 100644 index 00000000..2603768f --- /dev/null +++ b/tests/operations/tests/Unicode.mjs @@ -0,0 +1,83 @@ +/** + * Unicode operation tests. + * + * @author Matt C [me@mitt.dev] + * @author Klaxon [klaxon@veyr.com] + * + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "Unicode Text Format: underline", + input: "a", + expectedOutput: "a\u0332", + recipeConfig: [ + { + "op": "Unicode Text Format", + "args": [true, false], + } + ], + }, + { + name: "Unicode Text Format: strikethrough", + input: "a", + expectedOutput: "a\u0336", + recipeConfig: [ + { + "op": "Unicode Text Format", + "args": [false, true], + } + ], + }, + { + name: "Unicode Text Format: both", + input: "a", + expectedOutput: "a\u0336\u0332", + recipeConfig: [ + { + "op": "Unicode Text Format", + "args": [true, true], + } + ], + }, + { + name: "Remove Diacritics: text formatting", + input: "a", + expectedOutput: "a", + recipeConfig: [ + { + "op": "Unicode Text Format", + "args": [true, true], + }, + { + "op": "Remove Diacritics", + "args": [] + } + ], + }, + { + name: "Remove Diacritics: all diacritical marks one char", + input: "à̴̵̶̷̸̡̢̧̨̛̖̗̘̙̜̝̞̟̠̣̤̥̦̩̪̫̬̭̮̯̰̱̲̳̹̺̻̼́̂̃̄̅̆̇̈̉̊̋̌̍̎̏̐̑̒̓̔̽̾̿̀́͂̓̈́̕̚͠͡ͅ", // sorry about this line lol + expectedOutput: "a", + recipeConfig: [ + { + "op": "Remove Diacritics", + "args": [] + } + ], + }, + { + name: "Remove Diacritics: default", + input: "\xe0, \xe8, \xec, \xf2, \xf9 \xc0, \xc8, \xcc, \xd2, \xd9\n\xe1, \xe9, \xed, \xf3, \xfa, \xfd \xc1, \xc9, \xcd, \xd3, \xda, \xdd\n\xe2, \xea, \xee, \xf4, \xfb \xc2, \xca, \xce, \xd4, \xdb\n\xe3, \xf1, \xf5 \xc3, \xd1, \xd5\n\xe4, \xeb, \xef, \xf6, \xfc, \xff \xc4, \xcb, \xcf, \xd6, \xdc, \u0178\n\xe5, \xc5", + expectedOutput: "a, e, i, o, u A, E, I, O, U\na, e, i, o, u, y A, E, I, O, U, Y\na, e, i, o, u A, E, I, O, U\na, n, o A, N, O\na, e, i, o, u, y A, E, I, O, U, Y\na, A", + recipeConfig: [ + { + "op": "Remove Diacritics", + "args": [] + }, + ], + }, +]); From bf14c8983f04daada514e6b9a53f17dbb47a5884 Mon Sep 17 00:00:00 2001 From: Matt Date: Wed, 19 Aug 2020 11:04:09 +0100 Subject: [PATCH 098/754] trigger travis From 9dba1232b76249f7140cfd7f9e3e7b72eb779143 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Mon, 24 Aug 2020 09:41:05 +0100 Subject: [PATCH 099/754] byte length argument added to ToBinary --- src/core/operations/ToBinary.mjs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/core/operations/ToBinary.mjs b/src/core/operations/ToBinary.mjs index 95d004b0..ba72a55b 100644 --- a/src/core/operations/ToBinary.mjs +++ b/src/core/operations/ToBinary.mjs @@ -31,6 +31,11 @@ class ToBinary extends Operation { "name": "Delimiter", "type": "option", "value": BIN_DELIM_OPTIONS + }, + { + "name": "Byte Length", + "type": "number", + "value": 8 } ]; } @@ -42,7 +47,8 @@ class ToBinary extends Operation { */ run(input, args) { input = new Uint8Array(input); - return toBinary(input, args[0]); + const padding = args[1] ? args[1] : 8; + return toBinary(input, args[0], padding); } /** From f6c8c9e76ce863355aeda8fc1ff93c411736a7f0 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Mon, 24 Aug 2020 10:39:18 +0100 Subject: [PATCH 100/754] swap endianness argument added to Windows Filetime To Unix Timestamp --- .../WindowsFiletimeToUNIXTimestamp.mjs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/core/operations/WindowsFiletimeToUNIXTimestamp.mjs b/src/core/operations/WindowsFiletimeToUNIXTimestamp.mjs index 57d1e477..32c272f9 100644 --- a/src/core/operations/WindowsFiletimeToUNIXTimestamp.mjs +++ b/src/core/operations/WindowsFiletimeToUNIXTimestamp.mjs @@ -35,6 +35,11 @@ class WindowsFiletimeToUNIXTimestamp extends Operation { "name": "Input format", "type": "option", "value": ["Decimal", "Hex"] + }, + { + "name": "Swap Endianness", + "type": "boolean", + "value": false } ]; } @@ -45,7 +50,16 @@ class WindowsFiletimeToUNIXTimestamp extends Operation { * @returns {string} */ run(input, args) { - const [units, format] = args; + const [units, format, swapEndianness] = args; + + if (swapEndianness) { + let result = ""; + for (let i = input.length - 2; i >= 0; i -= 2) { + result += input.charAt(i); + result += input.charAt(i + 1); + } + input = result; + } if (!input) return ""; From bbf19ee9444616a09a44c1a9656d9161105c6d54 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Mon, 24 Aug 2020 11:24:25 +0100 Subject: [PATCH 101/754] argument added for numbers in ROT --- src/core/operations/ROT13.mjs | 13 +++++++++++-- tests/operations/tests/Rotate.mjs | 10 +++++----- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/core/operations/ROT13.mjs b/src/core/operations/ROT13.mjs index c36766aa..75be2f2b 100644 --- a/src/core/operations/ROT13.mjs +++ b/src/core/operations/ROT13.mjs @@ -35,6 +35,11 @@ class ROT13 extends Operation { type: "boolean", value: true }, + { + name: "Rotate Numbers", + type: "boolean", + value: true + }, { name: "Amount", type: "number", @@ -51,8 +56,9 @@ class ROT13 extends Operation { run(input, args) { const output = input, rot13Lowercase = args[0], - rot13Upperacse = args[1]; - let amount = args[2], + rot13Upperacse = args[1], + rotNumbers = args[2]; + let amount = args[3], chr; if (amount) { @@ -68,6 +74,9 @@ class ROT13 extends Operation { } else if (rot13Lowercase && chr >= 97 && chr <= 122) { // Lower case chr = (chr - 97 + amount) % 26; output[i] = chr + 97; + } else if (rotNumbers && chr >= 48 && chr <= 57) { + chr = (chr - 48 + amount) % 10; + output[i] = chr + 48; } } } diff --git a/tests/operations/tests/Rotate.mjs b/tests/operations/tests/Rotate.mjs index fe832b4a..85e31508 100644 --- a/tests/operations/tests/Rotate.mjs +++ b/tests/operations/tests/Rotate.mjs @@ -131,7 +131,7 @@ TestRegister.addTests([ recipeConfig: [ { op: "ROT13", - args: [true, true, 13] + args: [true, true, true, 13] }, ], }, @@ -142,7 +142,7 @@ TestRegister.addTests([ recipeConfig: [ { op: "ROT13", - args: [true, true, 13] + args: [true, true, true, 13] }, ], }, @@ -153,7 +153,7 @@ TestRegister.addTests([ recipeConfig: [ { op: "ROT13", - args: [true, true, 26] + args: [true, true, true, 26] }, ], }, @@ -164,7 +164,7 @@ TestRegister.addTests([ recipeConfig: [ { op: "ROT13", - args: [true, false, 13] + args: [true, false, false, 13] }, ], }, @@ -175,7 +175,7 @@ TestRegister.addTests([ recipeConfig: [ { op: "ROT13", - args: [false, true, 13] + args: [false, true, false, 13] }, ], }, From 3e8dea73d23dfca03175593e886465d927ac4297 Mon Sep 17 00:00:00 2001 From: Xavier Downs Date: Tue, 24 Nov 2020 12:18:02 +0000 Subject: [PATCH 102/754] Update ScanForEmbeddedFiles.mjs --- src/core/operations/ScanForEmbeddedFiles.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/operations/ScanForEmbeddedFiles.mjs b/src/core/operations/ScanForEmbeddedFiles.mjs index 11102f21..411b4c1d 100644 --- a/src/core/operations/ScanForEmbeddedFiles.mjs +++ b/src/core/operations/ScanForEmbeddedFiles.mjs @@ -41,7 +41,7 @@ class ScanForEmbeddedFiles extends Operation { * @returns {string} */ run(input, args) { - let output = "Scanning data for 'magic bytes' which may indicate embedded files. The following results may be false positives and should not be treat as reliable. Any sufficiently long file is likely to contain these magic bytes coincidentally.\n", + let output = "Scanning data for 'magic bytes' which may indicate embedded files. The following results may be false positives and should not be treated as reliable. Any sufficiently long file is likely to contain these magic bytes coincidentally.\n", numFound = 0; const categories = [], data = new Uint8Array(input); From e6eafc2843d9e8e87ff11fbc0d81f44716df65ee Mon Sep 17 00:00:00 2001 From: Arthur Taggart Date: Sun, 29 Nov 2020 14:19:42 +0000 Subject: [PATCH 103/754] Updated the links to forensic wiki website --- src/core/operations/CTPH.mjs | 2 +- src/core/operations/CompareCTPHHashes.mjs | 2 +- src/core/operations/CompareSSDEEPHashes.mjs | 2 +- src/core/operations/ExtractFiles.mjs | 2 +- src/core/operations/SSDEEP.mjs | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/core/operations/CTPH.mjs b/src/core/operations/CTPH.mjs index cd450dd9..7394faaa 100644 --- a/src/core/operations/CTPH.mjs +++ b/src/core/operations/CTPH.mjs @@ -21,7 +21,7 @@ class CTPH extends Operation { this.name = "CTPH"; this.module = "Crypto"; this.description = "Context Triggered Piecewise Hashing, also called Fuzzy Hashing, can match inputs that have homologies. Such inputs have sequences of identical bytes in the same order, although bytes in between these sequences may be different in both content and length.

CTPH was originally based on the work of Dr. Andrew Tridgell and a spam email detector called SpamSum. This method was adapted by Jesse Kornblum and published at the DFRWS conference in 2006 in a paper 'Identifying Almost Identical Files Using Context Triggered Piecewise Hashing'."; - this.infoURL = "https://forensicswiki.org/wiki/Context_Triggered_Piecewise_Hashing"; + this.infoURL = "https://forensicswiki.xyz/wiki/index.php?title=Context_Triggered_Piecewise_Hashing"; this.inputType = "string"; this.outputType = "string"; this.args = []; diff --git a/src/core/operations/CompareCTPHHashes.mjs b/src/core/operations/CompareCTPHHashes.mjs index 82156d27..40fec472 100644 --- a/src/core/operations/CompareCTPHHashes.mjs +++ b/src/core/operations/CompareCTPHHashes.mjs @@ -24,7 +24,7 @@ class CompareCTPHHashes extends Operation { this.name = "Compare CTPH hashes"; this.module = "Crypto"; this.description = "Compares two Context Triggered Piecewise Hashing (CTPH) fuzzy hashes to determine the similarity between them on a scale of 0 to 100."; - this.infoURL = "https://forensicswiki.org/wiki/Context_Triggered_Piecewise_Hashing"; + this.infoURL = "https://forensicswiki.xyz/wiki/index.php?title=Context_Triggered_Piecewise_Hashing"; this.inputType = "string"; this.outputType = "Number"; this.args = [ diff --git a/src/core/operations/CompareSSDEEPHashes.mjs b/src/core/operations/CompareSSDEEPHashes.mjs index f443d269..806b048e 100644 --- a/src/core/operations/CompareSSDEEPHashes.mjs +++ b/src/core/operations/CompareSSDEEPHashes.mjs @@ -24,7 +24,7 @@ class CompareSSDEEPHashes extends Operation { this.name = "Compare SSDEEP hashes"; this.module = "Crypto"; this.description = "Compares two SSDEEP fuzzy hashes to determine the similarity between them on a scale of 0 to 100."; - this.infoURL = "https://forensicswiki.org/wiki/Ssdeep"; + this.infoURL = "https://forensicswiki.xyz/wiki/index.php?title=Ssdeep"; this.inputType = "string"; this.outputType = "Number"; this.args = [ diff --git a/src/core/operations/ExtractFiles.mjs b/src/core/operations/ExtractFiles.mjs index dd146838..1da582b8 100644 --- a/src/core/operations/ExtractFiles.mjs +++ b/src/core/operations/ExtractFiles.mjs @@ -24,7 +24,7 @@ class ExtractFiles extends Operation { this.name = "Extract Files"; this.module = "Default"; this.description = "Performs file carving to attempt to extract files from the input.

This operation is currently capable of carving out the following formats:
  • JPG
  • EXE
  • ZIP
  • PDF
  • PNG
  • BMP
  • FLV
  • RTF
  • DOCX, PPTX, XLSX
  • EPUB
  • GZIP
  • ZLIB
  • ELF, BIN, AXF, O, PRX, SO
"; - this.infoURL = "https://forensicswiki.org/wiki/File_Carving"; + this.infoURL = "https://forensicswiki.xyz/wiki/index.php?title=File_Carving"; this.inputType = "ArrayBuffer"; this.outputType = "List"; this.presentType = "html"; diff --git a/src/core/operations/SSDEEP.mjs b/src/core/operations/SSDEEP.mjs index 87f5ee0b..df1557d5 100644 --- a/src/core/operations/SSDEEP.mjs +++ b/src/core/operations/SSDEEP.mjs @@ -21,7 +21,7 @@ class SSDEEP extends Operation { this.name = "SSDEEP"; this.module = "Crypto"; this.description = "SSDEEP is a program for computing context triggered piecewise hashes (CTPH). Also called fuzzy hashes, CTPH can match inputs that have homologies. Such inputs have sequences of identical bytes in the same order, although bytes in between these sequences may be different in both content and length.

SSDEEP hashes are now widely used for simple identification purposes (e.g. the 'Basic Properties' section in VirusTotal). Although 'better' fuzzy hashes are available, SSDEEP is still one of the primary choices because of its speed and being a de facto standard.

This operation is fundamentally the same as the CTPH operation, however their outputs differ in format."; - this.infoURL = "https://forensicswiki.org/wiki/Ssdeep"; + this.infoURL = "https://forensicswiki.xyz/wiki/index.php?title=Ssdeep"; this.inputType = "string"; this.outputType = "string"; this.args = []; From 3e0525ee9e92801d079a143da9e2f23ab015cca6 Mon Sep 17 00:00:00 2001 From: mt3571 Date: Tue, 1 Dec 2020 13:38:01 +0000 Subject: [PATCH 104/754] Added in a new file to store the list of JWT algorithms that can be used, as this error was occurring due to a mismatch between what you could sign and what you could verify --- src/core/lib/JWT.mjs | 24 ++++++++++++++++++++++++ src/core/operations/JWTSign.mjs | 16 ++++------------ src/core/operations/JWTVerify.mjs | 11 +++++------ 3 files changed, 33 insertions(+), 18 deletions(-) create mode 100644 src/core/lib/JWT.mjs diff --git a/src/core/lib/JWT.mjs b/src/core/lib/JWT.mjs new file mode 100644 index 00000000..6164803a --- /dev/null +++ b/src/core/lib/JWT.mjs @@ -0,0 +1,24 @@ +/** + * DateTime resources. + * + * @author mt3571 [mt3571@protonmail.com] + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ + + +/** + * List of the JWT algorithms that can be used + */ +export const JWT_ALGORITHMS = [ + "HS256", + "HS384", + "HS512", + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512", + "None" +]; \ No newline at end of file diff --git a/src/core/operations/JWTSign.mjs b/src/core/operations/JWTSign.mjs index d62eb6f6..1d220cf8 100644 --- a/src/core/operations/JWTSign.mjs +++ b/src/core/operations/JWTSign.mjs @@ -8,6 +8,9 @@ import Operation from "../Operation.mjs"; import jwt from "jsonwebtoken"; import OperationError from "../errors/OperationError.mjs"; +import {JWT_ALGORITHMS} from "../lib/JWT.mjs"; + + /** * JWT Sign operation */ @@ -34,18 +37,7 @@ class JWTSign extends Operation { { name: "Signing algorithm", type: "option", - value: [ - "HS256", - "HS384", - "HS512", - "RS256", - "RS384", - "RS512", - "ES256", - "ES384", - "ES512", - "None" - ] + value: JWT_ALGORITHMS } ]; } diff --git a/src/core/operations/JWTVerify.mjs b/src/core/operations/JWTVerify.mjs index 996ac2e3..9ee90a4a 100644 --- a/src/core/operations/JWTVerify.mjs +++ b/src/core/operations/JWTVerify.mjs @@ -8,6 +8,9 @@ import Operation from "../Operation.mjs"; import jwt from "jsonwebtoken"; import OperationError from "../errors/OperationError.mjs"; + +import {JWT_ALGORITHMS} from "../lib/JWT.mjs"; + /** * JWT Verify operation */ @@ -43,12 +46,8 @@ class JWTVerify extends Operation { const [key] = args; try { - const verified = jwt.verify(input, key, { algorithms: [ - "HS256", - "HS384", - "HS512", - "none" - ]}); + const verified = jwt.verify(input, key, { algorithms: JWT_ALGORITHMS}); + if (Object.prototype.hasOwnProperty.call(verified, "name") && verified.name === "JsonWebTokenError") { throw new OperationError(verified.message); From 887ea0cf0625f9f954e5ddd19dc71047c08b2105 Mon Sep 17 00:00:00 2001 From: mt3571 Date: Tue, 1 Dec 2020 13:49:34 +0000 Subject: [PATCH 105/754] Changed an incorrect name --- src/core/lib/JWT.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/lib/JWT.mjs b/src/core/lib/JWT.mjs index 6164803a..2edd0110 100644 --- a/src/core/lib/JWT.mjs +++ b/src/core/lib/JWT.mjs @@ -1,5 +1,5 @@ /** - * DateTime resources. + * JWT resources * * @author mt3571 [mt3571@protonmail.com] * @copyright Crown Copyright 2020 From a1109c43f63237a5cc46df7982746f648d4532d2 Mon Sep 17 00:00:00 2001 From: mattnotmax <39072319+mattnotmax@users.noreply.github.com> Date: Tue, 8 Dec 2020 21:17:43 +1100 Subject: [PATCH 106/754] Fix for haversine distance bug --- src/core/operations/HaversineDistance.mjs | 4 ++-- tests/operations/tests/HaversineDistance.mjs | 13 ++++++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/core/operations/HaversineDistance.mjs b/src/core/operations/HaversineDistance.mjs index 1d0d25e0..680bff4d 100644 --- a/src/core/operations/HaversineDistance.mjs +++ b/src/core/operations/HaversineDistance.mjs @@ -41,8 +41,8 @@ class HaversineDistance extends Operation { const lat1 = parseFloat(values[1]); const lng1 = parseFloat(values[3]); - const lat2 = parseFloat(values[6]); - const lng2 = parseFloat(values[8]); + const lat2 = parseFloat(values[5]); + const lng2 = parseFloat(values[7]); const TO_RAD = Math.PI / 180; const dLat = (lat2-lat1) * TO_RAD; diff --git a/tests/operations/tests/HaversineDistance.mjs b/tests/operations/tests/HaversineDistance.mjs index 94fc7289..54033512 100644 --- a/tests/operations/tests/HaversineDistance.mjs +++ b/tests/operations/tests/HaversineDistance.mjs @@ -11,7 +11,18 @@ TestRegister.addTests([ { name: "Haversine distance", input: "51.487263,-0.124323, 38.9517,-77.1467", - expectedOutput: "5619355.701829259", + expectedOutput: "5902.542836307819", + recipeConfig: [ + { + "op": "Haversine distance", + "args": [] + } + ], + }, + { + name: "Haversine distance, zero distance", + input: "51.487263,-0.124323, 51.487263,-0.124323", + expectedOutput: "0", recipeConfig: [ { "op": "Haversine distance", From 39b7e4ff9e883489c68838103b2f29032766868e Mon Sep 17 00:00:00 2001 From: mattnotmax <39072319+mattnotmax@users.noreply.github.com> Date: Wed, 9 Dec 2020 21:12:26 +1100 Subject: [PATCH 107/754] Correct Haversine test output --- tests/operations/tests/HaversineDistance.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/operations/tests/HaversineDistance.mjs b/tests/operations/tests/HaversineDistance.mjs index 54033512..81bbf56e 100644 --- a/tests/operations/tests/HaversineDistance.mjs +++ b/tests/operations/tests/HaversineDistance.mjs @@ -11,7 +11,7 @@ TestRegister.addTests([ { name: "Haversine distance", input: "51.487263,-0.124323, 38.9517,-77.1467", - expectedOutput: "5902.542836307819", + expectedOutput: "5902542.836307819", recipeConfig: [ { "op": "Haversine distance", From 2b2ffb334693eb86627e611a35fb4854abea04bc Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 11 Dec 2020 16:24:39 +0000 Subject: [PATCH 108/754] Updated dependencies --- Gruntfile.js | 8 +- package-lock.json | 8111 +++++++++++++------- package.json | 103 +- src/core/operations/GenerateImage.mjs | 6 +- src/core/operations/XPathExpression.mjs | 14 +- src/web/App.mjs | 10 +- src/web/static/images/bombe.svg | 8 +- src/web/waiters/BackgroundWorkerWaiter.mjs | 2 +- src/web/waiters/InputWaiter.mjs | 4 +- src/web/waiters/OutputWaiter.mjs | 2 +- src/web/waiters/WorkerWaiter.mjs | 4 +- webpack.config.js | 74 +- 12 files changed, 5325 insertions(+), 3021 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index dd4e1b5f..983b662d 100755 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -242,6 +242,10 @@ module.exports = function (grunt) { entry: Object.assign({ main: "./src/web/index.js" }, moduleEntryPoints), + output: { + publicPath: "", + globalObject: "this" + }, resolve: { alias: { "./config/modules/OpModules.mjs": "./config/modules/Default.mjs" @@ -302,7 +306,7 @@ module.exports = function (grunt) { }, files: [ { - src: "build/prod/index.html", + src: ["build/prod/index.html"], dest: "build/prod/index.html" } ] @@ -324,7 +328,7 @@ module.exports = function (grunt) { }, files: [ { - src: "build/prod/index.html", + src: ["build/prod/index.html"], dest: `build/prod/CyberChef_v${pkg.version}.html` } ] diff --git a/package-lock.json b/package-lock.json index 61c05f2c..536b540d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,49 +14,200 @@ } }, "@babel/compat-data": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.0.tgz", - "integrity": "sha512-H59nKm/7ATMfocMobbSk4PkeAerKqoxk+EYBT0kV5sol0e8GBpGNHseZNNYX0VOItKngIf6GgUpEOAlOLIUvDA==", - "dev": true, - "requires": { - "browserslist": "^4.12.0", - "invariant": "^2.2.4", - "semver": "^5.5.0" - } + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", + "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==", + "dev": true }, "@babel/core": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.0.tgz", - "integrity": "sha512-FGgV2XyPoVtYDvbFXlukEWt13Afka4mBRQ2CoTsHxpgVGO6XfgtT6eI+WyjQRGGTL90IDkIVmme8riFCLZ8lUw==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", + "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", "dev": true, "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.10.0", - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helpers": "^7.10.0", - "@babel/parser": "^7.10.0", - "@babel/template": "^7.10.0", - "@babel/traverse": "^7.10.0", - "@babel/types": "^7.10.0", + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.10", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.1", "json5": "^2.1.2", - "lodash": "^4.17.13", - "resolve": "^1.3.2", + "lodash": "^4.17.19", "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==", + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, "requires": { - "ms": "^2.1.1" + "@babel/highlight": "^7.10.4" } }, + "@babel/generator": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.10.tgz", + "integrity": "sha512-6mCdfhWgmqLdtTkhXjnIz0LcdVCd26wS2JXRtj2XY0u5klDsXBREA/pG5NVOuVnF2LUrBGNFtQkIqqTbblg0ww==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "dev": true, + "requires": { + "@babel/types": "^7.11.0" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", + "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", + "dev": true + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/traverse": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.10.tgz", + "integrity": "sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.12.10", + "@babel/types": "^7.12.10", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "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.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + }, + "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 + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -68,6 +219,21 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "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 } } }, @@ -83,6 +249,12 @@ "source-map": "^0.5.0" }, "dependencies": { + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -92,81 +264,458 @@ } }, "@babel/helper-annotate-as-pure": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz", - "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", + "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.12.10" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "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-builder-binary-assignment-operator-visitor": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz", - "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "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-compilation-targets": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.0.tgz", - "integrity": "sha512-PW5Hlc1cQ8bLzY7YsLJP6PQ7GR6ZD8Av4JlP3DZk6QaZJvptsXNDn4Su64EjKAetLTJhVPDp8AEC+j2O6b/Gpg==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", + "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", "dev": true, "requires": { - "@babel/compat-data": "^7.10.0", - "browserslist": "^4.12.0", - "invariant": "^2.2.4", - "levenary": "^1.1.1", + "@babel/compat-data": "^7.12.5", + "@babel/helper-validator-option": "^7.12.1", + "browserslist": "^4.14.5", "semver": "^5.5.0" + }, + "dependencies": { + "browserslist": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz", + "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001165", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.621", + "escalade": "^3.1.1", + "node-releases": "^1.1.67" + } + }, + "caniuse-lite": { + "version": "1.0.30001165", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz", + "integrity": "sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.622", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.622.tgz", + "integrity": "sha512-AJT0Fm1W0uZlMVVkkJrcCVvczDuF8tPm3bwzQf5WO8AaASB2hwTRP7B8pU5rqjireH+ib6am8+hH5/QkXzzYKw==", + "dev": true + }, + "node-releases": { + "version": "1.1.67", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", + "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==", + "dev": true + } } }, "@babel/helper-create-class-features-plugin": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.0.tgz", - "integrity": "sha512-n4tPJaI0iuLRayriXTQ8brP3fMA/fNmxpxswfNuhe4qXQbcCWzeAqm6SeR/KExIOcdCvOh/KkPQVgBsjcb0oqA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", + "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.9.5", - "@babel/helper-member-expression-to-functions": "^7.10.0", - "@babel/helper-optimise-call-expression": "^7.10.0", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-replace-supers": "^7.10.0", - "@babel/helper-split-export-declaration": "^7.8.3" + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "dev": true, + "requires": { + "@babel/types": "^7.11.0" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", + "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", + "dev": true + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "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.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" + } + }, + "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 + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "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/helper-create-regexp-features-plugin": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz", - "integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", + "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-regex": "^7.8.3", - "regexpu-core": "^4.7.0" + "@babel/helper-annotate-as-pure": "^7.10.4", + "regexpu-core": "^4.7.1" } }, "@babel/helper-define-map": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz", - "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==", + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/types": "^7.8.3", - "lodash": "^4.17.13" + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", + "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", + "dev": true + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "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.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" + } + }, + "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 + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "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/helper-explode-assignable-expression": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz", - "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", + "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", "dev": true, "requires": { - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/types": "^7.12.1" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "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-function-name": { @@ -190,104 +739,710 @@ } }, "@babel/helper-hoist-variables": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz", - "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.10.4" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "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-member-expression-to-functions": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.0.tgz", - "integrity": "sha512-xKLTpbMkJcvwEsDaTfs9h0IlfUiBLPFfybxaPpPPsQDsZTRg+UKh+86oK7sctHF3OUiRQkb10oS9MXSqgyV6/g==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", "dev": true, "requires": { - "@babel/types": "^7.10.0" + "@babel/types": "^7.12.7" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "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-imports": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", - "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.12.5" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "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.9.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz", - "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.6", - "@babel/helper-simple-access": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/template": "^7.8.6", - "@babel/types": "^7.9.0", - "lodash": "^4.17.13" + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/generator": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.10.tgz", + "integrity": "sha512-6mCdfhWgmqLdtTkhXjnIz0LcdVCd26wS2JXRtj2XY0u5klDsXBREA/pG5NVOuVnF2LUrBGNFtQkIqqTbblg0ww==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "dev": true, + "requires": { + "@babel/types": "^7.11.0" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", + "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", + "dev": true + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/traverse": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.10.tgz", + "integrity": "sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.12.10", + "@babel/types": "^7.12.10", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "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.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + }, + "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 + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "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/helper-optimise-call-expression": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.0.tgz", - "integrity": "sha512-HgMd8QKA8wMJs5uK/DYKdyzJAEuGt1zyDp9wLMlMR6LitTQTHPUE+msC82ZsEDwq+U3/yHcIXIngRm9MS4IcIg==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", + "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", "dev": true, "requires": { - "@babel/types": "^7.10.0" + "@babel/types": "^7.12.10" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "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-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", "dev": true }, - "@babel/helper-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz", - "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==", - "dev": true, - "requires": { - "lodash": "^4.17.13" - } - }, "@babel/helper-remap-async-to-generator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz", - "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", + "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-wrap-function": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/types": "^7.12.1" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "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-replace-supers": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.0.tgz", - "integrity": "sha512-erl4iVeiANf14JszXP7b69bSrz3e3+qW09pVvEmTWwzRQEOoyb1WFlYCA8d/VjVZGYW8+nGpLh7swf9CifH5wg==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz", + "integrity": "sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.10.0", - "@babel/helper-optimise-call-expression": "^7.10.0", - "@babel/traverse": "^7.10.0", - "@babel/types": "^7.10.0" + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/generator": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.10.tgz", + "integrity": "sha512-6mCdfhWgmqLdtTkhXjnIz0LcdVCd26wS2JXRtj2XY0u5klDsXBREA/pG5NVOuVnF2LUrBGNFtQkIqqTbblg0ww==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "dev": true, + "requires": { + "@babel/types": "^7.11.0" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", + "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", + "dev": true + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/traverse": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.10.tgz", + "integrity": "sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.12.10", + "@babel/types": "^7.12.10", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "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.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + }, + "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 + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "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/helper-simple-access": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", - "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", "dev": true, "requires": { - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/types": "^7.12.1" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "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-skip-transparent-expression-wrappers": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.1" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "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-split-export-declaration": { @@ -305,27 +1460,423 @@ "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", "dev": true }, + "@babel/helper-validator-option": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz", + "integrity": "sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A==", + "dev": true + }, "@babel/helper-wrap-function": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz", - "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==", + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", + "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/generator": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.10.tgz", + "integrity": "sha512-6mCdfhWgmqLdtTkhXjnIz0LcdVCd26wS2JXRtj2XY0u5klDsXBREA/pG5NVOuVnF2LUrBGNFtQkIqqTbblg0ww==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "dev": true, + "requires": { + "@babel/types": "^7.11.0" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", + "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", + "dev": true + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/traverse": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.10.tgz", + "integrity": "sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.12.10", + "@babel/types": "^7.12.10", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "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.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + }, + "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 + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "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/helpers": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.0.tgz", - "integrity": "sha512-lQtFJoDZAGf/t2PgR6Z59Q2MwjvOGGsxZ0BAlsrgyDhKuMbe63EfbQmVmcLfyTBj8J4UtiadQimcotvYVg/kVQ==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", "dev": true, "requires": { - "@babel/template": "^7.10.0", - "@babel/traverse": "^7.10.0", - "@babel/types": "^7.10.0" + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/generator": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.10.tgz", + "integrity": "sha512-6mCdfhWgmqLdtTkhXjnIz0LcdVCd26wS2JXRtj2XY0u5klDsXBREA/pG5NVOuVnF2LUrBGNFtQkIqqTbblg0ww==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "dev": true, + "requires": { + "@babel/types": "^7.11.0" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", + "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", + "dev": true + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/traverse": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.10.tgz", + "integrity": "sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.12.10", + "@babel/types": "^7.12.10", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "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.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + }, + "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 + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "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/highlight": { @@ -383,115 +1934,136 @@ "dev": true }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz", - "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz", + "integrity": "sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-remap-async-to-generator": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1", "@babel/plugin-syntax-async-generators": "^7.8.0" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz", - "integrity": "sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", + "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz", - "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", + "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-dynamic-import": "^7.8.0" } }, - "@babel/plugin-proposal-json-strings": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.0.tgz", - "integrity": "sha512-n4oQLAAXTFj0OusjIbr6bcvVQf8oH6QziwAK8QNtKhjJAg71+hnU2rZDZYkYMmfOZ46dCWf+ybbHJ7hxfrzFlw==", + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", + "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", + "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.0" } }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==", + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", + "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", + "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz", - "integrity": "sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", + "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.0.tgz", - "integrity": "sha512-DOD+4TqMcRKJdAfN08+v9cciK5d0HW5hwTndOoKZEfEzU/mRrKboheD5mnWU4Q96VOnDdAj86kKjZhoQyG6s+A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.9.5" + "@babel/plugin-transform-parameters": "^7.12.1" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", + "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.0.tgz", - "integrity": "sha512-bn+9XT8Y6FJCO37ewj4E1gIirR35nDm+mGcqQV4dM3LKSVp3QTAU3f65Z0ld4y6jdfAlv2VKzCh4mezhRnl+6Q==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", + "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", "@babel/plugin-syntax-optional-chaining": "^7.8.0" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.8.3.tgz", - "integrity": "sha512-ysLAper960yy1TVXa2lMYdCQIGqtUXo8sVb+zYE7UTiZSLs6/wbZ0PrrXEKESJcK3SgFWrF8WpsaDzdslhuoZA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", + "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz", - "integrity": "sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", + "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.8", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-async-generators": { @@ -504,12 +2076,12 @@ } }, "@babel/plugin-syntax-class-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.8.3.tgz", - "integrity": "sha512-UcAyQWg2bAN647Q+O811tG9MrJ38Z10jjhQdKNAL8fsyPzE3cCN/uT+f55cFVY4aGO4jqJAvmqsuY3GQDwAoXg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", + "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-dynamic-import": { @@ -521,6 +2093,15 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, "@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", @@ -530,6 +2111,15 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, "@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", @@ -540,12 +2130,12 @@ } }, "@babel/plugin-syntax-numeric-separator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz", - "integrity": "sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-object-rest-spread": { @@ -576,441 +2166,732 @@ } }, "@babel/plugin-syntax-top-level-await": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz", - "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", + "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz", - "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", + "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz", - "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", + "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-remap-async-to-generator": "^7.8.3" + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz", - "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", + "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.0.tgz", - "integrity": "sha512-AoMn0D3nLG9i71useuBrZZTnHbjnhcaTXCckUtOx3JPuhGGJdOUYMwOV9niPJ+nZCk52dfLLqbmV3pBMCRQLNw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz", + "integrity": "sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "lodash": "^4.17.13" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-classes": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz", - "integrity": "sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", + "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-define-map": "^7.8.3", - "@babel/helper-function-name": "^7.9.5", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.6", - "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4", "globals": "^11.1.0" }, "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "dev": true, + "requires": { + "@babel/types": "^7.11.0" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", + "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", + "dev": true + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "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.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" + } + }, "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 + }, + "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 + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "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/plugin-transform-computed-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz", - "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", + "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-destructuring": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.0.tgz", - "integrity": "sha512-yKoghHpYbC0eM+6o6arPUJT9BQBvOOn8iOCEHwFvkJ5gjAxYmoUaAuLwaoA9h2YvC6dzcRI0KPQOpRXr8qQTxQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", + "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz", - "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", + "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz", - "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", + "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz", - "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", + "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-for-of": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.0.tgz", - "integrity": "sha512-0ldl5xEe9kbuhB1cDqs17JiBPEm1+6/LH7loo29+MAJOyB/xbpLI/u6mRzDPjr0nYL7z0S14FPT4hs2gH8Im9Q==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", + "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz", - "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", + "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", + "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", + "dev": true + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "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.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" + } + }, + "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 + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "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/plugin-transform-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz", - "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", + "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz", - "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", + "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.6.tgz", - "integrity": "sha512-zoT0kgC3EixAyIAU+9vfaUVKTv9IxBDSabgHoUCBP6FqEJ+iNiN7ip7NBKcYqbfUDfuC2mFCbM7vbu4qJgOnDw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", + "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz", - "integrity": "sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", + "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-simple-access": "^7.8.3", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.12.1", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.0.tgz", - "integrity": "sha512-L/1xADoyJeb01fqKiHhl4ghAJOnFcHvx2JQA7bc8zdaDFDU4k62CJmXqDtNtJUNiOwlHZLWg1l7/Twf1aWARQw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", + "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.8.3", - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-identifier": "^7.10.4", "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + } } }, "@babel/plugin-transform-modules-umd": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz", - "integrity": "sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", + "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", - "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", + "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3" + "@babel/helper-create-regexp-features-plugin": "^7.12.1" } }, "@babel/plugin-transform-new-target": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz", - "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", + "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-object-super": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz", - "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", + "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1" } }, "@babel/plugin-transform-parameters": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz", - "integrity": "sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", + "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-property-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz", - "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", + "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-regenerator": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz", - "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", + "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", "dev": true, "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz", - "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", + "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-runtime": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.10.0.tgz", - "integrity": "sha512-SWIc5IJnoLHk9qVRvvpebUW5lafStcKlLcqELMiNOApVIxPbCtkQfLRMCdaEKw4X92JItFKdoBxv2udiyGwFtg==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz", + "integrity": "sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "resolve": "^1.8.1", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", "semver": "^5.5.1" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz", - "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", + "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-spread": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.0.tgz", - "integrity": "sha512-P3Zj04ylqumJBjmjylNl05ZHRo4j4gFNG7P70loys0//q5BTe30E8xIj6PnqEWAfsPYu2sdIPcJeeQdclqlM6A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", + "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz", - "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", + "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-regex": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-template-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz", - "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", + "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz", - "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", + "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.0.tgz", - "integrity": "sha512-6DwSPQzJ9kSRI1kNFfVAeYdeH7sUH0c1NOYSBGnpJ1ZUZ7mxPY1hxeAqzcrO5NKlOx7ghcy4nAbfFWTPx5IVEg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", + "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz", - "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", + "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/polyfill": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.8.7.tgz", - "integrity": "sha512-LeSfP9bNZH2UOZgcGcZ0PIHUt1ZuHub1L3CVmEyqLxCeDLm4C5Gi8jRH8ZX2PNpDhQCo0z6y/+DIs2JlliXW8w==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz", + "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==", "requires": { "core-js": "^2.6.5", "regenerator-runtime": "^0.13.4" }, "dependencies": { "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==" + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" } } }, "@babel/preset-env": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.10.0.tgz", - "integrity": "sha512-UOZNyiZRvIGvIudjCB8Y8OVkpAvlslec4qgwC73yEvx3Puz0c/xc28Yru36y5K+StOkPPM+VldTsmXPht5LpSg==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.10.tgz", + "integrity": "sha512-Gz9hnBT/tGeTE2DBNDkD7BiWRELZt+8lSysHuDwmYXUIvtwZl0zI+D6mZgXZX0u8YBlLS4tmai9ONNY9tjRgRA==", "dev": true, "requires": { - "@babel/compat-data": "^7.10.0", - "@babel/helper-compilation-targets": "^7.10.0", - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-proposal-async-generator-functions": "^7.8.3", - "@babel/plugin-proposal-class-properties": "^7.8.3", - "@babel/plugin-proposal-dynamic-import": "^7.8.3", - "@babel/plugin-proposal-json-strings": "^7.10.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-proposal-numeric-separator": "^7.8.3", - "@babel/plugin-proposal-object-rest-spread": "^7.10.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.8.3", - "@babel/plugin-proposal-optional-chaining": "^7.10.0", - "@babel/plugin-proposal-private-methods": "^7.8.3", - "@babel/plugin-proposal-unicode-property-regex": "^7.8.3", + "@babel/compat-data": "^7.12.7", + "@babel/helper-compilation-targets": "^7.12.5", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.1", + "@babel/plugin-proposal-async-generator-functions": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-dynamic-import": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.1", + "@babel/plugin-proposal-json-strings": "^7.12.1", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-numeric-separator": "^7.12.7", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.1", "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.0", "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.8.3", - "@babel/plugin-transform-arrow-functions": "^7.8.3", - "@babel/plugin-transform-async-to-generator": "^7.8.3", - "@babel/plugin-transform-block-scoped-functions": "^7.8.3", - "@babel/plugin-transform-block-scoping": "^7.10.0", - "@babel/plugin-transform-classes": "^7.9.5", - "@babel/plugin-transform-computed-properties": "^7.8.3", - "@babel/plugin-transform-destructuring": "^7.10.0", - "@babel/plugin-transform-dotall-regex": "^7.8.3", - "@babel/plugin-transform-duplicate-keys": "^7.8.3", - "@babel/plugin-transform-exponentiation-operator": "^7.8.3", - "@babel/plugin-transform-for-of": "^7.10.0", - "@babel/plugin-transform-function-name": "^7.8.3", - "@babel/plugin-transform-literals": "^7.8.3", - "@babel/plugin-transform-member-expression-literals": "^7.8.3", - "@babel/plugin-transform-modules-amd": "^7.9.6", - "@babel/plugin-transform-modules-commonjs": "^7.9.6", - "@babel/plugin-transform-modules-systemjs": "^7.10.0", - "@babel/plugin-transform-modules-umd": "^7.9.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", - "@babel/plugin-transform-new-target": "^7.8.3", - "@babel/plugin-transform-object-super": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.9.5", - "@babel/plugin-transform-property-literals": "^7.8.3", - "@babel/plugin-transform-regenerator": "^7.8.7", - "@babel/plugin-transform-reserved-words": "^7.8.3", - "@babel/plugin-transform-shorthand-properties": "^7.8.3", - "@babel/plugin-transform-spread": "^7.10.0", - "@babel/plugin-transform-sticky-regex": "^7.8.3", - "@babel/plugin-transform-template-literals": "^7.8.3", - "@babel/plugin-transform-typeof-symbol": "^7.8.4", - "@babel/plugin-transform-unicode-escapes": "^7.10.0", - "@babel/plugin-transform-unicode-regex": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.12.1", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/plugin-transform-block-scoped-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.1", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-computed-properties": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-dotall-regex": "^7.12.1", + "@babel/plugin-transform-duplicate-keys": "^7.12.1", + "@babel/plugin-transform-exponentiation-operator": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-function-name": "^7.12.1", + "@babel/plugin-transform-literals": "^7.12.1", + "@babel/plugin-transform-member-expression-literals": "^7.12.1", + "@babel/plugin-transform-modules-amd": "^7.12.1", + "@babel/plugin-transform-modules-commonjs": "^7.12.1", + "@babel/plugin-transform-modules-systemjs": "^7.12.1", + "@babel/plugin-transform-modules-umd": "^7.12.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", + "@babel/plugin-transform-new-target": "^7.12.1", + "@babel/plugin-transform-object-super": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-property-literals": "^7.12.1", + "@babel/plugin-transform-regenerator": "^7.12.1", + "@babel/plugin-transform-reserved-words": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/plugin-transform-sticky-regex": "^7.12.7", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/plugin-transform-typeof-symbol": "^7.12.10", + "@babel/plugin-transform-unicode-escapes": "^7.12.1", + "@babel/plugin-transform-unicode-regex": "^7.12.1", "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.10.0", - "browserslist": "^4.12.0", - "core-js-compat": "^3.6.2", - "invariant": "^2.2.2", - "levenary": "^1.1.1", + "@babel/types": "^7.12.10", + "core-js-compat": "^3.8.0", "semver": "^5.5.0" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "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/preset-modules": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", - "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -1021,9 +2902,9 @@ } }, "@babel/runtime": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.0.tgz", - "integrity": "sha512-tgYb3zVApHbLHYOPWtVwg25sBqHhfBXRKeKoTIyoheIxln1nA7oBl7SfHfiTG2GhDPI8EUBkOD/0wJCP/3HN4Q==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", + "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", "requires": { "regenerator-runtime": "^0.13.4" } @@ -1107,6 +2988,74 @@ } } }, + "@eslint/eslintrc": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz", + "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.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 + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, "@jimp/bmp": { "version": "0.9.8", "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.9.8.tgz", @@ -1135,6 +3084,17 @@ "phin": "^2.9.1", "pixelmatch": "^4.0.2", "tinycolor2": "^1.4.1" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + } } }, "@jimp/custom": { @@ -1489,10 +3449,36 @@ "integrity": "sha512-8UT/J+xqCYfn3fKtOznAibsHpiuDshCb0fwgWxRazTT19Igp9ovoXMPhXyLD6m3CKQGTMHgqoxaFfMWaL40Rnw==", "dev": true }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "@types/anymatch": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", + "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", + "dev": true + }, + "@types/eslint": { + "version": "7.2.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.6.tgz", + "integrity": "sha512-I+1sYH+NPQ3/tVqCeUSBwTE/0heyvtXqpIopUUArlBm0Kpocb8FbMa3AZ/ASKIFpN3rnEx932TTXDbt9OXsNDw==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", + "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.45", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz", + "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==", "dev": true }, "@types/events": { @@ -1512,6 +3498,18 @@ "@types/node": "*" } }, + "@types/html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", + "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", + "dev": true + }, "@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", @@ -1524,6 +3522,12 @@ "integrity": "sha512-90hiq6/VqtQgX8Sp0EzeIsv3r+ellbGj4URKj5j30tLlZvRUpnAe9YbYnjl3pJM93GyXU0tghHhvXHq+5rnCKA==", "dev": true }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, "@types/sax": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.1.tgz", @@ -1533,6 +3537,60 @@ "@types/node": "*" } }, + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, + "@types/tapable": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz", + "integrity": "sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==", + "dev": true + }, + "@types/uglify-js": { + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.1.tgz", + "integrity": "sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + } + }, + "@types/webpack": { + "version": "4.41.25", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.25.tgz", + "integrity": "sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==", + "dev": true, + "requires": { + "@types/anymatch": "*", + "@types/node": "*", + "@types/tapable": "*", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "source-map": "^0.6.0" + } + }, + "@types/webpack-sources": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz", + "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, "@types/yauzl": { "version": "2.9.1", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz", @@ -1821,9 +3879,9 @@ } }, "acorn": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz", - "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, "acorn-globals": { @@ -1845,9 +3903,9 @@ } }, "acorn-jsx": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", - "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", "dev": true }, "acorn-walk": { @@ -1877,9 +3935,9 @@ } }, "aggregate-error": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", - "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, "requires": { "clean-stack": "^2.0.0", @@ -1922,23 +3980,6 @@ "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", "dev": true }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "requires": { - "type-fest": "^0.11.0" - }, - "dependencies": { - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true - } - } - }, "ansi-html": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", @@ -1960,17 +4001,6 @@ "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz", "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "optional": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", @@ -2019,6 +4049,12 @@ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "dev": true + }, "array-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", @@ -2037,6 +4073,12 @@ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, + "array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true + }, "array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -2076,21 +4118,20 @@ } }, "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, + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "requires": { "bn.js": "^4.0.0", "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" }, "dependencies": { "bn.js": { "version": "4.11.9", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" } } }, @@ -2122,10 +4163,21 @@ "dev": true }, "ast-types": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.3.tgz", - "integrity": "sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA==", - "dev": true + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", + "dev": true, + "requires": { + "tslib": "^2.0.1" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true + } + } }, "astral-regex": { "version": "1.0.0", @@ -2170,55 +4222,23 @@ "dev": true }, "autoprefixer": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.0.tgz", - "integrity": "sha512-D96ZiIHXbDmU02dBaemyAg53ez+6F5yZmapmgKcjm35yEe1uVDYI8hGW3VYoGRaG290ZFf91YxHrR518vC0u/A==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.1.0.tgz", + "integrity": "sha512-0/lBNwN+ZUnb5su18NZo5MBIjDaq6boQKZcxwy86Gip/CmXA2zZqUoFQLCNAGI5P25ZWSP2RWdhDJ8osfKEjoQ==", "dev": true, "requires": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001061", - "chalk": "^2.4.2", + "browserslist": "^4.15.0", + "caniuse-lite": "^1.0.30001165", + "colorette": "^1.2.1", + "fraction.js": "^4.0.12", "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.30", "postcss-value-parser": "^4.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.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "avsc": { - "version": "5.4.21", - "resolved": "https://registry.npmjs.org/avsc/-/avsc-5.4.21.tgz", - "integrity": "sha512-Vr733yyksCfwwXVZ6WjgttDF1TLlUeYWBJDHpO61qeOo6GnaIaVRiJ64ZgpwXfFtbPv1fCuLFV0qz++QUFCZPw==" + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/avsc/-/avsc-5.5.3.tgz", + "integrity": "sha512-LaBbmBsus1mpK+6i99AF57/tUP8/wAj9+ZZm/5HGNIWN0dUZWUEp4/o79pAiRz49Mdb3PskltbCFD3w115TdZQ==" }, "aws-sign2": { "version": "0.7.0", @@ -2266,15 +4286,14 @@ } }, "babel-loader": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", - "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", + "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", "dev": true, "requires": { - "find-cache-dir": "^2.1.0", + "find-cache-dir": "^3.3.1", "loader-utils": "^1.4.0", - "mkdirp": "^0.5.3", - "pify": "^4.0.1", + "make-dir": "^3.1.0", "schema-utils": "^2.6.5" } }, @@ -2431,9 +4450,9 @@ } }, "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==" + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, "basic-auth": { "version": "2.0.1", @@ -2480,18 +4499,6 @@ "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=" }, - "bfj": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", - "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "check-types": "^8.0.3", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - } - }, "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -2503,13 +4510,6 @@ "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" }, - "binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", - "dev": true, - "optional": true - }, "bindings": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", @@ -2525,15 +4525,6 @@ "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz", "integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=" }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, - "requires": { - "inherits": "~2.0.0" - } - }, "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -2551,10 +4542,9 @@ "integrity": "sha512-7TvGbqbZb6lDzsBtNz1VkdXXV0BVmZKPPViPmo2IpvwaryF7P+QKYKACyVkwo2mZPr2CpFiz7EtgPEcc3o/JFQ==" }, "bn.js": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", - "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==", - "dev": true + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", + "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" }, "body": { "version": "5.1.0", @@ -2672,9 +4662,9 @@ "dev": true }, "bootstrap": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.0.tgz", - "integrity": "sha512-Z93QoXvodoVslA+PWNdk23Hze4RBYIkpb5h8I2HY2Tu2h7A0LpAgLcyrhrSUyo2/Oxm2l1fRZPs1e5hnxnliXA==" + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.3.tgz", + "integrity": "sha512-o9ppKQioXGqhw8Z7mah6KdTYpNQY//tipnkxppWhPbiSWdD+1raYsnhwEZjkTHYbGee4cVQ0Rx65EhOY/HNLcQ==" }, "bootstrap-colorpicker": { "version": "3.2.0", @@ -2713,8 +4703,7 @@ "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-process-hrtime": { "version": "1.0.0", @@ -2726,14 +4715,12 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true, - "optional": true + "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", @@ -2747,7 +4734,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", @@ -2758,7 +4744,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", @@ -2767,34 +4752,24 @@ } }, "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, + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "requires": { - "bn.js": "^4.1.0", + "bn.js": "^5.0.0", "randombytes": "^2.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } } }, "browserify-sign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", - "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", - "dev": true, + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "requires": { "bn.js": "^5.1.1", "browserify-rsa": "^4.0.1", "create-hash": "^1.2.0", "create-hmac": "^1.1.7", - "elliptic": "^6.5.2", + "elliptic": "^6.5.3", "inherits": "^2.0.4", "parse-asn1": "^5.1.5", "readable-stream": "^3.6.0", @@ -2805,7 +4780,6 @@ "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", @@ -2818,21 +4792,21 @@ "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.12.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", - "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz", + "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001043", - "electron-to-chromium": "^1.3.413", - "node-releases": "^1.1.53", - "pkg-up": "^2.0.0" + "caniuse-lite": "^1.0.30001165", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.621", + "escalade": "^3.1.1", + "node-releases": "^1.1.67" } }, "bson": { @@ -2842,15 +4816,26 @@ "requires": { "buffer": "^5.1.0", "long": "^4.0.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + } } }, "buffer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", - "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, "buffer-crc32": { @@ -2883,14 +4868,7 @@ "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-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-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, "bytes": { "version": "1.0.0", @@ -2903,40 +4881,6 @@ "resolved": "https://registry.npmjs.org/bzip-deflate/-/bzip-deflate-1.0.0.tgz", "integrity": "sha1-sC2wB+83vrzCk4Skssb08PTHlsk=" }, - "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" - }, - "dependencies": { - "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" - } - } - } - }, "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", @@ -2954,32 +4898,6 @@ "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", @@ -2987,13 +4905,21 @@ "dev": true }, "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", "dev": true, "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true + } } }, "camelcase": { @@ -3021,9 +4947,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001066", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001066.tgz", - "integrity": "sha512-Gfj/WAastBtfxLws0RCh2sDbTK/8rJuSeZMecrSkNGYxPcv7EzblmDGfWQCFEQcSqYE2BRgQiJh8HOD07N5hIw==", + "version": "1.0.30001165", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz", + "integrity": "sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA==", "dev": true }, "caseless": { @@ -3062,18 +4988,6 @@ "supports-color": "^2.0.0" } }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "check-types": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", - "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", - "dev": true - }, "chi-squared": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/chi-squared/-/chi-squared-1.1.0.tgz", @@ -3082,29 +4996,6 @@ "gamma": "^1.0.0" } }, - "chokidar": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", - "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, "chrome-trace-event": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", @@ -3115,24 +5006,60 @@ } }, "chromedriver": { - "version": "83.0.0", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-83.0.0.tgz", - "integrity": "sha512-AePp9ykma+z4aKPRqlbzvVlc22VsQ6+rgF+0aL3B5onHOncK18dWSkLrSSJMczP/mXILN9ohGsvpuTwoRSj6OQ==", + "version": "87.0.2", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-87.0.2.tgz", + "integrity": "sha512-76JYSx9jt7byVYE+zQf25ISU0Cvla6YY8/0yKR7QtwBqGUkIxyupDIA0juGWDaXu/zis7H7EqzEExQjTnAZ7fQ==", "dev": true, "requires": { "@testim/chrome-version": "^1.0.7", "axios": "^0.19.2", "del": "^5.1.0", - "extract-zip": "^2.0.0", + "extract-zip": "^2.0.1", + "https-proxy-agent": "^5.0.0", "mkdirp": "^1.0.4", + "proxy-from-env": "^1.1.0", "tcp-port-used": "^1.0.1" }, "dependencies": { + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "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 } } }, @@ -3146,7 +5073,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" @@ -3210,15 +5136,9 @@ } }, "cli-spinners": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.3.0.tgz", - "integrity": "sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==", - "dev": true - }, - "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.5.0.tgz", + "integrity": "sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==", "dev": true }, "cliui": { @@ -3278,17 +5198,6 @@ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", "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" - } - }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -3310,12 +5219,6 @@ "exit-on-epipe": "~1.0.1" } }, - "coffeescript": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.10.0.tgz", - "integrity": "sha1-56qDAZF+9iGzXYo580jc3R234z4=", - "dev": true - }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", @@ -3341,6 +5244,12 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, + "colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", + "dev": true + }, "colors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", @@ -3453,24 +5362,12 @@ "integrity": "sha512-3R0kMOdL7CjJpU66fzAkCe6HNtd3AavCS4m+uW4KtJjrdGPT0SQEZieAYd+cm+lJoBznNQ4lqipYWkhBMgk00g==", "dev": true }, - "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 - }, "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true }, - "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.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", @@ -3529,31 +5426,6 @@ "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" - }, - "dependencies": { - "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" - } - } - } - }, "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", @@ -3561,148 +5433,132 @@ "dev": true }, "copy-webpack-plugin": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz", - "integrity": "sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-7.0.0.tgz", + "integrity": "sha512-SLjQNa5iE3BoCP76ESU9qYo9ZkEWtXoZxDurHoqPchAFRblJ9g96xTeC560UXBMre1Nx6ixIIUfiY3VcjpJw3g==", "dev": true, "requires": { - "cacache": "^12.0.3", - "find-cache-dir": "^2.1.0", - "glob-parent": "^3.1.0", - "globby": "^7.1.1", - "is-glob": "^4.0.1", - "loader-utils": "^1.2.3", - "minimatch": "^3.0.4", + "fast-glob": "^3.2.4", + "glob-parent": "^5.1.1", + "globby": "^11.0.1", + "loader-utils": "^2.0.0", "normalize-path": "^3.0.0", - "p-limit": "^2.2.1", - "schema-utils": "^1.0.0", - "serialize-javascript": "^2.1.2", - "webpack-log": "^2.0.0" + "p-limit": "^3.0.2", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1" }, "dependencies": { - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "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": { - "array-uniq": "^1.0.1" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "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" - } - }, - "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" - } - } - } + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true }, "globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", "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" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" } }, - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", - "dev": true + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } }, "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.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 - }, - "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" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "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==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" } - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true } } }, "core-js": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", - "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.1.tgz", + "integrity": "sha512-9Id2xHY1W7m8hCl8NkhQn5CufmF/WuR30BTRewvCXc1aZd3kMECwNZ69ndLbekKfakw9Rf2Xyc+QR6E7Gg+obg==" }, "core-js-compat": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", - "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.1.tgz", + "integrity": "sha512-a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ==", "dev": true, "requires": { - "browserslist": "^4.8.5", + "browserslist": "^4.15.0", "semver": "7.0.0" }, "dependencies": { + "browserslist": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz", + "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001165", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.621", + "escalade": "^3.1.1", + "node-releases": "^1.1.67" + } + }, + "caniuse-lite": { + "version": "1.0.30001165", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz", + "integrity": "sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.622", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.622.tgz", + "integrity": "sha512-AJT0Fm1W0uZlMVVkkJrcCVvczDuF8tPm3bwzQf5WO8AaASB2hwTRP7B8pU5rqjireH+ib6am8+hH5/QkXzzYKw==", + "dev": true + }, + "node-releases": { + "version": "1.1.67", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", + "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==", + "dev": true + }, "semver": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", @@ -3723,60 +5579,45 @@ "dev": true }, "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", "dev": true, "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.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=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", + "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", "dev": true, "requires": { + "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" } - }, - "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, + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "requires": { "bn.js": "^4.1.0", - "elliptic": "^6.0.0" + "elliptic": "^6.5.3" }, "dependencies": { "bn.js": { "version": "4.11.9", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" } } }, @@ -3784,7 +5625,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", @@ -3797,7 +5637,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", @@ -3829,7 +5668,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", @@ -3850,30 +5688,104 @@ "integrity": "sha512-bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg==" }, "css-loader": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.5.3.tgz", - "integrity": "sha512-UEr9NH5Lmi7+dguAm+/JSPovNjYbm2k3TK58EiwQHzOHH5Jfq1Y+XoP2bQO6TMn7PptMd0opxxedAWcaSTRKHw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.0.1.tgz", + "integrity": "sha512-cXc2ti9V234cq7rJzFKhirb2L2iPy8ZjALeVJAozXYz9te3r4eqLSixNAbMDJSgJEQywqXzs8gonxaboeKqwiw==", "dev": true, "requires": { - "camelcase": "^5.3.1", + "camelcase": "^6.2.0", "cssesc": "^3.0.0", - "icss-utils": "^4.1.1", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.27", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.2", - "postcss-modules-scope": "^2.2.0", - "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.0.3", - "schema-utils": "^2.6.6", - "semver": "^6.3.0" + "icss-utils": "^5.0.0", + "loader-utils": "^2.0.0", + "postcss": "^8.1.4", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.2" }, "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "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" + } + }, + "postcss": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.1.tgz", + "integrity": "sha512-RhsqOOAQzTgh1UB/IZdca7F9WDb7SUCR2Vnv1x7DbvuuggQIpoDwjK+q0rzoPffhYvWNKX5JSwS4so4K3UC6vA==", + "dev": true, + "requires": { + "colorette": "^1.2.1", + "nanoid": "^3.1.20", + "source-map": "^0.6.1" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } @@ -3937,12 +5849,6 @@ "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", "dev": true }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, "d3": { "version": "5.16.0", "resolved": "https://registry.npmjs.org/d3/-/d3-5.16.0.tgz", @@ -4252,14 +6158,10 @@ } }, "dateformat": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", - "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1", - "meow": "^3.3.0" - } + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true }, "debug": { "version": "2.6.9", @@ -4310,9 +6212,9 @@ "dev": true }, "deep-for-each": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/deep-for-each/-/deep-for-each-2.0.3.tgz", - "integrity": "sha512-Y9mu+rplGcNZ7veer+5rqcdI9w3aPb7/WyE/nYnsuPevaE2z5YuC2u7/Gz/hIKsa0zo8sE8gKoBimSNsO/sr+A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/deep-for-each/-/deep-for-each-3.0.0.tgz", + "integrity": "sha512-pPN+0f8jlnNP+z90qqOdxGghJU5XM6oBDhvAR+qdQzjCg5pk/7VPPvKK1GqoXEFkHza6ZS+Otzzvmr0g3VUaKw==", "dev": true, "requires": { "lodash.isplainobject": "^4.0.6" @@ -4448,7 +6350,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" @@ -4460,6 +6361,12 @@ "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-node": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", @@ -4475,7 +6382,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", @@ -4485,8 +6391,7 @@ "bn.js": { "version": "4.11.9", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" } } }, @@ -4553,9 +6458,9 @@ }, "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==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", "dev": true } } @@ -4565,12 +6470,6 @@ "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" }, - "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", @@ -4605,6 +6504,24 @@ "domelementtype": "1" } }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true + } + } + }, "dotenv": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", @@ -4612,9 +6529,9 @@ "dev": true }, "duplexer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", - "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, "duplexify": { @@ -4660,16 +6577,15 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.453", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.453.tgz", - "integrity": "sha512-IQbCfjJR0NDDn/+vojTlq7fPSREcALtF8M1n01gw7nQghCtfFYrJ2dfhsp8APr8bANoFC8vRTFVXMOGpT0eetw==", + "version": "1.3.622", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.622.tgz", + "integrity": "sha512-AJT0Fm1W0uZlMVVkkJrcCVvczDuF8tPm3bwzQf5WO8AaASB2hwTRP7B8pU5rqjireH+ib6am8+hH5/QkXzzYKw==", "dev": true }, "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==", - "dev": true, + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", "requires": { "bn.js": "^4.4.0", "brorand": "^1.0.1", @@ -4683,8 +6599,7 @@ "bn.js": { "version": "4.11.9", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" } } }, @@ -4716,25 +6631,37 @@ } }, "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==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.4.0.tgz", + "integrity": "sha512-ZmqfWURB2lConOBM1JdCVfPyMRv5RdKWktLXO6123p97ovVm2CLBgw9t5MBj3jJWA6eHyOeIws9iJQoGFR4euQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" + "graceful-fs": "^4.2.4", + "tapable": "^2.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" - } + "tapable": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", + "dev": true + } + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + }, + "dependencies": { + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true } } }, @@ -4743,10 +6670,16 @@ "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.2.tgz", "integrity": "sha512-dmD3AvJQBUjKpcNkoqr+x+IF0SdRtPz9Vk0uTy4yWqga9ibB6s4v++QFWNohjiUGoMlF552ZvNyXDxz5iW0qmw==" }, + "env-paths": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", + "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==", + "dev": true + }, "envinfo": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.5.1.tgz", - "integrity": "sha512-hQBkDf2iO4Nv0CNHpCuSBeaSrveU6nThVxFGTrq/eDlV716UQk09zChaJae4mZRsos1x4YLY2TaH3LHUae3ZmQ==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.3.tgz", + "integrity": "sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==", "dev": true }, "errno": { @@ -4834,6 +6767,12 @@ "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.1.1.tgz", "integrity": "sha512-HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg==" }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -4858,85 +6797,116 @@ } }, "eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz", + "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.2.2", "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", "debug": "^4.0.1", "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.2.0", "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", + "file-entry-cache": "^6.0.0", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.0.0", "globals": "^12.1.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", "is-glob": "^4.0.0", "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", + "levn": "^0.4.1", + "lodash": "^4.17.19", "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", - "optionator": "^0.8.3", + "optionator": "^0.9.1", "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", "table": "^5.2.3", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, "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==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "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==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" } }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, + "eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true + }, "globals": { "version": "12.4.0", "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", @@ -4946,18 +6916,75 @@ "type-fest": "^0.8.1" } }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "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 }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "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" + } + }, "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 }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", @@ -4965,45 +6992,87 @@ "dev": true }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "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==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "ansi-regex": "^5.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==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true } } }, "eslint-scope": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", - "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { - "esrecurse": "^4.1.0", + "esrecurse": "^4.3.0", "estraverse": "^4.1.1" } }, "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "requires": { "eslint-visitor-keys": "^1.1.0" @@ -5021,14 +7090,22 @@ "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==" }, "espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, "requires": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } } }, "esprima": { @@ -5046,20 +7123,28 @@ }, "dependencies": { "estraverse": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz", - "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } }, "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { - "estraverse": "^4.1.0" + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } } }, "estraverse": { @@ -5109,7 +7194,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" @@ -5192,21 +7276,65 @@ } } }, - "exports-loader": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-0.7.0.tgz", - "integrity": "sha512-RKwCrO4A6IiKm0pG3c9V46JxIHcDplwwGJn6+JJ1RcVnh/WSGJa0xkmk5cRVtgOPzCAtTMGj2F7nluh9L0vpSA==", + "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": { - "loader-utils": "^1.1.0", - "source-map": "0.5.0" + "homedir-polyfill": "^1.0.1" + } + }, + "exports-loader": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-1.1.1.tgz", + "integrity": "sha512-CmyhIR2sJ3KOfVsHjsR0Yvo+0lhRhRMAevCbB8dhTVLHsZPs0lCQTvRmR9YNvBXDBxUuhmCE2f54KqEjZUaFrg==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "source-map": "^0.6.1" }, "dependencies": { - "source-map": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.0.tgz", - "integrity": "sha1-D+llA6yGpa213mP05BKuSHLNvoY=", + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } } } }, @@ -5301,17 +7429,6 @@ } } }, - "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", @@ -5378,9 +7495,9 @@ } }, "extract-zip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.0.tgz", - "integrity": "sha512-i42GQ498yibjdvIhivUsRslx608whtGoFIhF26Z7O4MYncBxp8CwalOs1lnHy21A9sIohWO2+uiE4SRtC9JXDg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", "dev": true, "requires": { "@types/yauzl": "^2.9.1", @@ -5390,12 +7507,12 @@ }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { @@ -5425,9 +7542,9 @@ "dev": true }, "fast-glob": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz", - "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", + "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -5450,9 +7567,9 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "fastq": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", - "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz", + "integrity": "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -5476,40 +7593,43 @@ "pend": "~1.2.0" } }, - "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": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "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==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", + "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", "dev": true, "requires": { - "flat-cache": "^2.0.1" + "flat-cache": "^3.0.4" } }, "file-loader": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.0.0.tgz", - "integrity": "sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", "dev": true, "requires": { "loader-utils": "^2.0.0", - "schema-utils": "^2.6.5" + "schema-utils": "^3.0.0" }, "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -5520,6 +7640,17 @@ "emojis-list": "^3.0.0", "json5": "^2.1.2" } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } } } }, @@ -5546,9 +7677,9 @@ "dev": true }, "filesize": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", - "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz", + "integrity": "sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==", "dev": true }, "fill-range": { @@ -5576,23 +7707,74 @@ } }, "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==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", "dev": true, "requires": { "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.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" + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "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" + } + }, + "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" + } + }, + "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": "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" + } + }, + "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 + }, + "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 + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + } } }, "findup-sync": { @@ -5619,54 +7801,50 @@ } } }, - "flat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", - "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", + "fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + } + }, + "flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true + }, + "flat": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", + "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", "dev": true, - "optional": true, "requires": { "is-buffer": "~2.0.3" } }, "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "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": "^3.1.0", + "rimraf": "^3.0.2" } }, "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz", + "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==", "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.5.10", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", @@ -5693,6 +7871,15 @@ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -5716,6 +7903,12 @@ "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", "dev": true }, + "fraction.js": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.0.12.tgz", + "integrity": "sha512-8Z1K0VTG4hzYY7kA/1sj4/r1/RWLBD3xwReT/RCrUCbzPszjNQCCsy3ktkU/eaEqX3MYa4pY37a52eiBlPMlhA==", + "dev": true + }, "fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", @@ -5731,16 +7924,6 @@ "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": "1.0.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", @@ -5752,16 +7935,13 @@ "klaw": "^1.0.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": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" + "minipass": "^3.0.0" } }, "fs.realpath": { @@ -5770,36 +7950,6 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, - "fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - }, - "dependencies": { - "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" - } - } - } - }, "ftp": { "version": "0.3.10", "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", @@ -5906,9 +8056,9 @@ } }, "gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, "geodesy": { @@ -5929,9 +8079,9 @@ "dev": true }, "get-stream": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", - "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "requires": { "pump": "^3.0.0" @@ -5995,6 +8145,12 @@ "is-glob": "^4.0.1" } }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, "global": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", @@ -6002,6 +8158,37 @@ "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": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-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": { @@ -6046,68 +8233,54 @@ "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true, - "optional": true + "dev": true }, "grunt": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.1.0.tgz", - "integrity": "sha512-+NGod0grmviZ7Nzdi9am7vuRS/h76PcWDsV635mEXF0PEQMUV6Kb+OjTdsVxbi0PZmfQOjCMKb3w8CVZcqsn1g==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.3.0.tgz", + "integrity": "sha512-6ILlMXv11/4cxuhSMfSU+SfvbxrPuqZrAtLN64+tZpQ3DAKfSQPQHRbTjSbdtxfyQhGZPtN0bDZJ/LdCM5WXXA==", "dev": true, "requires": { - "coffeescript": "~1.10.0", - "dateformat": "~1.0.12", + "dateformat": "~3.0.3", "eventemitter2": "~0.4.13", - "exit": "~0.1.1", + "exit": "~0.1.2", "findup-sync": "~0.3.0", - "glob": "~7.0.0", - "grunt-cli": "~1.2.0", + "glob": "~7.1.6", + "grunt-cli": "~1.3.2", "grunt-known-options": "~1.1.0", - "grunt-legacy-log": "~2.0.0", - "grunt-legacy-util": "~1.1.1", + "grunt-legacy-log": "~3.0.0", + "grunt-legacy-util": "~2.0.0", "iconv-lite": "~0.4.13", - "js-yaml": "~3.13.1", - "minimatch": "~3.0.2", - "mkdirp": "~1.0.3", + "js-yaml": "~3.14.0", + "minimatch": "~3.0.4", + "mkdirp": "~1.0.4", "nopt": "~3.0.6", - "path-is-absolute": "~1.0.0", - "rimraf": "~2.6.2" + "rimraf": "~3.0.2" }, "dependencies": { - "glob": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", - "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", - "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" - } - }, "grunt-cli": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz", - "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz", + "integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==", "dev": true, "requires": { - "findup-sync": "~0.3.0", "grunt-known-options": "~1.1.0", - "nopt": "~3.0.6", - "resolve": "~1.1.0" - } - }, - "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" + "interpret": "~1.1.0", + "liftoff": "~2.5.0", + "nopt": "~4.0.1", + "v8flags": "~3.1.1" + }, + "dependencies": { + "nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "dev": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + } } }, "mkdirp": { @@ -6115,37 +8288,6 @@ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true - }, - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - }, - "dependencies": { - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "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" - } - } - } } } }, @@ -6218,29 +8360,35 @@ } }, "grunt-contrib-connect": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-2.1.0.tgz", - "integrity": "sha512-yeCHdz5zqoibhQDyw/X+E/wTzYPpim+C2p+xYyXUsXVEkfxnKVIWYOWrAKkFHlz9//nIC0S3JbUDd3mVvJcxVA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-3.0.0.tgz", + "integrity": "sha512-L1GXk6PqDP/meX0IOX1MByBvOph6h8Pvx4/iBIYD7dpokVCAAQPR/IIV1jkTONEM09xig/Y8/y3R9Fqc8U3HSA==", "dev": true, "requires": { - "async": "^2.6.1", - "connect": "^3.6.6", - "connect-livereload": "^0.6.0", - "morgan": "^1.9.1", + "async": "^3.2.0", + "connect": "^3.7.0", + "connect-livereload": "^0.6.1", + "morgan": "^1.10.0", "node-http2": "^4.0.1", - "opn": "^5.3.0", + "opn": "^6.0.0", "portscanner": "^2.2.0", "serve-index": "^1.9.1", - "serve-static": "^1.13.2" + "serve-static": "^1.14.1" }, "dependencies": { "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", + "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==", + "dev": true + }, + "opn": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-6.0.0.tgz", + "integrity": "sha512-I9PKfIZC+e4RXZ/qr1RhgyCnGgYX0UEIlXgWnCOVACIvFgaC9rz6Won7xbdhoHrd8IIhV7YEpHjreNUNkqCGkQ==", "dev": true, "requires": { - "lodash": "^4.17.14" + "is-wsl": "^1.1.0" } } } @@ -6279,42 +8427,62 @@ } }, "grunt-eslint": { - "version": "22.0.0", - "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-22.0.0.tgz", - "integrity": "sha512-I7vIU4x/mb20fmA6TAmLx6Wzn7mfs8ZXeuk7LbP2ujKVFV7KZmJ3qXUyqe2wnD+v/74Rs5uYOZrLL8EoBmlG9Q==", + "version": "23.0.0", + "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-23.0.0.tgz", + "integrity": "sha512-QqHSAiGF08EVD7YlD4OSRWuLRaDvpsRdTptwy9WaxUXE+03mCLVA/lEaR6SHWehF7oUwIqCEjaNONeeeWlB4LQ==", "dev": true, "requires": { - "chalk": "^2.1.0", - "eslint": "^6.0.1" + "chalk": "^4.0.0", + "eslint": "^7.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==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" } }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" } } } @@ -6332,15 +8500,15 @@ "dev": true }, "grunt-legacy-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-2.0.0.tgz", - "integrity": "sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz", + "integrity": "sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==", "dev": true, "requires": { "colors": "~1.1.2", - "grunt-legacy-log-utils": "~2.0.0", + "grunt-legacy-log-utils": "~2.1.0", "hooker": "~0.2.3", - "lodash": "~4.17.5" + "lodash": "~4.17.19" }, "dependencies": { "colors": { @@ -6348,63 +8516,103 @@ "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", "dev": true + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true } } }, "grunt-legacy-log-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.0.1.tgz", - "integrity": "sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz", + "integrity": "sha512-lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw==", "dev": true, "requires": { - "chalk": "~2.4.1", - "lodash": "~4.17.10" + "chalk": "~4.1.0", + "lodash": "~4.17.19" }, "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==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" } }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" } } } }, "grunt-legacy-util": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.1.1.tgz", - "integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.0.tgz", + "integrity": "sha512-ZEmYFB44bblwPE2oz3q3ygfF6hseQja9tx8I3UZIwbUik32FMWewA+d1qSFicMFB+8dNXDkh35HcDCWlpRsGlA==", "dev": true, "requires": { "async": "~1.5.2", "exit": "~0.1.1", "getobject": "~0.1.0", "hooker": "~0.2.3", - "lodash": "~4.17.10", - "underscore.string": "~3.3.4", + "lodash": "~4.17.20", + "underscore.string": "~3.3.5", "which": "~1.3.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + } } }, "grunt-retro": { @@ -6414,13 +8622,21 @@ "dev": true }, "grunt-webpack": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/grunt-webpack/-/grunt-webpack-3.1.3.tgz", - "integrity": "sha512-SaZ8K8lG4iTxs7ClZxOWCf3kxqS2y+Eel8SbaEGgBKwhAp6e45beIu+vhBZRLX3vonKML2kjemKsQ21REaqNFQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/grunt-webpack/-/grunt-webpack-4.0.2.tgz", + "integrity": "sha512-rrqb9SRlY69jEJuCglelB7IvGrI7lRpdfH2GXpFlIOGPRTTtlSxYMU4Fjg8FHaC6ilnMbW5jd55Ff1lR5OibCA==", "dev": true, "requires": { - "deep-for-each": "^2.0.2", - "lodash": "^4.7.0" + "deep-for-each": "^3.0.0", + "lodash": "^4.17.19" + }, + "dependencies": { + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + } } }, "grunt-zip": { @@ -6434,13 +8650,12 @@ } }, "gzip-size": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", - "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", "dev": true, "requires": { - "duplexer": "^0.1.1", - "pify": "^4.0.1" + "duplexer": "^0.1.2" } }, "handle-thing": { @@ -6560,7 +8775,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, "requires": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -6571,7 +8785,6 @@ "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", @@ -6584,7 +8797,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" @@ -6615,25 +8827,27 @@ "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" } }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, "hooker": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=", "dev": true }, - "hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", - "dev": true - }, "hosted-git-info": { "version": "2.8.8", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", @@ -6667,92 +8881,44 @@ "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==", "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==", + "html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", "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" + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" }, "dependencies": { "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "dev": true - }, - "uglify-js": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", - "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", - "dev": true, - "requires": { - "commander": "~2.19.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", - "dev": true - } - } } } }, "html-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", - "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz", + "integrity": "sha512-MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw==", "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", + "@types/html-minifier-terser": "^5.0.0", + "@types/tapable": "^1.0.5", + "@types/webpack": "^4.41.8", + "html-minifier-terser": "^5.0.1", + "loader-utils": "^1.2.3", + "lodash": "^4.17.15", + "pretty-error": "^2.1.1", + "tapable": "^1.1.3", "util.promisify": "1.0.0" - }, - "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "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" - } - } } }, "html_codesniffer": { @@ -7015,18 +9181,18 @@ }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true } } @@ -7064,13 +9230,10 @@ } }, "icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", - "dev": true, - "requires": { - "postcss": "^7.0.14" - } + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true }, "idb-keyval": { "version": "3.2.0", @@ -7078,31 +9241,16 @@ "integrity": "sha512-slx8Q6oywCCSfKgPgL0sEsXtPVnSbTLWpyiDcu6msHOyKOLari1TD1qocXVCft80umnkk3/Qqh3lwoFt8T/BPQ==" }, "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "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 + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, "ignore": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.6.tgz", - "integrity": "sha512-cgXgkypZBcCnOgSihyeqbo6gjIaIyDqPQB7Ra4vhE9m6kigdGoQDMHjviFhRZo3IMlRy6yElosoviMs5YxZXUA==", + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "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.2.1", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", @@ -7113,23 +9261,6 @@ "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", @@ -7141,13 +9272,57 @@ } }, "imports-loader": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.8.0.tgz", - "integrity": "sha512-kXWL7Scp8KQ4552ZcdVTeaQCZSLW+e6nJfp3cwUMB673T7Hr98Xjx5JK+ql7ADlJUvj1JS5O01RLbKoutN5QDQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-1.2.0.tgz", + "integrity": "sha512-zPvangKEgrrPeqeUqH0Uhc59YqK07JqZBi9a9cQ3v/EKUIqrbJHY4CvUrDus2lgQa5AmPyXuGrWP8JJTqzE5RQ==", "dev": true, "requires": { - "loader-utils": "^1.0.2", - "source-map": "^0.6.1" + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "source-map": "^0.6.1", + "strip-comments": "^2.0.1" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } } }, "imurmurhash": { @@ -7156,12 +9331,6 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, - "in-publish": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", - "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", - "dev": true - }, "indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", @@ -7174,12 +9343,6 @@ "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", "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", @@ -7193,8 +9356,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { "version": "1.3.5", @@ -7202,94 +9364,6 @@ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, - "inquirer": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", - "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.15", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.5.3", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "internal-ip": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", @@ -7300,6 +9374,12 @@ "ipaddr.js": "^1.9.0" } }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, "invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -7326,6 +9406,16 @@ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, "is-absolute-url": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", @@ -7369,16 +9459,6 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, "is-buffer": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", @@ -7440,12 +9520,6 @@ } } }, - "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-electron": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.0.tgz", @@ -7542,12 +9616,6 @@ "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", "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": "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", @@ -7565,6 +9633,15 @@ "has": "^1.0.3" } }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "requires": { + "is-unc-path": "^1.0.0" + } + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -7585,6 +9662,15 @@ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.2" + } + }, "is-url": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", @@ -7643,6 +9729,34 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "jimp": { "version": "0.9.8", "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.9.8.tgz", @@ -7662,14 +9776,14 @@ "integrity": "sha512-9IXdWudL61npZjvLuVe/ktHiA41iE8qFyLB+4VDTblEsWBzeg8WQTlktdUK4CdncUqtUgUg0bbOmTE2bKBKaBQ==" }, "jquery": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.0.tgz", - "integrity": "sha512-Xb7SVYMvygPxbFMpTFQiHh1J7HClEaThguL15N/Gg37Lri/qKyhRGZYzHRyLH8Stq3Aow0LsHO2O2ci86fCrNQ==" + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz", + "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==" }, "js-base64": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.2.tgz", - "integrity": "sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", "dev": true }, "js-crc": { @@ -7688,9 +9802,9 @@ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" }, "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "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", @@ -7746,9 +9860,9 @@ } }, "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==" }, "json-parse-better-errors": { "version": "1.0.2", @@ -7756,6 +9870,12 @@ "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.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", @@ -7968,27 +10088,18 @@ "graceful-fs": "^4.1.9" } }, + "klona": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", + "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", + "dev": true + }, "left-pad": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", "dev": true }, - "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 - }, - "levenary": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", - "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", - "dev": true, - "requires": { - "leven": "^3.1.0" - } - }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -8008,6 +10119,160 @@ "resolved": "https://registry.npmjs.org/libyara-wasm/-/libyara-wasm-1.0.1.tgz", "integrity": "sha512-Vq0EcQ3HRJinFxxb00JZpjyX8NCerazVhSf3+TVt1c21T3pcEJJ3RkanAwT71lW6CCmmmKuNU4QwqsinmR6pKQ==" }, + "liftoff": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", + "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", + "dev": true, + "requires": { + "extend": "^3.0.0", + "findup-sync": "^2.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + }, + "dependencies": { + "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" + } + } + } + }, + "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" + } + } + } + }, + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "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-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" + } + }, + "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" + } + } + } + }, + "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" + } + }, + "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" + } + } + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, "linkify-it": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", @@ -8059,9 +10324,9 @@ } }, "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.1.0.tgz", + "integrity": "sha512-oR4lB4WvwFoC70ocraKhn5nkKSs23t57h9udUgw8o0iH8hMXeEoRuUgfcvgUwAJ1ZpRqBvcou4N2SMvM1DwMrA==", "dev": true }, "loader-utils": { @@ -8086,16 +10351,6 @@ } } }, - "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.15", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", @@ -8265,7 +10520,6 @@ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "dev": true, - "optional": true, "requires": { "chalk": "^2.0.1" }, @@ -8275,7 +10529,6 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "optional": true, "requires": { "color-convert": "^1.9.0" } @@ -8285,7 +10538,6 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "optional": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -8297,7 +10549,6 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "optional": true, "requires": { "has-flag": "^3.0.0" } @@ -8342,10 +10593,21 @@ } }, "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true + } + } }, "lru-cache": { "version": "5.1.1", @@ -8357,13 +10619,29 @@ } }, "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==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "semver": "^6.0.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 + } + } + }, + "make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" } }, "map-cache": { @@ -8403,7 +10681,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", @@ -8455,10 +10732,16 @@ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "dev": true }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, "merge2": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", - "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true }, "methods": { @@ -8481,7 +10764,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" @@ -8490,8 +10772,7 @@ "bn.js": { "version": "4.11.9", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" } } }, @@ -8530,26 +10811,54 @@ } }, "mini-css-extract-plugin": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", - "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.3.tgz", + "integrity": "sha512-7lvliDSMiuZc81kI+5/qxvn47SCM7BehXex3f2c6l/pR3Goj58IQxZh9nuPQ3AkGQgoETyXuIqLDaO5Oa0TyBw==", "dev": true, "requires": { - "loader-utils": "^1.1.0", - "normalize-url": "1.9.1", - "schema-utils": "^1.0.0", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", "webpack-sources": "^1.1.0" }, "dependencies": { - "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==", + "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": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" } } } @@ -8557,14 +10866,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", @@ -8580,22 +10887,39 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", "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" + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, "mixin-deep": { @@ -8638,7 +10962,6 @@ "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.3.tgz", "integrity": "sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==", "dev": true, - "optional": true, "requires": { "ansi-colors": "3.2.3", "browser-stdout": "1.3.1", @@ -8669,15 +10992,13 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true, - "optional": true + "dev": true }, "debug": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, - "optional": true, "requires": { "ms": "^2.1.1" } @@ -8686,15 +11007,13 @@ "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true, - "optional": true + "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, - "optional": true, "requires": { "locate-path": "^3.0.0" } @@ -8704,7 +11023,6 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, - "optional": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -8719,7 +11037,6 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, - "optional": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -8730,7 +11047,6 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, - "optional": true, "requires": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -8741,7 +11057,6 @@ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", "dev": true, - "optional": true, "requires": { "minimist": "^1.2.5" } @@ -8757,7 +11072,6 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "optional": true, "requires": { "p-try": "^2.0.0" } @@ -8767,7 +11081,6 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, - "optional": true, "requires": { "p-limit": "^2.0.0" } @@ -8776,22 +11089,19 @@ "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, - "optional": true + "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, - "optional": true + "dev": true }, "supports-color": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", "dev": true, - "optional": true, "requires": { "has-flag": "^3.0.0" } @@ -8799,14 +11109,14 @@ } }, "moment": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.26.0.tgz", - "integrity": "sha512-oIixUO+OamkUkwjhAVE18rAMfRJNsNe/Stid/gwHSOfHrOtw9EhAY2AHvdKZ/k/MggcYELFCJz/Sn2pL8b8JMw==" + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" }, "moment-timezone": { - "version": "0.5.31", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.31.tgz", - "integrity": "sha512-+GgHNg8xRhMXfEbv81iDtrVeTcWt0kWmTEY1XQK14dICTXnWJnT0dxdlPspwqF3keKMVPXwayEsk1DI0AA/jdA==", + "version": "0.5.32", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.32.tgz", + "integrity": "sha512-Z8QNyuQHQAmWucp8Knmgei8YNo28aLjJq6Ma+jy1ZSpSk5nyfRT8xgUbSQvD2+2UajISfenndwvFuH3NGS+nvA==", "requires": { "moment": ">= 2.9.0" } @@ -8832,31 +11142,6 @@ "on-headers": "~1.0.2" } }, - "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" - }, - "dependencies": { - "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" - } - } - } - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -8890,6 +11175,12 @@ "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", "dev": true }, + "nanoid": { + "version": "3.1.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", + "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", + "dev": true + }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -8928,9 +11219,9 @@ "dev": true }, "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, "netmask": { @@ -8951,9 +11242,9 @@ "dev": true }, "nightwatch": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-1.3.5.tgz", - "integrity": "sha512-Wb1oLwIhF/44B4NcpDzjNnXu4YIs51AgfMYHsjUssg+n5qZLqty4Wg3uF7G4jT9g4S5IAEYw1D7/Yt+XFxdQtg==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-1.5.1.tgz", + "integrity": "sha512-tFhzV7JyLjI+Rq7xXLaRUQ/hExP87GlMYiAlhAYaODpyQSIl8O7/yf7gAUYQd3H7m3n+tnwFFsuE0GaxvCdoZA==", "dev": true, "requires": { "assertion-error": "^1.1.0", @@ -8968,29 +11259,54 @@ "minimatch": "3.0.4", "minimist": "^1.2.5", "mkpath": "1.0.0", - "mocha": "^6.2.2", + "mocha": "6.2.3", "ora": "^4.0.3", "proxy-agent": "^3.1.1", "request": "^2.88.2", "request-promise": "^4.2.5", - "semver": "^6.3.0" + "semver": "^6.3.0", + "strip-ansi": "^6.0.0" }, "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "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 + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } } } }, "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", "dev": true, "requires": { - "lower-case": "^1.1.1" + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true + } } }, "node-environment-flags": { @@ -8998,7 +11314,6 @@ "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", "dev": true, - "optional": true, "requires": { "object.getownpropertydescriptors": "^2.0.3", "semver": "^5.7.0" @@ -9015,38 +11330,63 @@ "integrity": "sha512-G6RlQt5Sb4GMBzXvhfkeFmbqR6MzhtnT7VTHuLadjkii3rdYHNdw0m8zA4BTxVIh68FicCQ2NSUANpsqkr9jvQ==" }, "node-gyp": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", - "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", + "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", "dev": true, "requires": { - "fstream": "^1.0.0", - "glob": "^7.0.3", - "graceful-fs": "^4.1.2", - "mkdirp": "^0.5.0", - "nopt": "2 || 3", - "npmlog": "0 || 1 || 2 || 3 || 4", - "osenv": "0", - "request": "^2.87.0", - "rimraf": "2", - "semver": "~5.3.0", - "tar": "^2.0.0", - "which": "1" + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.3", + "nopt": "^5.0.0", + "npmlog": "^4.1.2", + "request": "^2.88.2", + "rimraf": "^3.0.2", + "semver": "^7.3.2", + "tar": "^6.0.2", + "which": "^2.0.2" }, "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "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": { - "glob": "^7.1.3" + "yallist": "^4.0.0" + } + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "requires": { + "abbrev": "1" } }, "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } @@ -9065,96 +11405,16 @@ "timers-browserify": "2.0.2", "url": "^0.11.0", "websocket-stream": "^5.0.1" - } - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" }, "dependencies": { - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "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": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "events": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", - "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", - "dev": true - }, - "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 - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "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" - } - }, - "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" + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" } } } @@ -9165,29 +11425,28 @@ "integrity": "sha1-9WH0WyszY1K4KXbFHMoRR9U5N/U=" }, "node-releases": { - "version": "1.1.57", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.57.tgz", - "integrity": "sha512-ZQmnWS7adi61A9JsllJ2gdj2PauElcjnOwTp2O011iGzoakTxUsDGSe+6vD7wXbKdqhSFymC0OSx35aAMhrSdw==", + "version": "1.1.67", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", + "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==", "dev": true }, "node-sass": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz", - "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-5.0.0.tgz", + "integrity": "sha512-opNgmlu83ZCF792U281Ry7tak9IbVC+AKnXGovcQ8LG8wFaJv6cLnRlc6DIHlmNxWEexB5bZxi9SZ9JyUuOYjw==", "dev": true, "requires": { "async-foreach": "^0.1.3", "chalk": "^1.1.1", - "cross-spawn": "^3.0.0", + "cross-spawn": "^7.0.3", "gaze": "^1.0.0", "get-stdin": "^4.0.1", "glob": "^7.0.3", - "in-publish": "^2.0.0", "lodash": "^4.17.15", "meow": "^3.7.0", "mkdirp": "^0.5.1", "nan": "^2.13.2", - "node-gyp": "^3.8.0", + "node-gyp": "^7.1.0", "npmlog": "^4.0.0", "request": "^2.88.0", "sass-graph": "2.2.5", @@ -9196,30 +11455,45 @@ }, "dependencies": { "cross-spawn": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", - "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, - "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" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } } } }, @@ -9261,18 +11535,6 @@ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", "dev": true }, - "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" - } - }, "notepack.io": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/notepack.io/-/notepack.io-2.3.0.tgz", @@ -9308,12 +11570,6 @@ "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", @@ -9419,6 +11675,18 @@ "object-keys": "^1.0.11" } }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "requires": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + } + }, "object.getownpropertydescriptors": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", @@ -9429,6 +11697,16 @@ "es-abstract": "^1.17.0-next.1" } }, + "object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -9488,9 +11766,9 @@ "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==" }, "opener": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", - "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", "dev": true }, "opn": { @@ -9516,9 +11794,9 @@ } }, "ora": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.4.tgz", - "integrity": "sha512-77iGeVU1cIdRhgFzCK8aw1fbtT1B/iZAvWjS+l/o1x0RShMgxHUZaD2yDpWsNCPwXg9z1ZA78Kbdvr8kBmG/Ww==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", + "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", "dev": true, "requires": { "chalk": "^3.0.0", @@ -9538,12 +11816,11 @@ "dev": true }, "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "@types/color-name": "^1.1.1", "color-convert": "^2.0.1" } }, @@ -9649,9 +11926,9 @@ } }, "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -9668,12 +11945,6 @@ "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", @@ -9710,24 +11981,6 @@ "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": "3.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", @@ -9746,12 +11999,6 @@ "retry": "^0.12.0" } }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, "pac-proxy-agent": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-3.0.1.tgz", @@ -9775,12 +12022,12 @@ "dev": true }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "depd": { @@ -9857,24 +12104,22 @@ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" }, - "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=", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", "dev": true, "requires": { - "no-case": "^2.2.0" + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true + } } }, "parent-module": { @@ -9887,14 +12132,12 @@ } }, "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, + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "requires": { - "asn1.js": "^4.0.0", + "asn1.js": "^5.2.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" @@ -9919,6 +12162,17 @@ "xml2js": "^0.4.5" } }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, "parse-headers": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", @@ -9933,6 +12187,12 @@ "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": "4.0.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", @@ -9945,18 +12205,30 @@ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true + } + } + }, "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", @@ -9993,6 +12265,21 @@ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "dev": true }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true + }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -10006,10 +12293,9 @@ "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, + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", "requires": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -10164,15 +12450,6 @@ } } }, - "pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - }, "pkginfo": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", @@ -10260,62 +12537,20 @@ "dev": true }, "postcss": { - "version": "7.0.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.31.tgz", - "integrity": "sha512-a937VDHE1ftkjk+8/7nj/mrjtmkn69xxzJgRETXdAUU+IgOYPQNJF17haGWbeDxSyk++HA14UA98FurvPyBJOA==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.1.tgz", + "integrity": "sha512-RhsqOOAQzTgh1UB/IZdca7F9WDb7SUCR2Vnv1x7DbvuuggQIpoDwjK+q0rzoPffhYvWNKX5JSwS4so4K3UC6vA==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.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.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" - }, - "dependencies": { - "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-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" - } - } + "colorette": "^1.2.1", + "nanoid": "^3.1.20", + "source-map": "^0.6.1" } }, "postcss-css-variables": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/postcss-css-variables/-/postcss-css-variables-0.14.0.tgz", - "integrity": "sha512-fEdksFdcvn/vvTddy4KoPDojZt9hQZx3oXHAIgoYJHsnk97ZTP08unM2UAqksiqdytv93415kBwP+c3/jcopyg==", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/postcss-css-variables/-/postcss-css-variables-0.17.0.tgz", + "integrity": "sha512-/ZpFnJgksNOrQA72b3DKhExYh+0e2P5nEc3aPZ62G7JLmdDjWRFv3k/q4LxV7uzXFnmvkhXRbdVIiH5tKgfFNA==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -10367,110 +12602,140 @@ } }, "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==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-13.0.0.tgz", + "integrity": "sha512-LPUbm3ytpYopwQQjqgUH4S3EM/Gb9QsaSPP/5vnoi+oKVy3/mIk2sc0Paqw7RL57GpScm9MdIMUypw2znWiBpg==", "dev": true, "requires": { - "postcss": "^7.0.1", - "postcss-value-parser": "^3.2.3", + "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", "resolve": "^1.1.7" + } + }, + "postcss-loader": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.1.0.tgz", + "integrity": "sha512-vbCkP70F3Q9PIk6d47aBwjqAMI4LfkXCoyxj+7NPNuVIwfTGdzv2KVQes59/RuxMniIgsYQCFSY42P3+ykJfaw==", + "dev": true, + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.2" }, "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==", + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "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" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "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" - }, - "dependencies": { - "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" - } - } - } - }, "postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", - "dev": true, - "requires": { - "postcss": "^7.0.5" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true }, "postcss-modules-local-by-default": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz", - "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", "dev": true, "requires": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.16", + "icss-utils": "^5.0.0", "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.0" + "postcss-value-parser": "^4.1.0" } }, "postcss-modules-scope": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", - "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", "dev": true, "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" + "postcss-selector-parser": "^6.0.4" } }, "postcss-modules-values": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", - "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", "dev": true, "requires": { - "icss-utils": "^4.0.0", - "postcss": "^7.0.6" + "icss-utils": "^5.0.0" } }, "postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", + "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", "dev": true, "requires": { "cssesc": "^3.0.0", "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "uniq": "^1.0.1", + "util-deprecate": "^1.0.2" } }, "postcss-value-parser": { @@ -10484,32 +12749,28 @@ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "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=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", "dev": true, "requires": { - "renderkid": "^2.0.1", - "utila": "~0.4" + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + }, + "dependencies": { + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "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.5.2", - "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" }, "process-nextick-args": { "version": "2.0.1", @@ -10522,12 +12783,6 @@ "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=" }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, "prompt": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/prompt/-/prompt-1.0.0.tgz", @@ -10569,12 +12824,12 @@ }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { @@ -10597,12 +12852,6 @@ "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.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", @@ -10613,7 +12862,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", @@ -10626,8 +12874,7 @@ "bn.js": { "version": "4.11.9", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" } } }, @@ -10686,28 +12933,12 @@ "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.1.1", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", @@ -10718,7 +12949,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" } @@ -10727,7 +12957,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" @@ -10887,14 +13116,13 @@ } } }, - "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "dev": true, - "optional": true, "requires": { - "picomatch": "^2.2.1" + "resolve": "^1.1.6" } }, "redent": { @@ -10919,9 +13147,9 @@ } }, "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true }, "regenerate-unicode-properties": { @@ -10939,13 +13167,12 @@ "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" }, "regenerator-transform": { - "version": "0.14.4", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz", - "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==", + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", "dev": true, "requires": { - "@babel/runtime": "^7.8.4", - "private": "^0.1.8" + "@babel/runtime": "^7.8.4" } }, "regex-not": { @@ -10968,15 +13195,15 @@ } }, "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", "dev": true }, "regexpu-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", - "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", "dev": true, "requires": { "regenerate": "^1.4.0", @@ -11023,16 +13250,24 @@ "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==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.4.tgz", + "integrity": "sha512-K2eXrSOJdq+HuKzlcjOlGoOarUu5SDguDEhE7+Ah4zuOWL40j8A/oHvLlLob9PSTNvVnBd+/q0Er1QfpEuem5g==", "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" + "lodash": "^4.17.20", + "strip-ansi": "^3.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + } } }, "repeat-element": { @@ -11094,15 +13329,32 @@ } }, "request-promise": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.5.tgz", - "integrity": "sha512-ZgnepCykFdmpq86fKGwqntyTiUrHycALuGggpyCZwMvGaZWgxW6yagT0FHkgo5LzYvOaCNvxYwWYIjevSH1EDg==", + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.6.tgz", + "integrity": "sha512-HCHI3DJJUakkOr8fNoCc73E5nU5bqITjOYFMDrKHYOXWXrgD/SBaC7LjwuPymUprRyuF06UK7hd/lMHkmUXglQ==", "dev": true, "requires": { "bluebird": "^3.5.0", - "request-promise-core": "1.1.3", + "request-promise-core": "1.1.4", "stealthy-require": "^1.1.1", "tough-cookie": "^2.3.3" + }, + "dependencies": { + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "requires": { + "lodash": "^4.17.19" + } + } } }, "request-promise-core": { @@ -11169,6 +13421,16 @@ } } }, + "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" + } + }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -11227,47 +13489,22 @@ "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.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, "run-parallel": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", - "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", + "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", "dev": true }, - "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" - } - }, "rw": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" }, - "rxjs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", - "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", - "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", @@ -11306,22 +13543,80 @@ } }, "sass-loader": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz", - "integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.0.tgz", + "integrity": "sha512-ZCKAlczLBbFd3aGAhowpYEy69Te3Z68cg8bnHHl6WnSCvnKpbM6pQrz957HWMa8LKVuhnD9uMplmMAHwGQtHeg==", "dev": true, "requires": { - "clone-deep": "^4.0.1", - "loader-utils": "^1.2.3", - "neo-async": "^2.6.1", - "schema-utils": "^2.6.1", - "semver": "^6.3.0" + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0", + "semver": "^7.3.2" }, "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "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" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } @@ -11332,13 +13627,34 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "schema-utils": { - "version": "2.6.6", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.6.tgz", - "integrity": "sha512-wHutF/WPSbIi9x6ctjGGk2Hvl0VOz5l3EKEuKbjPlB30mKZUzb9A5k9yEXRX3pwyqVLPvpfZZEllaFq/M718hA==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", "dev": true, "requires": { - "ajv": "^6.12.0", - "ajv-keywords": "^3.4.1" + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + } } }, "scryptsy": { @@ -11450,10 +13766,13 @@ } }, "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 + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } }, "serve-index": { "version": "1.9.1", @@ -11527,21 +13846,11 @@ "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" } }, - "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", @@ -11570,15 +13879,23 @@ "dev": true }, "sitemap": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-6.1.5.tgz", - "integrity": "sha512-yml68gIx0iWmRqxTQhhV7/JcmsnxenH+Q1BDeZtVhvK1QeuZY5piU+c6dMS8vbcVme9k1D3CEIWzSjDKo0hZmQ==", + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-6.3.3.tgz", + "integrity": "sha512-hcdtDJG8wNoogsvwohd0/BbGXEH4E2Dj2E0RCcXUGhEojTiZrqib4w689/q+kwabzD8HcGgstBDSbtJThzLuJA==", "dev": true, "requires": { - "@types/node": "^14.0.5", + "@types/node": "^14.14.6", "@types/sax": "^1.2.1", "arg": "^4.1.3", "sax": "^1.2.4" + }, + "dependencies": { + "@types/node": { + "version": "14.14.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.12.tgz", + "integrity": "sha512-ASH8OPHMNlkdjrEdmoILmzFfsJICvhBsFfAum4aKZ/9U4B6M6tTmTPh+f3ttWdD74CEGV5XvXWkbyfSdXaTd7g==", + "dev": true + } } }, "slash": { @@ -11847,15 +14164,6 @@ } } }, - "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" - } - }, "sortablejs": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.10.2.tgz", @@ -12062,15 +14370,6 @@ } } }, - "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" - } - }, "stack-trace": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", @@ -12128,36 +14427,24 @@ "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, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", "requires": { - "inherits": "~2.0.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" + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, "stream-shift": { @@ -12166,12 +14453,6 @@ "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "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-template": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", @@ -12248,7 +14529,6 @@ "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" }, @@ -12256,8 +14536,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==" } } }, @@ -12278,6 +14557,12 @@ "is-utf8": "^0.2.0" } }, + "strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "dev": true + }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", @@ -12294,21 +14579,39 @@ } }, "strip-json-comments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz", - "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, "style-loader": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.2.1.tgz", - "integrity": "sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", + "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", "dev": true, "requires": { "loader-utils": "^2.0.0", - "schema-utils": "^2.6.6" + "schema-utils": "^3.0.0" }, "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -12319,6 +14622,17 @@ "emojis-list": "^3.0.0", "json5": "^2.1.2" } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } } } }, @@ -12328,15 +14642,43 @@ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, "svg-url-loader": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/svg-url-loader/-/svg-url-loader-5.0.1.tgz", - "integrity": "sha512-U6t6p6iwtG1P7RWcA8Bevud5fMCpmxAQfjHn7vqHFl00d+Geoj1N0kP1HhTJfVUoDtyLJysEMzrSJERnn0m81w==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/svg-url-loader/-/svg-url-loader-7.1.1.tgz", + "integrity": "sha512-NlsMCePODm7FQhU9aEZyGLPx5Xe1QRI1cSEUE6vTq5LJc9l9pStagvXoEIyZ9O3r00w6G3+Wbkimb+SC3DI/Aw==", "dev": true, "requires": { - "file-loader": "~6.0.0", + "file-loader": "~6.2.0", "loader-utils": "~2.0.0" }, "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + } + }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -12347,6 +14689,17 @@ "emojis-list": "^3.0.0", "json5": "^2.1.2" } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } } } }, @@ -12415,14 +14768,37 @@ "dev": true }, "tar": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", - "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.5.tgz", + "integrity": "sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==", "dev": true, "requires": { - "block-stream": "*", - "fstream": "^1.0.12", - "inherits": "2" + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "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 + } } }, "tcp-port-used": { @@ -12445,9 +14821,9 @@ } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true } } @@ -12470,31 +14846,89 @@ } }, "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==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.0.3.tgz", + "integrity": "sha512-zFdGk8Lh9ZJGPxxPE6jwysOlATWB8GMW8HcfGULWA/nPal+3VdATflQvSBSLQJRCmYZnfFJl6vkRTiwJGNgPiQ==", "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": "^2.1.2", + "jest-worker": "^26.6.1", + "p-limit": "^3.0.2", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" + "terser": "^5.3.8" }, "dependencies": { - "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==", + "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": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "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 + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "terser": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz", + "integrity": "sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } } } } @@ -12546,12 +14980,6 @@ "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", "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", @@ -12624,21 +15052,6 @@ "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=" }, - "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-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": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", @@ -12697,12 +15110,6 @@ "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.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", @@ -12750,24 +15157,12 @@ "glob": "^7.1.2" } }, - "tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", - "dev": true - }, "tslib": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", "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", @@ -12854,6 +15249,12 @@ "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", "dev": true }, + "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 + }, "underscore": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", @@ -12915,24 +15316,6 @@ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", "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" - } - }, "unixify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz", @@ -13010,12 +15393,6 @@ "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", @@ -13050,16 +15427,34 @@ } }, "url-loader": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.0.tgz", - "integrity": "sha512-IzgAAIC8wRrg6NYkFIJY09vtktQcsvU8V6HhtQj9PTefbYImzLB1hufqo4m+RyM5N3mLx5BqJKccgxJS+W3kqw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", "dev": true, "requires": { "loader-utils": "^2.0.0", - "mime-types": "^2.1.26", - "schema-utils": "^2.6.5" + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" }, "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -13070,6 +15465,17 @@ "emojis-list": "^3.0.0", "json5": "^2.1.2" } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } } } }, @@ -13122,8 +15528,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "util.promisify": { "version": "1.0.0", @@ -13191,11 +15596,20 @@ "dev": true }, "v8-compile-cache": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", - "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", + "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", "dev": true }, + "v8flags": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz", + "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, "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", @@ -13234,12 +15648,6 @@ "resolved": "https://registry.npmjs.org/vkbeautify/-/vkbeautify-0.99.3.tgz", "integrity": "sha512-2ozZEFfmVvQcHWoHLNuiKlUfDKlhh4KGsy54U0UrlLMR1SO+XKAIDqBxtBwHgNrekurlJwE8A9K6L49T78ZQ9Q==" }, - "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 - }, "w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -13250,243 +15658,13 @@ } }, "watchpack": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz", - "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.0.tgz", + "integrity": "sha512-UjgD1mqjkG99+3lgG36at4wPnUXNvis2v1utwTgQ43C22c4LD71LsYMExdWXh4HZ+RmW+B0t1Vrg2GpXAkTOQw==", "dev": true, "requires": { - "chokidar": "^3.4.0", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.0" - } - }, - "watchpack-chokidar2": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", - "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", - "dev": true, - "optional": true, - "requires": { - "chokidar": "^2.1.8" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "optional": true - }, - "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" - } - } - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "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" - } - } - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "optional": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "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" - } - } - } - }, - "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" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "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" - } - } + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" } }, "wbuf": { @@ -13514,244 +15692,302 @@ "dev": true }, "webpack": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", - "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.10.0.tgz", + "integrity": "sha512-P0bHAXmIz0zsNcHNLqFmLY1ZtrT+jtBr7FqpuDtA2o7GiHC+zBsfhgK7SmJ1HG7BAEb3G9JoMdSVi7mEDvG3Zg==", "dev": true, "requires": { + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.45", "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-module-context": "1.9.0", "@webassemblyjs/wasm-edit": "1.9.0", "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", + "acorn": "^8.0.4", + "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.3", + "enhanced-resolve": "^5.3.1", + "eslint-scope": "^5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", "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.3", - "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.1", - "webpack-sources": "^1.4.1" + "loader-runner": "^4.1.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "pkg-dir": "^5.0.0", + "schema-utils": "^3.0.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.0.3", + "watchpack": "^2.0.0", + "webpack-sources": "^2.1.1" }, "dependencies": { "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.4.tgz", + "integrity": "sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==", "dev": true }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "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": { - "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" - } - } + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.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==", + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "browserslist": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz", + "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==", "dev": true, "requires": { - "esrecurse": "^4.1.0", + "caniuse-lite": "^1.0.30001165", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.621", + "escalade": "^3.1.1", + "node-releases": "^1.1.67" + } + }, + "caniuse-lite": { + "version": "1.0.30001165", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz", + "integrity": "sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.622", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.622.tgz", + "integrity": "sha512-AJT0Fm1W0uZlMVVkkJrcCVvczDuF8tPm3bwzQf5WO8AaASB2hwTRP7B8pU5rqjireH+ib6am8+hH5/QkXzzYKw==", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", "estraverse": "^4.1.1" } }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "estraverse": "^5.2.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" - } + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "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==", + "events": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", "dev": true }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "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" - } - } + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" } }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "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" + "p-locate": "^5.0.0" + } + }, + "node-releases": { + "version": "1.1.67", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", + "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "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 + }, + "pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "dev": true, + "requires": { + "find-up": "^5.0.0" } }, "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==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" } }, - "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=", + "tapable": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", + "dev": true + }, + "webpack-sources": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", + "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" } } } }, "webpack-bundle-analyzer": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.8.0.tgz", - "integrity": "sha512-PODQhAYVEourCcOuU+NiYI7WdR8QyELZGgPvB1y2tjbUpbmcQOt5Q7jEK+ttd5se0KSBKD9SXHCEozS++Wllmw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.2.0.tgz", + "integrity": "sha512-gmjpdL/AJeGAftSzA+bjIPiChUffjBelcH2+3woCUiRpQfuwrTJuWRyZuqegiwBAroMJp7gIwcJaGeol039zbQ==", "dev": true, "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1", - "bfj": "^6.1.1", - "chalk": "^2.4.1", - "commander": "^2.18.0", - "ejs": "^2.6.1", - "express": "^4.16.3", - "filesize": "^3.6.1", - "gzip-size": "^5.0.0", - "lodash": "^4.17.15", - "mkdirp": "^0.5.1", - "opener": "^1.5.1", - "ws": "^6.0.0" + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "chalk": "^4.1.0", + "commander": "^6.2.0", + "express": "^4.17.1", + "filesize": "^6.1.0", + "gzip-size": "^6.0.0", + "lodash": "^4.17.20", + "opener": "^1.5.2", + "ws": "^7.3.1" }, "dependencies": { + "acorn": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.4.tgz", + "integrity": "sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==", + "dev": true + }, "acorn-walk": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz", - "integrity": "sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.0.0.tgz", + "integrity": "sha512-oZRad/3SMOI/pxbbmqyurIx7jHw1wZDcR9G44L8pUVFEomX/0dH89SrM1KaDXuv1NpzAXz6Op/Xu/Qd5XXzdEA==", "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==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" } }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "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==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz", + "integrity": "sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", "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==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.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" - } + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz", + "integrity": "sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==", + "dev": true } } }, @@ -14148,9 +16384,9 @@ } }, "webpack-node-externals": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-1.7.2.tgz", - "integrity": "sha512-ajerHZ+BJKeCLviLUUmnyd5B4RavLF76uv3cs6KNuO8W+HuQaEs0y0L7o40NQxdPy5w0pcv8Ew7yPUAQG0UdCg==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-2.5.2.tgz", + "integrity": "sha512-aHdl/y2N7PW2Sx7K+r3AxpJO+aDMcYzMQd60Qxefq3+EwhewSbTBqNumOsCE1JsCUNoyfGj5465N0sSf6hc/5w==", "dev": true }, "webpack-sources": { @@ -14338,33 +16574,54 @@ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" }, - "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==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-3.0.6.tgz", + "integrity": "sha512-yLmxR1momXc8R8NM4j4/nq7hPvVTems7i40NuAdVmitLJwq4agIeZRTyW2Hans0J21laF0e6/ypYbwLpBzlifA==", "dev": true, "requires": { - "loader-utils": "^1.0.0", - "schema-utils": "^0.4.0" + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.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==", + "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": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" } } } @@ -14435,15 +16692,6 @@ "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" - } - }, "ws": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", @@ -14490,14 +16738,14 @@ "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" }, "xmldom": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.3.0.tgz", - "integrity": "sha512-z9s6k3wxE+aZHgXYxSTpGDo7BYOUfJsIRyoZiX6HTjwpwfS2wpQBQKa2fD+ShLyPkqDYo5ud7KitmLZ2Cd6r0g==" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.4.0.tgz", + "integrity": "sha512-2E93k08T30Ugs+34HBSTQLVtpi6mCddaY8uO+pMNk1pqSjV5vElzn4mmh6KLxN3hki8rNcHSYzILoh3TEWORvA==" }, "xpath": { - "version": "0.0.27", - "resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.27.tgz", - "integrity": "sha512-fg03WRxtkCV6ohClePNAECYsmpKKTv5L8y/X3Dn1hQrec3POx2jHZ/0P2qQ6HvsrU1BmeqXcof3NGGueG6LxwQ==" + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.32.tgz", + "integrity": "sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw==" }, "xregexp": { "version": "4.3.0", @@ -14524,6 +16772,12 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, + "yaml": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", + "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", + "dev": true + }, "yargs": { "version": "13.3.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", @@ -14640,7 +16894,6 @@ "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", "dev": true, - "optional": true, "requires": { "flat": "^4.1.0", "lodash": "^4.17.15", @@ -14657,6 +16910,12 @@ "fd-slicer": "~1.1.0" } }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + }, "zlibjs": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/zlibjs/-/zlibjs-0.3.1.tgz", diff --git a/package.json b/package.json index 5bf451a1..e66cc1cd 100644 --- a/package.json +++ b/package.json @@ -36,76 +36,80 @@ "node >= 10" ], "devDependencies": { - "@babel/core": "^7.8.7", - "@babel/plugin-transform-runtime": "^7.8.3", - "@babel/preset-env": "^7.8.7", - "autoprefixer": "^9.7.4", + "@babel/core": "^7.12.10", + "@babel/plugin-transform-runtime": "^7.12.10", + "@babel/preset-env": "^7.12.10", + "autoprefixer": "^10.1.0", "babel-eslint": "^10.1.0", - "babel-loader": "^8.0.6", - "babel-plugin-dynamic-import-node": "^2.3.0", - "chromedriver": "^83.0.0", - "cli-progress": "^3.6.0", + "babel-loader": "^8.2.2", + "babel-plugin-dynamic-import-node": "^2.3.3", + "chromedriver": "^87.0.2", + "cli-progress": "^3.8.2", "colors": "^1.4.0", - "copy-webpack-plugin": "^5.1.1", - "css-loader": "^3.4.2", - "eslint": "^6.8.0", - "exports-loader": "^0.7.0", - "file-loader": "^6.0.0", - "grunt": "^1.1.0", + "copy-webpack-plugin": "^7.0.0", + "css-loader": "^5.0.1", + "eslint": "^7.15.0", + "exports-loader": "^1.1.1", + "file-loader": "^6.2.0", + "grunt": "^1.3.0", "grunt-accessibility": "~6.0.0", "grunt-chmod": "~1.1.1", "grunt-concurrent": "^3.0.0", "grunt-contrib-clean": "~2.0.0", - "grunt-contrib-connect": "^2.1.0", + "grunt-contrib-connect": "^3.0.0", "grunt-contrib-copy": "~1.0.0", "grunt-contrib-watch": "^1.1.0", - "grunt-eslint": "^22.0.0", + "grunt-eslint": "^23.0.0", "grunt-exec": "~3.0.0", - "grunt-webpack": "^3.1.3", + "grunt-webpack": "^4.0.2", "grunt-zip": "^0.18.2", - "html-webpack-plugin": "^3.2.0", - "imports-loader": "^0.8.0", - "mini-css-extract-plugin": "^0.9.0", - "nightwatch": "^1.3.5", - "node-sass": "^4.13.1", - "postcss-css-variables": "^0.14.0", - "postcss-import": "^12.0.1", - "postcss-loader": "^3.0.0", + "html-webpack-plugin": "^4.5.0", + "imports-loader": "^1.2.0", + "mini-css-extract-plugin": "^1.3.3", + "nightwatch": "^1.5.1", + "node-sass": "^5.0.0", + "postcss": "^8.2.1", + "postcss-css-variables": "^0.17.0", + "postcss-import": "^13.0.0", + "postcss-loader": "^4.1.0", "prompt": "^1.0.0", - "sass-loader": "^8.0.2", - "sitemap": "^6.1.0", - "style-loader": "^1.1.3", - "svg-url-loader": "^5.0.0", - "url-loader": "^4.0.0", - "webpack": "^4.42.0", - "webpack-bundle-analyzer": "^3.6.1", - "webpack-dev-server": "^3.10.3", - "webpack-node-externals": "^1.7.2", - "worker-loader": "^2.0.0" + "sass-loader": "^10.1.0", + "sitemap": "^6.3.3", + "style-loader": "^2.0.0", + "svg-url-loader": "^7.1.1", + "url-loader": "^4.1.1", + "webpack": "^5.10.0", + "webpack-bundle-analyzer": "^4.2.0", + "webpack-dev-server": "^3.11.0", + "webpack-node-externals": "^2.5.2", + "worker-loader": "^3.0.6" }, "dependencies": { - "@babel/polyfill": "^7.8.7", - "@babel/runtime": "^7.8.7", + "@babel/polyfill": "^7.12.1", + "@babel/runtime": "^7.12.5", "arrive": "^2.4.1", - "avsc": "^5.4.19", + "avsc": "^5.5.3", "babel-plugin-transform-builtin-extend": "1.1.2", "bcryptjs": "^2.4.3", "bignumber.js": "^9.0.0", "blakejs": "^1.1.0", - "bootstrap": "4.5.0", + "bootstrap": "4.5.3", "bootstrap-colorpicker": "^3.2.0", - "bootstrap-material-design": "^4.1.2", + "bootstrap-material-design": "^4.1.3", + "browserify-zlib": "^0.2.0", "bson": "^4.0.3", + "buffer": "^6.0.3", "chi-squared": "^1.1.0", "codepage": "^1.14.0", - "core-js": "^3.6.4", + "core-js": "^3.8.1", "crypto-api": "^0.8.5", + "crypto-browserify": "^3.12.0", "crypto-js": "^4.0.0", "ctph.js": "0.0.5", "d3": "^5.15.0", "d3-hexbin": "^0.2.2", "diff": "^4.0.2", - "es6-promisify": "^6.1.0", + "es6-promisify": "^6.1.1", "escodegen": "^1.14.1", "esm": "^3.2.25", "esprima": "^4.0.1", @@ -114,10 +118,10 @@ "geodesy": "^1.1.3", "highlight.js": "^9.18.1", "jimp": "^0.9.5", - "jquery": "3.5.0", + "jquery": "3.5.1", "js-crc": "^0.2.0", "js-sha3": "^0.8.0", - "jsesc": "^2.5.2", + "jsesc": "^3.0.2", "jsonpath": "^1.0.2", "jsonwebtoken": "^8.5.1", "jsqr": "^1.2.0", @@ -129,8 +133,8 @@ "loglevel": "^1.6.7", "loglevel-message-prefix": "^3.0.0", "markdown-it": "^10.0.0", - "moment": "^2.24.0", - "moment-timezone": "^0.5.28", + "moment": "^2.29.1", + "moment-timezone": "^0.5.32", "ngeohash": "^0.6.3", "node-forge": "^0.9.1", "node-md6": "^0.1.0", @@ -139,20 +143,22 @@ "nwmatcher": "^1.4.4", "otp": "^0.1.3", "popper.js": "^1.16.1", + "process": "^0.11.10", "qr-image": "^3.2.0", "scryptsy": "^2.1.0", "snackbarjs": "^1.1.0", "sortablejs": "^1.10.2", "split.js": "^1.5.11", "ssdeep.js": "0.0.2", + "stream-browserify": "^3.0.0", "terser": "^4.3.9", "tesseract.js": "^2.0.2", "ua-parser-js": "^0.7.21", "unorm": "^1.6.0", "utf8": "^3.0.0", "vkbeautify": "^0.99.3", - "xmldom": "^0.3.0", - "xpath": "0.0.27", + "xmldom": "^0.4.0", + "xpath": "0.0.32", "xregexp": "^4.3.0", "zlibjs": "^0.3.1" }, @@ -165,6 +171,7 @@ "testui": "grunt testui", "testuidev": "npx nightwatch --env=dev", "lint": "grunt lint", + "postinstall": "find ./node_modules/crypto-api/src/ \\( -type d -name .git -prune \\) -o -type f -print0 | xargs -0 sed -i '' -e '/\\.mjs/!s/\\(from \"\\.[^\"]*\\)\";/\\1.mjs\";/g'", "newop": "node --experimental-modules src/core/config/scripts/newOperation.mjs" } } diff --git a/src/core/operations/GenerateImage.mjs b/src/core/operations/GenerateImage.mjs index b9220a98..52c9d831 100644 --- a/src/core/operations/GenerateImage.mjs +++ b/src/core/operations/GenerateImage.mjs @@ -7,10 +7,10 @@ import Operation from "../Operation.mjs"; import OperationError from "../errors/OperationError.mjs"; import Utils from "../Utils.mjs"; -import {isImage} from "../lib/FileType"; -import {toBase64} from "../lib/Base64"; +import {isImage} from "../lib/FileType.mjs"; +import {toBase64} from "../lib/Base64.mjs"; import jimp from "jimp"; -import {isWorkerEnvironment} from "../Utils"; +import {isWorkerEnvironment} from "../Utils.mjs"; /** * Generate Image operation diff --git a/src/core/operations/XPathExpression.mjs b/src/core/operations/XPathExpression.mjs index 3b724ce0..7bfe3ee1 100644 --- a/src/core/operations/XPathExpression.mjs +++ b/src/core/operations/XPathExpression.mjs @@ -50,7 +50,19 @@ class XPathExpression extends Operation { let doc; try { - doc = new xmldom.DOMParser().parseFromString(input, "application/xml"); + doc = new xmldom.DOMParser({ + errorHandler: { + warning(w) { + throw w; + }, + error(e) { + throw e; + }, + fatalError(e) { + throw e; + } + } + }).parseFromString(input, "application/xml"); } catch (err) { throw new OperationError("Invalid input XML."); } diff --git a/src/web/App.mjs b/src/web/App.mjs index a5806162..7fd876ac 100755 --- a/src/web/App.mjs +++ b/src/web/App.mjs @@ -4,11 +4,11 @@ * @license Apache-2.0 */ -import Utils, { debounce } from "../core/Utils"; -import {fromBase64} from "../core/lib/Base64"; -import Manager from "./Manager"; -import HTMLCategory from "./HTMLCategory"; -import HTMLOperation from "./HTMLOperation"; +import Utils, { debounce } from "../core/Utils.mjs"; +import {fromBase64} from "../core/lib/Base64.mjs"; +import Manager from "./Manager.mjs"; +import HTMLCategory from "./HTMLCategory.mjs"; +import HTMLOperation from "./HTMLOperation.mjs"; import Split from "split.js"; import moment from "moment-timezone"; diff --git a/src/web/static/images/bombe.svg b/src/web/static/images/bombe.svg index a970903a..4c04ef2f 100644 --- a/src/web/static/images/bombe.svg +++ b/src/web/static/images/bombe.svg @@ -9,13 +9,13 @@

Enter the secret as the input or leave it blank for a random secret to be generated."; + this.description = "The HMAC-based One-Time Password algorithm (HOTP) is an algorithm that computes a one-time password from a shared secret key and an incrementing counter. It has been adopted as Internet Engineering Task Force standard RFC 4226, is the cornerstone of Initiative For Open Authentication (OAUTH), and is used in a number of two-factor authentication systems.

Enter the secret as the input or leave it blank for a random secret to be generated."; this.infoURL = "https://wikipedia.org/wiki/HMAC-based_One-time_Password_algorithm"; this.inputType = "ArrayBuffer"; this.outputType = "string"; @@ -59,7 +59,7 @@ class GenerateHOTP extends Operation { name: args[0], keySize: args[1], codeLength: args[2], - secret: (new ToBase32).run(input, []), + secret: (new ToBase32).run(input, []).split("=")[0], }); const counter = args[3]; return `URI: ${otpObj.hotpURL}\n\nPassword: ${otpObj.hotp(counter)}`; diff --git a/src/core/operations/GenerateTOTP.mjs b/src/core/operations/GenerateTOTP.mjs index 86fde30c..5c52721d 100644 --- a/src/core/operations/GenerateTOTP.mjs +++ b/src/core/operations/GenerateTOTP.mjs @@ -21,7 +21,7 @@ class GenerateTOTP extends Operation { this.name = "Generate TOTP"; this.module = "Default"; - this.description = "The Time-based One-Time Password algorithm (TOTP) is an algorithm that computes a one-time password from a shared secret key and the current time. It has been adopted as Internet Engineering Task Force standard RFC 6238, is the cornerstone of Initiative For Open Authentication (OATH), and is used in a number of two-factor authentication systems. A TOTP is an HOTP where the counter is the current time.

Enter the secret as the input or leave it blank for a random secret to be generated. T0 and T1 are in seconds."; + this.description = "The Time-based One-Time Password algorithm (TOTP) is an algorithm that computes a one-time password from a shared secret key and the current time. It has been adopted as Internet Engineering Task Force standard RFC 6238, is the cornerstone of Initiative For Open Authentication (OAUTH), and is used in a number of two-factor authentication systems. A TOTP is an HOTP where the counter is the current time.

Enter the secret as the input or leave it blank for a random secret to be generated. T0 and T1 are in seconds."; this.infoURL = "https://wikipedia.org/wiki/Time-based_One-time_Password_algorithm"; this.inputType = "ArrayBuffer"; this.outputType = "string"; @@ -64,7 +64,7 @@ class GenerateTOTP extends Operation { name: args[0], keySize: args[1], codeLength: args[2], - secret: (new ToBase32).run(input, []), + secret: (new ToBase32).run(input, []).split("=")[0], epoch: args[3], timeSlice: args[4] }); diff --git a/tests/node/tests/operations.mjs b/tests/node/tests/operations.mjs index 2124ad14..0a9d74e4 100644 --- a/tests/node/tests/operations.mjs +++ b/tests/node/tests/operations.mjs @@ -640,7 +640,7 @@ WWFkYSBZYWRh\r }), it("Parse ASN.1 Hex string", () => { - assert.strictEqual(chef.parseASN1HexString(chef.toHex("Mouth-watering")).toString(), "UNKNOWN(4d) 7574682d7761746572696e67\n"); + assert.strictEqual(chef.parseASN1HexString(chef.toHex("Mouth-watering")).toString(), "UNKNOWN(77) 7574682d7761746572696e67\n"); }), it("Parse DateTime", () => { diff --git a/webpack.config.js b/webpack.config.js index de74a557..a806cc1a 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -39,7 +39,11 @@ module.exports = { $: "jquery", jQuery: "jquery", log: "loglevel", - process: "process" + // process and Buffer are no longer polyfilled in webpack 5 but + // many of our dependencies expect them, so it is easiest to just + // provide them everywhere as was the case in webpack 4- + process: "process", + Buffer: ["buffer", "Buffer"] }), new webpack.BannerPlugin({ banner: banner, @@ -83,7 +87,8 @@ module.exports = { "path": false, "crypto": require.resolve("crypto-browserify"), "stream": require.resolve("stream-browserify"), - "zlib": require.resolve("browserify-zlib") + "zlib": require.resolve("browserify-zlib"), + "buffer": require.resolve("buffer/") } }, module: { @@ -113,14 +118,6 @@ module.exports = { imports: "default popper.js/dist/umd/popper.js Popper" } }, - { - test: /avsc/, - loader: "imports-loader", - options: { - type: "commonjs", - imports: "multiple buffer Buffer Buffer" - } - }, { test: /blueimp-load-image/, loader: "imports-loader", From ec37a676a818d01dde37f1be2b730e84a35e6f67 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 14 Dec 2020 17:51:12 +0000 Subject: [PATCH 111/754] Updated dependencies --- package-lock.json | 6003 ++++++----------- package.json | 13 +- src/core/lib/QRCode.mjs | 3 +- src/core/operations/AddTextToImage.mjs | 3 +- src/core/operations/BlurImage.mjs | 3 +- src/core/operations/ContainImage.mjs | 3 +- src/core/operations/ConvertImageFormat.mjs | 5 +- src/core/operations/CoverImage.mjs | 3 +- src/core/operations/CropImage.mjs | 3 +- src/core/operations/DitherImage.mjs | 3 +- src/core/operations/ExtractLSB.mjs | 3 +- src/core/operations/ExtractRGBA.mjs | 3 +- src/core/operations/FlipImage.mjs | 3 +- src/core/operations/GenerateImage.mjs | 3 +- .../operations/ImageBrightnessContrast.mjs | 3 +- src/core/operations/ImageFilter.mjs | 3 +- .../ImageHueSaturationLightness.mjs | 3 +- src/core/operations/ImageOpacity.mjs | 3 +- src/core/operations/InvertImage.mjs | 3 +- src/core/operations/NormaliseImage.mjs | 3 +- .../operations/RandomizeColourPalette.mjs | 3 +- src/core/operations/ResizeImage.mjs | 3 +- src/core/operations/RotateImage.mjs | 3 +- src/core/operations/SharpenImage.mjs | 3 +- src/core/operations/SplitColourChannels.mjs | 4 +- src/core/operations/ViewBitPlane.mjs | 3 +- webpack.config.js | 7 +- 27 files changed, 2111 insertions(+), 3987 deletions(-) diff --git a/package-lock.json b/package-lock.json index 034dd157..f3e942f7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,12 +5,12 @@ "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, "requires": { - "@babel/highlight": "^7.8.3" + "@babel/highlight": "^7.10.4" } }, "@babel/compat-data": { @@ -42,145 +42,6 @@ "source-map": "^0.5.0" }, "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.10.tgz", - "integrity": "sha512-6mCdfhWgmqLdtTkhXjnIz0LcdVCd26wS2JXRtj2XY0u5klDsXBREA/pG5NVOuVnF2LUrBGNFtQkIqqTbblg0ww==", - "dev": true, - "requires": { - "@babel/types": "^7.12.10", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - } - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", - "dev": true, - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "dev": true, - "requires": { - "@babel/types": "^7.11.0" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", - "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", - "dev": true - }, - "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" - } - }, - "@babel/traverse": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.10.tgz", - "integrity": "sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.10", - "@babel/types": "^7.12.10", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "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.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, "debug": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", @@ -190,24 +51,6 @@ "ms": "2.1.2" } }, - "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 - }, - "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 - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -219,33 +62,17 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "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/generator": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.0.tgz", - "integrity": "sha512-ThoWCJHlgukbtCP79nAK4oLqZt5fVo70AHUni/y8Jotyg5rtJiG2FVl+iJjRNKIyl4hppqztLyAoEWcCvqyOFQ==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.10.tgz", + "integrity": "sha512-6mCdfhWgmqLdtTkhXjnIz0LcdVCd26wS2JXRtj2XY0u5klDsXBREA/pG5NVOuVnF2LUrBGNFtQkIqqTbblg0ww==", "dev": true, "requires": { - "@babel/types": "^7.10.0", + "@babel/types": "^7.12.10", "jsesc": "^2.5.1", - "lodash": "^4.17.13", "source-map": "^0.5.0" }, "dependencies": { @@ -270,37 +97,6 @@ "dev": true, "requires": { "@babel/types": "^7.12.10" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "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-builder-binary-assignment-operator-visitor": { @@ -311,37 +107,6 @@ "requires": { "@babel/helper-explode-assignable-expression": "^7.10.4", "@babel/types": "^7.10.4" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "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-compilation-targets": { @@ -354,39 +119,6 @@ "@babel/helper-validator-option": "^7.12.1", "browserslist": "^4.14.5", "semver": "^5.5.0" - }, - "dependencies": { - "browserslist": { - "version": "4.16.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz", - "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001165", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.621", - "escalade": "^3.1.1", - "node-releases": "^1.1.67" - } - }, - "caniuse-lite": { - "version": "1.0.30001165", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz", - "integrity": "sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.622", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.622.tgz", - "integrity": "sha512-AJT0Fm1W0uZlMVVkkJrcCVvczDuF8tPm3bwzQf5WO8AaASB2hwTRP7B8pU5rqjireH+ib6am8+hH5/QkXzzYKw==", - "dev": true - }, - "node-releases": { - "version": "1.1.67", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", - "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==", - "dev": true - } } }, "@babel/helper-create-class-features-plugin": { @@ -400,138 +132,6 @@ "@babel/helper-optimise-call-expression": "^7.10.4", "@babel/helper-replace-supers": "^7.12.1", "@babel/helper-split-export-declaration": "^7.10.4" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", - "dev": true, - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "dev": true, - "requires": { - "@babel/types": "^7.11.0" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", - "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", - "dev": true - }, - "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" - } - }, - "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "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.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" - } - }, - "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 - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "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/helper-create-regexp-features-plugin": { @@ -553,129 +153,6 @@ "@babel/helper-function-name": "^7.10.4", "@babel/types": "^7.10.5", "lodash": "^4.17.19" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", - "dev": true, - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", - "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", - "dev": true - }, - "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" - } - }, - "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "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.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" - } - }, - "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 - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "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/helper-explode-assignable-expression": { @@ -685,57 +162,26 @@ "dev": true, "requires": { "@babel/types": "^7.12.1" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "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-function-name": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz", - "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.9.5" + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.12.10" } }, "@babel/helper-hoist-variables": { @@ -745,37 +191,6 @@ "dev": true, "requires": { "@babel/types": "^7.10.4" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "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-member-expression-to-functions": { @@ -785,37 +200,6 @@ "dev": true, "requires": { "@babel/types": "^7.12.7" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "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-imports": { @@ -825,37 +209,6 @@ "dev": true, "requires": { "@babel/types": "^7.12.5" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "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": { @@ -873,201 +226,6 @@ "@babel/traverse": "^7.12.1", "@babel/types": "^7.12.1", "lodash": "^4.17.19" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.10.tgz", - "integrity": "sha512-6mCdfhWgmqLdtTkhXjnIz0LcdVCd26wS2JXRtj2XY0u5klDsXBREA/pG5NVOuVnF2LUrBGNFtQkIqqTbblg0ww==", - "dev": true, - "requires": { - "@babel/types": "^7.12.10", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - } - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", - "dev": true, - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "dev": true, - "requires": { - "@babel/types": "^7.11.0" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", - "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", - "dev": true - }, - "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" - } - }, - "@babel/traverse": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.10.tgz", - "integrity": "sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.10", - "@babel/types": "^7.12.10", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "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.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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 - }, - "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 - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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/helper-optimise-call-expression": { @@ -1077,37 +235,6 @@ "dev": true, "requires": { "@babel/types": "^7.12.10" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "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-plugin-utils": { @@ -1125,37 +252,6 @@ "@babel/helper-annotate-as-pure": "^7.10.4", "@babel/helper-wrap-function": "^7.10.4", "@babel/types": "^7.12.1" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "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-replace-supers": { @@ -1168,201 +264,6 @@ "@babel/helper-optimise-call-expression": "^7.10.4", "@babel/traverse": "^7.12.5", "@babel/types": "^7.12.5" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.10.tgz", - "integrity": "sha512-6mCdfhWgmqLdtTkhXjnIz0LcdVCd26wS2JXRtj2XY0u5klDsXBREA/pG5NVOuVnF2LUrBGNFtQkIqqTbblg0ww==", - "dev": true, - "requires": { - "@babel/types": "^7.12.10", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - } - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", - "dev": true, - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "dev": true, - "requires": { - "@babel/types": "^7.11.0" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", - "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", - "dev": true - }, - "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" - } - }, - "@babel/traverse": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.10.tgz", - "integrity": "sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.10", - "@babel/types": "^7.12.10", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "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.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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 - }, - "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 - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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/helper-simple-access": { @@ -1372,37 +273,6 @@ "dev": true, "requires": { "@babel/types": "^7.12.1" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "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-skip-transparent-expression-wrappers": { @@ -1412,52 +282,21 @@ "dev": true, "requires": { "@babel/types": "^7.12.1" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "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-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.11.0" } }, "@babel/helper-validator-identifier": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", - "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", "dev": true }, "@babel/helper-validator-option": { @@ -1476,201 +315,6 @@ "@babel/template": "^7.10.4", "@babel/traverse": "^7.10.4", "@babel/types": "^7.10.4" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.10.tgz", - "integrity": "sha512-6mCdfhWgmqLdtTkhXjnIz0LcdVCd26wS2JXRtj2XY0u5klDsXBREA/pG5NVOuVnF2LUrBGNFtQkIqqTbblg0ww==", - "dev": true, - "requires": { - "@babel/types": "^7.12.10", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - } - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", - "dev": true, - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "dev": true, - "requires": { - "@babel/types": "^7.11.0" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", - "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", - "dev": true - }, - "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" - } - }, - "@babel/traverse": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.10.tgz", - "integrity": "sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.10", - "@babel/types": "^7.12.10", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "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.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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 - }, - "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 - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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/helpers": { @@ -1682,210 +326,15 @@ "@babel/template": "^7.10.4", "@babel/traverse": "^7.12.5", "@babel/types": "^7.12.5" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.10.tgz", - "integrity": "sha512-6mCdfhWgmqLdtTkhXjnIz0LcdVCd26wS2JXRtj2XY0u5klDsXBREA/pG5NVOuVnF2LUrBGNFtQkIqqTbblg0ww==", - "dev": true, - "requires": { - "@babel/types": "^7.12.10", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - } - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", - "dev": true, - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "dev": true, - "requires": { - "@babel/types": "^7.11.0" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", - "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", - "dev": true - }, - "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" - } - }, - "@babel/traverse": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.10.tgz", - "integrity": "sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.10", - "@babel/types": "^7.12.10", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "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.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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 - }, - "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 - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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/highlight": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", - "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.9.0", + "@babel/helper-validator-identifier": "^7.10.4", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -1928,9 +377,9 @@ } }, "@babel/parser": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.0.tgz", - "integrity": "sha512-fnDUl1Uy2gThM4IFVW4ISNHqr3cJrCsRkSCasFgx0XDO9JcttDS5ytyBc4Cu4X1+fjoo3IVvFbRD6TeFlHJlEQ==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", + "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", "dev": true }, "@babel/plugin-proposal-async-generator-functions": { @@ -2228,141 +677,11 @@ "globals": "^11.1.0" }, "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", - "dev": true, - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "dev": true, - "requires": { - "@babel/types": "^7.11.0" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", - "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", - "dev": true - }, - "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" - } - }, - "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "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.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" - } - }, "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 - }, - "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 - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "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 } } }, @@ -2430,129 +749,6 @@ "requires": { "@babel/helper-function-name": "^7.10.4", "@babel/helper-plugin-utils": "^7.10.4" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", - "dev": true, - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", - "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", - "dev": true - }, - "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" - } - }, - "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "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.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" - } - }, - "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 - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "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/plugin-transform-literals": { @@ -2607,14 +803,6 @@ "@babel/helper-plugin-utils": "^7.10.4", "@babel/helper-validator-identifier": "^7.10.4", "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - } } }, "@babel/plugin-transform-modules-umd": { @@ -2855,37 +1043,6 @@ "@babel/types": "^7.12.10", "core-js-compat": "^3.8.0", "semver": "^5.5.0" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "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/preset-modules": { @@ -2919,40 +1076,40 @@ } }, "@babel/template": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.0.tgz", - "integrity": "sha512-aMLEQn5tcG49LEWrsEwxiRTdaJmvLem3+JMCMSeCy2TILau0IDVyWdm/18ACx7XOCady64FLt6KkHy28tkDQHQ==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", "dev": true, "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.10.0", - "@babel/types": "^7.10.0" + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" } }, "@babel/traverse": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.0.tgz", - "integrity": "sha512-NZsFleMaLF1zX3NxbtXI/JCs2RPOdpGru6UBdGsfhdsDsP+kFF+h2QQJnMJglxk0kc69YmMFs4A44OJY0tKo5g==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.10.tgz", + "integrity": "sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==", "dev": true, "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.10.0", - "@babel/helper-function-name": "^7.9.5", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.10.0", - "@babel/types": "^7.10.0", + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.12.10", + "@babel/types": "^7.12.10", "debug": "^4.1.0", "globals": "^11.1.0", - "lodash": "^4.17.13" + "lodash": "^4.17.19" }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "globals": { @@ -2970,13 +1127,13 @@ } }, "@babel/types": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.0.tgz", - "integrity": "sha512-t41W8yWFyQFPOAAvPvjyRhejcLGnJTA3iRpFcDbEKwVJ3UnHQePFzLk8GagTsucJlImyNwrGikGsYURrWbQG8w==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.9.5", - "lodash": "^4.17.13", + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", "to-fast-properties": "^2.0.0" }, "dependencies": { @@ -3006,18 +1163,6 @@ "strip-json-comments": "^3.1.1" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, "debug": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", @@ -3042,12 +1187,6 @@ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -3057,26 +1196,24 @@ } }, "@jimp/bmp": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.9.8.tgz", - "integrity": "sha512-CZYQPEC3iUBMuaGWrtIG+GKNl93q/PkdudrCKJR/B96dfNngsmoosEm3LuFgJHEcJIfvnJkNqKw74l+zEiqCbg==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.16.1.tgz", + "integrity": "sha512-iwyNYQeBawrdg/f24x3pQ5rEx+/GwjZcCXd3Kgc+ZUd+Ivia7sIqBsOnDaMZdKCBPlfW364ekexnlOqyVa0NWg==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "bmp-js": "^0.1.0", - "core-js": "^3.4.1" + "@jimp/utils": "^0.16.1", + "bmp-js": "^0.1.0" } }, "@jimp/core": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.9.8.tgz", - "integrity": "sha512-N4GCjcXb0QwR5GBABDK2xQ3cKyaF7LlCYeJEG9mV7G/ynBoRqJe4JA6YKU9Ww9imGkci/4A594nQo8tUIqdcBw==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.16.1.tgz", + "integrity": "sha512-la7kQia31V6kQ4q1kI/uLimu8FXx7imWVajDGtwUG8fzePLWDFJyZl0fdIXVCL1JW2nBcRHidUot6jvlRDi2+g==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", + "@jimp/utils": "^0.16.1", "any-base": "^1.1.0", "buffer": "^5.2.0", - "core-js": "^3.4.1", "exif-parser": "^0.1.12", "file-type": "^9.0.0", "load-bmfont": "^1.3.1", @@ -3098,323 +1235,296 @@ } }, "@jimp/custom": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.9.8.tgz", - "integrity": "sha512-1UpJjI7fhX02BWLJ/KEqPwkHH60eNkCNeD6hEd+IZdTwLXfZCfFiM5BVlpgiZYZJSsVoRiAL4ne2Q5mCiKPKyw==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.16.1.tgz", + "integrity": "sha512-DNUAHNSiUI/j9hmbatD6WN/EBIyeq4AO0frl5ETtt51VN1SvE4t4v83ZA/V6ikxEf3hxLju4tQ5Pc3zmZkN/3A==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/core": "^0.9.8", - "core-js": "^3.4.1" + "@jimp/core": "^0.16.1" } }, "@jimp/gif": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.9.8.tgz", - "integrity": "sha512-LEbfpcO1sBJIQCJHchZjNlyNxzPjZQQ4X32klpQHZJG58n9FvL7Uuh1rpkrJRbqv3cU3P0ENNtTrsBDxsYwcfA==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.16.1.tgz", + "integrity": "sha512-r/1+GzIW1D5zrP4tNrfW+3y4vqD935WBXSc8X/wm23QTY9aJO9Lw6PEdzpYCEY+SOklIFKaJYUAq/Nvgm/9ryw==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1", + "@jimp/utils": "^0.16.1", + "gifwrap": "^0.9.2", "omggif": "^1.0.9" } }, "@jimp/jpeg": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.9.8.tgz", - "integrity": "sha512-5u29SUzbZ32ZMmOaz3gO0hXatwSCnsvEAXRCKZoPPgbsPoyFAiZKVxjfLzjkeQF6awkvJ8hZni5chM15SNMg+g==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.16.1.tgz", + "integrity": "sha512-8352zrdlCCLFdZ/J+JjBslDvml+fS3Z8gttdml0We759PnnZGqrnPRhkOEOJbNUlE+dD4ckLeIe6NPxlS/7U+w==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1", - "jpeg-js": "^0.3.4" + "@jimp/utils": "^0.16.1", + "jpeg-js": "0.4.2" } }, "@jimp/plugin-blit": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.9.8.tgz", - "integrity": "sha512-6xTDomxJybhBcby1IUVaPydZFhxf+V0DRgfDlVK81kR9kSCoshJpzWqDuWrMqjNEPspPE7jRQwHMs0FdU7mVwQ==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.16.1.tgz", + "integrity": "sha512-fKFNARm32RoLSokJ8WZXHHH2CGzz6ire2n1Jh6u+XQLhk9TweT1DcLHIXwQMh8oR12KgjbgsMGvrMVlVknmOAg==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1" + "@jimp/utils": "^0.16.1" } }, "@jimp/plugin-blur": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.9.8.tgz", - "integrity": "sha512-dqbxuNFBRbmt35iIRacdgma7nlXklmPThsKcGWNTDmqb/hniK5IC+0xSPzBV4qMI2fLGP39LWHqqDZ0xDz14dA==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.16.1.tgz", + "integrity": "sha512-1WhuLGGj9MypFKRcPvmW45ht7nXkOKu+lg3n2VBzIB7r4kKNVchuI59bXaCYQumOLEqVK7JdB4glaDAbCQCLyw==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1" + "@jimp/utils": "^0.16.1" } }, "@jimp/plugin-circle": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.9.8.tgz", - "integrity": "sha512-+UStXUPCzPqzTixLC8eVqcFcEa6TS+BEM/6/hyM11TDb9sbiMGeUtgpwZP/euR5H5gfpAQDA1Ppzqhh5fuMDlw==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.16.1.tgz", + "integrity": "sha512-JK7yi1CIU7/XL8hdahjcbGA3V7c+F+Iw+mhMQhLEi7Q0tCnZ69YJBTamMiNg3fWPVfMuvWJJKOBRVpwNTuaZRg==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1" + "@jimp/utils": "^0.16.1" } }, "@jimp/plugin-color": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.9.8.tgz", - "integrity": "sha512-SDHxOQsJHpt75hk6+sSlCPc2B3UJlXosFW+iLZ11xX1Qr0IdDtbfYlIoPmjKQFIDUNzqLSue/z7sKQ1OMZr/QA==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.16.1.tgz", + "integrity": "sha512-9yQttBAO5SEFj7S6nJK54f+1BnuBG4c28q+iyzm1JjtnehjqMg6Ljw4gCSDCvoCQ3jBSYHN66pmwTV74SU1B7A==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1", + "@jimp/utils": "^0.16.1", "tinycolor2": "^1.4.1" } }, "@jimp/plugin-contain": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.9.8.tgz", - "integrity": "sha512-oK52CPt7efozuLYCML7qOmpFeDt3zpU8qq8UZlnjsDs15reU6L8EiUbwYpJvzoEnEOh1ZqamB8F/gymViEO5og==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.16.1.tgz", + "integrity": "sha512-44F3dUIjBDHN+Ym/vEfg+jtjMjAqd2uw9nssN67/n4FdpuZUVs7E7wadKY1RRNuJO+WgcD5aDQcsvurXMETQTg==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1" + "@jimp/utils": "^0.16.1" } }, "@jimp/plugin-cover": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.9.8.tgz", - "integrity": "sha512-nnamtHzMrNd5j5HRSPd1VzpZ8v9YYtUJPtvCdHOOiIjqG72jxJ2kTBlsS3oG5XS64h/2MJwpl/fmmMs1Tj1CmQ==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.16.1.tgz", + "integrity": "sha512-YztWCIldBAVo0zxcQXR+a/uk3/TtYnpKU2CanOPJ7baIuDlWPsG+YE4xTsswZZc12H9Kl7CiziEbDtvF9kwA/Q==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1" + "@jimp/utils": "^0.16.1" } }, "@jimp/plugin-crop": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.9.8.tgz", - "integrity": "sha512-Nv/6AIp4aJmbSIH2uiIqm+kSoShKM8eaX2fyrUTj811kio0hwD3f/vIxrWebvAqwDZjAFIAmMufFoFCVg6caoQ==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.16.1.tgz", + "integrity": "sha512-UQdva9oQzCVadkyo3T5Tv2CUZbf0klm2cD4cWMlASuTOYgaGaFHhT9st+kmfvXjKL8q3STkBu/zUPV6PbuV3ew==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1" + "@jimp/utils": "^0.16.1" } }, "@jimp/plugin-displace": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.9.8.tgz", - "integrity": "sha512-0OgPjkOVa2xdbqI8P6gBKX/UK36RbaYVrFyXL8Jy9oNF69+LYWyTskuCu9YbGxzlCVjY/JFqQOvrKDbxgMYAKA==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.16.1.tgz", + "integrity": "sha512-iVAWuz2+G6Heu8gVZksUz+4hQYpR4R0R/RtBzpWEl8ItBe7O6QjORAkhxzg+WdYLL2A/Yd4ekTpvK0/qW8hTVw==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1" + "@jimp/utils": "^0.16.1" } }, "@jimp/plugin-dither": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.9.8.tgz", - "integrity": "sha512-jGM/4ByniZJnmV2fv8hKwyyydXZe/YzvgBcnB8XxzCq8kVR3Imcn+qnd2PEPZzIPKOTH4Cig/zo9Vk9Bs+m5FQ==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.16.1.tgz", + "integrity": "sha512-tADKVd+HDC9EhJRUDwMvzBXPz4GLoU6s5P7xkVq46tskExYSptgj5713J5Thj3NMgH9Rsqu22jNg1H/7tr3V9Q==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1" + "@jimp/utils": "^0.16.1" } }, "@jimp/plugin-fisheye": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.9.8.tgz", - "integrity": "sha512-VnsalrD05f4pxG1msjnkwIFi5QveOqRm4y7VkoZKNX+iqs4TvRnH5+HpBnfdMzX/RXBi+Lf/kpTtuZgbOu/QWw==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.16.1.tgz", + "integrity": "sha512-BWHnc5hVobviTyIRHhIy9VxI1ACf4CeSuCfURB6JZm87YuyvgQh5aX5UDKtOz/3haMHXBLP61ZBxlNpMD8CG4A==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1" + "@jimp/utils": "^0.16.1" } }, "@jimp/plugin-flip": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.9.8.tgz", - "integrity": "sha512-XbiZ4OfHD6woc0f6Sk7XxB6a7IyMjTRQ4pNU7APjaNxsl3L6qZC8qfCQphWVe3DHx7f3y7jEiPMvNnqRDP1xgA==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.16.1.tgz", + "integrity": "sha512-KdxTf0zErfZ8DyHkImDTnQBuHby+a5YFdoKI/G3GpBl3qxLBvC+PWkS2F/iN3H7wszP7/TKxTEvWL927pypT0w==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1" + "@jimp/utils": "^0.16.1" } }, "@jimp/plugin-gaussian": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.9.8.tgz", - "integrity": "sha512-ZBl5RA6+4XAD+mtqLfiG7u+qd8W5yqq3RBNca8eFqUSVo1v+eB2tzeLel0CWfVC/z6cw93Awm/nVnm6/CL2Oew==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.16.1.tgz", + "integrity": "sha512-u9n4wjskh3N1mSqketbL6tVcLU2S5TEaFPR40K6TDv4phPLZALi1Of7reUmYpVm8mBDHt1I6kGhuCJiWvzfGyg==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1" + "@jimp/utils": "^0.16.1" } }, "@jimp/plugin-invert": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.9.8.tgz", - "integrity": "sha512-ESploqCoF6qUv5IWhVLaO5fEcrYZEsAWPFflh6ROiD2mmFKQxfeK+vHnk3IDLHtUwWTkAZQNbk89BVq7xvaNpQ==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.16.1.tgz", + "integrity": "sha512-2DKuyVXANH8WDpW9NG+PYFbehzJfweZszFYyxcaewaPLN0GxvxVLOGOPP1NuUTcHkOdMFbE0nHDuB7f+sYF/2w==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1" + "@jimp/utils": "^0.16.1" } }, "@jimp/plugin-mask": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.9.8.tgz", - "integrity": "sha512-zSvEisTV4iGsBReitEdnQuGJq9/1xB5mPATadYZmIlp8r5HpD72HQb0WdEtb51/pu9Odt8KAxUf0ASg/PRVUiQ==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.16.1.tgz", + "integrity": "sha512-snfiqHlVuj4bSFS0v96vo2PpqCDMe4JB+O++sMo5jF5mvGcGL6AIeLo8cYqPNpdO6BZpBJ8MY5El0Veckhr39Q==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1" + "@jimp/utils": "^0.16.1" } }, "@jimp/plugin-normalize": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.9.8.tgz", - "integrity": "sha512-dPFBfwTa67K1tRw1leCidQT25R3ozrTUUOpO4jcGFHqXvBTWaR8sML1qxdfOBWs164mE5YpfdTvu6MM/junvCg==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.16.1.tgz", + "integrity": "sha512-dOQfIOvGLKDKXPU8xXWzaUeB0nvkosHw6Xg1WhS1Z5Q0PazByhaxOQkSKgUryNN/H+X7UdbDvlyh/yHf3ITRaw==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1" + "@jimp/utils": "^0.16.1" } }, "@jimp/plugin-print": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.9.8.tgz", - "integrity": "sha512-nLLPv1/faehRsOjecXXUb6kzhRcZzImO55XuFZ0c90ZyoiHm4UFREwO5sKxHGvpLXS6RnkhvSav4+IWD2qGbEQ==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.16.1.tgz", + "integrity": "sha512-ceWgYN40jbN4cWRxixym+csyVymvrryuKBQ+zoIvN5iE6OyS+2d7Mn4zlNgumSczb9GGyZZESIgVcBDA1ezq0Q==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1", + "@jimp/utils": "^0.16.1", "load-bmfont": "^1.4.0" } }, "@jimp/plugin-resize": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.9.8.tgz", - "integrity": "sha512-L80NZ+HKsiKFyeDc6AfneC4+5XACrdL2vnyAVfAAsb3pmamgT/jDInWvvGhyI0Y76vx2w6XikplzEznW/QQvWg==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.16.1.tgz", + "integrity": "sha512-u4JBLdRI7dargC04p2Ha24kofQBk3vhaf0q8FwSYgnCRwxfvh2RxvhJZk9H7Q91JZp6wgjz/SjvEAYjGCEgAwQ==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1" + "@jimp/utils": "^0.16.1" } }, "@jimp/plugin-rotate": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.9.8.tgz", - "integrity": "sha512-bpqzQheISYnBXKyU1lIj46uR7mRs0UhgEREWK70HnvFJSlRshdcoNMIrKamyrJeFdJrkYPSfR/a6D0d5zsWf1Q==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.16.1.tgz", + "integrity": "sha512-ZUU415gDQ0VjYutmVgAYYxC9Og9ixu2jAGMCU54mSMfuIlmohYfwARQmI7h4QB84M76c9hVLdONWjuo+rip/zg==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1" + "@jimp/utils": "^0.16.1" } }, "@jimp/plugin-scale": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.9.8.tgz", - "integrity": "sha512-QU3ZS4Lre8nN66U9dKCOC4FNfaOh/QJFYUmQPKpPS924oYbtnm4OlmsdfpK2hVMSVVyVOis8M+xpA1rDBnIp7w==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.16.1.tgz", + "integrity": "sha512-jM2QlgThIDIc4rcyughD5O7sOYezxdafg/2Xtd1csfK3z6fba3asxDwthqPZAgitrLgiKBDp6XfzC07Y/CefUw==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1" + "@jimp/utils": "^0.16.1" } }, "@jimp/plugin-shadow": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.9.8.tgz", - "integrity": "sha512-t/pE+QS3r1ZUxGIQNmwWDI3c5+/hLU+gxXD+C3EEC47/qk3gTBHpj/xDdGQBoObdT/HRjR048vC2BgBfzjj2hg==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.16.1.tgz", + "integrity": "sha512-MeD2Is17oKzXLnsphAa1sDstTu6nxscugxAEk3ji0GV1FohCvpHBcec0nAq6/czg4WzqfDts+fcPfC79qWmqrA==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1" + "@jimp/utils": "^0.16.1" } }, "@jimp/plugin-threshold": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.9.8.tgz", - "integrity": "sha512-WWmC3lnIwOTPvkKu55w4DUY8Ehlzf3nU98bY0QtIzkqxkAOZU5m+lvgC/JxO5FyGiA57j9FLMIf0LsWkjARj7g==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.16.1.tgz", + "integrity": "sha512-iGW8U/wiCSR0+6syrPioVGoSzQFt4Z91SsCRbgNKTAk7D+XQv6OI78jvvYg4o0c2FOlwGhqz147HZV5utoSLxA==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1" + "@jimp/utils": "^0.16.1" } }, "@jimp/plugins": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.9.8.tgz", - "integrity": "sha512-tD+cxS9SuEZaQ1hhAkNKw9TkUAqfoBAhdWPBrEZDr/GvGPrvJR4pYmmpSYhc5IZmMbXfQayHTTGqjj8D18bToA==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.16.1.tgz", + "integrity": "sha512-c+lCqa25b+4q6mJZSetlxhMoYuiltyS+ValLzdwK/47+aYsq+kcJNl+TuxIEKf59yr9+5rkbpsPkZHLF/V7FFA==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/plugin-blit": "^0.9.8", - "@jimp/plugin-blur": "^0.9.8", - "@jimp/plugin-circle": "^0.9.8", - "@jimp/plugin-color": "^0.9.8", - "@jimp/plugin-contain": "^0.9.8", - "@jimp/plugin-cover": "^0.9.8", - "@jimp/plugin-crop": "^0.9.8", - "@jimp/plugin-displace": "^0.9.8", - "@jimp/plugin-dither": "^0.9.8", - "@jimp/plugin-fisheye": "^0.9.8", - "@jimp/plugin-flip": "^0.9.8", - "@jimp/plugin-gaussian": "^0.9.8", - "@jimp/plugin-invert": "^0.9.8", - "@jimp/plugin-mask": "^0.9.8", - "@jimp/plugin-normalize": "^0.9.8", - "@jimp/plugin-print": "^0.9.8", - "@jimp/plugin-resize": "^0.9.8", - "@jimp/plugin-rotate": "^0.9.8", - "@jimp/plugin-scale": "^0.9.8", - "@jimp/plugin-shadow": "^0.9.8", - "@jimp/plugin-threshold": "^0.9.8", - "core-js": "^3.4.1", + "@jimp/plugin-blit": "^0.16.1", + "@jimp/plugin-blur": "^0.16.1", + "@jimp/plugin-circle": "^0.16.1", + "@jimp/plugin-color": "^0.16.1", + "@jimp/plugin-contain": "^0.16.1", + "@jimp/plugin-cover": "^0.16.1", + "@jimp/plugin-crop": "^0.16.1", + "@jimp/plugin-displace": "^0.16.1", + "@jimp/plugin-dither": "^0.16.1", + "@jimp/plugin-fisheye": "^0.16.1", + "@jimp/plugin-flip": "^0.16.1", + "@jimp/plugin-gaussian": "^0.16.1", + "@jimp/plugin-invert": "^0.16.1", + "@jimp/plugin-mask": "^0.16.1", + "@jimp/plugin-normalize": "^0.16.1", + "@jimp/plugin-print": "^0.16.1", + "@jimp/plugin-resize": "^0.16.1", + "@jimp/plugin-rotate": "^0.16.1", + "@jimp/plugin-scale": "^0.16.1", + "@jimp/plugin-shadow": "^0.16.1", + "@jimp/plugin-threshold": "^0.16.1", "timm": "^1.6.1" } }, "@jimp/png": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.9.8.tgz", - "integrity": "sha512-9CqR8d40zQCDhbnXHqcwkAMnvlV0vk9xSyE6LHjkYHS7x18Unsz5txQdsaEkEcXxCrOQSoWyITfLezlrWXRJAA==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.16.1.tgz", + "integrity": "sha512-iyWoCxEBTW0OUWWn6SveD4LePW89kO7ZOy5sCfYeDM/oTPLpR8iMIGvZpZUz1b8kvzFr27vPst4E5rJhGjwsdw==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.9.8", - "core-js": "^3.4.1", + "@jimp/utils": "^0.16.1", "pngjs": "^3.3.3" } }, "@jimp/tiff": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.9.8.tgz", - "integrity": "sha512-eMxcpJivJqMByn2dZxUHLeh6qvVs5J/52kBF3TFa3C922OJ97D9l1C1h0WKUCBqFMWzMYapQQ4vwnLgpJ5tkow==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.16.1.tgz", + "integrity": "sha512-3K3+xpJS79RmSkAvFMgqY5dhSB+/sxhwTFA9f4AVHUK0oKW+u6r52Z1L0tMXHnpbAdR9EJ+xaAl2D4x19XShkQ==", "requires": { "@babel/runtime": "^7.7.2", - "core-js": "^3.4.1", "utif": "^2.0.1" } }, "@jimp/types": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.9.8.tgz", - "integrity": "sha512-H5y/uqt0lqJ/ZN8pWqFG+pv8jPAppMKkTMByuC8YBIjWSsornwv44hjiWl93sbYhduLZY8ubz/CbX9jH2X6EwA==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.16.1.tgz", + "integrity": "sha512-g1w/+NfWqiVW4CaXSJyD28JQqZtm2eyKMWPhBBDCJN9nLCN12/Az0WFF3JUAktzdsEC2KRN2AqB1a2oMZBNgSQ==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/bmp": "^0.9.8", - "@jimp/gif": "^0.9.8", - "@jimp/jpeg": "^0.9.8", - "@jimp/png": "^0.9.8", - "@jimp/tiff": "^0.9.8", - "core-js": "^3.4.1", + "@jimp/bmp": "^0.16.1", + "@jimp/gif": "^0.16.1", + "@jimp/jpeg": "^0.16.1", + "@jimp/png": "^0.16.1", + "@jimp/tiff": "^0.16.1", "timm": "^1.6.1" } }, "@jimp/utils": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.9.8.tgz", - "integrity": "sha512-UK0Fu0eevQlpRXq5ff4o/71HJlpX9wJMddJjMYg9vUqCCl8ZnumRAljfShHFhGyO+Vc9IzN6dd8Y5JZZTp1KOw==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.16.1.tgz", + "integrity": "sha512-8fULQjB0x4LzUSiSYG6ZtQl355sZjxbv8r9PPAuYHzS9sGiSHJQavNqK/nKnpDsVkU88/vRGcE7t3nMU0dEnVw==", "requires": { "@babel/runtime": "^7.7.2", - "core-js": "^3.4.1" + "regenerator-runtime": "^0.13.3" } }, "@nodelib/fs.scandir": { @@ -3481,19 +1591,12 @@ "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==", "dev": true }, - "@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==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", "dev": true, "requires": { - "@types/events": "*", "@types/minimatch": "*", "@types/node": "*" } @@ -3517,9 +1620,9 @@ "dev": true }, "@types/node": { - "version": "14.0.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.5.tgz", - "integrity": "sha512-90hiq6/VqtQgX8Sp0EzeIsv3r+ellbGj4URKj5j30tLlZvRUpnAe9YbYnjl3pJM93GyXU0tghHhvXHq+5rnCKA==", + "version": "14.14.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.13.tgz", + "integrity": "sha512-vbxr0VZ8exFMMAjCW8rJwaya0dMCDyYW2ZRdTyjtrCvJoENMpdUHOT/eTzvgyA5ZnqRZ/sI0NwqAxNHKYokLJQ==", "dev": true }, "@types/parse-json": { @@ -3789,9 +1892,9 @@ "dev": true }, "abab": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", - "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", "dev": true }, "abbrev": { @@ -3861,6 +1964,30 @@ "supports-color": "^5.3.0" } }, + "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" + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "dev": true, + "requires": { + "debug": "=3.1.0" + } + }, + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -3871,9 +1998,9 @@ } }, "underscore": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.10.2.tgz", - "integrity": "sha512-N4P+Q/BuyuEKFJ43B9gYuOj4TQUHXX+j2FqguVOpjkssLUUrnJofCcBccJSCoeturDoZU6GorDTHSvUDlSQbTg==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.0.tgz", + "integrity": "sha512-21rQzss/XPMjolTiIezSu3JAjgagXKROtNrYFEOWK109qY1Uv2tVjPTZ1ci2HgvQDA16gHYSthQIJfB+XId/rQ==", "dev": true } } @@ -3895,9 +2022,9 @@ }, "dependencies": { "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true } } @@ -3915,22 +2042,28 @@ "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==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, "requires": { - "es6-promisify": "^5.0.0" + "debug": "4" }, "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "es6-promise": "^4.0.3" + "ms": "2.1.2" } + }, + "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 } } }, @@ -3945,9 +2078,9 @@ } }, "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "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", @@ -3963,9 +2096,9 @@ "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==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true }, "amdefine": { @@ -3975,9 +2108,9 @@ "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==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, "ansi-html": { @@ -4001,6 +2134,130 @@ "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz", "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" }, + "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": { + "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" + } + } + } + }, + "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" + } + } + } + }, + "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" + } + } + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + } + } + }, "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", @@ -4015,6 +2272,38 @@ "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" + } + } } }, "arg": { @@ -4024,13 +2313,9 @@ "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" - } + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "arr-diff": { "version": "4.0.0", @@ -4143,6 +2428,23 @@ "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": { @@ -4170,14 +2472,6 @@ "dev": true, "requires": { "tslib": "^2.0.1" - }, - "dependencies": { - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", - "dev": true - } } }, "astral-regex": { @@ -4248,9 +2542,9 @@ "dev": true }, "aws4": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", - "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", "dev": true }, "axios": { @@ -4260,14 +2554,6 @@ "dev": true, "requires": { "follow-redirects": "^1.10.0" - }, - "dependencies": { - "follow-redirects": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", - "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==", - "dev": true - } } }, "babel-code-frame": { @@ -4342,9 +2628,9 @@ }, "dependencies": { "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==" + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" }, "regenerator-runtime": { "version": "0.11.1", @@ -4518,6 +2804,12 @@ "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==" }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, "bindings": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", @@ -4786,18 +3078,6 @@ "parse-asn1": "^5.1.5", "readable-stream": "^3.6.0", "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } } }, "browserify-zlib": { @@ -4909,6 +3189,15 @@ "unset-value": "^1.0.0" } }, + "call-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", + "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.0" + } + }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -4923,20 +3212,12 @@ "requires": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", - "dev": true - } } }, "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", "dev": true }, "camelcase-keys": { @@ -4958,9 +3239,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001165", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz", - "integrity": "sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA==", + "version": "1.0.30001166", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001166.tgz", + "integrity": "sha512-nCL4LzYK7F4mL0TjEMeYavafOGnBa98vTudH5c8lW9izUjnB99InG6pmC1ElAI1p0GlyZajv4ltUdFXvOHIl1A==", "dev": true }, "caseless": { @@ -5007,6 +3288,122 @@ "gamma": "^1.0.0" } }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "dependencies": { + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + } + } + }, + "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" + } + }, + "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-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" + } + } + } + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, "chrome-trace-event": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", @@ -5014,6 +3411,14 @@ "dev": true, "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "chromedriver": { @@ -5032,45 +3437,11 @@ "tcp-port-used": "^1.0.1" }, "dependencies": { - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "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 } } }, @@ -5345,6 +3716,38 @@ "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } + } } }, "connect": { @@ -5457,38 +3860,6 @@ "serialize-javascript": "^5.0.1" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -5537,37 +3908,6 @@ "semver": "7.0.0" }, "dependencies": { - "browserslist": { - "version": "4.16.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz", - "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001165", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.621", - "escalade": "^3.1.1", - "node-releases": "^1.1.67" - } - }, - "caniuse-lite": { - "version": "1.0.30001165", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz", - "integrity": "sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.622", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.622.tgz", - "integrity": "sha512-AJT0Fm1W0uZlMVVkkJrcCVvczDuF8tPm3bwzQf5WO8AaASB2hwTRP7B8pU5rqjireH+ib6am8+hH5/QkXzzYKw==", - "dev": true - }, - "node-releases": { - "version": "1.1.67", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", - "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==", - "dev": true - }, "semver": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", @@ -5656,16 +3996,14 @@ } }, "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "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" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, "crypto-api": { @@ -5716,30 +4054,6 @@ "semver": "^7.3.2" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true - }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -5751,26 +4065,6 @@ "json5": "^2.1.2" } }, - "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" - } - }, - "postcss": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.1.tgz", - "integrity": "sha512-RhsqOOAQzTgh1UB/IZdca7F9WDb7SUCR2Vnv1x7DbvuuggQIpoDwjK+q0rzoPffhYvWNKX5JSwS4so4K3UC6vA==", - "dev": true, - "requires": { - "colorette": "^1.2.1", - "nanoid": "^3.1.20", - "source-map": "^0.6.1" - } - }, "schema-utils": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", @@ -5790,12 +4084,6 @@ "requires": { "lru-cache": "^6.0.0" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, @@ -5859,110 +4147,111 @@ "dev": true }, "d3": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/d3/-/d3-5.16.0.tgz", - "integrity": "sha512-4PL5hHaHwX4m7Zr1UapXW23apo6pexCgdetdJ5kTmADpG/7T9Gkxw0M0tf/pjoB63ezCCm0u5UaFYy2aMt0Mcw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/d3/-/d3-6.3.1.tgz", + "integrity": "sha512-rbaoA67o2N4lO1TCuvrTGQdowNb3zT0z2ygg6TLmJZAd7TRPg+lhbfDOVwQUAgdbRD+73kg2FrEQ9HLiap5H2w==", "requires": { - "d3-array": "1", - "d3-axis": "1", - "d3-brush": "1", - "d3-chord": "1", - "d3-collection": "1", - "d3-color": "1", - "d3-contour": "1", - "d3-dispatch": "1", - "d3-drag": "1", - "d3-dsv": "1", - "d3-ease": "1", - "d3-fetch": "1", - "d3-force": "1", - "d3-format": "1", - "d3-geo": "1", - "d3-hierarchy": "1", - "d3-interpolate": "1", - "d3-path": "1", - "d3-polygon": "1", - "d3-quadtree": "1", - "d3-random": "1", - "d3-scale": "2", - "d3-scale-chromatic": "1", - "d3-selection": "1", - "d3-shape": "1", - "d3-time": "1", - "d3-time-format": "2", - "d3-timer": "1", - "d3-transition": "1", - "d3-voronoi": "1", - "d3-zoom": "1" + "d3-array": "2", + "d3-axis": "2", + "d3-brush": "2", + "d3-chord": "2", + "d3-color": "2", + "d3-contour": "2", + "d3-delaunay": "5", + "d3-dispatch": "2", + "d3-drag": "2", + "d3-dsv": "2", + "d3-ease": "2", + "d3-fetch": "2", + "d3-force": "2", + "d3-format": "2", + "d3-geo": "2", + "d3-hierarchy": "2", + "d3-interpolate": "2", + "d3-path": "2", + "d3-polygon": "2", + "d3-quadtree": "2", + "d3-random": "2", + "d3-scale": "3", + "d3-scale-chromatic": "2", + "d3-selection": "2", + "d3-shape": "2", + "d3-time": "2", + "d3-time-format": "3", + "d3-timer": "2", + "d3-transition": "2", + "d3-zoom": "2" } }, "d3-array": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", - "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==" + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.9.1.tgz", + "integrity": "sha512-Ob7RdOtkqsjx1NWyQHMFLtCSk6/aKTxDdC4ZIolX+O+mDD2RzrsYgAyc0WGAlfYFVELLSilS7w8BtE3PKM8bHg==" }, "d3-axis": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.12.tgz", - "integrity": "sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-2.0.0.tgz", + "integrity": "sha512-9nzB0uePtb+u9+dWir+HTuEAKJOEUYJoEwbJPsZ1B4K3iZUgzJcSENQ05Nj7S4CIfbZZ8/jQGoUzGKFznBhiiQ==" }, "d3-brush": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.1.5.tgz", - "integrity": "sha512-rEaJ5gHlgLxXugWjIkolTA0OyMvw8UWU1imYXy1v642XyyswmI1ybKOv05Ft+ewq+TFmdliD3VuK0pRp1VT/5A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-2.1.0.tgz", + "integrity": "sha512-cHLLAFatBATyIKqZOkk/mDHUbzne2B3ZwxkzMHvFTCZCmLaXDpZRihQSn8UNXTkGD/3lb/W2sQz0etAftmHMJQ==", "requires": { - "d3-dispatch": "1", - "d3-drag": "1", - "d3-interpolate": "1", - "d3-selection": "1", - "d3-transition": "1" + "d3-dispatch": "1 - 2", + "d3-drag": "2", + "d3-interpolate": "1 - 2", + "d3-selection": "2", + "d3-transition": "2" } }, "d3-chord": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.6.tgz", - "integrity": "sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-2.0.0.tgz", + "integrity": "sha512-D5PZb7EDsRNdGU4SsjQyKhja8Zgu+SHZfUSO5Ls8Wsn+jsAKUUGkcshLxMg9HDFxG3KqavGWaWkJ8EpU8ojuig==", "requires": { - "d3-array": "1", - "d3-path": "1" + "d3-path": "1 - 2" } }, - "d3-collection": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz", - "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==" - }, "d3-color": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz", - "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-2.0.0.tgz", + "integrity": "sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ==" }, "d3-contour": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz", - "integrity": "sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-2.0.0.tgz", + "integrity": "sha512-9unAtvIaNk06UwqBmvsdHX7CZ+NPDZnn8TtNH1myW93pWJkhsV25JcgnYAu0Ck5Veb1DHiCv++Ic5uvJ+h50JA==", "requires": { - "d3-array": "^1.1.1" + "d3-array": "2" + } + }, + "d3-delaunay": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-5.3.0.tgz", + "integrity": "sha512-amALSrOllWVLaHTnDLHwMIiz0d1bBu9gZXd1FiLfXf8sHcX9jrcj81TVZOqD4UX7MgBZZ07c8GxzEgBpJqc74w==", + "requires": { + "delaunator": "4" } }, "d3-dispatch": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz", - "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-2.0.0.tgz", + "integrity": "sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA==" }, "d3-drag": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.5.tgz", - "integrity": "sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-2.0.0.tgz", + "integrity": "sha512-g9y9WbMnF5uqB9qKqwIIa/921RYWzlUDv9Jl1/yONQwxbOfszAWTCm8u7HOTgJgRDXiRZN56cHT9pd24dmXs8w==", "requires": { - "d3-dispatch": "1", - "d3-selection": "1" + "d3-dispatch": "1 - 2", + "d3-selection": "2" } }, "d3-dsv": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.2.0.tgz", - "integrity": "sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-2.0.0.tgz", + "integrity": "sha512-E+Pn8UJYx9mViuIUkoc93gJGGYut6mSDKy2+XaPwccwkRGlR+LO97L2VCCRjQivTwLHkSnAJG7yo00BWY6QM+w==", "requires": { "commander": "2", "iconv-lite": "0.4", @@ -5970,40 +4259,39 @@ } }, "d3-ease": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.6.tgz", - "integrity": "sha512-SZ/lVU7LRXafqp7XtIcBdxnWl8yyLpgOmzAk0mWBI9gXNzLDx5ybZgnRbH9dN/yY5tzVBqCQ9avltSnqVwessQ==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-2.0.0.tgz", + "integrity": "sha512-68/n9JWarxXkOWMshcT5IcjbB+agblQUaIsbnXmrzejn2O82n3p2A9R2zEB9HIEFWKFwPAEDDN8gR0VdSAyyAQ==" }, "d3-fetch": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-1.1.2.tgz", - "integrity": "sha512-S2loaQCV/ZeyTyIF2oP8D1K9Z4QizUzW7cWeAOAS4U88qOt3Ucf6GsmgthuYSdyB2HyEm4CeGvkQxWsmInsIVA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-2.0.0.tgz", + "integrity": "sha512-TkYv/hjXgCryBeNKiclrwqZH7Nb+GaOwo3Neg24ZVWA3MKB+Rd+BY84Nh6tmNEMcjUik1CSUWjXYndmeO6F7sw==", "requires": { - "d3-dsv": "1" + "d3-dsv": "1 - 2" } }, "d3-force": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz", - "integrity": "sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-2.1.1.tgz", + "integrity": "sha512-nAuHEzBqMvpFVMf9OX75d00OxvOXdxY+xECIXjW6Gv8BRrXu6gAWbv/9XKrvfJ5i5DCokDW7RYE50LRoK092ew==", "requires": { - "d3-collection": "1", - "d3-dispatch": "1", - "d3-quadtree": "1", - "d3-timer": "1" + "d3-dispatch": "1 - 2", + "d3-quadtree": "1 - 2", + "d3-timer": "1 - 2" } }, "d3-format": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.4.tgz", - "integrity": "sha512-TWks25e7t8/cqctxCmxpUuzZN11QxIA7YrMbram94zMQ0PXjE4LVIMe/f6a4+xxL8HQ3OsAFULOINQi1pE62Aw==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-2.0.0.tgz", + "integrity": "sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA==" }, "d3-geo": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.1.tgz", - "integrity": "sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-2.0.1.tgz", + "integrity": "sha512-M6yzGbFRfxzNrVhxDJXzJqSLQ90q1cCyb3EWFZ1LF4eWOBYxFypw7I/NFVBNXKNqxv1bqLathhYvdJ6DC+th3A==", "requires": { - "d3-array": "1" + "d3-array": ">=2.5" } }, "d3-hexbin": { @@ -6012,119 +4300,112 @@ "integrity": "sha1-nFg32s/UcasFM3qeke8Qv8T5iDE=" }, "d3-hierarchy": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz", - "integrity": "sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-2.0.0.tgz", + "integrity": "sha512-SwIdqM3HxQX2214EG9GTjgmCc/mbSx4mQBn+DuEETubhOw6/U3fmnji4uCVrmzOydMHSO1nZle5gh6HB/wdOzw==" }, "d3-interpolate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz", - "integrity": "sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-2.0.1.tgz", + "integrity": "sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ==", "requires": { - "d3-color": "1" + "d3-color": "1 - 2" } }, "d3-path": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", - "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-2.0.0.tgz", + "integrity": "sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA==" }, "d3-polygon": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.6.tgz", - "integrity": "sha512-k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-2.0.0.tgz", + "integrity": "sha512-MsexrCK38cTGermELs0cO1d79DcTsQRN7IWMJKczD/2kBjzNXxLUWP33qRF6VDpiLV/4EI4r6Gs0DAWQkE8pSQ==" }, "d3-quadtree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.7.tgz", - "integrity": "sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-2.0.0.tgz", + "integrity": "sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw==" }, "d3-random": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-1.1.2.tgz", - "integrity": "sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ==" + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-2.2.2.tgz", + "integrity": "sha512-0D9P8TRj6qDAtHhRQn6EfdOtHMfsUWanl3yb/84C4DqpZ+VsgfI5iTVRNRbELCfNvRfpMr8OrqqUTQ6ANGCijw==" }, "d3-scale": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz", - "integrity": "sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-3.2.3.tgz", + "integrity": "sha512-8E37oWEmEzj57bHcnjPVOBS3n4jqakOeuv1EDdQSiSrYnMCBdMd3nc4HtKk7uia8DUHcY/CGuJ42xxgtEYrX0g==", "requires": { - "d3-array": "^1.2.0", - "d3-collection": "1", - "d3-format": "1", - "d3-interpolate": "1", - "d3-time": "1", - "d3-time-format": "2" + "d3-array": "^2.3.0", + "d3-format": "1 - 2", + "d3-interpolate": "1.2.0 - 2", + "d3-time": "1 - 2", + "d3-time-format": "2 - 3" } }, "d3-scale-chromatic": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz", - "integrity": "sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-2.0.0.tgz", + "integrity": "sha512-LLqy7dJSL8yDy7NRmf6xSlsFZ6zYvJ4BcWFE4zBrOPnQERv9zj24ohnXKRbyi9YHnYV+HN1oEO3iFK971/gkzA==", "requires": { - "d3-color": "1", - "d3-interpolate": "1" + "d3-color": "1 - 2", + "d3-interpolate": "1 - 2" } }, "d3-selection": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.1.tgz", - "integrity": "sha512-BTIbRjv/m5rcVTfBs4AMBLKs4x8XaaLkwm28KWu9S2vKNqXkXt2AH2Qf0sdPZHjFxcWg/YL53zcqAz+3g4/7PA==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-2.0.0.tgz", + "integrity": "sha512-XoGGqhLUN/W14NmaqcO/bb1nqjDAw5WtSYb2X8wiuQWvSZUsUVYsOSkOybUrNvcBjaywBdYPy03eXHMXjk9nZA==" }, "d3-shape": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", - "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-2.0.0.tgz", + "integrity": "sha512-djpGlA779ua+rImicYyyjnOjeubyhql1Jyn1HK0bTyawuH76UQRWXd+pftr67H6Fa8hSwetkgb/0id3agKWykw==", "requires": { - "d3-path": "1" + "d3-path": "1 - 2" } }, "d3-time": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz", - "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-2.0.0.tgz", + "integrity": "sha512-2mvhstTFcMvwStWd9Tj3e6CEqtOivtD8AUiHT8ido/xmzrI9ijrUUihZ6nHuf/vsScRBonagOdj0Vv+SEL5G3Q==" }, "d3-time-format": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.2.3.tgz", - "integrity": "sha512-RAHNnD8+XvC4Zc4d2A56Uw0yJoM7bsvOlJR33bclxq399Rak/b9bhvu/InjxdWhPtkgU53JJcleJTGkNRnN6IA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-3.0.0.tgz", + "integrity": "sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag==", "requires": { - "d3-time": "1" + "d3-time": "1 - 2" } }, "d3-timer": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", - "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-2.0.0.tgz", + "integrity": "sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA==" }, "d3-transition": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.3.2.tgz", - "integrity": "sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-2.0.0.tgz", + "integrity": "sha512-42ltAGgJesfQE3u9LuuBHNbGrI/AJjNL2OAUdclE70UE6Vy239GCBEYD38uBPoLeNsOhFStGpPI0BAOV+HMxog==", "requires": { - "d3-color": "1", - "d3-dispatch": "1", - "d3-ease": "1", - "d3-interpolate": "1", - "d3-selection": "^1.1.0", - "d3-timer": "1" + "d3-color": "1 - 2", + "d3-dispatch": "1 - 2", + "d3-ease": "1 - 2", + "d3-interpolate": "1 - 2", + "d3-timer": "1 - 2" } }, - "d3-voronoi": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz", - "integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==" - }, "d3-zoom": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.8.3.tgz", - "integrity": "sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-2.0.0.tgz", + "integrity": "sha512-fFg7aoaEm9/jf+qfstak0IYpnesZLiMX6GZvXtUSdv8RH2o4E2qeelgdU09eKS6wGuiGMfcnMI0nTIqWzRHGpw==", "requires": { - "d3-dispatch": "1", - "d3-drag": "1", - "d3-interpolate": "1", - "d3-selection": "1", - "d3-transition": "1" + "d3-dispatch": "1 - 2", + "d3-drag": "2", + "d3-interpolate": "1 - 2", + "d3-selection": "2", + "d3-transition": "2" } }, "dashdash": { @@ -6313,11 +4594,38 @@ "esprima": "3.x.x" }, "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" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + } + } + }, "esprima": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", "dev": true + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true } } }, @@ -6337,6 +4645,11 @@ "slash": "^3.0.0" } }, + "delaunator": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-4.0.1.tgz", + "integrity": "sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==" + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -6383,9 +4696,9 @@ "dev": true }, "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" }, "diffie-hellman": { "version": "5.0.3", @@ -6521,14 +4834,6 @@ "requires": { "no-case": "^3.0.4", "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", - "dev": true - } } }, "dotenv": { @@ -6553,6 +4858,38 @@ "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": { @@ -6586,9 +4923,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.622", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.622.tgz", - "integrity": "sha512-AJT0Fm1W0uZlMVVkkJrcCVvczDuF8tPm3bwzQf5WO8AaASB2hwTRP7B8pU5rqjireH+ib6am8+hH5/QkXzzYKw==", + "version": "1.3.625", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.625.tgz", + "integrity": "sha512-CsLk/r0C9dAzVPa9QF74HIXduxaucsaRfqiOYvIv2PRhvyC6EOqc/KbpgToQuDVgPf3sNAFZi3iBu4vpGOwGag==", "dev": true }, "elliptic": { @@ -6664,21 +5001,12 @@ "dev": true, "requires": { "ansi-colors": "^4.1.1" - }, - "dependencies": { - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - } } }, "entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.2.tgz", - "integrity": "sha512-dmD3AvJQBUjKpcNkoqr+x+IF0SdRtPz9Vk0uTy4yWqga9ibB6s4v++QFWNohjiUGoMlF552ZvNyXDxz5iW0qmw==", - "dev": true + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" }, "env-paths": { "version": "2.2.0", @@ -6720,21 +5048,21 @@ } }, "es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", - "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", "requires": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" } }, "es-to-primitive": { @@ -6795,12 +5123,12 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escodegen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz", - "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", "requires": { "esprima": "^4.0.1", - "estraverse": "^4.2.0", + "estraverse": "^5.2.0", "esutils": "^2.0.2", "optionator": "^0.8.1", "source-map": "~0.6.1" @@ -6891,17 +5219,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, "debug": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", @@ -6948,21 +5265,6 @@ "type-check": "~0.4.0" } }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "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" - } - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -6983,12 +5285,6 @@ "word-wrap": "^1.2.3" } }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -7010,21 +5306,6 @@ "lru-cache": "^6.0.0" } }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, "strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -7051,21 +5332,6 @@ "requires": { "prelude-ls": "^1.2.1" } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, @@ -7077,6 +5343,14 @@ "requires": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } } }, "eslint-utils": { @@ -7089,9 +5363,9 @@ } }, "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==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true }, "esm": { @@ -7108,14 +5382,6 @@ "acorn": "^7.4.0", "acorn-jsx": "^5.3.1", "eslint-visitor-keys": "^1.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } } }, "esprima": { @@ -7130,14 +5396,6 @@ "dev": true, "requires": { "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } } }, "esrecurse": { @@ -7147,20 +5405,12 @@ "dev": true, "requires": { "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } } }, "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" }, "esutils": { "version": "2.0.3", @@ -7180,9 +5430,9 @@ "dev": true }, "eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "dev": true }, "events": { @@ -7224,6 +5474,19 @@ "strip-eof": "^1.0.0" }, "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, "get-stream": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", @@ -7232,6 +5495,36 @@ "requires": { "pump": "^3.0.0" } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "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 + }, + "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" + } } } }, @@ -7306,24 +5599,6 @@ "source-map": "^0.6.1" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -7546,9 +5821,9 @@ "dev": true }, "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "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": { @@ -7622,24 +5897,6 @@ "schema-utils": "^3.0.0" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -7725,84 +5982,16 @@ "commondir": "^1.0.1", "make-dir": "^3.0.2", "pkg-dir": "^4.1.0" - }, - "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" - } - }, - "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" - } - }, - "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": "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" - } - }, - "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 - }, - "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 - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - } } }, "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "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": "^6.0.0", + "locate-path": "^5.0.0", "path-exists": "^4.0.0" - }, - "dependencies": { - "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 - } } }, "findup-sync": { @@ -7855,6 +6044,14 @@ "dev": true, "requires": { "is-buffer": "~2.0.3" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true + } } }, "flat-cache": { @@ -7874,24 +6071,10 @@ "dev": true }, "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "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" - } - } - } + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", + "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==", + "dev": true }, "for-in": { "version": "1.0.2", @@ -7977,6 +6160,17 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, "ftp": { "version": "0.3.10", "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", @@ -8099,6 +6293,16 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, + "get-intrinsic": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", + "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, "get-stdin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", @@ -8126,6 +6330,38 @@ "file-uri-to-path": "1", "ftp": "~0.3.10", "readable-stream": "2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "get-value": { @@ -8149,6 +6385,15 @@ "assert-plus": "^1.0.0" } }, + "gifwrap": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.9.2.tgz", + "integrity": "sha512-fcIswrPaiCDAyO8xnWvHSZdWChjKXUanKKpAiWWJ/UTkEi/aYKn5+90e7DE820zbEaVR9CE2y4z9bzhQijZ0BA==", + "requires": { + "image-q": "^1.1.1", + "omggif": "^1.0.10" + } + }, "glob": { "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", @@ -8178,19 +6423,12 @@ "dev": true }, "global": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", - "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", "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=" - } + "process": "^0.11.10" } }, "global-modules": { @@ -8215,6 +6453,17 @@ "ini": "^1.3.4", "is-windows": "^1.0.1", "which": "^1.2.14" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } } }, "globals": { @@ -8237,13 +6486,13 @@ } }, "globule": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.1.tgz", - "integrity": "sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz", + "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", "dev": true, "requires": { "glob": "~7.1.1", - "lodash": "~4.17.12", + "lodash": "~4.17.10", "minimatch": "~3.0.2" } }, @@ -8405,15 +6654,6 @@ "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==", "dev": true - }, - "opn": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-6.0.0.tgz", - "integrity": "sha512-I9PKfIZC+e4RXZ/qr1RhgyCnGgYX0UEIlXgWnCOVACIvFgaC9rz6Won7xbdhoHrd8IIhV7YEpHjreNUNkqCGkQ==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } } } }, @@ -8540,12 +6780,6 @@ "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", "dev": true - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true } } }, @@ -8599,12 +6833,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -8631,11 +6859,14 @@ "which": "~1.3.0" }, "dependencies": { - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "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" + } } } }, @@ -8653,14 +6884,6 @@ "requires": { "deep-for-each": "^3.0.0", "lodash": "^4.17.19" - }, - "dependencies": { - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - } } }, "grunt-zip": { @@ -8695,12 +6918,12 @@ "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==", + "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.5.5", + "ajv": "^6.12.3", "har-schema": "^2.0.0" } }, @@ -8758,12 +6981,6 @@ "kind-of": "^4.0.0" }, "dependencies": { - "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-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -8803,18 +7020,6 @@ "inherits": "^2.0.4", "readable-stream": "^3.6.0", "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } } }, "hash.js": { @@ -8843,9 +7048,9 @@ "dev": true }, "highlight.js": { - "version": "9.18.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.1.tgz", - "integrity": "sha512-OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg==" + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.4.1.tgz", + "integrity": "sha512-yR5lWvNz7c85OhVAEAeFhVCc/GV4C30Fjzc/rCP0aCWzc1UUOPUk55dK/qdwTZHBvMZo+eZ2jpk62ndX/xMFlg==" }, "hmac-drbg": { "version": "1.0.1", @@ -8888,6 +7093,38 @@ "obuf": "^1.0.0", "readable-stream": "^2.0.1", "wbuf": "^1.1.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" + } + } } }, "html-encoding-sniffer": { @@ -8900,9 +7137,9 @@ } }, "html-entities": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", - "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.3.tgz", + "integrity": "sha512-/VulV3SYni1taM7a4RMdceqzJWR39gpZHjBwUnsCFKWV/GJkD14CJ5F7eWcZozmHJK0/f/H5U3b3SiPkuvxMgg==", "dev": true }, "html-minifier-terser": { @@ -8989,17 +7226,6 @@ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", "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" - } } } }, @@ -9062,6 +7288,15 @@ "debug": "3.1.0" }, "dependencies": { + "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" + } + }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", @@ -9070,6 +7305,15 @@ "requires": { "ms": "2.0.0" } + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + } } } }, @@ -9137,12 +7381,6 @@ } } }, - "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-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -9214,28 +7452,28 @@ "dev": true }, "https-proxy-agent": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", - "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", "dev": true, "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" + "agent-base": "6", + "debug": "4" }, "dependencies": { "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } @@ -9294,10 +7532,15 @@ "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "dev": true }, + "image-q": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/image-q/-/image-q-1.1.1.tgz", + "integrity": "sha1-/IQJlmRGC5DKhi2TALa/u7+/gFY=" + }, "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz", + "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -9312,6 +7555,51 @@ "requires": { "pkg-dir": "^3.0.0", "resolve-cwd": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-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" + } + }, + "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 + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + } } }, "imports-loader": { @@ -9326,24 +7614,6 @@ "strip-comments": "^2.0.1" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -9401,9 +7671,9 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, "internal-ip": { @@ -9473,12 +7743,6 @@ "kind-of": "^3.0.2" }, "dependencies": { - "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 - }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -9491,9 +7755,12 @@ } }, "is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", + "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "requires": { + "call-bind": "^1.0.0" + } }, "is-arrayish": { "version": "0.2.1", @@ -9501,16 +7768,34 @@ "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": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", + "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.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" + }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } }, "is-data-descriptor": { "version": "0.1.4", @@ -9521,12 +7806,6 @@ "kind-of": "^3.0.2" }, "dependencies": { - "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 - }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -9611,6 +7890,12 @@ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "dev": true }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -9668,11 +7953,11 @@ } }, "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", "requires": { - "has": "^1.0.3" + "has-symbols": "^1.0.1" } }, "is-relative": { @@ -9800,15 +8085,14 @@ } }, "jimp": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.9.8.tgz", - "integrity": "sha512-DHN4apKMwLIvD/TKO9tFfPuankNuVK98vCwHm/Jv9z5cJnrd38xhi+4I7IAGmDU3jIDlrEVhzTkFH1Ymv5yTQQ==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.16.1.tgz", + "integrity": "sha512-+EKVxbR36Td7Hfd23wKGIeEyHbxShZDX6L8uJkgVW3ESA9GiTEPK08tG1XI2r/0w5Ch0HyJF5kPqF9K7EmGjaw==", "requires": { "@babel/runtime": "^7.7.2", - "@jimp/custom": "^0.9.8", - "@jimp/plugins": "^0.9.8", - "@jimp/types": "^0.9.8", - "core-js": "^3.4.1", + "@jimp/custom": "^0.16.1", + "@jimp/plugins": "^0.16.1", + "@jimp/types": "^0.16.1", "regenerator-runtime": "^0.13.3" } }, @@ -9822,24 +8106,12 @@ "jpeg-js": "^0.4.2", "piexifjs": "^1.0.6", "yargs-parser": "^20.2.1" - }, - "dependencies": { - "jpeg-js": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.2.tgz", - "integrity": "sha512-+az2gi/hvex7eLTMTlbRLOhH6P6WFdk2ITI8HJsaH2VqYO0I594zXSYEP+tf4FW+8Cy68ScDXoAsQdyQanv3sw==" - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" - } } }, "jpeg-js": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.3.7.tgz", - "integrity": "sha512-9IXdWudL61npZjvLuVe/ktHiA41iE8qFyLB+4VDTblEsWBzeg8WQTlktdUK4CdncUqtUgUg0bbOmTE2bKBKaBQ==" + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.2.tgz", + "integrity": "sha512-+az2gi/hvex7eLTMTlbRLOhH6P6WFdk2ITI8HJsaH2VqYO0I594zXSYEP+tf4FW+8Cy68ScDXoAsQdyQanv3sw==" }, "jquery": { "version": "3.5.1", @@ -9875,6 +8147,17 @@ "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + } } }, "jsbn": { @@ -9922,6 +8205,25 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "dev": true + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true } } }, @@ -10025,9 +8327,9 @@ }, "dependencies": { "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" } } }, @@ -10265,12 +8567,6 @@ "resolve-dir": "^1.0.1" } }, - "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-glob": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", @@ -10354,9 +8650,9 @@ "dev": true }, "load-bmfont": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.0.tgz", - "integrity": "sha512-kT63aTAlNhZARowaNYcY29Fn/QYkc52M3l6V1ifRcPewg2lvUZDAj7R6dXjOL9D0sict76op3T5+odumDSF81g==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz", + "integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==", "requires": { "buffer-equal": "0.0.1", "mime": "^1.3.4", @@ -10379,14 +8675,6 @@ "pify": "^2.0.0", "pinkie-promise": "^2.0.0", "strip-bom": "^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 - } } }, "loader-runner": { @@ -10418,12 +8706,12 @@ } }, "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "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": "^5.0.0" + "p-locate": "^4.1.0" } }, "lodash": { @@ -10669,23 +8957,15 @@ "dev": true, "requires": { "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", - "dev": true - } } }, "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==", + "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": "^3.0.2" + "yallist": "^4.0.0" } }, "make-dir": { @@ -10745,18 +9025,6 @@ "linkify-it": "^3.0.1", "mdurl": "^1.0.1", "uc.micro": "^1.0.5" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" - } } }, "md5.js": { @@ -10788,6 +9056,38 @@ "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "meow": { @@ -10903,24 +9203,6 @@ "webpack-sources": "^1.1.0" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -10975,14 +9257,6 @@ "dev": true, "requires": { "yallist": "^4.0.0" - }, - "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } } }, "minizlib": { @@ -10993,14 +9267,6 @@ "requires": { "minipass": "^3.0.0", "yallist": "^4.0.0" - }, - "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } } }, "mixin-deep": { @@ -11075,6 +9341,21 @@ "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", "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" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, "debug": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", @@ -11148,13 +9429,16 @@ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "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==", + "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": { - "p-try": "^2.0.0" + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" } }, "p-locate": { @@ -11166,10 +9450,10 @@ "p-limit": "^2.0.0" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "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 }, "strip-json-comments": { @@ -11186,6 +9470,25 @@ "requires": { "has-flag": "^3.0.0" } + }, + "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" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } }, @@ -11251,9 +9554,9 @@ "dev": true }, "nan": { - "version": "2.14.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", - "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", "dev": true }, "nanoid": { @@ -11380,14 +9683,6 @@ "requires": { "lower-case": "^2.0.2", "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", - "dev": true - } } }, "node-environment-flags": { @@ -11428,15 +9723,6 @@ "which": "^2.0.2" }, "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, "nopt": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", @@ -11454,21 +9740,6 @@ "requires": { "lru-cache": "^6.0.0" } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, @@ -11488,6 +9759,27 @@ "websocket-stream": "^5.0.1" }, "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, "stream-browserify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", @@ -11497,6 +9789,15 @@ "inherits": "~2.0.1", "readable-stream": "^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" + } } } }, @@ -11533,49 +9834,6 @@ "sass-graph": "2.2.5", "stdout-stream": "^1.4.0", "true-case-path": "^1.0.2" - }, - "dependencies": { - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } } }, "nodom": { @@ -11628,6 +9886,14 @@ "dev": true, "requires": { "path-key": "^2.0.0" + }, + "dependencies": { + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + } } }, "npmlog": { @@ -11700,12 +9966,6 @@ "is-descriptor": "^0.1.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 - }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -11718,17 +9978,17 @@ } }, "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==" + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" }, "object-is": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz", - "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz", + "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==", "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" } }, "object-keys": { @@ -11746,14 +10006,14 @@ } }, "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" } }, "object.defaults": { @@ -11769,13 +10029,36 @@ } }, "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", + "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "es-abstract": "^1.18.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } } }, "object.map": { @@ -11832,9 +10115,9 @@ } }, "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "requires": { "mimic-fn": "^2.1.0" @@ -11852,9 +10135,9 @@ "dev": true }, "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-6.0.0.tgz", + "integrity": "sha512-I9PKfIZC+e4RXZ/qr1RhgyCnGgYX0UEIlXgWnCOVACIvFgaC9rz6Won7xbdhoHrd8IIhV7YEpHjreNUNkqCGkQ==", "dev": true, "requires": { "is-wsl": "^1.1.0" @@ -12062,21 +10345,21 @@ "dev": true }, "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { - "yocto-queue": "^0.1.0" + "p-try": "^2.0.0" } }, "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "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": "^3.0.2" + "p-limit": "^2.2.0" } }, "p-map": { @@ -12097,6 +10380,12 @@ "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 + }, "pac-proxy-agent": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-3.0.1.tgz", @@ -12113,6 +10402,15 @@ "socks-proxy-agent": "^4.0.1" }, "dependencies": { + "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" + } + }, "bytes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", @@ -12134,6 +10432,15 @@ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + } + }, "http-errors": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", @@ -12147,6 +10454,27 @@ "toidentifier": "1.0.0" } }, + "https-proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", + "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -12210,14 +10538,6 @@ "requires": { "dot-case": "^3.0.4", "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", - "dev": true - } } }, "parent-module": { @@ -12311,14 +10631,6 @@ "requires": { "no-case": "^3.0.4", "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", - "dev": true - } } }, "pascalcase": { @@ -12327,6 +10639,15 @@ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, + "path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", + "requires": { + "process": "^0.11.1", + "util": "^0.10.3" + } + }, "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", @@ -12334,9 +10655,9 @@ "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=", + "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 }, "path-is-absolute": { @@ -12351,9 +10672,9 @@ "dev": true }, "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "path-parse": { @@ -12450,6 +10771,15 @@ "mkdirp": "^0.5.4", "yauzl": "^2.10.0" } + }, + "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" + } } } }, @@ -12470,9 +10800,9 @@ "integrity": "sha512-0wVyH0cKohzBQ5Gi2V1BuxYpxWfxF3cSqfFXfPIpl5tl9XLS5z4ogqhUCD20AbHi0h9aJkqXNJnkVev6gwh2ag==" }, "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, "pinkie": { @@ -12499,57 +10829,12 @@ } }, "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==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - } + "find-up": "^4.0.0" } }, "pkginfo": { @@ -12575,14 +10860,14 @@ "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==" }, "portfinder": { - "version": "1.0.26", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.26.tgz", - "integrity": "sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ==", + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", "dev": true, "requires": { "async": "^2.6.2", "debug": "^3.1.1", - "mkdirp": "^0.5.1" + "mkdirp": "^0.5.5" }, "dependencies": { "async": { @@ -12595,18 +10880,18 @@ } }, "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true } } @@ -12727,24 +11012,6 @@ "semver": "^7.3.2" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -12756,15 +11023,6 @@ "json5": "^2.1.2" } }, - "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" - } - }, "schema-utils": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", @@ -12784,12 +11042,6 @@ "requires": { "lru-cache": "^6.0.0" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, @@ -12859,14 +11111,6 @@ "requires": { "lodash": "^4.17.20", "renderkid": "^2.0.4" - }, - "dependencies": { - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - } } }, "process": { @@ -12925,6 +11169,15 @@ "socks-proxy-agent": "^4.0.1" }, "dependencies": { + "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" + } + }, "debug": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", @@ -12934,11 +11187,56 @@ "ms": "2.1.2" } }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + } + }, + "https-proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", + "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "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" + } + }, "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 + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, @@ -13042,9 +11340,9 @@ "dev": true }, "querystringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", - "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, "randombytes": { @@ -13124,14 +11422,6 @@ "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": { @@ -13155,12 +11445,6 @@ "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 } } }, @@ -13196,25 +11480,158 @@ } }, "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==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, "requires": { - "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" + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" }, "dependencies": { + "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" + } + } + } + }, + "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" + } + } + } + }, + "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" + } + } + } + }, + "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" + } + }, + "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" + } + }, + "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" + } } } }, @@ -13264,9 +11681,9 @@ } }, "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" }, "regenerator-transform": { "version": "0.14.5", @@ -13362,14 +11779,6 @@ "htmlparser2": "^3.3.0", "lodash": "^4.17.20", "strip-ansi": "^3.0.0" - }, - "dependencies": { - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - } } }, "repeat-element": { @@ -13440,41 +11849,24 @@ "request-promise-core": "1.1.4", "stealthy-require": "^1.1.1", "tough-cookie": "^2.3.3" - }, - "dependencies": { - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "dev": true, - "requires": { - "lodash": "^4.17.19" - } - } } }, "request-promise-core": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", - "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", "dev": true, "requires": { - "lodash": "^4.17.15" + "lodash": "^4.17.19" } }, "request-promise-native": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", - "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", "dev": true, "requires": { - "request-promise-core": "1.1.3", + "request-promise-core": "1.1.4", "stealthy-require": "^1.1.1", "tough-cookie": "^2.3.3" } @@ -13498,11 +11890,12 @@ "dev": true }, "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", "dev": true, "requires": { + "is-core-module": "^2.1.0", "path-parse": "^1.0.6" } }, @@ -13657,24 +12050,6 @@ "semver": "^7.3.2" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -13686,15 +12061,6 @@ "json5": "^2.1.2" } }, - "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" - } - }, "schema-utils": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", @@ -13714,12 +12080,6 @@ "requires": { "lru-cache": "^6.0.0" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, @@ -13737,26 +12097,6 @@ "@types/json-schema": "^7.0.5", "ajv": "^6.12.4", "ajv-keywords": "^3.5.2" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - } } }, "scryptsy": { @@ -13792,20 +12132,12 @@ "dev": true }, "selfsigned": { - "version": "1.10.7", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", - "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", + "version": "1.10.8", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", + "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", "dev": true, "requires": { - "node-forge": "0.9.0" - }, - "dependencies": { - "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-forge": "^0.10.0" } }, "semver": { @@ -13954,18 +12286,18 @@ } }, "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "^3.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=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, "shelljs": { @@ -13990,14 +12322,6 @@ "@types/sax": "^1.2.1", "arg": "^4.1.3", "sax": "^1.2.4" - }, - "dependencies": { - "@types/node": { - "version": "14.14.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.12.tgz", - "integrity": "sha512-ASH8OPHMNlkdjrEdmoILmzFfsJICvhBsFfAum4aKZ/9U4B6M6tTmTPh+f3ttWdD74CEGV5XvXWkbyfSdXaTd7g==", - "dev": true - } } }, "slash": { @@ -14147,12 +12471,6 @@ "kind-of": "^3.2.0" }, "dependencies": { - "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 - }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -14201,9 +12519,9 @@ }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -14219,9 +12537,9 @@ } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true } } @@ -14337,9 +12655,9 @@ } }, "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==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, "spdy": { @@ -14356,12 +12674,12 @@ }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { @@ -14387,12 +12705,12 @@ }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { @@ -14400,17 +12718,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "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" - } } } }, @@ -14485,6 +12792,25 @@ "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", "requires": { "escodegen": "^1.8.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==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + } } }, "static-extend": { @@ -14521,6 +12847,38 @@ "dev": true, "requires": { "readable-stream": "^2.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "stealthy-require": { @@ -14536,18 +12894,6 @@ "requires": { "inherits": "~2.0.4", "readable-stream": "^3.5.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } } }, "stream-shift": { @@ -14591,56 +12937,29 @@ } }, "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "string.prototype.trimleft": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", - "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimstart": "^1.0.0" - } - }, - "string.prototype.trimright": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", - "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimend": "^1.0.0" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" } }, "string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" } }, "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==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "requires": { - "safe-buffer": "~5.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } + "safe-buffer": "~5.2.0" } }, "strip-ansi": { @@ -14697,24 +13016,6 @@ "schema-utils": "^3.0.0" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -14754,34 +13055,6 @@ "loader-utils": "~2.0.0" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - } - }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -14792,17 +13065,6 @@ "emojis-list": "^3.0.0", "json5": "^2.1.2" } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } } } }, @@ -14884,23 +13146,11 @@ "yallist": "^4.0.0" }, "dependencies": { - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "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 } } }, @@ -14967,24 +13217,15 @@ "terser": "^5.3.8" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "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" + "yocto-queue": "^0.1.0" } }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, "schema-utils": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", @@ -15055,6 +13296,38 @@ "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } + } } }, "thunkify": { @@ -15079,9 +13352,9 @@ } }, "timm": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/timm/-/timm-1.6.2.tgz", - "integrity": "sha512-IH3DYDL1wMUwmIlVmMrmesw5lZD6N+ZOAFWEyLrtpoL9Bcrs9u7M/vyOnHzDD2SMs4irLkVjqxZbHrXStS/Nmw==" + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz", + "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==" }, "tiny-lr": { "version": "1.1.1", @@ -15098,26 +13371,26 @@ }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true } } }, "tinycolor2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", - "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=" + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", + "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==" }, "to-fast-properties": { "version": "1.0.3", @@ -15133,12 +13406,6 @@ "kind-of": "^3.0.2" }, "dependencies": { - "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 - }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -15225,9 +13492,9 @@ } }, "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", "dev": true }, "tunnel-agent": { @@ -15451,9 +13718,9 @@ "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==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", "dev": true, "requires": { "punycode": "^2.1.0" @@ -15494,24 +13761,6 @@ "schema-utils": "^3.0.0" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -15566,19 +13815,17 @@ } }, "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, + "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.1" + "inherits": "2.0.3" }, "dependencies": { "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" } } }, @@ -15786,30 +14033,49 @@ "integrity": "sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==", "dev": true }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, "events": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", "dev": true }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, "pkg-dir": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", @@ -15913,9 +14179,9 @@ "dev": true }, "commander": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz", - "integrity": "sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", "dev": true }, "has-flag": { @@ -15924,12 +14190,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -15961,9 +14221,9 @@ }, "dependencies": { "mime": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.5.tgz", - "integrity": "sha512-3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w==", + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", "dev": true } } @@ -16009,27 +14269,6 @@ "yargs": "^13.3.2" }, "dependencies": { - "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" - } - } - } - }, "array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", @@ -16039,68 +14278,13 @@ "array-uniq": "^1.0.1" } }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true - }, - "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" - } - } - } - }, - "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" - } - }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "del": { @@ -16118,61 +14302,6 @@ "rimraf": "^2.6.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" - } - } - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "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" - } - } - } - }, "globby": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", @@ -16194,84 +14323,32 @@ } } }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "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" - } - } - } - }, - "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" - } - }, "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 }, + "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" + } + }, "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 }, - "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" - } + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true }, "rimraf": { "version": "2.7.1", @@ -16308,16 +14385,6 @@ "has-flag": "^3.0.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" - } - }, "ws": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", @@ -16337,6 +14404,14 @@ "requires": { "ansi-colors": "^3.0.0", "uuid": "^3.3.2" + }, + "dependencies": { + "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 + } } }, "webpack-node-externals": { @@ -16367,9 +14442,9 @@ } }, "websocket-extensions": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "dev": true }, "websocket-stream": { @@ -16386,6 +14461,46 @@ "xtend": "^4.0.0" }, "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, "ws": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", @@ -16434,9 +14549,9 @@ } }, "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -16540,24 +14655,6 @@ "schema-utils": "^3.0.0" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -16657,11 +14754,11 @@ } }, "xhr": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", - "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", + "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", "requires": { - "global": "~4.3.0", + "global": "~4.4.0", "is-function": "^1.0.1", "parse-headers": "^2.0.0", "xtend": "^4.0.0" @@ -16716,15 +14813,15 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", "dev": true }, "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, "yaml": { @@ -16757,6 +14854,12 @@ "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 + }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", @@ -16788,15 +14891,6 @@ "path-exists": "^3.0.0" } }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, "p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", @@ -16806,10 +14900,10 @@ "p-limit": "^2.0.0" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "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 }, "string-width": { @@ -16831,18 +14925,23 @@ "requires": { "ansi-regex": "^4.1.0" } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } }, "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" }, "yargs-unparser": { "version": "1.6.0", diff --git a/package.json b/package.json index 9588182a..48bd41e4 100644 --- a/package.json +++ b/package.json @@ -106,25 +106,25 @@ "crypto-browserify": "^3.12.0", "crypto-js": "^4.0.0", "ctph.js": "0.0.5", - "d3": "^5.15.0", + "d3": "^6.3.1", "d3-hexbin": "^0.2.2", - "diff": "^4.0.2", + "diff": "^5.0.0", "es6-promisify": "^6.1.1", - "escodegen": "^1.14.1", + "escodegen": "^2.0.0", "esm": "^3.2.25", "esprima": "^4.0.1", "exif-parser": "^0.1.12", "file-saver": "^2.0.5", "geodesy": "^1.1.3", - "highlight.js": "^9.18.1", - "jimp": "^0.9.5", + "highlight.js": "^10.4.1", + "jimp": "^0.16.1", "jquery": "3.5.1", "js-crc": "^0.2.0", "js-sha3": "^0.8.0", "jsesc": "^3.0.2", "jsonpath": "^1.0.2", "jsonwebtoken": "^8.5.1", - "jsqr": "^1.2.0", + "jsqr": "^1.3.1", "jsrsasign": "10.1.4", "kbpgp": "2.1.15", "libbzip2-wasm": "0.0.4", @@ -142,6 +142,7 @@ "notepack.io": "^2.3.0", "nwmatcher": "^1.4.4", "otp": "^0.1.3", + "path": "^0.12.7", "popper.js": "^1.16.1", "process": "^0.11.10", "qr-image": "^3.2.0", diff --git a/src/core/lib/QRCode.mjs b/src/core/lib/QRCode.mjs index 041c21f7..cc829002 100644 --- a/src/core/lib/QRCode.mjs +++ b/src/core/lib/QRCode.mjs @@ -9,8 +9,9 @@ import OperationError from "../errors/OperationError.mjs"; import jsQR from "jsqr"; import qr from "qr-image"; -import jimp from "jimp"; import Utils from "../Utils.mjs"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Parses a QR code image from an image diff --git a/src/core/operations/AddTextToImage.mjs b/src/core/operations/AddTextToImage.mjs index 084c92ec..231de14f 100644 --- a/src/core/operations/AddTextToImage.mjs +++ b/src/core/operations/AddTextToImage.mjs @@ -9,7 +9,8 @@ import OperationError from "../errors/OperationError.mjs"; import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; import { isWorkerEnvironment } from "../Utils.mjs"; -import jimp from "jimp"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Add Text To Image operation diff --git a/src/core/operations/BlurImage.mjs b/src/core/operations/BlurImage.mjs index ec254433..5ae383a2 100644 --- a/src/core/operations/BlurImage.mjs +++ b/src/core/operations/BlurImage.mjs @@ -9,8 +9,9 @@ import OperationError from "../errors/OperationError.mjs"; import { isWorkerEnvironment } from "../Utils.mjs"; import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; -import jimp from "jimp"; import { gaussianBlur } from "../lib/ImageManipulation.mjs"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Blur Image operation diff --git a/src/core/operations/ContainImage.mjs b/src/core/operations/ContainImage.mjs index 09717a28..a93d3569 100644 --- a/src/core/operations/ContainImage.mjs +++ b/src/core/operations/ContainImage.mjs @@ -9,7 +9,8 @@ import OperationError from "../errors/OperationError.mjs"; import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; import { isWorkerEnvironment } from "../Utils.mjs"; -import jimp from "jimp"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Contain Image operation diff --git a/src/core/operations/ConvertImageFormat.mjs b/src/core/operations/ConvertImageFormat.mjs index 8d6dce73..c9923d4d 100644 --- a/src/core/operations/ConvertImageFormat.mjs +++ b/src/core/operations/ConvertImageFormat.mjs @@ -8,7 +8,8 @@ import Operation from "../Operation.mjs"; import OperationError from "../errors/OperationError.mjs"; import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; -import jimp from "jimp"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Convert Image Format operation @@ -88,7 +89,7 @@ class ConvertImageFormat extends Operation { "Sub": jimp.PNG_FILTER_SUB, "Up": jimp.PNG_FILTER_UP, "Average": jimp.PNG_FILTER_AVERAGE, - "Paeth": jimp.PNG_FILTER_PATH // Incorrect spelling in Jimp library + "Paeth": jimp.PNG_FILTER_PATH }; const mime = formatMap[format]; diff --git a/src/core/operations/CoverImage.mjs b/src/core/operations/CoverImage.mjs index 07838ecf..6fae1be3 100644 --- a/src/core/operations/CoverImage.mjs +++ b/src/core/operations/CoverImage.mjs @@ -9,7 +9,8 @@ import OperationError from "../errors/OperationError.mjs"; import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; import { isWorkerEnvironment } from "../Utils.mjs"; -import jimp from "jimp"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Cover Image operation diff --git a/src/core/operations/CropImage.mjs b/src/core/operations/CropImage.mjs index 8b480080..a046cf38 100644 --- a/src/core/operations/CropImage.mjs +++ b/src/core/operations/CropImage.mjs @@ -9,7 +9,8 @@ import OperationError from "../errors/OperationError.mjs"; import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; import { isWorkerEnvironment } from "../Utils.mjs"; -import jimp from "jimp"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Crop Image operation diff --git a/src/core/operations/DitherImage.mjs b/src/core/operations/DitherImage.mjs index 6aef72dc..eefa38c2 100644 --- a/src/core/operations/DitherImage.mjs +++ b/src/core/operations/DitherImage.mjs @@ -9,7 +9,8 @@ import OperationError from "../errors/OperationError.mjs"; import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; import { isWorkerEnvironment } from "../Utils.mjs"; -import jimp from "jimp"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Image Dither operation diff --git a/src/core/operations/ExtractLSB.mjs b/src/core/operations/ExtractLSB.mjs index 12f990da..77c945cc 100644 --- a/src/core/operations/ExtractLSB.mjs +++ b/src/core/operations/ExtractLSB.mjs @@ -9,7 +9,8 @@ import OperationError from "../errors/OperationError.mjs"; import Utils from "../Utils.mjs"; import { fromBinary } from "../lib/Binary.mjs"; import { isImage } from "../lib/FileType.mjs"; -import jimp from "jimp"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Extract LSB operation diff --git a/src/core/operations/ExtractRGBA.mjs b/src/core/operations/ExtractRGBA.mjs index 7d2fc274..ad85f154 100644 --- a/src/core/operations/ExtractRGBA.mjs +++ b/src/core/operations/ExtractRGBA.mjs @@ -7,7 +7,8 @@ import Operation from "../Operation.mjs"; import OperationError from "../errors/OperationError.mjs"; import { isImage } from "../lib/FileType.mjs"; -import jimp from "jimp"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; import {RGBA_DELIM_OPTIONS} from "../lib/Delim.mjs"; diff --git a/src/core/operations/FlipImage.mjs b/src/core/operations/FlipImage.mjs index 30be5a4e..f3c903c1 100644 --- a/src/core/operations/FlipImage.mjs +++ b/src/core/operations/FlipImage.mjs @@ -9,7 +9,8 @@ import OperationError from "../errors/OperationError.mjs"; import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; import { isWorkerEnvironment } from "../Utils.mjs"; -import jimp from "jimp"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Flip Image operation diff --git a/src/core/operations/GenerateImage.mjs b/src/core/operations/GenerateImage.mjs index 52c9d831..05947d7a 100644 --- a/src/core/operations/GenerateImage.mjs +++ b/src/core/operations/GenerateImage.mjs @@ -9,8 +9,9 @@ import OperationError from "../errors/OperationError.mjs"; import Utils from "../Utils.mjs"; import {isImage} from "../lib/FileType.mjs"; import {toBase64} from "../lib/Base64.mjs"; -import jimp from "jimp"; import {isWorkerEnvironment} from "../Utils.mjs"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Generate Image operation diff --git a/src/core/operations/ImageBrightnessContrast.mjs b/src/core/operations/ImageBrightnessContrast.mjs index 3845bebb..e1d48129 100644 --- a/src/core/operations/ImageBrightnessContrast.mjs +++ b/src/core/operations/ImageBrightnessContrast.mjs @@ -9,7 +9,8 @@ import OperationError from "../errors/OperationError.mjs"; import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; import { isWorkerEnvironment } from "../Utils.mjs"; -import jimp from "jimp"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Image Brightness / Contrast operation diff --git a/src/core/operations/ImageFilter.mjs b/src/core/operations/ImageFilter.mjs index 137dd0fc..b5c74dc4 100644 --- a/src/core/operations/ImageFilter.mjs +++ b/src/core/operations/ImageFilter.mjs @@ -9,7 +9,8 @@ import OperationError from "../errors/OperationError.mjs"; import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; import { isWorkerEnvironment } from "../Utils.mjs"; -import jimp from "jimp"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Image Filter operation diff --git a/src/core/operations/ImageHueSaturationLightness.mjs b/src/core/operations/ImageHueSaturationLightness.mjs index b0bad682..ac543c5f 100644 --- a/src/core/operations/ImageHueSaturationLightness.mjs +++ b/src/core/operations/ImageHueSaturationLightness.mjs @@ -9,7 +9,8 @@ import OperationError from "../errors/OperationError.mjs"; import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; import { isWorkerEnvironment } from "../Utils.mjs"; -import jimp from "jimp"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Image Hue/Saturation/Lightness operation diff --git a/src/core/operations/ImageOpacity.mjs b/src/core/operations/ImageOpacity.mjs index 622ee96c..03530e7b 100644 --- a/src/core/operations/ImageOpacity.mjs +++ b/src/core/operations/ImageOpacity.mjs @@ -9,7 +9,8 @@ import OperationError from "../errors/OperationError.mjs"; import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; import { isWorkerEnvironment } from "../Utils.mjs"; -import jimp from "jimp"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Image Opacity operation diff --git a/src/core/operations/InvertImage.mjs b/src/core/operations/InvertImage.mjs index 6b62dea7..9ab80d1c 100644 --- a/src/core/operations/InvertImage.mjs +++ b/src/core/operations/InvertImage.mjs @@ -9,7 +9,8 @@ import OperationError from "../errors/OperationError.mjs"; import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; import { isWorkerEnvironment } from "../Utils.mjs"; -import jimp from "jimp"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Invert Image operation diff --git a/src/core/operations/NormaliseImage.mjs b/src/core/operations/NormaliseImage.mjs index 08de9ed5..a9d2ceec 100644 --- a/src/core/operations/NormaliseImage.mjs +++ b/src/core/operations/NormaliseImage.mjs @@ -8,7 +8,8 @@ import Operation from "../Operation.mjs"; import OperationError from "../errors/OperationError.mjs"; import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; -import jimp from "jimp"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Normalise Image operation diff --git a/src/core/operations/RandomizeColourPalette.mjs b/src/core/operations/RandomizeColourPalette.mjs index e3baf54b..9fe53a19 100644 --- a/src/core/operations/RandomizeColourPalette.mjs +++ b/src/core/operations/RandomizeColourPalette.mjs @@ -10,7 +10,8 @@ import Utils from "../Utils.mjs"; import { isImage } from "../lib/FileType.mjs"; import { runHash } from "../lib/Hash.mjs"; import { toBase64 } from "../lib/Base64.mjs"; -import jimp from "jimp"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Randomize Colour Palette operation diff --git a/src/core/operations/ResizeImage.mjs b/src/core/operations/ResizeImage.mjs index b2ed3bbf..2a6db965 100644 --- a/src/core/operations/ResizeImage.mjs +++ b/src/core/operations/ResizeImage.mjs @@ -9,7 +9,8 @@ import OperationError from "../errors/OperationError.mjs"; import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; import { isWorkerEnvironment } from "../Utils.mjs"; -import jimp from "jimp"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Resize Image operation diff --git a/src/core/operations/RotateImage.mjs b/src/core/operations/RotateImage.mjs index a4659b12..45a144ac 100644 --- a/src/core/operations/RotateImage.mjs +++ b/src/core/operations/RotateImage.mjs @@ -9,7 +9,8 @@ import OperationError from "../errors/OperationError.mjs"; import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; import { isWorkerEnvironment } from "../Utils.mjs"; -import jimp from "jimp"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Rotate Image operation diff --git a/src/core/operations/SharpenImage.mjs b/src/core/operations/SharpenImage.mjs index e7b0eaa2..3306a49b 100644 --- a/src/core/operations/SharpenImage.mjs +++ b/src/core/operations/SharpenImage.mjs @@ -10,7 +10,8 @@ import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; import { gaussianBlur } from "../lib/ImageManipulation.mjs"; import { isWorkerEnvironment } from "../Utils.mjs"; -import jimp from "jimp"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Sharpen Image operation diff --git a/src/core/operations/SplitColourChannels.mjs b/src/core/operations/SplitColourChannels.mjs index e8d23ff0..36f5ed8c 100644 --- a/src/core/operations/SplitColourChannels.mjs +++ b/src/core/operations/SplitColourChannels.mjs @@ -8,8 +8,8 @@ import Operation from "../Operation.mjs"; import OperationError from "../errors/OperationError.mjs"; import Utils from "../Utils.mjs"; import {isImage} from "../lib/FileType.mjs"; - -import jimp from "jimp"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * Split Colour Channels operation diff --git a/src/core/operations/ViewBitPlane.mjs b/src/core/operations/ViewBitPlane.mjs index f98db2f3..859e6868 100644 --- a/src/core/operations/ViewBitPlane.mjs +++ b/src/core/operations/ViewBitPlane.mjs @@ -9,7 +9,8 @@ import OperationError from "../errors/OperationError.mjs"; import Utils from "../Utils.mjs"; import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; -import jimp from "jimp"; +import jimplib from "jimp/es/index.js"; +const jimp = jimplib.default ? jimplib.default : jimplib; /** * View Bit Plane operation diff --git a/webpack.config.js b/webpack.config.js index a806cc1a..4780c12e 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -51,6 +51,7 @@ module.exports = { entryOnly: true }), new webpack.DefinePlugin({ + // Required by Jimp to improve loading speed in browsers "process.browser": "true" }), new MiniCssExtractPlugin({ @@ -84,11 +85,11 @@ module.exports = { "child_process": false, "net": false, "tls": false, - "path": false, + "path": require.resolve("path/"), + "buffer": require.resolve("buffer/"), "crypto": require.resolve("crypto-browserify"), "stream": require.resolve("stream-browserify"), - "zlib": require.resolve("browserify-zlib"), - "buffer": require.resolve("buffer/") + "zlib": require.resolve("browserify-zlib") } }, module: { From cf5fd7cbf29cf54e66dc69c060d1f9ccd8d3f06c Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 11:04:45 +0000 Subject: [PATCH 112/754] Updated dependencies --- package-lock.json | 422 ++++++++++++++++++++++------------------------ package.json | 2 +- webpack.config.js | 3 +- 3 files changed, 203 insertions(+), 224 deletions(-) diff --git a/package-lock.json b/package-lock.json index f3e942f7..09d27502 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1934,6 +1934,36 @@ "validator": "^9.4.1" }, "dependencies": { + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true + }, + "acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "dev": true, + "requires": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + } + } + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true + }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -1964,6 +1994,45 @@ "supports-color": "^5.3.0" } }, + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "dev": true, + "requires": { + "cssom": "0.3.x" + } + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + }, + "dependencies": { + "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" + } + } + } + }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", @@ -1973,6 +2042,34 @@ "ms": "2.0.0" } }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dev": true, + "requires": { + "webidl-conversions": "^4.0.2" + } + }, + "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" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, "follow-redirects": { "version": "1.5.10", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", @@ -1982,12 +2079,61 @@ "debug": "=3.1.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" + } + }, "is-buffer": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", "dev": true }, + "jsdom": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", + "parse5": "4.0.0", + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" + } + }, + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "dev": true + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -1997,11 +2143,46 @@ "has-flag": "^3.0.0" } }, + "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" + } + }, "underscore": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.0.tgz", "integrity": "sha512-21rQzss/XPMjolTiIezSu3JAjgagXKROtNrYFEOWK109qY1Uv2tVjPTZ1ci2HgvQDA16gHYSthQIJfB+XId/rQ==", "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 + }, + "whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "ws": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } } } }, @@ -2011,36 +2192,12 @@ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, - "acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", - "dev": true, - "requires": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" - }, - "dependencies": { - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true - } - } - }, "acorn-jsx": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", "dev": true }, - "acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", - "dev": true - }, "agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", @@ -2686,7 +2843,8 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true }, "base": { "version": "0.11.2", @@ -2831,11 +2989,6 @@ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, - "blueimp-load-image": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/blueimp-load-image/-/blueimp-load-image-3.0.0.tgz", - "integrity": "sha512-Q9rFbd4ZUNvzSFmRXx9MoG0RwWwJeMjjEUbG7WIOJgUg22Jgkow0wL5b35B6qwiBscxACW9OHdrP5s2vQ3x8DQ==" - }, "bmp-js": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", @@ -2990,6 +3143,7 @@ "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" @@ -3635,7 +3789,8 @@ "colors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true }, "combined-stream": { "version": "1.0.8", @@ -3704,7 +3859,8 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, "concat-stream": { "version": "1.6.2", @@ -4111,21 +4267,6 @@ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "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": "1.4.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", - "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", - "dev": true, - "requires": { - "cssom": "0.3.x" - } - }, "ctph.js": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/ctph.js/-/ctph.js-0.0.5.tgz", @@ -4423,30 +4564,6 @@ "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==", "dev": true }, - "data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" - }, - "dependencies": { - "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" - } - } - } - }, "dateformat": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", @@ -4798,15 +4915,6 @@ "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", "dev": true }, - "domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", - "dev": true, - "requires": { - "webidl-conversions": "^4.0.2" - } - }, "domhandler": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", @@ -6158,7 +6266,8 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, "fsevents": { "version": "1.2.13", @@ -6398,6 +6507,7 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -7127,15 +7237,6 @@ } } }, - "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.3.3", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.3.tgz", @@ -7660,6 +7761,7 @@ "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" @@ -8096,18 +8198,6 @@ "regenerator-runtime": "^0.13.3" } }, - "jpeg-autorotate": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/jpeg-autorotate/-/jpeg-autorotate-7.1.1.tgz", - "integrity": "sha512-ewTZTG/QWOM0D5h/yKcQ3QgyrnQYsr3qmcS+bqoAwgQAY1KBa31aJ+q+FlElaxo/rSYqfF1ixf+8EIgluBkgTg==", - "requires": { - "colors": "^1.4.0", - "glob": "^7.1.6", - "jpeg-js": "^0.4.2", - "piexifjs": "^1.0.6", - "yargs-parser": "^20.2.1" - } - }, "jpeg-js": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.2.tgz", @@ -8166,67 +8256,6 @@ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, - "jsdom": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", - "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "acorn": "^5.5.3", - "acorn-globals": "^4.1.0", - "array-equal": "^1.0.0", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": "^1.0.0", - "data-urls": "^1.0.0", - "domexception": "^1.0.1", - "escodegen": "^1.9.1", - "html-encoding-sniffer": "^1.0.2", - "left-pad": "^1.3.0", - "nwsapi": "^2.0.7", - "parse5": "4.0.0", - "pn": "^1.1.0", - "request": "^2.87.0", - "request-promise-native": "^1.0.5", - "sax": "^1.2.4", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.3.4", - "w3c-hr-time": "^1.0.1", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.3", - "whatwg-mimetype": "^2.1.0", - "whatwg-url": "^6.4.1", - "ws": "^5.2.0", - "xml-name-validator": "^3.0.0" - }, - "dependencies": { - "acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", - "dev": true - }, - "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" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - } - } - }, "jsesc": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", @@ -9241,6 +9270,7 @@ "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" } @@ -10110,6 +10140,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "requires": { "wrappy": "1" } @@ -10611,12 +10642,6 @@ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", "dev": true }, - "parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", - "dev": true - }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -10663,7 +10688,8 @@ "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=" + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true }, "path-is-inside": { "version": "1.0.2", @@ -10794,11 +10820,6 @@ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", "dev": true }, - "piexifjs": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/piexifjs/-/piexifjs-1.0.6.tgz", - "integrity": "sha512-0wVyH0cKohzBQ5Gi2V1BuxYpxWfxF3cSqfFXfPIpl5tl9XLS5z4ogqhUCD20AbHi0h9aJkqXNJnkVev6gwh2ag==" - }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -13240,17 +13261,15 @@ } }, "tesseract.js": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/tesseract.js/-/tesseract.js-2.1.4.tgz", - "integrity": "sha512-r1nPDjkaD7QdlGfgn/q0BIKBnnCSXcM9PTrgp6rP2aWutwuf1BrQX564rSd1uQFJYk6GQYU6U6fm3bTQ/XMBZw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tesseract.js/-/tesseract.js-2.1.1.tgz", + "integrity": "sha512-utg0A8UzT1KwBvZf+UMGmM8LU6izeol6yIem0Z44+7Qqd/YWgRVQ99XOG18ApTOXX48lGE++PDwlcZYkv0ygRQ==", "requires": { - "blueimp-load-image": "^3.0.0", "bmp-js": "^0.1.0", "file-type": "^12.4.1", "idb-keyval": "^3.2.0", "is-electron": "^2.2.0", "is-url": "^1.2.4", - "jpeg-autorotate": "^7.1.1", "node-fetch": "^2.6.0", "opencollective-postinstall": "^2.0.2", "regenerator-runtime": "^0.13.3", @@ -13454,15 +13473,6 @@ "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": "1.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", @@ -13989,12 +13999,6 @@ "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 - }, "webpack": { "version": "5.10.1", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.10.1.tgz", @@ -14537,17 +14541,6 @@ "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", "dev": true }, - "whatwg-url": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", - "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -14742,16 +14735,8 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "xhr": { "version": "2.6.0", @@ -14938,11 +14923,6 @@ } } }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" - }, "yargs-unparser": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", diff --git a/package.json b/package.json index 48bd41e4..4c6af86e 100644 --- a/package.json +++ b/package.json @@ -153,7 +153,7 @@ "ssdeep.js": "0.0.2", "stream-browserify": "^3.0.0", "terser": "^5.5.1", - "tesseract.js": "^2.1.4", + "tesseract.js": "^2.1.1", "ua-parser-js": "^0.7.23", "unorm": "^1.6.0", "utf8": "^3.0.0", diff --git a/webpack.config.js b/webpack.config.js index 4780c12e..4fcc0438 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -124,8 +124,7 @@ module.exports = { loader: "imports-loader", options: { type: "commonjs", - imports: "nodom", - additionalCode: "var document = new nodom.Document();" + imports: "single min-document document" } }, { From e40e7a0e4ea0795bd127e821a2470c775f81db46 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 12:57:21 +0000 Subject: [PATCH 113/754] Added UI tests for operations. Unfinished. --- tests/browser/nightwatch.js | 1 + tests/browser/ops.js | 406 ++++++++++++++++++++++++++++++++++++ 2 files changed, 407 insertions(+) create mode 100644 tests/browser/ops.js diff --git a/tests/browser/nightwatch.js b/tests/browser/nightwatch.js index 8ba7f483..ea0de4aa 100644 --- a/tests/browser/nightwatch.js +++ b/tests/browser/nightwatch.js @@ -5,6 +5,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ + module.exports = { before: browser => { browser diff --git a/tests/browser/ops.js b/tests/browser/ops.js new file mode 100644 index 00000000..78e6a908 --- /dev/null +++ b/tests/browser/ops.js @@ -0,0 +1,406 @@ +/** + * Tests for operations to ensure they output something sensible where expected + * + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2021 + * @license Apache-2.0 + */ + +module.exports = { + before: browser => { + browser + .resizeWindow(1280, 800) + .url(browser.launchUrl) + .useCss() + .waitForElementNotPresent("#preloader", 10000) + .click("#auto-bake-label"); + }, + + "Sanity check operations": browser => { + testOp(browser, "A1Z26 Cipher Decode", "20 5 19 20 15 21 20 16 21 20", "testoutput"); + testOp(browser, "A1Z26 Cipher Encode", "test input", "20 5 19 20 9 14 16 21 20"); + testOp(browser, "ADD", "test input", "Ê»ÉÊv¿ÄÆËÊ", [{ "option": "Hex", "string": "56" }]); + testOp(browser, "AES Decrypt", "b443f7f7c16ac5396a34273f6f639caa", "test output", [{ "option": "Hex", "string": "00112233445566778899aabbccddeeff" }, { "option": "Hex", "string": "00000000000000000000000000000000" }, "CBC", "Hex", "Raw", { "option": "Hex", "string": "" }]); + testOp(browser, "AES Encrypt", "test input", "e42eb8fbfb7a98fff061cd2c1a794d92", [{"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, {"option": "Hex", "string": "00000000000000000000000000000000"}, "CBC", "Raw", "Hex"]); + testOp(browser, "AND", "test input", "4$04 $044", [{ "option": "Hex", "string": "34" }]); + testOp(browser, "Add line numbers", "test input", "1 test input"); + // testOp(browser, "Add Text To Image", "test input", "test_output"); + testOp(browser, "Adler-32 Checksum", "test input", "16160411"); + testOp(browser, "Affine Cipher Decode", "test input", "rcqr glnsr", [1, 2]); + testOp(browser, "Affine Cipher Encode", "test input", "njln rbfpn", [2, 1]); + testOp(browser, "Analyse hash", "0123456789abcdef", /CRC-64/); + testOp(browser, "Atbash Cipher", "test input", "gvhg rmkfg"); + // testOp(browser, "Avro to JSON", "test input", "test_output"); + // testOp(browser, "BLAKE2b", "test input", "test_output"); + // testOp(browser, "BLAKE2s", "test input", "test_output"); + // testOp(browser, "BSON deserialise", "test input", "test_output"); + // testOp(browser, "BSON serialise", "test input", "test_output"); + // testOp(browser, "Bacon Cipher Decode", "test input", "test_output"); + // testOp(browser, "Bacon Cipher Encode", "test input", "test_output"); + // testOp(browser, "Bcrypt", "test input", "test_output"); + // testOp(browser, "Bcrypt compare", "test input", "test_output"); + // testOp(browser, "Bcrypt parse", "test input", "test_output"); + // testOp(browser, "Bifid Cipher Decode", "test input", "test_output"); + // testOp(browser, "Bifid Cipher Encode", "test input", "test_output"); + // testOp(browser, "Bit shift left", "test input", "test_output"); + // testOp(browser, "Bit shift right", "test input", "test_output"); + // testOp(browser, "Blowfish Decrypt", "test input", "test_output"); + // testOp(browser, "Blowfish Encrypt", "test input", "test_output"); + // testOp(browser, "Blur Image", "test input", "test_output"); + // testOp(browser, "Bombe", "test input", "test_output"); + // testOp(browser, "Bzip2 Compress", "test input", "test_output"); + // testOp(browser, "Bzip2 Decompress", "test input", "test_output"); + // testOp(browser, "CRC-16 Checksum", "test input", "test_output"); + // testOp(browser, "CRC-32 Checksum", "test input", "test_output"); + // testOp(browser, "CRC-8 Checksum", "test input", "test_output"); + // testOp(browser, "CSS Beautify", "test input", "test_output"); + // testOp(browser, "CSS Minify", "test input", "test_output"); + // testOp(browser, "CSS selector", "test input", "test_output"); + // testOp(browser, "CSV to JSON", "test input", "test_output"); + // testOp(browser, "CTPH", "test input", "test_output"); + // testOp(browser, "Cartesian Product", "test input", "test_output"); + // testOp(browser, "Change IP format", "test input", "test_output"); + // testOp(browser, "Chi Square", "test input", "test_output"); + // testOp(browser, "CipherSaber2 Decrypt", "test input", "test_output"); + // testOp(browser, "CipherSaber2 Encrypt", "test input", "test_output"); + // testOp(browser, "Citrix CTX1 Decode", "test input", "test_output"); + // testOp(browser, "Citrix CTX1 Encode", "test input", "test_output"); + // testOp(browser, "Colossus", "test input", "test_output"); + // testOp(browser, "Comment", "test input", "test_output"); + // testOp(browser, "Compare CTPH hashes", "test input", "test_output"); + // testOp(browser, "Compare SSDEEP hashes", "test input", "test_output"); + // testOp(browser, "Conditional Jump", "test input", "test_output"); + // testOp(browser, "Contain Image", "test input", "test_output"); + // testOp(browser, "Convert area", "test input", "test_output"); + // testOp(browser, "Convert co-ordinate format", "test input", "test_output"); + // testOp(browser, "Convert data units", "test input", "test_output"); + // testOp(browser, "Convert distance", "test input", "test_output"); + // testOp(browser, "Convert Image Format", "test input", "test_output"); + // testOp(browser, "Convert mass", "test input", "test_output"); + // testOp(browser, "Convert speed", "test input", "test_output"); + // testOp(browser, "Convert to NATO alphabet", "test input", "test_output"); + // testOp(browser, "Count occurrences", "test input", "test_output"); + // testOp(browser, "Cover Image", "test input", "test_output"); + // testOp(browser, "Crop Image", "test input", "test_output"); + // testOp(browser, "DES Decrypt", "test input", "test_output"); + // testOp(browser, "DES Encrypt", "test input", "test_output"); + // testOp(browser, "DNS over HTTPS", "test input", "test_output"); + // testOp(browser, "Dechunk HTTP response", "test input", "test_output"); + // testOp(browser, "Decode NetBIOS Name", "test input", "test_output"); + // testOp(browser, "Decode text", "test input", "test_output"); + // testOp(browser, "Defang IP Addresses", "test input", "test_output"); + // testOp(browser, "Defang URL", "test input", "test_output"); + // testOp(browser, "Derive EVP key", "test input", "test_output"); + // testOp(browser, "Derive PBKDF2 key", "test input", "test_output"); + // testOp(browser, "Detect File Type", "test input", "test_output"); + // testOp(browser, "Diff", "test input", "test_output"); + // testOp(browser, "Disassemble x86", "test input", "test_output"); + // testOp(browser, "Dither Image", "test input", "test_output"); + // testOp(browser, "Divide", "test input", "test_output"); + // testOp(browser, "Drop bytes", "test input", "test_output"); + // testOp(browser, "Encode NetBIOS Name", "test input", "test_output"); + // testOp(browser, "Encode text", "test input", "test_output"); + // testOp(browser, "Enigma", "test input", "test_output"); + // testOp(browser, "Entropy", "test input", "test_output"); + // testOp(browser, "Escape string", "test input", "test_output"); + // testOp(browser, "Escape Unicode Characters", "test input", "test_output"); + // testOp(browser, "Expand alphabet range", "test input", "test_output"); + // testOp(browser, "Extract dates", "test input", "test_output"); + // testOp(browser, "Extract domains", "test input", "test_output"); + // testOp(browser, "Extract EXIF", "test input", "test_output"); + // testOp(browser, "Extract email addresses", "test input", "test_output"); + // testOp(browser, "Extract file paths", "test input", "test_output"); + // testOp(browser, "Extract Files", "test input", "test_output"); + // testOp(browser, "Extract IP addresses", "test input", "test_output"); + // testOp(browser, "Extract LSB", "test input", "test_output"); + // testOp(browser, "Extract MAC addresses", "test input", "test_output"); + // testOp(browser, "Extract RGBA", "test input", "test_output"); + // testOp(browser, "Extract URLs", "test input", "test_output"); + // testOp(browser, "Filter", "test input", "test_output"); + // testOp(browser, "Find / Replace", "test input", "test_output"); + // testOp(browser, "Fletcher-16 Checksum", "test input", "test_output"); + // testOp(browser, "Fletcher-32 Checksum", "test input", "test_output"); + // testOp(browser, "Fletcher-64 Checksum", "test input", "test_output"); + // testOp(browser, "Fletcher-8 Checksum", "test input", "test_output"); + // testOp(browser, "Flip Image", "test input", "test_output"); + // testOp(browser, "Fork", "test input", "test_output"); + // testOp(browser, "Format MAC addresses", "test input", "test_output"); + // testOp(browser, "Frequency distribution", "test input", "test_output"); + // testOp(browser, "From BCD", "test input", "test_output"); + // testOp(browser, "From Base", "test input", "test_output"); + // testOp(browser, "From Base32", "test input", "test_output"); + // testOp(browser, "From Base58", "test input", "test_output"); + // testOp(browser, "From Base62", "test input", "test_output"); + // testOp(browser, "From Base64", "test input", "test_output"); + // testOp(browser, "From Base85", "test input", "test_output"); + // testOp(browser, "From Binary", "test input", "test_output"); + // testOp(browser, "From Braille", "test input", "test_output"); + // testOp(browser, "From Case Insensitive Regex", "test input", "test_output"); + // testOp(browser, "From Charcode", "test input", "test_output"); + // testOp(browser, "From Decimal", "test input", "test_output"); + // testOp(browser, "From HTML Entity", "test input", "test_output"); + // testOp(browser, "From Hex", "test input", "test_output"); + // testOp(browser, "From Hex Content", "test input", "test_output"); + // testOp(browser, "From Hexdump", "test input", "test_output"); + // testOp(browser, "From MessagePack", "test input", "test_output"); + // testOp(browser, "From Morse Code", "test input", "test_output"); + // testOp(browser, "From Octal", "test input", "test_output"); + // testOp(browser, "From Punycode", "test input", "test_output"); + // testOp(browser, "From Quoted Printable", "test input", "test_output"); + // testOp(browser, "From UNIX Timestamp", "test input", "test_output"); + // testOp(browser, "GOST hash", "test input", "test_output"); + // testOp(browser, "Generate all hashes", "test input", "test_output"); + // testOp(browser, "Generate HOTP", "test input", "test_output"); + // testOp(browser, "Generate Image", "test input", "test_output"); + // testOp(browser, "Generate Lorem Ipsum", "test input", "test_output"); + // testOp(browser, "Generate PGP Key Pair", "test input", "test_output"); + // testOp(browser, "Generate QR Code", "test input", "test_output"); + // testOp(browser, "Generate TOTP", "test input", "test_output"); + // testOp(browser, "Generate UUID", "test input", "test_output"); + // testOp(browser, "Generic Code Beautify", "test input", "test_output"); + // testOp(browser, "Group IP addresses", "test input", "test_output"); + // testOp(browser, "Gunzip", "test input", "test_output"); + // testOp(browser, "Gzip", "test input", "test_output"); + // testOp(browser, "HAS-160", "test input", "test_output"); + // testOp(browser, "HMAC", "test input", "test_output"); + // testOp(browser, "HTML To Text", "test input", "test_output"); + // testOp(browser, "HTTP request", "test input", "test_output"); + // testOp(browser, "Hamming Distance", "test input", "test_output"); + // testOp(browser, "Haversine distance", "test input", "test_output"); + // testOp(browser, "Head", "test input", "test_output"); + // testOp(browser, "Heatmap chart", "test input", "test_output"); + // testOp(browser, "Hex Density chart", "test input", "test_output"); + // testOp(browser, "Hex to Object Identifier", "test input", "test_output"); + // testOp(browser, "Hex to PEM", "test input", "test_output"); + // testOp(browser, "Image Brightness / Contrast", "test input", "test_output"); + // testOp(browser, "Image Filter", "test input", "test_output"); + // testOp(browser, "Image Hue/Saturation/Lightness", "test input", "test_output"); + // testOp(browser, "Image Opacity", "test input", "test_output"); + // testOp(browser, "Index of Coincidence", "test input", "test_output"); + // testOp(browser, "Invert Image", "test input", "test_output"); + // testOp(browser, "JPath expression", "test input", "test_output"); + // testOp(browser, "JSON Beautify", "test input", "test_output"); + // testOp(browser, "JSON Minify", "test input", "test_output"); + // testOp(browser, "JSON to CSV", "test input", "test_output"); + // testOp(browser, "JWT Decode", "test input", "test_output"); + // testOp(browser, "JWT Sign", "test input", "test_output"); + // testOp(browser, "JWT Verify", "test input", "test_output"); + // testOp(browser, "JavaScript Beautify", "test input", "test_output"); + // testOp(browser, "JavaScript Minify", "test input", "test_output"); + // testOp(browser, "JavaScript Parser", "test input", "test_output"); + // testOp(browser, "Jump", "test input", "test_output"); + // testOp(browser, "Keccak", "test input", "test_output"); + // testOp(browser, "Label", "test input", "test_output"); + // testOp(browser, "Lorenz", "test input", "test_output"); + // testOp(browser, "Luhn Checksum", "test input", "test_output"); + // testOp(browser, "MD2", "test input", "test_output"); + // testOp(browser, "MD4", "test input", "test_output"); + // testOp(browser, "MD5", "test input", "test_output"); + // testOp(browser, "MD6", "test input", "test_output"); + // testOp(browser, "Magic", "test input", "test_output"); + // testOp(browser, "Mean", "test input", "test_output"); + // testOp(browser, "Median", "test input", "test_output"); + // testOp(browser, "Merge", "test input", "test_output"); + // testOp(browser, "Microsoft Script Decoder", "test input", "test_output"); + // testOp(browser, "Multiple Bombe", "test input", "test_output"); + // testOp(browser, "Multiply", "test input", "test_output"); + // testOp(browser, "NOT", "test input", "test_output"); + // testOp(browser, "Normalise Image", "test input", "test_output"); + // testOp(browser, "Normalise Unicode", "test input", "test_output"); + // testOp(browser, "Numberwang", "test input", "test_output"); + // testOp(browser, "OR", "test input", "test_output"); + // testOp(browser, "Object Identifier to Hex", "test input", "test_output"); + // testOp(browser, "Offset checker", "test input", "test_output"); + // testOp(browser, "Optical Character Recognition", "test input", "test_output"); + // testOp(browser, "PEM to Hex", "test input", "test_output"); + // testOp(browser, "PGP Decrypt", "test input", "test_output"); + // testOp(browser, "PGP Decrypt and Verify", "test input", "test_output"); + // testOp(browser, "PGP Encrypt", "test input", "test_output"); + // testOp(browser, "PGP Encrypt and Sign", "test input", "test_output"); + // testOp(browser, "PGP Verify", "test input", "test_output"); + // testOp(browser, "PHP Deserialize", "test input", "test_output"); + // testOp(browser, "Pad lines", "test input", "test_output"); + // testOp(browser, "Parse ASN.1 hex string", "test input", "test_output"); + // testOp(browser, "Parse colour code", "test input", "test_output"); + // testOp(browser, "Parse DateTime", "test input", "test_output"); + // testOp(browser, "Parse IP range", "test input", "test_output"); + // testOp(browser, "Parse IPv4 header", "test input", "test_output"); + // testOp(browser, "Parse IPv6 address", "test input", "test_output"); + // testOp(browser, "Parse ObjectID timestamp", "test input", "test_output"); + // testOp(browser, "Parse QR Code", "test input", "test_output"); + // testOp(browser, "Parse SSH Host Key", "test input", "test_output"); + // testOp(browser, "Parse TLV", "test input", "test_output"); + // testOp(browser, "Parse UDP", "test input", "test_output"); + // testOp(browser, "Parse UNIX file permissions", "test input", "test_output"); + // testOp(browser, "Parse URI", "test input", "test_output"); + // testOp(browser, "Parse User Agent", "test input", "test_output"); + // testOp(browser, "Parse X.509 certificate", "test input", "test_output"); + // testOp(browser, "Play Media", "test input", "test_output"); + // testOp(browser, "Power Set", "test input", "test_output"); + // testOp(browser, "Protobuf Decode", "test input", "test_output"); + // testOp(browser, "Pseudo-Random Number Generator", "test input", "test_output"); + // testOp(browser, "RC2 Decrypt", "test input", "test_output"); + // testOp(browser, "RC2 Encrypt", "test input", "test_output"); + // testOp(browser, "RC4", "test input", "test_output"); + // testOp(browser, "RC4 Drop", "test input", "test_output"); + // testOp(browser, "RIPEMD", "test input", "test_output"); + // testOp(browser, "ROT13", "test input", "test_output"); + // testOp(browser, "ROT47", "test input", "test_output"); + // testOp(browser, "Rail Fence Cipher Decode", "test input", "test_output"); + // testOp(browser, "Rail Fence Cipher Encode", "test input", "test_output"); + // testOp(browser, "Randomize Colour Palette", "test input", "test_output"); + // testOp(browser, "Raw Deflate", "test input", "test_output"); + // testOp(browser, "Raw Inflate", "test input", "test_output"); + // testOp(browser, "Register", "test input", "test_output"); + // testOp(browser, "Regular expression", "test input", "test_output"); + // testOp(browser, "Remove Diacritics", "test input", "test_output"); + // testOp(browser, "Remove EXIF", "test input", "test_output"); + // testOp(browser, "Remove line numbers", "test input", "test_output"); + // testOp(browser, "Remove null bytes", "test input", "test_output"); + // testOp(browser, "Remove whitespace", "test input", "test_output"); + // testOp(browser, "Render Image", "test input", "test_output"); + // testOp(browser, "Render Markdown", "test input", "test_output"); + // testOp(browser, "Resize Image", "test input", "test_output"); + // testOp(browser, "Return", "test input", "test_output"); + // testOp(browser, "Reverse", "test input", "test_output"); + // testOp(browser, "Rotate Image", "test input", "test_output"); + // testOp(browser, "Rotate left", "test input", "test_output"); + // testOp(browser, "Rotate right", "test input", "test_output"); + // testOp(browser, "SHA0", "test input", "test_output"); + // testOp(browser, "SHA1", "test input", "test_output"); + // testOp(browser, "SHA2", "test input", "test_output"); + // testOp(browser, "SHA3", "test input", "test_output"); + // testOp(browser, "SQL Beautify", "test input", "test_output"); + // testOp(browser, "SQL Minify", "test input", "test_output"); + // testOp(browser, "SSDEEP", "test input", "test_output"); + // testOp(browser, "SUB", "test input", "test_output"); + // testOp(browser, "Scan for Embedded Files", "test input", "test_output"); + // testOp(browser, "Scatter chart", "test input", "test_output"); + // testOp(browser, "Scrypt", "test input", "test_output"); + // testOp(browser, "Series chart", "test input", "test_output"); + // testOp(browser, "Set Difference", "test input", "test_output"); + // testOp(browser, "Set Intersection", "test input", "test_output"); + // testOp(browser, "Set Union", "test input", "test_output"); + // testOp(browser, "Shake", "test input", "test_output"); + // testOp(browser, "Sharpen Image", "test input", "test_output"); + // testOp(browser, "Show Base64 offsets", "test input", "test_output"); + // testOp(browser, "Show on map", "test input", "test_output"); + // testOp(browser, "Sleep", "test input", "test_output"); + // testOp(browser, "Snefru", "test input", "test_output"); + // testOp(browser, "Sort", "test input", "test_output"); + // testOp(browser, "Split", "test input", "test_output"); + // testOp(browser, "Split Colour Channels", "test input", "test_output"); + // testOp(browser, "Standard Deviation", "test input", "test_output"); + // testOp(browser, "Streebog", "test input", "test_output"); + // testOp(browser, "Strings", "test input", "test_output"); + // testOp(browser, "Strip HTML tags", "test input", "test_output"); + // testOp(browser, "Strip HTTP headers", "test input", "test_output"); + // testOp(browser, "Subsection", "test input", "test_output"); + // testOp(browser, "Substitute", "test input", "test_output"); + // testOp(browser, "Subtract", "test input", "test_output"); + // testOp(browser, "Sum", "test input", "test_output"); + // testOp(browser, "Swap endianness", "test input", "test_output"); + // testOp(browser, "Symmetric Difference", "test input", "test_output"); + // testOp(browser, "Syntax highlighter", "test input", "test_output"); + // testOp(browser, "TCP/IP Checksum", "test input", "test_output"); + // testOp(browser, "Tail", "test input", "test_output"); + // testOp(browser, "Take bytes", "test input", "test_output"); + // testOp(browser, "Tar", "test input", "test_output"); + // testOp(browser, "Text Encoding Brute Force", "test input", "test_output"); + // testOp(browser, "To BCD", "test input", "test_output"); + // testOp(browser, "To Base", "test input", "test_output"); + // testOp(browser, "To Base32", "test input", "test_output"); + // testOp(browser, "To Base58", "test input", "test_output"); + // testOp(browser, "To Base62", "test input", "test_output"); + // testOp(browser, "To Base64", "test input", "test_output"); + // testOp(browser, "To Base85", "test input", "test_output"); + // testOp(browser, "To Binary", "test input", "test_output"); + // testOp(browser, "To Braille", "test input", "test_output"); + // testOp(browser, "To Camel case", "test input", "test_output"); + // testOp(browser, "To Case Insensitive Regex", "test input", "test_output"); + // testOp(browser, "To Charcode", "test input", "test_output"); + // testOp(browser, "To Decimal", "test input", "test_output"); + // testOp(browser, "To HTML Entity", "test input", "test_output"); + // testOp(browser, "To Hex", "test input", "test_output"); + // testOp(browser, "To Hex Content", "test input", "test_output"); + // testOp(browser, "To Hexdump", "test input", "test_output"); + // testOp(browser, "To Kebab case", "test input", "test_output"); + // testOp(browser, "To Lower case", "test input", "test_output"); + // testOp(browser, "To MessagePack", "test input", "test_output"); + // testOp(browser, "To Morse Code", "test input", "test_output"); + // testOp(browser, "To Octal", "test input", "test_output"); + // testOp(browser, "To Punycode", "test input", "test_output"); + // testOp(browser, "To Quoted Printable", "test input", "test_output"); + // testOp(browser, "To Snake case", "test input", "test_output"); + // testOp(browser, "To Table", "test input", "test_output"); + // testOp(browser, "To UNIX Timestamp", "test input", "test_output"); + // testOp(browser, "To Upper case", "test input", "test_output"); + // testOp(browser, "Translate DateTime Format", "test input", "test_output"); + // testOp(browser, "Triple DES Decrypt", "test input", "test_output"); + // testOp(browser, "Triple DES Encrypt", "test input", "test_output"); + // testOp(browser, "Typex", "test input", "test_output"); + // testOp(browser, "UNIX Timestamp to Windows Filetime", "test input", "test_output"); + // testOp(browser, "URL Decode", "test input", "test_output"); + // testOp(browser, "URL Encode", "test input", "test_output"); + // testOp(browser, "Unescape string", "test input", "test_output"); + // testOp(browser, "Unescape Unicode Characters", "test input", "test_output"); + // testOp(browser, "Unique", "test input", "test_output"); + // testOp(browser, "Untar", "test input", "test_output"); + // testOp(browser, "Unzip", "test input", "test_output"); + // testOp(browser, "VarInt Decode", "test input", "test_output"); + // testOp(browser, "VarInt Encode", "test input", "test_output"); + // testOp(browser, "View Bit Plane", "test input", "test_output"); + // testOp(browser, "Vigenère Decode", "test input", "test_output"); + // testOp(browser, "Vigenère Encode", "test input", "test_output"); + // testOp(browser, "Whirlpool", "test input", "test_output"); + // testOp(browser, "Windows Filetime to UNIX Timestamp", "test input", "test_output"); + // testOp(browser, "XKCD Random Number", "test input", "test_output"); + // testOp(browser, "XML Beautify", "test input", "test_output"); + // testOp(browser, "XML Minify", "test input", "test_output"); + // testOp(browser, "XOR", "test input", "test_output"); + // testOp(browser, "XOR Brute Force", "test input", "test_output"); + // testOp(browser, "XPath expression", "test input", "test_output"); + // testOp(browser, "YARA Rules", "test input", "test_output"); + // testOp(browser, "Zip", "test input", "test_output"); + // testOp(browser, "Zlib Deflate", "test input", "test_output"); + // testOp(browser, "Zlib Inflate", "test input", "test_output"); + }, + + + after: browser => { + browser.end(); + } +}; + +/** + * Clears the current recipe and tests a new operation. + * + * @param {string} opName + * @param {Browser} browser + */ +function testOp(browser, opName, input, output, args=[]) { + + const recipeConfig = JSON.stringify([{ + "op": opName, + "args": args + }]); + + browser + .perform(function() { + console.log(opName); + }) + .useCss() + .click("#clr-recipe") + .click("#clr-io") + .urlHash("recipe=" + recipeConfig) + .setValue("#input-text", input) + .pause(100) + .click("#bake") + .waitForElementPresent("#stale-indicator.hidden", 1000); + + if (typeof output === "string") { + browser.expect.element("#output-text").to.have.value.that.equals(output); + } else if (output instanceof RegExp) { + browser.expect.element("#output-text").to.have.value.that.matches(output); + } +} From 1b3295ff59c34bbb6b7544a9f19614d71c8c34b1 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 12:59:05 +0000 Subject: [PATCH 114/754] 9.21.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 09d27502..740969c5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.21.0", + "version": "9.21.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 4c6af86e..2cc6ba76 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.21.0", + "version": "9.21.1", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 0327d7cb7a4297fb7468533a4335830fa2ac59bb Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 13:40:36 +0000 Subject: [PATCH 115/754] 9.21.2 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 740969c5..a8fa698b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.21.1", + "version": "9.21.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 2cc6ba76..b8e1d96c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.21.1", + "version": "9.21.2", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From f649236bad9d287805f7ce4f734e9a7470f07b67 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 13:45:24 +0000 Subject: [PATCH 116/754] 9.21.3 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index a8fa698b..14d2e23b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.21.2", + "version": "9.21.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index b8e1d96c..fec2c2eb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.21.2", + "version": "9.21.3", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 902553854464899bd78e46d228198bf8a9b055a1 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 13:48:30 +0000 Subject: [PATCH 117/754] 9.21.4 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 14d2e23b..dc4b4cf2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.21.3", + "version": "9.21.4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index fec2c2eb..cf3dacbc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.21.3", + "version": "9.21.4", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 612937885464f6d62e2c46bdb45e8a0b53e707ed Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 14:33:35 +0000 Subject: [PATCH 118/754] Reduced Actions script to just linting and testing --- .github/workflows/main.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ac9856f1..1a0e8a0e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -20,17 +20,17 @@ jobs: run: npx grunt lint - name: Unit Tests run: | - npx grunt test + npm test sudo npx grunt testnodeconsumer - - name: Production Build - run: npx grunt prod - - name: UI Tests - run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui - - name: Deploy - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./build/prod + # - name: Production Build + # run: npx grunt prod + # - name: UI Tests + # run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui + # - name: Deploy + # uses: peaceiris/actions-gh-pages@v3 + # with: + # github_token: ${{ secrets.GITHUB_TOKEN }} + # publish_dir: ./build/prod # Once NPM_AUTH_TOKEN set up in repo, uncomment this #- name: Deploy to NPM # run: | From 345ad741b376258ce8ad44c86693c004f0396f10 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 14:47:33 +0000 Subject: [PATCH 119/754] Fixed sed command in postinstall script to be platform dependent --- package.json | 2 +- postinstall.sh | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100755 postinstall.sh diff --git a/package.json b/package.json index cf3dacbc..1731574d 100644 --- a/package.json +++ b/package.json @@ -172,7 +172,7 @@ "testui": "grunt testui", "testuidev": "npx nightwatch --env=dev", "lint": "grunt lint", - "postinstall": "find ./node_modules/crypto-api/src/ \\( -type d -name .git -prune \\) -o -type f -print0 | xargs -0 sed -i '' -e '/\\.mjs/!s/\\(from \"\\.[^\"]*\\)\";/\\1.mjs\";/g'", + "postinstall": "sh postinstall.sh", "newop": "node --experimental-modules src/core/config/scripts/newOperation.mjs" } } diff --git a/postinstall.sh b/postinstall.sh new file mode 100755 index 00000000..dc685308 --- /dev/null +++ b/postinstall.sh @@ -0,0 +1,6 @@ +# Add file extensions to Crypto-Api imports +if [[ "$OSTYPE" == "darwin"* ]]; then + find ./node_modules/crypto-api/src/ \( -type d -name .git -prune \) -o -type f -print0 | xargs -0 sed -i '' -e '/\.mjs/!s/\(from "\.[^"]*\)";/\1.mjs";/g' +else + find ./node_modules/crypto-api/src/ \( -type d -name .git -prune \) -o -type f -print0 | xargs -0 sed -i -e '/\.mjs/!s/\(from "\.[^"]*\)";/\1.mjs";/g' +fi \ No newline at end of file From e16ce1d9c2c6c69bcb267fdb8ac08ec9203e7cc6 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 14:53:53 +0000 Subject: [PATCH 120/754] Specify node version --- .github/workflows/main.yml | 6 +++++- package.json | 2 +- postinstall.sh | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1a0e8a0e..0f5b8646 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,9 +12,13 @@ jobs: steps: - uses: actions/checkout@v2 + - name: Use Node.js + uses: actions/setup-node@v1 + with: + node-version: '10.x' - name: Setup run: | - npm i + npm install export NODE_OPTIONS=--max_old_space_size=2048 - name: Lint run: npx grunt lint diff --git a/package.json b/package.json index 1731574d..a9ed8c85 100644 --- a/package.json +++ b/package.json @@ -172,7 +172,7 @@ "testui": "grunt testui", "testuidev": "npx nightwatch --env=dev", "lint": "grunt lint", - "postinstall": "sh postinstall.sh", + "postinstall": "bash postinstall.sh", "newop": "node --experimental-modules src/core/config/scripts/newOperation.mjs" } } diff --git a/postinstall.sh b/postinstall.sh index dc685308..e244070e 100755 --- a/postinstall.sh +++ b/postinstall.sh @@ -1,3 +1,5 @@ +#!/bin/bash + # Add file extensions to Crypto-Api imports if [[ "$OSTYPE" == "darwin"* ]]; then find ./node_modules/crypto-api/src/ \( -type d -name .git -prune \) -o -type f -print0 | xargs -0 sed -i '' -e '/\.mjs/!s/\(from "\.[^"]*\)";/\1.mjs";/g' From de4cd2eebc5a59afaf12b56573973d491eb0283e Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 14:59:26 +0000 Subject: [PATCH 121/754] Add production build to GitHub Actions script --- .github/workflows/main.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0f5b8646..c0d7ca06 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -25,11 +25,11 @@ jobs: - name: Unit Tests run: | npm test - sudo npx grunt testnodeconsumer - # - name: Production Build - # run: npx grunt prod - # - name: UI Tests - # run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui + npx grunt testnodeconsumer + - name: Production Build + run: npx grunt prod + - name: UI Tests + run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui # - name: Deploy # uses: peaceiris/actions-gh-pages@v3 # with: From fabea8cc61ac88e33fd0bf3672e3a96ab71e2c26 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 15:00:15 +0000 Subject: [PATCH 122/754] Fix whitespace --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c0d7ca06..274d9f0f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -28,8 +28,8 @@ jobs: npx grunt testnodeconsumer - name: Production Build run: npx grunt prod - - name: UI Tests - run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui + - name: UI Tests + run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui # - name: Deploy # uses: peaceiris/actions-gh-pages@v3 # with: From 7747bfe0f233db016cbd40a921ab7f0bc377b02b Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 15:17:17 +0000 Subject: [PATCH 123/754] Fixed prod build and Actions now creates a sitemap --- .github/workflows/main.yml | 3 +++ Gruntfile.js | 4 ---- webpack.config.js | 4 ++++ 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 274d9f0f..acada9f1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,6 +30,9 @@ jobs: run: npx grunt prod - name: UI Tests run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui + - name: Generate sitemap + run: npx grunt exec:sitemap + # - name: grunt copy:ghPages # - name: Deploy # uses: peaceiris/actions-gh-pages@v3 # with: diff --git a/Gruntfile.js b/Gruntfile.js index 983b662d..cb76118e 100755 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -242,10 +242,6 @@ module.exports = function (grunt) { entry: Object.assign({ main: "./src/web/index.js" }, moduleEntryPoints), - output: { - publicPath: "", - globalObject: "this" - }, resolve: { alias: { "./config/modules/OpModules.mjs": "./config/modules/Default.mjs" diff --git a/webpack.config.js b/webpack.config.js index 4fcc0438..73da0858 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -34,6 +34,10 @@ const banner = `/** module.exports = { + output: { + publicPath: "", + globalObject: "this" + }, plugins: [ new webpack.ProvidePlugin({ $: "jquery", From b86e960456d660f8d2786c3f3a8189de862153eb Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 15:27:42 +0000 Subject: [PATCH 124/754] Actions broken out into separate jobs --- .github/workflows/main.yml | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index acada9f1..c73e1cf9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,32 +6,51 @@ on: - master jobs: - test: - + setup: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - name: Use Node.js + - name: Set node version uses: actions/setup-node@v1 with: node-version: '10.x' - - name: Setup + - name: Install run: | npm install export NODE_OPTIONS=--max_old_space_size=2048 + + lint: + needs: setup + runs-on: ubuntu-latest + - name: Lint run: npx grunt lint + + tests: + needs: setup + runs-on: ubuntu-latest - name: Unit Tests run: | npm test npx grunt testnodeconsumer + + build: + needs: [lint, tests] + runs-on: ubuntu-latest + - name: Production Build run: npx grunt prod - - name: UI Tests - run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui - name: Generate sitemap run: npx grunt exec:sitemap + + ui-tests: + needs: build + runs-on: ubuntu-latest + - name: UI Tests + run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui + + # - name: grunt copy:ghPages # - name: Deploy # uses: peaceiris/actions-gh-pages@v3 From d6fc21cc347966dfe7aa22a7e47edb28fddc7f87 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 15:28:46 +0000 Subject: [PATCH 125/754] Fixed yaml --- .github/workflows/main.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c73e1cf9..eebc947e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,7 +8,6 @@ on: jobs: setup: runs-on: ubuntu-latest - steps: - uses: actions/checkout@v2 - name: Set node version @@ -23,13 +22,14 @@ jobs: lint: needs: setup runs-on: ubuntu-latest - + steps: - name: Lint run: npx grunt lint tests: needs: setup runs-on: ubuntu-latest + steps: - name: Unit Tests run: | npm test @@ -38,7 +38,7 @@ jobs: build: needs: [lint, tests] runs-on: ubuntu-latest - + steps: - name: Production Build run: npx grunt prod - name: Generate sitemap @@ -47,6 +47,7 @@ jobs: ui-tests: needs: build runs-on: ubuntu-latest + steps: - name: UI Tests run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui From ded32da632a0254ed11ba715d3eb0374513c5ff7 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 15:33:15 +0000 Subject: [PATCH 126/754] Back to a single job --- .github/workflows/main.yml | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index eebc947e..e82d03be 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,48 +6,35 @@ on: - master jobs: - setup: + main: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + - name: Set node version uses: actions/setup-node@v1 with: node-version: '10.x' + - name: Install run: | npm install export NODE_OPTIONS=--max_old_space_size=2048 - lint: - needs: setup - runs-on: ubuntu-latest - steps: - name: Lint run: npx grunt lint - tests: - needs: setup - runs-on: ubuntu-latest - steps: - name: Unit Tests run: | npm test npx grunt testnodeconsumer - build: - needs: [lint, tests] - runs-on: ubuntu-latest - steps: - name: Production Build run: npx grunt prod + - name: Generate sitemap run: npx grunt exec:sitemap - ui-tests: - needs: build - runs-on: ubuntu-latest - steps: - name: UI Tests run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui From 223353cf4d27b5a77a54d0b7fc53b687cbeea354 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 15:43:18 +0000 Subject: [PATCH 127/754] Increased UI test operation timeout --- tests/browser/ops.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/browser/ops.js b/tests/browser/ops.js index 78e6a908..763cb11b 100644 --- a/tests/browser/ops.js +++ b/tests/browser/ops.js @@ -394,7 +394,7 @@ function testOp(browser, opName, input, output, args=[]) { .click("#clr-io") .urlHash("recipe=" + recipeConfig) .setValue("#input-text", input) - .pause(100) + .pause(250) .click("#bake") .waitForElementPresent("#stale-indicator.hidden", 1000); From 36282e362ff35205766a39ec43b9e4b2c567fbab Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 15:53:56 +0000 Subject: [PATCH 128/754] Improved UI tests --- tests/browser/ops.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/browser/ops.js b/tests/browser/ops.js index 763cb11b..55d4eee4 100644 --- a/tests/browser/ops.js +++ b/tests/browser/ops.js @@ -396,7 +396,8 @@ function testOp(browser, opName, input, output, args=[]) { .setValue("#input-text", input) .pause(250) .click("#bake") - .waitForElementPresent("#stale-indicator.hidden", 1000); + .waitForElementPresent("#stale-indicator.hidden", 1000) + .waitForElementNotVisible("#output-loader", 5000); if (typeof output === "string") { browser.expect.element("#output-text").to.have.value.that.equals(output); From 3f035294a69eb54713edce10bc659fda6de3b059 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 16:06:44 +0000 Subject: [PATCH 129/754] Improved UI tests --- nightwatch.json | 2 +- tests/browser/ops.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/nightwatch.json b/nightwatch.json index 072e6c52..93975a3e 100644 --- a/nightwatch.json +++ b/nightwatch.json @@ -1,5 +1,5 @@ { - "src_folders": ["tests/browser"], + "src_folders": ["tests/browser/ops.js"], "output_folder": "tests/browser/output", "test_settings": { diff --git a/tests/browser/ops.js b/tests/browser/ops.js index 55d4eee4..421dca30 100644 --- a/tests/browser/ops.js +++ b/tests/browser/ops.js @@ -394,6 +394,7 @@ function testOp(browser, opName, input, output, args=[]) { .click("#clr-io") .urlHash("recipe=" + recipeConfig) .setValue("#input-text", input) + .waitForElementVisible("#stale-indicator", 1000) .pause(250) .click("#bake") .waitForElementPresent("#stale-indicator.hidden", 1000) From d7bc529a950e549c699a8d3567e1f02b8c42d5f4 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 16:16:11 +0000 Subject: [PATCH 130/754] Improved UI tests --- nightwatch.json | 2 +- tests/browser/ops.js | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/nightwatch.json b/nightwatch.json index 93975a3e..072e6c52 100644 --- a/nightwatch.json +++ b/nightwatch.json @@ -1,5 +1,5 @@ { - "src_folders": ["tests/browser/ops.js"], + "src_folders": ["tests/browser"], "output_folder": "tests/browser/output", "test_settings": { diff --git a/tests/browser/ops.js b/tests/browser/ops.js index 421dca30..ef1a0274 100644 --- a/tests/browser/ops.js +++ b/tests/browser/ops.js @@ -395,8 +395,9 @@ function testOp(browser, opName, input, output, args=[]) { .urlHash("recipe=" + recipeConfig) .setValue("#input-text", input) .waitForElementVisible("#stale-indicator", 1000) - .pause(250) + .pause(100) .click("#bake") + .pause(150) .waitForElementPresent("#stale-indicator.hidden", 1000) .waitForElementNotVisible("#output-loader", 5000); From db009d3689c043075a76fe70066dbc80c97ba243 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 16:25:19 +0000 Subject: [PATCH 131/754] Improved UI tests --- tests/browser/ops.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/browser/ops.js b/tests/browser/ops.js index ef1a0274..7d39c8e6 100644 --- a/tests/browser/ops.js +++ b/tests/browser/ops.js @@ -394,11 +394,11 @@ function testOp(browser, opName, input, output, args=[]) { .click("#clr-io") .urlHash("recipe=" + recipeConfig) .setValue("#input-text", input) - .waitForElementVisible("#stale-indicator", 1000) + .waitForElementVisible("#stale-indicator", 5000) .pause(100) .click("#bake") .pause(150) - .waitForElementPresent("#stale-indicator.hidden", 1000) + .waitForElementPresent("#stale-indicator.hidden", 5000) .waitForElementNotVisible("#output-loader", 5000); if (typeof output === "string") { From 7d8bdbcf7e3fa76f096456efe724921fb5c4e35d Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 16:39:04 +0000 Subject: [PATCH 132/754] Improved UI tests --- tests/browser/ops.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/browser/ops.js b/tests/browser/ops.js index 7d39c8e6..c96b52c0 100644 --- a/tests/browser/ops.js +++ b/tests/browser/ops.js @@ -393,11 +393,15 @@ function testOp(browser, opName, input, output, args=[]) { .click("#clr-recipe") .click("#clr-io") .urlHash("recipe=" + recipeConfig) - .setValue("#input-text", input) + .setValue("#input-text", input); + + browser.expect.element("#input-text").to.have.value.that.equals(input); + + browser .waitForElementVisible("#stale-indicator", 5000) .pause(100) .click("#bake") - .pause(150) + .pause(100) .waitForElementPresent("#stale-indicator.hidden", 5000) .waitForElementNotVisible("#output-loader", 5000); From 98d7f1481c5473cf16ab01b0d8a1155dfb5988ae Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 16:52:37 +0000 Subject: [PATCH 133/754] Improved UI tests --- tests/browser/ops.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tests/browser/ops.js b/tests/browser/ops.js index c96b52c0..8d23cabd 100644 --- a/tests/browser/ops.js +++ b/tests/browser/ops.js @@ -392,10 +392,14 @@ function testOp(browser, opName, input, output, args=[]) { .useCss() .click("#clr-recipe") .click("#clr-io") - .urlHash("recipe=" + recipeConfig) - .setValue("#input-text", input); + .waitForElementNotPresent("#rec-list li.operation") + .expect.element("#input-text").to.have.value.that.equals(""); - browser.expect.element("#input-text").to.have.value.that.equals(input); + browser + .urlHash("recipe=" + recipeConfig) + .setValue("#input-text", input) + .waitForElementPresent("#rec-list li.operation") + .expect.element("#input-text").to.have.value.that.equals(input); browser .waitForElementVisible("#stale-indicator", 5000) From aa09da04038cfd9f931eb0471b767f95076dd7f3 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 17:13:17 +0000 Subject: [PATCH 134/754] GitHub Actions now pushes to GitHub Pages --- .github/workflows/main.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e82d03be..7d0d76a7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -38,14 +38,16 @@ jobs: - name: UI Tests run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui + - name: Deploy to GitHub Pages + if: success() && github.ref == 'refs/heads/master' + run: npx grunt copy:ghPages + uses: crazy-max/ghaction-github-pages@v2 + with: + target_branch: gh-pages + build_dir: ./build/prod + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # - name: grunt copy:ghPages - # - name: Deploy - # uses: peaceiris/actions-gh-pages@v3 - # with: - # github_token: ${{ secrets.GITHUB_TOKEN }} - # publish_dir: ./build/prod - # Once NPM_AUTH_TOKEN set up in repo, uncomment this #- name: Deploy to NPM # run: | # npm config set //registry.npmjs.org/:_authToken=$NPM_TOKEN From 7dccecb336c97afeece7cfff1ea9a3e90d029564 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 22 Jan 2021 17:15:58 +0000 Subject: [PATCH 135/754] Moved GH Pages prep to its own step --- .github/workflows/main.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7d0d76a7..00068a77 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -38,9 +38,11 @@ jobs: - name: UI Tests run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui + - name: Prepare for GitHub Pages + run: npx grunt copy:ghPages + - name: Deploy to GitHub Pages if: success() && github.ref == 'refs/heads/master' - run: npx grunt copy:ghPages uses: crazy-max/ghaction-github-pages@v2 with: target_branch: gh-pages From 9892ee273eefa9a2a2f55d9b52893bb8d3322679 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 1 Feb 2021 11:10:04 +0000 Subject: [PATCH 136/754] Bugfix: ECC mode now works correctly in 'Generate PGP Key Pair' --- src/core/operations/GeneratePGPKeyPair.mjs | 9 ++++++--- tests/node/tests/operations.mjs | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/core/operations/GeneratePGPKeyPair.mjs b/src/core/operations/GeneratePGPKeyPair.mjs index 7176d526..bb366b6f 100644 --- a/src/core/operations/GeneratePGPKeyPair.mjs +++ b/src/core/operations/GeneratePGPKeyPair.mjs @@ -33,7 +33,7 @@ class GeneratePGPKeyPair extends Operation { { "name": "Key type", "type": "option", - "value": ["RSA-1024", "RSA-2048", "RSA-4096", "ECC-256", "ECC-384"] + "value": ["RSA-1024", "RSA-2048", "RSA-4096", "ECC-256", "ECC-384", "ECC-521"] }, { "name": "Password (optional)", @@ -59,12 +59,15 @@ class GeneratePGPKeyPair extends Operation { * @returns {string} */ async run(input, args) { - const [keyType, keySize] = args[0].split("-"), - password = args[1], + let [keyType, keySize] = args[0].split("-"); + const password = args[1], name = args[2], email = args[3]; let userIdentifier = ""; + keyType = keyType.toLowerCase(); + keySize = parseInt(keySize, 10); + if (name) userIdentifier += name; if (email) userIdentifier += ` <${email}>`; diff --git a/tests/node/tests/operations.mjs b/tests/node/tests/operations.mjs index 0a9d74e4..bc4ccb56 100644 --- a/tests/node/tests/operations.mjs +++ b/tests/node/tests/operations.mjs @@ -588,7 +588,7 @@ Password: 034148`; const result = await chef.generatePGPKeyPair("Back To the Drawing Board", { keyType: "ECC-256", }); - assert.strictEqual(result.toString().length, 2007); + assert.strictEqual(result.toString().length, 2560); }), it("Generate UUID", () => { From 53dff8b30ffa0aa30fd196a40a9fb6e7f8f78c1c Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 1 Feb 2021 11:10:16 +0000 Subject: [PATCH 137/754] 9.21.5 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index dc4b4cf2..f0cc43a8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.21.4", + "version": "9.21.5", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index a9ed8c85..da3f061a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.21.4", + "version": "9.21.5", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 274f3acd454f25ff0cd4160dbb26e8f663fee760 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 1 Feb 2021 14:10:21 +0000 Subject: [PATCH 138/754] Added GH Releases and NPM actions --- .github/workflows/{main.yml => master.yml} | 12 ++--- .github/workflows/releases.yml | 57 ++++++++++++++++++++++ .travis.yml | 55 --------------------- 3 files changed, 60 insertions(+), 64 deletions(-) rename .github/workflows/{main.yml => master.yml} (78%) create mode 100644 .github/workflows/releases.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/main.yml b/.github/workflows/master.yml similarity index 78% rename from .github/workflows/main.yml rename to .github/workflows/master.yml index 00068a77..c9139ec7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/master.yml @@ -1,4 +1,4 @@ -name: Test & Deploy +name: Master on: push: @@ -30,12 +30,14 @@ jobs: npx grunt testnodeconsumer - name: Production Build + if: success() run: npx grunt prod - name: Generate sitemap run: npx grunt exec:sitemap - name: UI Tests + needs: Production Build run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui - name: Prepare for GitHub Pages @@ -49,11 +51,3 @@ jobs: build_dir: ./build/prod env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - #- name: Deploy to NPM - # run: | - # npm config set //registry.npmjs.org/:_authToken=$NPM_TOKEN - # npm publish || true - # env: - # Add NPM publish token to the repo secrets - # NPM_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml new file mode 100644 index 00000000..a3e51c18 --- /dev/null +++ b/.github/workflows/releases.yml @@ -0,0 +1,57 @@ +name: Release + +on: + push: + tags: + - 'v*' + +jobs: + main: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Set node version + uses: actions/setup-node@v1 + with: + node-version: '10.x' + + - name: Install + run: | + npm install + export NODE_OPTIONS=--max_old_space_size=2048 + + - name: Lint + run: npx grunt lint + + - name: Unit Tests + run: | + npm test + npx grunt testnodeconsumer + + - name: Production Build + if: success() + run: npx grunt prod + + - name: UI Tests + needs: Production Build + run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui + + - name: Upload Release Assets + needs: UI Tests + if: success() + id: upload-release-assets + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: build/prod/*.zip + tag: ${{ github.ref }} + overwrite: true + file_glob: true + + - name: Publish to NPM + needs: UI Tests + if: success() + uses: JS-DevTools/npm-publish@v1 + with: + token: ${{ secrets.NPM_TOKEN }} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 5c247911..00000000 --- a/.travis.yml +++ /dev/null @@ -1,55 +0,0 @@ -language: node_js -node_js: - - lts/dubnium -cache: npm -os: linux -addons: - chrome: stable -install: npm install -before_script: - - npm install -g grunt - - export NODE_OPTIONS=--max_old_space_size=2048 -script: - - grunt lint - - npm test - - grunt testnodeconsumer - - grunt prod --msg="$COMPILE_MSG" - - xvfb-run --server-args="-screen 0 1200x800x24" grunt testui -before_deploy: - - grunt exec:sitemap - - grunt copy:ghPages -deploy: - - provider: pages - edge: true - token: $GITHUB_TOKEN - local_dir: build/prod/ - target_branch: gh-pages - on: - repo: gchq/CyberChef - branch: master - - provider: releases - edge: true - token: - secure: "HV1WSKv4l/0Y2bKKs1iBJocBcmLj08PCRUeEM/jTwA4jqJ8EiLHWiXtER/D5sEg2iibRVKd2OQjfrmS6bo4AiwdeVgAKmv0FtS2Jw+391N8Nd5AkEANHa5Om/IpHLTL2YRAjpJTsDpY72bMUTJIwjQA3TFJkgrpOw6KYfohOcgbxLpZ4XuNJRU3VL4Hsxdv5V9aOVmfFOmMOVPQlakXy7NgtW5POp1f2WJwgcZxylkR1CjwaqMyXmSoVl46pyH3tr5+dptsQoKSGdi6sIHGA60oDotFPcm+0ifa47wZw+vapuuDi4tdNxhrHGaDMG8xiE0WFDHwQUDlk2/+W7j9SEX0H3Em7us371JXRp56EDwEcDa34VpVkC6i8HGcHK55hnxVbMZXGf3qhOFD8wY7qMbjMRvIpucrMHBi86OfkDfv0vDj2LyvIl5APj/AX50BrE0tfH1MZbH26Jkx4NdlkcxQ14GumarmUqfmVvbX/fsoA6oUuAAE9ZgRRi3KHO4wci6KUcRfdm+XOeUkaBFsL86G3EEYIvrtBTuaypdz+Cx7nd1iPZyWMx5Y1gXnVzha4nBdV4+7l9JIsFggD8QVpw2uHXQiS1KXFjOeqA3DBD8tjMB7q26Fl2fD3jkOo4BTbQ2NrRIZUu/iL+fOmMPsyMt2qulB0yaSBCfkbEq8xrUA=" - file_glob: true - file: - - build/prod/*.zip - - src/node/cjs.js - on: - repo: gchq/CyberChef - tags: true - - provider: npm - edge: true - email: "n1474335@gmail.com" - api_token: - secure: "UnDQL3Kh+GK2toL0TK3FObO0ujVssU3Eg4BBuYdjwLB81GhiGE5/DTh7THdZPOpbLo6wQeOwfZDuMeKC1OU+0Uf4NsdYFu1aq6xMO20qBQ4qUfgsyiK4Qgywj9gk0p1+OFZdGAZ/j1CNRAaF71XQIY6iV84c+SO4WoizXYrNT0Jh4sr2DA4/97G2xmJtPi0qOzYrJ09R56ZUozmqeik5G0pMRIuJRbpjS/7bZXV+N7WV0ombZc9RkUaetbabEVOLQ+Xx5YAIVq+VuEeMe9VBSnxY/FfCLmy1wJsjGzpLCyBI9nbrG4nw8Wgc2m8NfK9rcpIvBTGner9r2j60NVDkZ8kLZPrqXhq6AZMwa+oz6K5UQCqRo2RRQzSGwXxg67HY5Tcq+oNmjd+DqpPg4LZ3eGlluyP5XfG+hpSr9Ya4d8q8SrUWLxkoLHI6ZKMtoKFbTCSSQPiluW5hsZxjz3yDkkjsJw64M/EM8UyJrgaXqDklQu+7rBGKLfsK6os7RDiqjBWpQ7gwpo8HvY0O8yqEAabPz+QGkanpjcCOZCXFbSkzWxYy37RMAPu88iINVZVlZE4l+WJenCpZY95ueyy0mG9cyMSzVRPyX6A+/n4H6VMFPFjpGDLTD588ACEjY1lmHfS/eXwXJcgqPPD2gW0XdRdUheU/ssqlfCfGWQMTDXs=" - on: - tags: true - branch: master -notifications: - webhooks: - urls: - - https://webhooks.gitter.im/e/83c143a6822e218d5b34 - on_success: change - on_failure: always - on_start: never From 7b68b92498406342fcb226f138dec0f0bb36149b Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 1 Feb 2021 14:14:40 +0000 Subject: [PATCH 139/754] Updated actions config --- .github/workflows/master.yml | 3 ++- .github/workflows/releases.yml | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index c9139ec7..457d60e1 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -30,6 +30,7 @@ jobs: npx grunt testnodeconsumer - name: Production Build + id: prod_build if: success() run: npx grunt prod @@ -37,7 +38,7 @@ jobs: run: npx grunt exec:sitemap - name: UI Tests - needs: Production Build + needs: prod_build run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui - name: Prepare for GitHub Pages diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index a3e51c18..3aab929d 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -30,15 +30,17 @@ jobs: npx grunt testnodeconsumer - name: Production Build + id: prod_build if: success() run: npx grunt prod - name: UI Tests - needs: Production Build + id: ui_tests + needs: prod_build run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui - name: Upload Release Assets - needs: UI Tests + needs: ui_tests if: success() id: upload-release-assets uses: svenstaro/upload-release-action@v2 @@ -50,7 +52,7 @@ jobs: file_glob: true - name: Publish to NPM - needs: UI Tests + needs: ui_tests if: success() uses: JS-DevTools/npm-publish@v1 with: From a74ee47bf0b04407a37da3dbff7e716aa087ef2c Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 1 Feb 2021 14:18:17 +0000 Subject: [PATCH 140/754] Updated actions config --- .github/workflows/master.yml | 4 ++-- .github/workflows/releases.yml | 6 +----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 457d60e1..ee10247a 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -30,7 +30,6 @@ jobs: npx grunt testnodeconsumer - name: Production Build - id: prod_build if: success() run: npx grunt prod @@ -38,10 +37,11 @@ jobs: run: npx grunt exec:sitemap - name: UI Tests - needs: prod_build + if: success() run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui - name: Prepare for GitHub Pages + if: success() run: npx grunt copy:ghPages - name: Deploy to GitHub Pages diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index 3aab929d..c0920595 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -30,17 +30,14 @@ jobs: npx grunt testnodeconsumer - name: Production Build - id: prod_build if: success() run: npx grunt prod - name: UI Tests - id: ui_tests - needs: prod_build + if: success() run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui - name: Upload Release Assets - needs: ui_tests if: success() id: upload-release-assets uses: svenstaro/upload-release-action@v2 @@ -52,7 +49,6 @@ jobs: file_glob: true - name: Publish to NPM - needs: ui_tests if: success() uses: JS-DevTools/npm-publish@v1 with: From 02cf394bcdbc9224b66d31f44ddd4d81f0b03007 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 1 Feb 2021 14:42:00 +0000 Subject: [PATCH 141/754] ROT13 tweaks --- src/core/operations/ROT13.mjs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/operations/ROT13.mjs b/src/core/operations/ROT13.mjs index 75be2f2b..1d059565 100644 --- a/src/core/operations/ROT13.mjs +++ b/src/core/operations/ROT13.mjs @@ -36,9 +36,9 @@ class ROT13 extends Operation { value: true }, { - name: "Rotate Numbers", + name: "Rotate numbers", type: "boolean", - value: true + value: false }, { name: "Amount", @@ -74,7 +74,7 @@ class ROT13 extends Operation { } else if (rot13Lowercase && chr >= 97 && chr <= 122) { // Lower case chr = (chr - 97 + amount) % 26; output[i] = chr + 97; - } else if (rotNumbers && chr >= 48 && chr <= 57) { + } else if (rotNumbers && chr >= 48 && chr <= 57) { // Numbers chr = (chr - 48 + amount) % 10; output[i] = chr + 48; } From 09c6e181fb71e497f3d71ad3be33ca359b690f58 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 1 Feb 2021 14:42:32 +0000 Subject: [PATCH 142/754] 9.21.6 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index f0cc43a8..e6692e97 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.21.5", + "version": "9.21.6", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index da3f061a..96b983b2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.21.5", + "version": "9.21.6", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 5947ed21fcb5878b90107c16b681b4bef80b3370 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 1 Feb 2021 15:51:14 +0000 Subject: [PATCH 143/754] Tidied up localisation in Wikipedia URL --- src/core/operations/UnicodeTextFormat.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/operations/UnicodeTextFormat.mjs b/src/core/operations/UnicodeTextFormat.mjs index b1fc474b..2c18848f 100644 --- a/src/core/operations/UnicodeTextFormat.mjs +++ b/src/core/operations/UnicodeTextFormat.mjs @@ -21,7 +21,7 @@ class UnicodeTextFormat extends Operation { this.name = "Unicode Text Format"; this.module = "Default"; this.description = "Adds Unicode combining characters to change formatting of plaintext."; - this.infoURL = "https://en.wikipedia.org/wiki/Combining_character"; + this.infoURL = "https://wikipedia.org/wiki/Combining_character"; this.inputType = "byteArray"; this.outputType = "byteArray"; this.args = [ From 54769a90ac8a79e47ffacc5de5b5c3a747554c95 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 1 Feb 2021 15:52:34 +0000 Subject: [PATCH 144/754] 9.22.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index e6692e97..4f753117 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.21.6", + "version": "9.22.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 96b983b2..42ddde9b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.21.6", + "version": "9.22.0", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 3df57ba3ddd3e3ccadf2c3462fde8141387ea4c7 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 1 Feb 2021 16:11:39 +0000 Subject: [PATCH 145/754] Added big and little endian options for Windows timestamp conversion ops --- .../UNIXTimestampToWindowsFiletime.mjs | 21 +++++++++++++++---- .../WindowsFiletimeToUNIXTimestamp.mjs | 18 +++++++--------- 2 files changed, 24 insertions(+), 15 deletions(-) diff --git a/src/core/operations/UNIXTimestampToWindowsFiletime.mjs b/src/core/operations/UNIXTimestampToWindowsFiletime.mjs index c87f3507..1ccd3298 100644 --- a/src/core/operations/UNIXTimestampToWindowsFiletime.mjs +++ b/src/core/operations/UNIXTimestampToWindowsFiletime.mjs @@ -34,7 +34,7 @@ class UNIXTimestampToWindowsFiletime extends Operation { { "name": "Output format", "type": "option", - "value": ["Decimal", "Hex"] + "value": ["Decimal", "Hex (big endian)", "Hex (little endian)"] } ]; } @@ -65,11 +65,24 @@ class UNIXTimestampToWindowsFiletime extends Operation { input = input.plus(new BigNumber("116444736000000000")); - if (format === "Hex") { - return input.toString(16); + let result; + if (format.startsWith("Hex")) { + result = input.toString(16); } else { - return input.toFixed(); + result = input.toFixed(); } + + if (format === "Hex (little endian)") { + // Swap endianness + let flipped = ""; + for (let i = result.length - 2; i >= 0; i -= 2) { + flipped += result.charAt(i); + flipped += result.charAt(i + 1); + } + result = flipped; + } + + return result; } } diff --git a/src/core/operations/WindowsFiletimeToUNIXTimestamp.mjs b/src/core/operations/WindowsFiletimeToUNIXTimestamp.mjs index 32c272f9..7411a6e9 100644 --- a/src/core/operations/WindowsFiletimeToUNIXTimestamp.mjs +++ b/src/core/operations/WindowsFiletimeToUNIXTimestamp.mjs @@ -34,12 +34,7 @@ class WindowsFiletimeToUNIXTimestamp extends Operation { { "name": "Input format", "type": "option", - "value": ["Decimal", "Hex"] - }, - { - "name": "Swap Endianness", - "type": "boolean", - "value": false + "value": ["Decimal", "Hex (big endian)", "Hex (little endian)"] } ]; } @@ -50,9 +45,12 @@ class WindowsFiletimeToUNIXTimestamp extends Operation { * @returns {string} */ run(input, args) { - const [units, format, swapEndianness] = args; + const [units, format] = args; - if (swapEndianness) { + if (!input) return ""; + + if (format === "Hex (little endian)") { + // Swap endianness let result = ""; for (let i = input.length - 2; i >= 0; i -= 2) { result += input.charAt(i); @@ -61,9 +59,7 @@ class WindowsFiletimeToUNIXTimestamp extends Operation { input = result; } - if (!input) return ""; - - if (format === "Hex") { + if (format.startsWith("Hex")) { input = new BigNumber(input, 16); } else { input = new BigNumber(input); From eff77fd3bb132accdd161626df0f51088fcee299 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 1 Feb 2021 16:11:46 +0000 Subject: [PATCH 146/754] 9.22.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4f753117..958a9b25 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.22.0", + "version": "9.22.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 42ddde9b..ebbce140 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.22.0", + "version": "9.22.1", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 339c741a2c6b6274aab0bd5395cb7c23421e7ba8 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 1 Feb 2021 16:14:38 +0000 Subject: [PATCH 147/754] 9.22.2 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 958a9b25..b19e6605 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.22.1", + "version": "9.22.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index ebbce140..b413bd8f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.22.1", + "version": "9.22.2", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From af98feff515afd568edd57b83147f9aed3c952eb Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 1 Feb 2021 16:24:47 +0000 Subject: [PATCH 148/754] Improved PGP keygen test --- tests/node/tests/operations.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/node/tests/operations.mjs b/tests/node/tests/operations.mjs index 163d639a..f208384c 100644 --- a/tests/node/tests/operations.mjs +++ b/tests/node/tests/operations.mjs @@ -588,7 +588,7 @@ Password: 034148`; const result = await chef.generatePGPKeyPair("Back To the Drawing Board", { keyType: "ECC-256", }); - assert.strictEqual(result.toString().length, 2560); + assert.strictEqual(result.toString().substr(0, 37), "-----BEGIN PGP PRIVATE KEY BLOCK-----"); }), it("Generate UUID", () => { From 9f65fac4e678eb0c3a41cbd15004e5f23b4bae81 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 1 Feb 2021 16:34:12 +0000 Subject: [PATCH 149/754] Added actions for linting and testing Pull Requests --- .github/workflows/pull_requests.yml | 37 +++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 .github/workflows/pull_requests.yml diff --git a/.github/workflows/pull_requests.yml b/.github/workflows/pull_requests.yml new file mode 100644 index 00000000..3b3c1a6f --- /dev/null +++ b/.github/workflows/pull_requests.yml @@ -0,0 +1,37 @@ +name: PRs + +on: + pull_request: + types: [synchronize, opened, reopened] + +jobs: + main: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Set node version + uses: actions/setup-node@v1 + with: + node-version: '10.x' + + - name: Install + run: | + npm install + export NODE_OPTIONS=--max_old_space_size=2048 + + - name: Lint + run: npx grunt lint + + - name: Unit Tests + run: | + npm test + npx grunt testnodeconsumer + + - name: Production Build + if: success() + run: npx grunt prod + + - name: UI Tests + if: success() + run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui From afffe584cfe123686fb97fad56f3455395b5c2de Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 1 Feb 2021 16:41:54 +0000 Subject: [PATCH 150/754] Added flat lib for JSON to CSV op --- package-lock.json | 35 ++++++++++++++++++++--------------- package.json | 1 + 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index b19e6605..ea1bc13c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6146,21 +6146,9 @@ "dev": true }, "flat": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", - "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", - "dev": true, - "requires": { - "is-buffer": "~2.0.3" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true - } - } + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" }, "flat-cache": { "version": "3.0.4", @@ -14932,6 +14920,23 @@ "flat": "^4.1.0", "lodash": "^4.17.15", "yargs": "^13.3.0" + }, + "dependencies": { + "flat": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", + "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", + "dev": true, + "requires": { + "is-buffer": "~2.0.3" + } + }, + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true + } } }, "yauzl": { diff --git a/package.json b/package.json index b413bd8f..57667223 100644 --- a/package.json +++ b/package.json @@ -115,6 +115,7 @@ "esprima": "^4.0.1", "exif-parser": "^0.1.12", "file-saver": "^2.0.5", + "flat": "^5.0.2", "geodesy": "^1.1.3", "highlight.js": "^10.4.1", "jimp": "^0.16.1", From e14745a97361422f65c63b0c7adcdc181cada231 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 1 Feb 2021 16:43:19 +0000 Subject: [PATCH 151/754] 9.22.3 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index ea1bc13c..8c297158 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.22.2", + "version": "9.22.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 57667223..cbb519fd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.22.2", + "version": "9.22.3", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 372ab325390c5ffb5f988de898f5ea779b20166f Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 1 Feb 2021 16:57:42 +0000 Subject: [PATCH 152/754] Updated dependencies --- Gruntfile.js | 13 - package-lock.json | 1588 +++++++++-------------------- package.json | 55 +- src/core/operations/JSONToCSV.mjs | 8 +- 4 files changed, 527 insertions(+), 1137 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index cb76118e..d49dc05f 100755 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -78,7 +78,6 @@ module.exports = function (grunt) { grunt.loadNpmTasks("grunt-contrib-watch"); grunt.loadNpmTasks("grunt-chmod"); grunt.loadNpmTasks("grunt-exec"); - grunt.loadNpmTasks("grunt-accessibility"); grunt.loadNpmTasks("grunt-concurrent"); grunt.loadNpmTasks("grunt-contrib-connect"); grunt.loadNpmTasks("grunt-zip"); @@ -197,18 +196,6 @@ module.exports = function (grunt) { node: ["src/node/**/*.{js,mjs}"], tests: ["tests/**/*.{js,mjs}"], }, - accessibility: { - options: { - accessibilityLevel: "WCAG2A", - verbose: false, - ignore: [ - "WCAG2A.Principle1.Guideline1_3.1_3_1.H42.2" - ] - }, - test: { - src: ["build/**/*.html"] - } - }, webpack: { options: webpackConfig, web: webpackProdConf(), diff --git a/package-lock.json b/package-lock.json index 8c297158..3df55f67 100644 --- a/package-lock.json +++ b/package-lock.json @@ -300,9 +300,9 @@ "dev": true }, "@babel/helper-validator-option": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz", - "integrity": "sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A==", + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", + "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==", "dev": true }, "@babel/helper-wrap-function": { @@ -383,9 +383,9 @@ "dev": true }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz", - "integrity": "sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==", + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz", + "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4", @@ -653,9 +653,9 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz", - "integrity": "sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w==", + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz", + "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" @@ -972,16 +972,16 @@ } }, "@babel/preset-env": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.10.tgz", - "integrity": "sha512-Gz9hnBT/tGeTE2DBNDkD7BiWRELZt+8lSysHuDwmYXUIvtwZl0zI+D6mZgXZX0u8YBlLS4tmai9ONNY9tjRgRA==", + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", + "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", "dev": true, "requires": { "@babel/compat-data": "^7.12.7", "@babel/helper-compilation-targets": "^7.12.5", "@babel/helper-module-imports": "^7.12.5", "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.1", + "@babel/helper-validator-option": "^7.12.11", "@babel/plugin-proposal-async-generator-functions": "^7.12.1", "@babel/plugin-proposal-class-properties": "^7.12.1", "@babel/plugin-proposal-dynamic-import": "^7.12.1", @@ -1010,7 +1010,7 @@ "@babel/plugin-transform-arrow-functions": "^7.12.1", "@babel/plugin-transform-async-to-generator": "^7.12.1", "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.11", "@babel/plugin-transform-classes": "^7.12.1", "@babel/plugin-transform-computed-properties": "^7.12.1", "@babel/plugin-transform-destructuring": "^7.12.1", @@ -1040,9 +1040,34 @@ "@babel/plugin-transform-unicode-escapes": "^7.12.1", "@babel/plugin-transform-unicode-regex": "^7.12.1", "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.10", + "@babel/types": "^7.12.11", "core-js-compat": "^3.8.0", "semver": "^5.5.0" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.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/preset-modules": { @@ -1146,9 +1171,9 @@ } }, "@eslint/eslintrc": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz", - "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", + "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -1158,7 +1183,7 @@ "ignore": "^4.0.6", "import-fresh": "^3.2.1", "js-yaml": "^3.13.1", - "lodash": "^4.17.19", + "lodash": "^4.17.20", "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" }, @@ -1553,6 +1578,12 @@ "fastq": "^1.6.0" } }, + "@polka/url": { + "version": "1.0.0-next.11", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.11.tgz", + "integrity": "sha512-3NsZsJIA/22P3QUyrEDNA2D133H4j224twJrdipXN38dpnIOzAbUDtOwkcJ5pXmn75w7LSQDjA4tO9dm1XlqlA==", + "dev": true + }, "@testim/chrome-version": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/@testim/chrome-version/-/chrome-version-1.0.7.tgz", @@ -1586,9 +1617,9 @@ } }, "@types/estree": { - "version": "0.0.45", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz", - "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==", + "version": "0.0.46", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz", + "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==", "dev": true }, "@types/glob": { @@ -1620,9 +1651,9 @@ "dev": true }, "@types/node": { - "version": "14.14.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.13.tgz", - "integrity": "sha512-vbxr0VZ8exFMMAjCW8rJwaya0dMCDyYW2ZRdTyjtrCvJoENMpdUHOT/eTzvgyA5ZnqRZ/sI0NwqAxNHKYokLJQ==", + "version": "14.14.22", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", + "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==", "dev": true }, "@types/parse-json": { @@ -1662,9 +1693,9 @@ } }, "@types/webpack": { - "version": "4.41.25", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.25.tgz", - "integrity": "sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==", + "version": "4.41.26", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.26.tgz", + "integrity": "sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA==", "dev": true, "requires": { "@types/anymatch": "*", @@ -1705,177 +1736,148 @@ } }, "@webassemblyjs/ast": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.1.tgz", - "integrity": "sha512-uMu1nCWn2Wxyy126LlGqRVlhdTOsO/bsBRI4dNq3+6SiSuRKRQX6ejjKgh82LoGAPSq72lDUiQ4FWVaf0PecYw==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz", + "integrity": "sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==", "dev": true, "requires": { - "@webassemblyjs/helper-module-context": "1.9.1", - "@webassemblyjs/helper-wasm-bytecode": "1.9.1", - "@webassemblyjs/wast-parser": "1.9.1" + "@webassemblyjs/helper-numbers": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.1.tgz", - "integrity": "sha512-5VEKu024RySmLKTTBl9q1eO/2K5jk9ZS+2HXDBLA9s9p5IjkaXxWiDb/+b7wSQp6FRdLaH1IVGIfOex58Na2pg==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz", + "integrity": "sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==", "dev": true }, "@webassemblyjs/helper-api-error": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.1.tgz", - "integrity": "sha512-y1lGmfm38djrScwpeL37rRR9f1D6sM8RhMpvM7CYLzOlHVboouZokXK/G88BpzW0NQBSvCCOnW5BFhten4FPfA==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz", + "integrity": "sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==", "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.1.tgz", - "integrity": "sha512-uS6VSgieHbk/m4GSkMU5cqe/5TekdCzQso4revCIEQ3vpGZgqSSExi4jWpTWwDpAHOIAb1Jfrs0gUB9AA4n71w==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz", + "integrity": "sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==", "dev": true }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.1.tgz", - "integrity": "sha512-ZQ2ZT6Evk4DPIfD+92AraGYaFIqGm4U20e7FpXwl7WUo2Pn1mZ1v8VGH8i+Y++IQpxPbQo/UyG0Khs7eInskzA==", + "@webassemblyjs/helper-numbers": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz", + "integrity": "sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==", "dev": true, "requires": { - "@webassemblyjs/wast-printer": "1.9.1" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.1.tgz", - "integrity": "sha512-J32HGpveEqqcKFS0YbgicB0zAlpfIxJa5MjxDxhu3i5ltPcVfY5EPvKQ1suRguFPehxiUs+/hfkwPEXom/l0lw==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.1.tgz", - "integrity": "sha512-IEH2cMmEQKt7fqelLWB5e/cMdZXf2rST1JIrzWmf4XBt3QTxGdnnLvV4DYoN8pJjOx0VYXsWg+yF16MmJtolZg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.1" + "@webassemblyjs/floating-point-hex-parser": "1.11.0", + "@webassemblyjs/helper-api-error": "1.11.0", + "@xtuc/long": "4.2.2" } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.1.tgz", - "integrity": "sha512-i2rGTBqFUcSXxyjt2K4vm/3kkHwyzG6o427iCjcIKjOqpWH8SEem+xe82jUk1iydJO250/CvE5o7hzNAMZf0dQ==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz", + "integrity": "sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==", "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.1.tgz", - "integrity": "sha512-FetqzjtXZr2d57IECK+aId3D0IcGweeM0CbAnJHkYJkcRTHP+YcMb7Wmc0j21h5UWBpwYGb9dSkK/93SRCTrGg==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz", + "integrity": "sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.1", - "@webassemblyjs/helper-buffer": "1.9.1", - "@webassemblyjs/helper-wasm-bytecode": "1.9.1", - "@webassemblyjs/wasm-gen": "1.9.1" + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-buffer": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0", + "@webassemblyjs/wasm-gen": "1.11.0" } }, "@webassemblyjs/ieee754": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.1.tgz", - "integrity": "sha512-EvTG9M78zP1MmkBpUjGQHZc26DzPGZSLIPxYHCjQsBMo60Qy2W34qf8z0exRDtxBbRIoiKa5dFyWer/7r1aaSQ==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz", + "integrity": "sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.1.tgz", - "integrity": "sha512-Oc04ub0vFfLnF+2/+ki3AE+anmW4sv9uNBqb+79fgTaPv6xJsOT0dhphNfL3FrME84CbX/D1T9XT8tjFo0IIiw==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.0.tgz", + "integrity": "sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==", "dev": true, "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.1.tgz", - "integrity": "sha512-llkYtppagjCodFjo0alWOUhAkfOiQPQDIc5oA6C9sFAXz7vC9QhZf/f8ijQIX+A9ToM3c9Pq85X0EX7nx9gVhg==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.0.tgz", + "integrity": "sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==", "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.1.tgz", - "integrity": "sha512-S2IaD6+x9B2Xi8BCT0eGsrXXd8UxAh2LVJpg1ZMtHXnrDcsTtIX2bDjHi40Hio6Lc62dWHmKdvksI+MClCYbbw==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz", + "integrity": "sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.1", - "@webassemblyjs/helper-buffer": "1.9.1", - "@webassemblyjs/helper-wasm-bytecode": "1.9.1", - "@webassemblyjs/helper-wasm-section": "1.9.1", - "@webassemblyjs/wasm-gen": "1.9.1", - "@webassemblyjs/wasm-opt": "1.9.1", - "@webassemblyjs/wasm-parser": "1.9.1", - "@webassemblyjs/wast-printer": "1.9.1" + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-buffer": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0", + "@webassemblyjs/helper-wasm-section": "1.11.0", + "@webassemblyjs/wasm-gen": "1.11.0", + "@webassemblyjs/wasm-opt": "1.11.0", + "@webassemblyjs/wasm-parser": "1.11.0", + "@webassemblyjs/wast-printer": "1.11.0" } }, "@webassemblyjs/wasm-gen": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.1.tgz", - "integrity": "sha512-bqWI0S4lBQsEN5FTZ35vYzfKUJvtjNnBobB1agCALH30xNk1LToZ7Z8eiaR/Z5iVECTlBndoRQV3F6mbEqE/fg==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz", + "integrity": "sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.1", - "@webassemblyjs/helper-wasm-bytecode": "1.9.1", - "@webassemblyjs/ieee754": "1.9.1", - "@webassemblyjs/leb128": "1.9.1", - "@webassemblyjs/utf8": "1.9.1" + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0", + "@webassemblyjs/ieee754": "1.11.0", + "@webassemblyjs/leb128": "1.11.0", + "@webassemblyjs/utf8": "1.11.0" } }, "@webassemblyjs/wasm-opt": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.1.tgz", - "integrity": "sha512-gSf7I7YWVXZ5c6XqTEqkZjVs8K1kc1k57vsB6KBQscSagDNbAdxt6MwuJoMjsE1yWY1tsuL+pga268A6u+Fdkg==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz", + "integrity": "sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.1", - "@webassemblyjs/helper-buffer": "1.9.1", - "@webassemblyjs/wasm-gen": "1.9.1", - "@webassemblyjs/wasm-parser": "1.9.1" + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-buffer": "1.11.0", + "@webassemblyjs/wasm-gen": "1.11.0", + "@webassemblyjs/wasm-parser": "1.11.0" } }, "@webassemblyjs/wasm-parser": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.1.tgz", - "integrity": "sha512-ImM4N2T1MEIond0MyE3rXvStVxEmivQrDKf/ggfh5pP6EHu3lL/YTAoSrR7shrbKNPpeKpGesW1LIK/L4kqduw==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz", + "integrity": "sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.1", - "@webassemblyjs/helper-api-error": "1.9.1", - "@webassemblyjs/helper-wasm-bytecode": "1.9.1", - "@webassemblyjs/ieee754": "1.9.1", - "@webassemblyjs/leb128": "1.9.1", - "@webassemblyjs/utf8": "1.9.1" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.1.tgz", - "integrity": "sha512-2xVxejXSvj3ls/o2TR/zI6p28qsGupjHhnHL6URULQRcXmryn3w7G83jQMcT7PHqUfyle65fZtWLukfdLdE7qw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.1", - "@webassemblyjs/floating-point-hex-parser": "1.9.1", - "@webassemblyjs/helper-api-error": "1.9.1", - "@webassemblyjs/helper-code-frame": "1.9.1", - "@webassemblyjs/helper-fsm": "1.9.1", - "@xtuc/long": "4.2.2" + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-api-error": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0", + "@webassemblyjs/ieee754": "1.11.0", + "@webassemblyjs/leb128": "1.11.0", + "@webassemblyjs/utf8": "1.11.0" } }, "@webassemblyjs/wast-printer": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.1.tgz", - "integrity": "sha512-tDV8V15wm7mmbAH6XvQRU1X+oPGmeOzYsd6h7hlRLz6QpV4Ec/KKxM8OpLtFmQPLCreGxTp+HuxtH4pRIZyL9w==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz", + "integrity": "sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.1", - "@webassemblyjs/wast-parser": "1.9.1", + "@webassemblyjs/ast": "1.11.0", "@xtuc/long": "4.2.2" } }, @@ -1891,12 +1893,6 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, - "abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", - "dev": true - }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -1913,279 +1909,6 @@ "negotiator": "0.6.2" } }, - "access-sniff": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/access-sniff/-/access-sniff-3.2.0.tgz", - "integrity": "sha512-HLvH8e5g312urx6ZRo+nxSHjhVHEcuUxbpjFaFQ1LZOtN19L0CSb5ppwxtxy0QZ05zYAcWmXH6lVurdb+mGuUw==", - "dev": true, - "requires": { - "axios": "^0.18.0", - "bluebird": "^3.5.1", - "chalk": "^2.3.1", - "commander": "^2.14.1", - "glob": "^7.1.2", - "html_codesniffer": "^2.1.1", - "jsdom": "^11.6.2", - "mkdirp": "^0.5.1", - "phantomjs-prebuilt": "^2.1.16", - "rc": "^1.2.5", - "underscore": "^1.8.3", - "unixify": "^1.0.0", - "validator": "^9.4.1" - }, - "dependencies": { - "acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", - "dev": true - }, - "acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", - "dev": true, - "requires": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" - }, - "dependencies": { - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true - } - } - }, - "acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", - "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" - } - }, - "axios": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", - "integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==", - "dev": true, - "requires": { - "follow-redirects": "1.5.10", - "is-buffer": "^2.0.2" - } - }, - "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" - } - }, - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "cssstyle": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", - "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", - "dev": true, - "requires": { - "cssom": "0.3.x" - } - }, - "data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" - }, - "dependencies": { - "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" - } - } - } - }, - "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" - } - }, - "domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", - "dev": true, - "requires": { - "webidl-conversions": "^4.0.2" - } - }, - "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" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "dev": true, - "requires": { - "debug": "=3.1.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" - } - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true - }, - "jsdom": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", - "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "acorn": "^5.5.3", - "acorn-globals": "^4.1.0", - "array-equal": "^1.0.0", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": "^1.0.0", - "data-urls": "^1.0.0", - "domexception": "^1.0.1", - "escodegen": "^1.9.1", - "html-encoding-sniffer": "^1.0.2", - "left-pad": "^1.3.0", - "nwsapi": "^2.0.7", - "parse5": "4.0.0", - "pn": "^1.1.0", - "request": "^2.87.0", - "request-promise-native": "^1.0.5", - "sax": "^1.2.4", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.3.4", - "w3c-hr-time": "^1.0.1", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.3", - "whatwg-mimetype": "^2.1.0", - "whatwg-url": "^6.4.1", - "ws": "^5.2.0", - "xml-name-validator": "^3.0.0" - } - }, - "parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", - "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" - } - }, - "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" - } - }, - "underscore": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.0.tgz", - "integrity": "sha512-21rQzss/XPMjolTiIezSu3JAjgagXKROtNrYFEOWK109qY1Uv2tVjPTZ1ci2HgvQDA16gHYSthQIJfB+XId/rQ==", - "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 - }, - "whatwg-url": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", - "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - } - } - }, "acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", @@ -2198,6 +1921,12 @@ "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", "dev": true }, + "acorn-walk": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.0.2.tgz", + "integrity": "sha512-+bpA9MJsHdZ4bgfDcpk0ozQyhhVct7rzOmO0s1IIr0AGGgKBljss8n2zp11rRP2wid5VGeh04CgeKzgat5/25A==", + "dev": true + }, "agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", @@ -2464,9 +2193,9 @@ } }, "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.0.tgz", + "integrity": "sha512-4P8Zm2H+BRS+c/xX1LrHw0qKpEhdlZjLCgWy+d78T9vqa2Z2SiD2wMrYuWIAFy5IZUD7nnNXroRttz+0RzlrzQ==", "dev": true }, "argparse": { @@ -2498,12 +2227,6 @@ "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", "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-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", @@ -2511,9 +2234,9 @@ "dev": true }, "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", "dev": true }, "array-slice": { @@ -2632,9 +2355,9 @@ } }, "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true }, "async": { @@ -2674,15 +2397,15 @@ "dev": true }, "autoprefixer": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.1.0.tgz", - "integrity": "sha512-0/lBNwN+ZUnb5su18NZo5MBIjDaq6boQKZcxwy86Gip/CmXA2zZqUoFQLCNAGI5P25ZWSP2RWdhDJ8osfKEjoQ==", + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.2.4.tgz", + "integrity": "sha512-DCCdUQiMD+P/as8m3XkeTUkUKuuRqLGcwD0nll7wevhqoJfMRpJlkFd1+MQh1pvupjiQuip42lc/VFvfUTMSKw==", "dev": true, "requires": { - "browserslist": "^4.15.0", - "caniuse-lite": "^1.0.30001165", + "browserslist": "^4.16.1", + "caniuse-lite": "^1.0.30001181", "colorette": "^1.2.1", - "fraction.js": "^4.0.12", + "fraction.js": "^4.0.13", "normalize-range": "^0.1.2", "postcss-value-parser": "^4.1.0" } @@ -2705,9 +2428,9 @@ "dev": true }, "axios": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.0.tgz", - "integrity": "sha512-fmkJBknJKoZwem3/IKSSLpkdNXZeBu5Q7GA/aRsr2btgrptmSCxi2oFjZHqGdK9DoTil9PIHlPIZw2EcRJXRvw==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", "dev": true, "requires": { "follow-redirects": "^1.10.0" @@ -3103,14 +2826,6 @@ "dns-txt": "^2.0.2", "multicast-dns": "^6.0.1", "multicast-dns-service-types": "^1.1.0" - }, - "dependencies": { - "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 - } } }, "boolbase": { @@ -3120,9 +2835,9 @@ "dev": true }, "bootstrap": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.3.tgz", - "integrity": "sha512-o9ppKQioXGqhw8Z7mah6KdTYpNQY//tipnkxppWhPbiSWdD+1raYsnhwEZjkTHYbGee4cVQ0Rx65EhOY/HNLcQ==" + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz", + "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==" }, "bootstrap-colorpicker": { "version": "3.2.0", @@ -3163,12 +2878,6 @@ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, "browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", @@ -3243,16 +2952,16 @@ } }, "browserslist": { - "version": "4.16.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz", - "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==", + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001165", + "caniuse-lite": "^1.0.30001181", "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.621", + "electron-to-chromium": "^1.3.649", "escalade": "^3.1.1", - "node-releases": "^1.1.67" + "node-releases": "^1.1.70" } }, "bson": { @@ -3393,9 +3102,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001166", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001166.tgz", - "integrity": "sha512-nCL4LzYK7F4mL0TjEMeYavafOGnBa98vTudH5c8lW9izUjnB99InG6pmC1ElAI1p0GlyZajv4ltUdFXvOHIl1A==", + "version": "1.0.30001181", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001181.tgz", + "integrity": "sha512-m5ul/ARCX50JB8BSNM+oiPmQrR5UmngaQ3QThTTp5HcIIQGP/nPBs82BYLE+tigzm3VW+F4BJIhUyaVtEweelQ==", "dev": true }, "caseless": { @@ -3576,13 +3285,13 @@ } }, "chromedriver": { - "version": "87.0.4", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-87.0.4.tgz", - "integrity": "sha512-kD4N/L8c0nAzh1eEAiAbEIq6Pn5TvGvckODvP5dPqF90q5tPiAJZCoWWSOUV/mrPxiodjHPfmNeOfGERHugzug==", + "version": "88.0.0", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-88.0.0.tgz", + "integrity": "sha512-EE8rXh7mikxk3VWKjUsz0KCUX8d3HkQ4HgMNJhWrWjzju12dKPPVHO9MY+YaAI5ryXrXGNf0Y4HcNKgW36P/CA==", "dev": true, "requires": { "@testim/chrome-version": "^1.0.7", - "axios": "^0.21.0", + "axios": "^0.21.1", "del": "^6.0.0", "extract-zip": "^2.0.1", "https-proxy-agent": "^5.0.0", @@ -3662,9 +3371,9 @@ } }, "cli-progress": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.8.2.tgz", - "integrity": "sha512-qRwBxLldMSfxB+YGFgNRaj5vyyHe1yMpVeDL79c+7puGujdKJHQHydgqXDcrkvQgJ5U/d3lpf6vffSoVVUftVQ==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.9.0.tgz", + "integrity": "sha512-g7rLWfhAo/7pF+a/STFH/xPyosaL1zgADhI0OM83hl3c7S43iGvJWEAV2QuDOnQ8i6EMBj/u4+NTd0d5L+4JfA==", "dev": true, "requires": { "colors": "^1.1.2", @@ -3862,50 +3571,6 @@ "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" - }, - "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" - } - } - } - }, "connect": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", @@ -4050,17 +3715,17 @@ } }, "core-js": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.1.tgz", - "integrity": "sha512-9Id2xHY1W7m8hCl8NkhQn5CufmF/WuR30BTRewvCXc1aZd3kMECwNZ69ndLbekKfakw9Rf2Xyc+QR6E7Gg+obg==" + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.3.tgz", + "integrity": "sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q==" }, "core-js-compat": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.1.tgz", - "integrity": "sha512-a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.3.tgz", + "integrity": "sha512-1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog==", "dev": true, "requires": { - "browserslist": "^4.15.0", + "browserslist": "^4.16.1", "semver": "7.0.0" }, "dependencies": { @@ -4097,9 +3762,9 @@ }, "dependencies": { "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "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", @@ -4244,21 +3909,21 @@ } }, "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", "dev": true, "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^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==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", "dev": true }, "cssesc": { @@ -4288,9 +3953,9 @@ "dev": true }, "d3": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/d3/-/d3-6.3.1.tgz", - "integrity": "sha512-rbaoA67o2N4lO1TCuvrTGQdowNb3zT0z2ygg6TLmJZAd7TRPg+lhbfDOVwQUAgdbRD+73kg2FrEQ9HLiap5H2w==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-6.5.0.tgz", + "integrity": "sha512-gr7FoRecKtBkBxelTeGVYERRTPgjPFLh2rOBisHdbXe3RIrVLjCo7COZYMSeFeiwVPOHDtxAGJlvN7XssNAIcg==", "requires": { "d3-array": "2", "d3-axis": "2", @@ -4325,9 +3990,12 @@ } }, "d3-array": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.9.1.tgz", - "integrity": "sha512-Ob7RdOtkqsjx1NWyQHMFLtCSk6/aKTxDdC4ZIolX+O+mDD2RzrsYgAyc0WGAlfYFVELLSilS7w8BtE3PKM8bHg==" + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.11.0.tgz", + "integrity": "sha512-26clcwmHQEdsLv34oNKq5Ia9tQ26Y/4HqS3dQzF42QBUqymZJ+9PORcN1G52bt37NsL2ABoX4lvyYZc+A9Y0zw==", + "requires": { + "internmap": "^1.0.0" + } }, "d3-axis": { "version": "2.0.0", @@ -4612,12 +4280,6 @@ "regexp.prototype.flags": "^1.2.0" } }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, "deep-for-each": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/deep-for-each/-/deep-for-each-3.0.0.tgz", @@ -4640,6 +4302,14 @@ "requires": { "execa": "^1.0.0", "ip-regex": "^2.1.0" + }, + "dependencies": { + "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 + } } }, "defaults": { @@ -4925,9 +4595,9 @@ } }, "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "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", @@ -5031,9 +4701,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.625", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.625.tgz", - "integrity": "sha512-CsLk/r0C9dAzVPa9QF74HIXduxaucsaRfqiOYvIv2PRhvyC6EOqc/KbpgToQuDVgPf3sNAFZi3iBu4vpGOwGag==", + "version": "1.3.649", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.649.tgz", + "integrity": "sha512-ojGDupQ3UMkvPWcTICe4JYe17+o9OLiFMPoduoR72Zp2ILt1mRVeqnxBEd6s/ptekrnsFU+0A4lStfBe/wyG/A==", "dev": true }, "elliptic": { @@ -5085,13 +4755,13 @@ } }, "enhanced-resolve": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.4.0.tgz", - "integrity": "sha512-ZmqfWURB2lConOBM1JdCVfPyMRv5RdKWktLXO6123p97ovVm2CLBgw9t5MBj3jJWA6eHyOeIws9iJQoGFR4euQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz", + "integrity": "sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==", "dev": true, "requires": { "graceful-fs": "^4.2.4", - "tapable": "^2.0.0" + "tapable": "^2.2.0" }, "dependencies": { "tapable": { @@ -5129,9 +4799,9 @@ "dev": true }, "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, "requires": { "prr": "~1.0.1" @@ -5173,6 +4843,12 @@ "string.prototype.trimstart": "^1.0.1" } }, + "es-module-lexer": { + "version": "0.3.26", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.3.26.tgz", + "integrity": "sha512-Va0Q/xqtrss45hWzP8CZJwzGSZJjDM5/MJRE3IXXnUCcVLElR9BRaE9F62BopysASyc4nM3uwhSW7FFB9nlWAA==", + "dev": true + }, "es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", @@ -5243,13 +4919,13 @@ } }, "eslint": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz", - "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.19.0.tgz", + "integrity": "sha512-CGlMgJY56JZ9ZSYhJuhow61lMPPjUzWmChFya71Z/jilVos7mR/jPgaEfVGgMBY5DshbKdG8Ezb8FDCHcoMEMg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@eslint/eslintrc": "^0.2.2", + "@eslint/eslintrc": "^0.3.0", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -5273,7 +4949,7 @@ "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.19", + "lodash": "^4.17.20", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", @@ -5282,7 +4958,7 @@ "semver": "^7.2.1", "strip-ansi": "^6.0.0", "strip-json-comments": "^3.1.0", - "table": "^5.2.3", + "table": "^6.0.4", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, @@ -5697,38 +5373,12 @@ } }, "exports-loader": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-1.1.1.tgz", - "integrity": "sha512-CmyhIR2sJ3KOfVsHjsR0Yvo+0lhRhRMAevCbB8dhTVLHsZPs0lCQTvRmR9YNvBXDBxUuhmCE2f54KqEjZUaFrg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-2.0.0.tgz", + "integrity": "sha512-k/VFrVEUmotfkk8vZ+njG5NEXpr5Ee+BonV+AYINV2hNo3o+/UB8nEuCUQk2k6IyWIoobmXoTFO0igxrQcMV4Q==", "dev": true, "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", "source-map": "^0.6.1" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } } }, "express": { @@ -5769,6 +5419,12 @@ "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 + }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -6051,12 +5707,6 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", "dev": true }, - "filesize": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz", - "integrity": "sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==", - "dev": true - }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -6161,15 +5811,15 @@ } }, "flatted": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz", - "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", "dev": true }, "follow-redirects": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", - "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz", + "integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==", "dev": true }, "for-in": { @@ -6211,9 +5861,9 @@ "dev": true }, "fraction.js": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.0.12.tgz", - "integrity": "sha512-8Z1K0VTG4hzYY7kA/1sj4/r1/RWLBD3xwReT/RCrUCbzPszjNQCCsy3ktkU/eaEqX3MYa4pY37a52eiBlPMlhA==", + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.0.13.tgz", + "integrity": "sha512-E1fz2Xs9ltlUp+qbiyx9wmt2n9dRzPsS11Jtdb8D2o+cC7wr9xkkKsVKJuBX0ST+LVS+LhLO+SbLJNtfWcJvXA==", "dev": true }, "fragment-cache": { @@ -6231,17 +5881,6 @@ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "dev": true }, - "fs-extra": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", - "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0" - } - }, "fs-minipass": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", @@ -6662,15 +6301,6 @@ } } }, - "grunt-accessibility": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/grunt-accessibility/-/grunt-accessibility-6.0.0.tgz", - "integrity": "sha512-5Y7MMYzpzMICkspvmUOU+YC/VE5eiB5TV8k9u43ZFrzLIoYDulKce8KX0fyi2EXYEDKlUEyaVI/W4rLDqqy3/Q==", - "dev": true, - "requires": { - "access-sniff": "^3.2.0" - } - }, "grunt-chmod": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/grunt-chmod/-/grunt-chmod-1.1.1.tgz", @@ -7129,16 +6759,6 @@ "minimalistic-assert": "^1.0.1" } }, - "hasha": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", - "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=", - "dev": true, - "requires": { - "is-stream": "^1.0.1", - "pinkie-promise": "^2.0.0" - } - }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -7146,9 +6766,9 @@ "dev": true }, "highlight.js": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.4.1.tgz", - "integrity": "sha512-yR5lWvNz7c85OhVAEAeFhVCc/GV4C30Fjzc/rCP0aCWzc1UUOPUk55dK/qdwTZHBvMZo+eZ2jpk62ndX/xMFlg==" + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.5.0.tgz", + "integrity": "sha512-xTmvd9HiIHR6L53TMC7TKolEj65zG1XU+Onr8oi86mYa+nLcIbxTTWkpW7CsEwv/vK7u1zb8alZIMLDqqN6KTw==" }, "hmac-drbg": { "version": "1.0.1", @@ -7226,9 +6846,9 @@ } }, "html-entities": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.3.tgz", - "integrity": "sha512-/VulV3SYni1taM7a4RMdceqzJWR39gpZHjBwUnsCFKWV/GJkD14CJ5F7eWcZozmHJK0/f/H5U3b3SiPkuvxMgg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", "dev": true }, "html-minifier-terser": { @@ -7274,9 +6894,9 @@ } }, "html-webpack-plugin": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz", - "integrity": "sha512-MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.1.tgz", + "integrity": "sha512-yzK7RQZwv9xB+pcdHNTjcqbaaDZ+5L0zJHXfi89iWIZmb/FtzxhLk0635rmJihcQbs3ZUF27Xp4oWGx6EK56zg==", "dev": true, "requires": { "@types/html-minifier-terser": "^5.0.0", @@ -7284,18 +6904,12 @@ "@types/webpack": "^4.41.8", "html-minifier-terser": "^5.0.1", "loader-utils": "^1.2.3", - "lodash": "^4.17.15", + "lodash": "^4.17.20", "pretty-error": "^2.1.1", "tapable": "^1.1.3", "util.promisify": "1.0.0" } }, - "html_codesniffer": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/html_codesniffer/-/html_codesniffer-2.5.1.tgz", - "integrity": "sha512-vcz0yAaX/OaV6sdNHuT9alBOKkSxYb8h5Yq26dUqgi7XmCgGUSa7U9PiY1PBXQFMjKv1wVPs5/QzHlGuxPDUGg==", - "dev": true - }, "htmlparser2": { "version": "3.10.1", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", @@ -7627,9 +7241,9 @@ "integrity": "sha1-/IQJlmRGC5DKhi2TALa/u7+/gFY=" }, "import-fresh": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz", - "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -7692,13 +7306,12 @@ } }, "imports-loader": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-1.2.0.tgz", - "integrity": "sha512-zPvangKEgrrPeqeUqH0Uhc59YqK07JqZBi9a9cQ3v/EKUIqrbJHY4CvUrDus2lgQa5AmPyXuGrWP8JJTqzE5RQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-2.0.0.tgz", + "integrity": "sha512-ZwEx0GfsJ1QckGqHSS1uu1sjpUgT3AYFOr3nT07dVnfeyc/bOICSw48067hr0u7DW8TZVzNVvdnvA62U9lG8nQ==", "dev": true, "requires": { "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", "source-map": "^0.6.1", "strip-comments": "^2.0.1" }, @@ -7713,17 +7326,6 @@ "emojis-list": "^3.0.0", "json5": "^2.1.2" } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } } } }, @@ -7776,6 +7378,11 @@ "ipaddr.js": "^1.9.0" } }, + "internmap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.0.tgz", + "integrity": "sha512-SdoDWwNOTE2n4JWUsLn4KXZGuZPjPF9yyOGc8bnfWnBQh7BD/l80rzSznKc/r4Y0aQ7z3RTk9X+tV4tHBpu+dA==" + }, "interpret": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", @@ -7797,9 +7404,9 @@ "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=", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", "dev": true }, "ipaddr.js": { @@ -8112,14 +7719,14 @@ "dev": true }, "is2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.1.tgz", - "integrity": "sha512-+WaJvnaA7aJySz2q/8sLjMb2Mw14KTplHmSwcSpZ/fWJPkUmqw3YTzSWbPJ7OAwRvdYTWF2Wg+yYJ1AdP5Z8CA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.6.tgz", + "integrity": "sha512-+Z62OHOjA6k2sUDOKXoZI3EXv7Fb1K52jpTBLbkfx62bcUeSsrTBLhEquCRDKTx0XE5XbHcG/S2vrtE3lnEDsQ==", "dev": true, "requires": { "deep-is": "^0.1.3", - "ip-regex": "^2.1.0", - "is-url": "^1.2.2" + "ip-regex": "^4.1.0", + "is-url": "^1.2.4" } }, "isarray": { @@ -8300,19 +7907,10 @@ "minimist": "^1.2.5" } }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, "jsonpath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.0.2.tgz", - "integrity": "sha512-rmzlgFZiQPc6q4HDyK8s9Qb4oxBnI5sF61y/Co5PV0lc3q2bIuRsNdueVbhoSHdKM4fxeimphOAtfz47yjCfeA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.0.tgz", + "integrity": "sha512-CZHwa1sZOf42qkIyK7evwToFXeTB4iplbl6Z9CVwU0wmBQPffL6gtYJXCoeciJoZENMuzaidPjhp2iOLRei4wQ==", "requires": { "esprima": "1.2.2", "static-eval": "2.0.2", @@ -8368,9 +7966,9 @@ "integrity": "sha512-zCTP6Qd/WwjrpuHFkJuXc5opRdKprUr7eI7+JCCtcetThJt45qptu82MWQ+eET+FtDrMo7+BYjo3iD0XIq1L9Q==" }, "jsrsasign": { - "version": "10.1.4", - "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.1.4.tgz", - "integrity": "sha512-j+bG6EaQ/SBvQvnI8M2x3Wawz8jx3fBViPClAw84QpsnLSjtr5fobp5W2TAljpAhboxWvbkZmd/KDBm+hckqJQ==" + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.1.5.tgz", + "integrity": "sha512-xlCtvZ+S2fPnw6YQyPkgMZ1dgMJ02bmK5Rt1umpo/KThBP6Zzq9awzXU71NEw1NYxXmLFnjorpQYKLZzMdF3lg==" }, "jszip": { "version": "2.5.0", @@ -8428,12 +8026,6 @@ "tweetnacl": "^0.13.1" } }, - "kew": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", - "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", - "dev": true - }, "keybase-ecurve": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/keybase-ecurve/-/keybase-ecurve-1.0.1.tgz", @@ -8464,27 +8056,12 @@ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.9" - } - }, "klona": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", "dev": true }, - "left-pad": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", - "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", - "dev": true - }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -8695,9 +8272,9 @@ } }, "loader-runner": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.1.0.tgz", - "integrity": "sha512-oR4lB4WvwFoC70ocraKhn5nkKSs23t57h9udUgw8o0iH8hMXeEoRuUgfcvgUwAJ1ZpRqBvcou4N2SMvM1DwMrA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", "dev": true }, "loader-utils": { @@ -8889,12 +8466,6 @@ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true - }, "log-symbols": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", @@ -9033,9 +8604,9 @@ } }, "markdown-it": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.0.3.tgz", - "integrity": "sha512-M57RsMv+QQmJHz1yCu0gTJRMx/LlxRPtrrw+2kb/CpDVK/graCmWO0qfNnz/SE1FCNdyq3pkMMZ+itTnyT/YGA==", + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.0.4.tgz", + "integrity": "sha512-34RwOXZT8kyuOJy25oJNJoulO8L0bTHYWXcdZBYZqFnjIy3NgjeoM3FmPXIOFQ26/lSHYMr8oc62B6adxXcb3Q==", "requires": { "argparse": "^2.0.1", "entities": "~2.1.0", @@ -9210,9 +8781,9 @@ } }, "mini-css-extract-plugin": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.3.tgz", - "integrity": "sha512-7lvliDSMiuZc81kI+5/qxvn47SCM7BehXex3f2c6l/pR3Goj58IQxZh9nuPQ3AkGQgoETyXuIqLDaO5Oa0TyBw==", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.5.tgz", + "integrity": "sha512-tvmzcwqJJXau4OQE5vT72pRT18o2zF+tQJp8CWchqvfQnTlflkzS+dANYcRdyPRWUWRkfmeNTKltx0NZI/b5dQ==", "dev": true, "requires": { "loader-utils": "^2.0.0", @@ -9825,9 +9396,9 @@ "integrity": "sha1-9WH0WyszY1K4KXbFHMoRR9U5N/U=" }, "node-releases": { - "version": "1.1.67", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", - "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==", + "version": "1.1.70", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", + "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==", "dev": true }, "node-sass": { @@ -9946,12 +9517,6 @@ "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz", "integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==" }, - "nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", @@ -10757,46 +10322,6 @@ "iced-runtime": ">=0.0.1" } }, - "phantomjs-prebuilt": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz", - "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=", - "dev": true, - "requires": { - "es6-promise": "^4.0.3", - "extract-zip": "^1.6.5", - "fs-extra": "^1.0.0", - "hasha": "^2.2.0", - "kew": "^0.7.0", - "progress": "^1.1.8", - "request": "^2.81.0", - "request-progress": "^2.0.1", - "which": "^1.2.10" - }, - "dependencies": { - "extract-zip": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", - "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", - "dev": true, - "requires": { - "concat-stream": "^1.6.2", - "debug": "^2.6.9", - "mkdirp": "^0.5.4", - "yauzl": "^2.10.0" - } - }, - "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" - } - } - } - }, "phin": { "version": "2.9.3", "resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz", @@ -10846,18 +10371,6 @@ "find-up": "^4.0.0" } }, - "pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8=", - "dev": true - }, - "pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", - "dev": true - }, "pngjs": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", @@ -10933,9 +10446,9 @@ "dev": true }, "postcss": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.1.tgz", - "integrity": "sha512-RhsqOOAQzTgh1UB/IZdca7F9WDb7SUCR2Vnv1x7DbvuuggQIpoDwjK+q0rzoPffhYvWNKX5JSwS4so4K3UC6vA==", + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.4.tgz", + "integrity": "sha512-kRFftRoExRVXZlwUuay9iC824qmXPcQQVzAjbCCgjpXnkdMCJYBu2gTwAaFBzv8ewND6O8xFb3aELmEkh9zTzg==", "dev": true, "requires": { "colorette": "^1.2.1", @@ -10998,9 +10511,9 @@ } }, "postcss-import": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-13.0.0.tgz", - "integrity": "sha512-LPUbm3ytpYopwQQjqgUH4S3EM/Gb9QsaSPP/5vnoi+oKVy3/mIk2sc0Paqw7RL57GpScm9MdIMUypw2znWiBpg==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.0.tgz", + "integrity": "sha512-gFDDzXhqr9ELmnLHgCC3TbGfA6Dm/YMb/UN8/f7Uuq4fL7VTk2vOIj6hwINEwbokEmp123bLD7a5m+E+KIetRg==", "dev": true, "requires": { "postcss-value-parser": "^4.0.0", @@ -11009,16 +10522,16 @@ } }, "postcss-loader": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.1.0.tgz", - "integrity": "sha512-vbCkP70F3Q9PIk6d47aBwjqAMI4LfkXCoyxj+7NPNuVIwfTGdzv2KVQes59/RuxMniIgsYQCFSY42P3+ykJfaw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.2.0.tgz", + "integrity": "sha512-mqgScxHqbiz1yxbnNcPdKYo/6aVt+XExURmEbQlviFVWogDbM4AJ0A/B+ZBpYsJrTRxKw7HyRazg9x0Q9SWwLA==", "dev": true, "requires": { "cosmiconfig": "^7.0.0", "klona": "^2.0.4", "loader-utils": "^2.0.0", "schema-utils": "^3.0.0", - "semver": "^7.3.2" + "semver": "^7.3.4" }, "dependencies": { "loader-utils": { @@ -11139,17 +10652,16 @@ "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=" }, "prompt": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prompt/-/prompt-1.0.0.tgz", - "integrity": "sha1-jlcSPDlquYiJf7Mn/Trtw+c15P4=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/prompt/-/prompt-1.1.0.tgz", + "integrity": "sha512-ec1vUPXCplDBDUVD8uPa3XGA+OzLrO40Vxv3F1uxoiZGkZhdctlK2JotcHq5X6ExjocDOGwGdCSXloGNyU5L1Q==", "dev": true, "requires": { "colors": "^1.1.2", - "pkginfo": "0.x.x", "read": "1.0.x", "revalidator": "0.1.x", "utile": "0.3.x", - "winston": "2.1.x" + "winston": "2.x" } }, "proxy-addr": { @@ -11395,26 +10907,6 @@ } } }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "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 - } - } - }, "read": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", @@ -11749,9 +11241,9 @@ "dev": true }, "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.7.tgz", + "integrity": "sha512-ib77G0uxsA2ovgiYbCVGx4Pv3PSttAx2vIwidqQzbL2U5S4Q+j00HdSAneSBuyVcMvEnTXMjiGgB+DlXozVhpQ==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -11778,14 +11270,14 @@ "dev": true }, "renderkid": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.4.tgz", - "integrity": "sha512-K2eXrSOJdq+HuKzlcjOlGoOarUu5SDguDEhE7+Ah4zuOWL40j8A/oHvLlLob9PSTNvVnBd+/q0Er1QfpEuem5g==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz", + "integrity": "sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==", "dev": true, "requires": { - "css-select": "^1.1.0", + "css-select": "^2.0.2", "dom-converter": "^0.2", - "htmlparser2": "^3.3.0", + "htmlparser2": "^3.10.1", "lodash": "^4.17.20", "strip-ansi": "^3.0.0" } @@ -11839,15 +11331,6 @@ "uuid": "^3.3.2" } }, - "request-progress": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", - "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=", - "dev": true, - "requires": { - "throttleit": "^1.0.0" - } - }, "request-promise": { "version": "4.2.6", "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.6.tgz", @@ -11869,23 +11352,18 @@ "lodash": "^4.17.19" } }, - "request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "dev": true, - "requires": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - } - }, "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-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -12047,9 +11525,9 @@ } }, "sass-loader": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.0.tgz", - "integrity": "sha512-ZCKAlczLBbFd3aGAhowpYEy69Te3Z68cg8bnHHl6WnSCvnKpbM6pQrz957HWMa8LKVuhnD9uMplmMAHwGQtHeg==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.1.tgz", + "integrity": "sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw==", "dev": true, "requires": { "klona": "^2.0.4", @@ -12321,15 +11799,34 @@ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, - "sitemap": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-6.3.3.tgz", - "integrity": "sha512-hcdtDJG8wNoogsvwohd0/BbGXEH4E2Dj2E0RCcXUGhEojTiZrqib4w689/q+kwabzD8HcGgstBDSbtJThzLuJA==", + "sirv": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.11.tgz", + "integrity": "sha512-SR36i3/LSWja7AJNRBz4fF/Xjpn7lQFI30tZ434dIy+bitLYSP+ZEenHg36i23V2SGEz+kqjksg0uOGZ5LPiqg==", "dev": true, "requires": { - "@types/node": "^14.14.6", + "@polka/url": "^1.0.0-next.9", + "mime": "^2.3.1", + "totalist": "^1.0.0" + }, + "dependencies": { + "mime": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", + "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==", + "dev": true + } + } + }, + "sitemap": { + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-6.3.5.tgz", + "integrity": "sha512-uLz8c5nI31bd4/+nccVWhJx18JxLF+1bAKhhxMv0IYKClSK8wWtANKsl9FOluqmz37ObeBLGVVgNOpg3r+yz/g==", + "dev": true, + "requires": { + "@types/node": "^14.14.14", "@types/sax": "^1.2.1", - "arg": "^4.1.3", + "arg": "^5.0.0", "sax": "^1.2.4" } }, @@ -12340,29 +11837,38 @@ "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==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.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==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" } }, - "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=", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true } } @@ -12492,39 +11998,39 @@ } }, "sockjs": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", - "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==", + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", "dev": true, "requires": { - "faye-websocket": "^0.10.0", + "faye-websocket": "^0.11.3", "uuid": "^3.4.0", - "websocket-driver": "0.6.5" + "websocket-driver": "^0.7.4" }, "dependencies": { - "websocket-driver": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", - "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", + "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-extensions": ">=0.1.1" + "websocket-driver": ">=0.5.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==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", + "integrity": "sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==", "dev": true, "requires": { - "debug": "^3.2.5", + "debug": "^3.2.6", "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.4.7" }, "dependencies": { "debug": { @@ -12594,9 +12100,9 @@ } }, "sortablejs": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.12.0.tgz", - "integrity": "sha512-bPn57rCjBRlt2sC24RBsu40wZsmLkSo2XeqG8k6DC1zru5eObQUIPPZAQG7W2SJ8FZQYq+BEJmvuw1Zxb3chqg==" + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.13.0.tgz", + "integrity": "sha512-RBJirPY0spWCrU5yCmWM1eFs/XgX2J5c6b275/YyxFRgnzPhKl/TDeU2hNR8Dt7ITq66NRPM4UlOt+e5O4CFHg==" }, "source-list-map": { "version": "2.0.1", @@ -13077,61 +12583,35 @@ } } }, - "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==", + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", + "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", "dev": true, "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" + "ajv": "^7.0.2", + "lodash": "^4.17.20", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.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 - }, - "emoji-regex": { + "ajv": { "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "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": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz", + "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" } }, - "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" - } + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true } } }, @@ -13164,28 +12644,28 @@ } }, "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==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz", + "integrity": "sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==", "dev": true, "requires": { - "debug": "4.1.0", - "is2": "2.0.1" + "debug": "4.3.1", + "is2": "^2.0.6" }, "dependencies": { "debug": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", - "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } @@ -13213,17 +12693,17 @@ } }, "terser-webpack-plugin": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.0.3.tgz", - "integrity": "sha512-zFdGk8Lh9ZJGPxxPE6jwysOlATWB8GMW8HcfGULWA/nPal+3VdATflQvSBSLQJRCmYZnfFJl6vkRTiwJGNgPiQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz", + "integrity": "sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q==", "dev": true, "requires": { - "jest-worker": "^26.6.1", - "p-limit": "^3.0.2", + "jest-worker": "^26.6.2", + "p-limit": "^3.1.0", "schema-utils": "^3.0.0", "serialize-javascript": "^5.0.1", "source-map": "^0.6.1", - "terser": "^5.3.8" + "terser": "^5.5.1" }, "dependencies": { "p-limit": { @@ -13289,12 +12769,6 @@ "resolved": "https://registry.npmjs.org/thirty-two/-/thirty-two-0.0.2.tgz", "integrity": "sha1-QlPinYywWPBIAmfFaYwOSSflS2o=" }, - "throttleit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", - "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", - "dev": true - }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -13451,6 +12925,12 @@ "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", "dev": true }, + "totalist": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", + "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", + "dev": true + }, "tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", @@ -13539,12 +13019,6 @@ "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.23", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.23.tgz", @@ -13638,26 +13112,6 @@ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", "dev": true }, - "unixify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz", - "integrity": "sha1-OmQcjC/7zk2mg6XHDwOkYpQMIJA=", - "dev": true, - "requires": { - "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" - } - } - } - }, "unorm": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz", @@ -13922,12 +13376,6 @@ "spdx-expression-parse": "^3.0.0" } }, - "validator": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/validator/-/validator-9.4.1.tgz", - "integrity": "sha512-YV5KjzvRmSyJ1ee/Dm5UED0G+1L4GZnLN3w6/T+zZm8scVua4sOhYKWTUrKa0H/tMiJyO9QLHMPN+9mB/aMunA==", - "dev": true - }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -13950,15 +13398,6 @@ "resolved": "https://registry.npmjs.org/vkbeautify/-/vkbeautify-0.99.3.tgz", "integrity": "sha512-2ozZEFfmVvQcHWoHLNuiKlUfDKlhh4KGsy54U0UrlLMR1SO+XKAIDqBxtBwHgNrekurlJwE8A9K6L49T78ZQ9Q==" }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, "watchpack": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.0.tgz", @@ -13988,41 +13427,41 @@ } }, "webpack": { - "version": "5.10.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.10.1.tgz", - "integrity": "sha512-mHu4iM2mW7d/8R91VPPNtUCNd1D8k51TTb4e0XjylapIR6WEmW8XUTBZq8TqmShj9XYxVXJn6AzKlWnrlty6DA==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.19.0.tgz", + "integrity": "sha512-egX19vAQ8fZ4cVYtA9Y941eqJtcZAK68mQq87MMv+GTXKZOc3TpKBBxdGX+HXUYlquPxiluNsJ1VHvwwklW7CQ==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.45", - "@webassemblyjs/ast": "1.9.1", - "@webassemblyjs/helper-module-context": "1.9.1", - "@webassemblyjs/wasm-edit": "1.9.1", - "@webassemblyjs/wasm-parser": "1.9.1", + "@types/estree": "^0.0.46", + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/wasm-edit": "1.11.0", + "@webassemblyjs/wasm-parser": "1.11.0", "acorn": "^8.0.4", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.3.1", + "enhanced-resolve": "^5.7.0", + "es-module-lexer": "^0.3.26", "eslint-scope": "^5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.4", "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.1.0", + "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "pkg-dir": "^5.0.0", "schema-utils": "^3.0.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.0.3", + "terser-webpack-plugin": "^5.1.1", "watchpack": "^2.0.0", "webpack-sources": "^2.1.1" }, "dependencies": { "acorn": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.4.tgz", - "integrity": "sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==", + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.5.tgz", + "integrity": "sha512-v+DieK/HJkJOpFBETDJioequtc3PfxsWMaxIdIwujtF7FEV/MAyDQLlm6/zPvr7Mix07mLh6ccVwIsloceodlg==", "dev": true }, "events": { @@ -14107,33 +13546,26 @@ } }, "webpack-bundle-analyzer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.2.0.tgz", - "integrity": "sha512-gmjpdL/AJeGAftSzA+bjIPiChUffjBelcH2+3woCUiRpQfuwrTJuWRyZuqegiwBAroMJp7gIwcJaGeol039zbQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.0.tgz", + "integrity": "sha512-9DhNa+aXpqdHk8LkLPTBU/dMfl84Y+WE2+KnfI6rSpNRNVKa0VGLjPd2pjFubDeqnWmulFggxmWBxhfJXZnR0g==", "dev": true, "requires": { "acorn": "^8.0.4", "acorn-walk": "^8.0.0", "chalk": "^4.1.0", "commander": "^6.2.0", - "express": "^4.17.1", - "filesize": "^6.1.0", "gzip-size": "^6.0.0", "lodash": "^4.17.20", "opener": "^1.5.2", + "sirv": "^1.0.7", "ws": "^7.3.1" }, "dependencies": { "acorn": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.4.tgz", - "integrity": "sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==", - "dev": true - }, - "acorn-walk": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.0.0.tgz", - "integrity": "sha512-oZRad/3SMOI/pxbbmqyurIx7jHw1wZDcR9G44L8pUVFEomX/0dH89SrM1KaDXuv1NpzAXz6Op/Xu/Qd5XXzdEA==", + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.5.tgz", + "integrity": "sha512-v+DieK/HJkJOpFBETDJioequtc3PfxsWMaxIdIwujtF7FEV/MAyDQLlm6/zPvr7Mix07mLh6ccVwIsloceodlg==", "dev": true }, "ansi-styles": { @@ -14190,19 +13622,13 @@ "requires": { "has-flag": "^4.0.0" } - }, - "ws": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz", - "integrity": "sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==", - "dev": true } } }, "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==", + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", "dev": true, "requires": { "memory-fs": "^0.4.1", @@ -14213,17 +13639,17 @@ }, "dependencies": { "mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", + "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==", "dev": true } } }, "webpack-dev-server": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", - "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", + "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", "dev": true, "requires": { "ansi-html": "0.0.7", @@ -14246,11 +13672,11 @@ "p-retry": "^3.0.1", "portfinder": "^1.0.26", "schema-utils": "^1.0.0", - "selfsigned": "^1.10.7", + "selfsigned": "^1.10.8", "semver": "^6.3.0", "serve-index": "^1.9.1", - "sockjs": "0.3.20", - "sockjs-client": "1.4.0", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", "spdy": "^4.0.2", "strip-ansi": "^3.0.1", "supports-color": "^6.1.0", @@ -14514,21 +13940,6 @@ } } }, - "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-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -14587,9 +13998,9 @@ } }, "winston": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/winston/-/winston-2.1.1.tgz", - "integrity": "sha1-PJNJ0ZYgf9G9/51LxD73JRDjoS4=", + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.5.tgz", + "integrity": "sha512-TWoamHt5yYvsMarGlGEQE59SbJHqGsZV8/lwC+iCcGeAe0vUaOh+Lv6SYM17ouzC/a/LB1/hz/7sxFBtlu1l4A==", "dev": true, "requires": { "async": "~1.0.0", @@ -14597,7 +14008,6 @@ "cycle": "1.0.x", "eyes": "0.1.x", "isstream": "0.1.x", - "pkginfo": "0.3.x", "stack-trace": "0.0.x" }, "dependencies": { @@ -14612,12 +14022,6 @@ "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", "dev": true - }, - "pkginfo": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz", - "integrity": "sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE=", - "dev": true } } }, @@ -14627,9 +14031,9 @@ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" }, "worker-loader": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-3.0.6.tgz", - "integrity": "sha512-yLmxR1momXc8R8NM4j4/nq7hPvVTems7i40NuAdVmitLJwq4agIeZRTyW2Hans0J21laF0e6/ypYbwLpBzlifA==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-3.0.7.tgz", + "integrity": "sha512-LjYLuYJw6kqQKDoygpoD5vWeR1CbZjuVSW3/8pFsptMlUl8gatNM/pszhasSDAWt+dYxMipWB6695k+1zId+iQ==", "dev": true, "requires": { "loader-utils": "^2.0.0", @@ -14726,6 +14130,12 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, + "ws": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", + "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==", + "dev": true + }, "xhr": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", @@ -14737,12 +14147,6 @@ "xtend": "^4.0.0" } }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, "xml-parse-from-string": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", diff --git a/package.json b/package.json index cbb519fd..bbdeead2 100644 --- a/package.json +++ b/package.json @@ -38,21 +38,20 @@ "devDependencies": { "@babel/core": "^7.12.10", "@babel/plugin-transform-runtime": "^7.12.10", - "@babel/preset-env": "^7.12.10", - "autoprefixer": "^10.1.0", + "@babel/preset-env": "^7.12.11", + "autoprefixer": "^10.2.4", "babel-eslint": "^10.1.0", "babel-loader": "^8.2.2", "babel-plugin-dynamic-import-node": "^2.3.3", - "chromedriver": "^87.0.4", - "cli-progress": "^3.8.2", + "chromedriver": "^88.0.0", + "cli-progress": "^3.9.0", "colors": "^1.4.0", "copy-webpack-plugin": "^7.0.0", "css-loader": "^5.0.1", - "eslint": "^7.15.0", - "exports-loader": "^1.1.1", + "eslint": "^7.19.0", + "exports-loader": "^2.0.0", "file-loader": "^6.2.0", "grunt": "^1.3.0", - "grunt-accessibility": "~6.0.0", "grunt-chmod": "~1.1.1", "grunt-concurrent": "^3.0.0", "grunt-contrib-clean": "~2.0.0", @@ -63,26 +62,26 @@ "grunt-exec": "~3.0.0", "grunt-webpack": "^4.0.2", "grunt-zip": "^0.18.2", - "html-webpack-plugin": "^4.5.0", - "imports-loader": "^1.2.0", - "mini-css-extract-plugin": "^1.3.3", + "html-webpack-plugin": "^4.5.1", + "imports-loader": "^2.0.0", + "mini-css-extract-plugin": "^1.3.5", "nightwatch": "^1.5.1", "node-sass": "^5.0.0", - "postcss": "^8.2.1", + "postcss": "^8.2.4", "postcss-css-variables": "^0.17.0", - "postcss-import": "^13.0.0", - "postcss-loader": "^4.1.0", - "prompt": "^1.0.0", - "sass-loader": "^10.1.0", - "sitemap": "^6.3.3", + "postcss-import": "^14.0.0", + "postcss-loader": "^4.2.0", + "prompt": "^1.1.0", + "sass-loader": "^10.1.1", + "sitemap": "^6.3.5", "style-loader": "^2.0.0", "svg-url-loader": "^7.1.1", "url-loader": "^4.1.1", - "webpack": "^5.10.1", - "webpack-bundle-analyzer": "^4.2.0", - "webpack-dev-server": "^3.11.0", + "webpack": "^5.19.0", + "webpack-bundle-analyzer": "^4.4.0", + "webpack-dev-server": "^3.11.2", "webpack-node-externals": "^2.5.2", - "worker-loader": "^3.0.6" + "worker-loader": "^3.0.7" }, "dependencies": { "@babel/polyfill": "^7.12.1", @@ -93,7 +92,7 @@ "bcryptjs": "^2.4.3", "bignumber.js": "^9.0.1", "blakejs": "^1.1.0", - "bootstrap": "4.5.3", + "bootstrap": "4.6.0", "bootstrap-colorpicker": "^3.2.0", "bootstrap-material-design": "^4.1.3", "browserify-zlib": "^0.2.0", @@ -101,12 +100,12 @@ "buffer": "^6.0.3", "chi-squared": "^1.1.0", "codepage": "^1.14.0", - "core-js": "^3.8.1", + "core-js": "^3.8.3", "crypto-api": "^0.8.5", "crypto-browserify": "^3.12.0", "crypto-js": "^4.0.0", "ctph.js": "0.0.5", - "d3": "^6.3.1", + "d3": "^6.5.0", "d3-hexbin": "^0.2.2", "diff": "^5.0.0", "es6-promisify": "^6.1.1", @@ -117,23 +116,23 @@ "file-saver": "^2.0.5", "flat": "^5.0.2", "geodesy": "^1.1.3", - "highlight.js": "^10.4.1", + "highlight.js": "^10.5.0", "jimp": "^0.16.1", "jquery": "3.5.1", "js-crc": "^0.2.0", "js-sha3": "^0.8.0", "jsesc": "^3.0.2", - "jsonpath": "^1.0.2", + "jsonpath": "^1.1.0", "jsonwebtoken": "^8.5.1", "jsqr": "^1.3.1", - "jsrsasign": "10.1.4", + "jsrsasign": "10.1.5", "kbpgp": "2.1.15", "libbzip2-wasm": "0.0.4", "libyara-wasm": "^1.1.0", "lodash": "^4.17.20", "loglevel": "^1.7.1", "loglevel-message-prefix": "^3.0.0", - "markdown-it": "^12.0.3", + "markdown-it": "^12.0.4", "moment": "^2.29.1", "moment-timezone": "^0.5.32", "ngeohash": "^0.6.3", @@ -149,7 +148,7 @@ "qr-image": "^3.2.0", "scryptsy": "^2.1.0", "snackbarjs": "^1.1.0", - "sortablejs": "^1.12.0", + "sortablejs": "^1.13.0", "split.js": "^1.6.2", "ssdeep.js": "0.0.2", "stream-browserify": "^3.0.0", diff --git a/src/core/operations/JSONToCSV.mjs b/src/core/operations/JSONToCSV.mjs index c363acbe..2685c8f8 100644 --- a/src/core/operations/JSONToCSV.mjs +++ b/src/core/operations/JSONToCSV.mjs @@ -41,11 +41,11 @@ class JSONToCSV extends Operation { } /** - * Converts a JSON to csv equivalent. + * Converts JSON to a CSV equivalent. * * @returns {string} */ - toCsv() { + toCSV() { const self = this; // If the JSON is an array of arrays, this is easy if (this.flattened[0] instanceof Array) { @@ -91,14 +91,14 @@ class JSONToCSV extends Operation { } try { - return this.toCsv(); + return this.toCSV(); } catch (err) { try { this.flattened = flatten(input); if (!(this.flattened instanceof Array)) { this.flattened = [this.flattened]; } - return this.toCsv(); + return this.toCSV(); } catch (err) { throw new OperationError("Unable to parse JSON to CSV: " + err.toString()); } From 60b3c597a76e7f1a50439a6a035c2de89021b407 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 1 Feb 2021 16:57:48 +0000 Subject: [PATCH 153/754] 9.22.4 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3df55f67..d63f3b6c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.22.3", + "version": "9.22.4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index bbdeead2..49b62249 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.22.3", + "version": "9.22.4", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 74ae77f17ad92ff1790d2737a0e2400d45985b54 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 1 Feb 2021 19:15:32 +0000 Subject: [PATCH 154/754] Tidied up and added tests for RSA operations --- src/core/config/Categories.json | 10 ++--- src/core/lib/RSA.mjs | 10 ++++- src/core/operations/GeneratePGPKeyPair.mjs | 2 +- src/core/operations/GenerateRSAKeyPair.mjs | 12 ++++-- src/core/operations/RSADecrypt.mjs | 9 ++--- src/core/operations/RSAEncrypt.mjs | 11 +++--- src/core/operations/RSASign.mjs | 6 +-- src/core/operations/RSAVerify.mjs | 2 +- tests/operations/index.mjs | 5 +-- tests/operations/samples/Ciphers.mjs | 9 +++++ tests/operations/tests/RSA.mjs | 44 +++++++++++----------- 11 files changed, 70 insertions(+), 50 deletions(-) diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 70c63b33..1afa6dcb 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -105,11 +105,6 @@ "Derive EVP key", "Bcrypt", "Scrypt", - "Generate RSA Key Pair", - "RSA Sign", - "RSA Verify", - "RSA Encrypt", - "RSA Decrypt", "JWT Sign", "JWT Verify", "JWT Decode", @@ -139,6 +134,11 @@ "PGP Verify", "PGP Encrypt and Sign", "PGP Decrypt and Verify", + "Generate RSA Key Pair", + "RSA Sign", + "RSA Verify", + "RSA Encrypt", + "RSA Decrypt", "Parse SSH Host Key" ] }, diff --git a/src/core/lib/RSA.mjs b/src/core/lib/RSA.mjs index 0dab67a3..9037379c 100644 --- a/src/core/lib/RSA.mjs +++ b/src/core/lib/RSA.mjs @@ -1,4 +1,12 @@ -import forge from "node-forge/dist/forge.min.js"; +/** + * RSA resources. + * + * @author Matt C [me@mitt.dev] + * @copyright Crown Copyright 2021 + * @license Apache-2.0 + */ + +import forge from "node-forge"; export const MD_ALGORITHMS = { "SHA-1": forge.md.sha1, diff --git a/src/core/operations/GeneratePGPKeyPair.mjs b/src/core/operations/GeneratePGPKeyPair.mjs index bb366b6f..5943ce31 100644 --- a/src/core/operations/GeneratePGPKeyPair.mjs +++ b/src/core/operations/GeneratePGPKeyPair.mjs @@ -25,7 +25,7 @@ class GeneratePGPKeyPair extends Operation { this.name = "Generate PGP Key Pair"; this.module = "PGP"; - this.description = "Generates a new public/private PGP key pair. Supports RSA and Eliptic Curve (EC) keys."; + this.description = "Generates a new public/private PGP key pair. Supports RSA and Eliptic Curve (EC) keys.

WARNING: Cryptographic operations in CyberChef should not be relied upon to provide security in any situation. No guarantee is offered for their correctness. We advise you not to use keys generated from CyberChef in operational contexts."; this.infoURL = "https://wikipedia.org/wiki/Pretty_Good_Privacy"; this.inputType = "string"; this.outputType = "string"; diff --git a/src/core/operations/GenerateRSAKeyPair.mjs b/src/core/operations/GenerateRSAKeyPair.mjs index 57cfcdd0..f263eb23 100644 --- a/src/core/operations/GenerateRSAKeyPair.mjs +++ b/src/core/operations/GenerateRSAKeyPair.mjs @@ -5,8 +5,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import forge from "node-forge/dist/forge.min.js"; +import Operation from "../Operation.mjs"; +import forge from "node-forge"; /** * Generate RSA Key Pair operation @@ -21,7 +21,7 @@ class GenerateRSAKeyPair extends Operation { this.name = "Generate RSA Key Pair"; this.module = "Ciphers"; - this.description = "Generate an RSA key pair with a given number of bits"; + this.description = "Generate an RSA key pair with a given number of bits.

WARNING: Cryptographic operations in CyberChef should not be relied upon to provide security in any situation. No guarantee is offered for their correctness. We advise you not to use keys generated from CyberChef in operational contexts."; this.infoURL = "https://wikipedia.org/wiki/RSA_(cryptosystem)"; this.inputType = "string"; this.outputType = "string"; @@ -56,7 +56,11 @@ class GenerateRSAKeyPair extends Operation { const [keyLength, outputFormat] = args; return new Promise((resolve, reject) => { - forge.pki.rsa.generateKeyPair({ bits: Number(keyLength), workers: -1, workerScript: "assets/forge/prime.worker.min.js"}, (err, keypair) => { + forge.pki.rsa.generateKeyPair({ + bits: Number(keyLength), + workers: -1, + workerScript: "assets/forge/prime.worker.min.js" + }, (err, keypair) => { if (err) return reject(err); let result; diff --git a/src/core/operations/RSADecrypt.mjs b/src/core/operations/RSADecrypt.mjs index eb24aeab..5b32b790 100644 --- a/src/core/operations/RSADecrypt.mjs +++ b/src/core/operations/RSADecrypt.mjs @@ -6,8 +6,7 @@ import Operation from "../Operation.mjs"; import OperationError from "../errors/OperationError.mjs"; -import Utils from "../Utils.mjs"; -import forge from "node-forge/dist/forge.min.js"; +import forge from "node-forge"; import { MD_ALGORITHMS } from "../lib/RSA.mjs"; /** @@ -25,7 +24,7 @@ class RSADecrypt extends Operation { this.module = "Ciphers"; this.description = "Decrypt an RSA encrypted message with a PEM encoded private key."; this.infoURL = "https://wikipedia.org/wiki/RSA_(cryptosystem)"; - this.inputType = "ArrayBuffer"; + this.inputType = "string"; this.outputType = "string"; this.args = [ { @@ -75,8 +74,8 @@ class RSADecrypt extends Operation { } try { const privKey = forge.pki.decryptRsaPrivateKey(pemKey, password); - const dMsg = privKey.decrypt(Utils.arrayBufferToStr(input), scheme, {md: MD_ALGORITHMS[md].create()}); - return dMsg; + const dMsg = privKey.decrypt(input, scheme, {md: MD_ALGORITHMS[md].create()}); + return forge.util.decodeUtf8(dMsg); } catch (err) { throw new OperationError(err); } diff --git a/src/core/operations/RSAEncrypt.mjs b/src/core/operations/RSAEncrypt.mjs index e788a668..859ce132 100644 --- a/src/core/operations/RSAEncrypt.mjs +++ b/src/core/operations/RSAEncrypt.mjs @@ -6,8 +6,7 @@ import Operation from "../Operation.mjs"; import OperationError from "../errors/OperationError.mjs"; -import Utils from "../Utils.mjs"; -import forge from "node-forge/dist/forge.min.js"; +import forge from "node-forge"; import { MD_ALGORITHMS } from "../lib/RSA.mjs"; /** @@ -26,7 +25,7 @@ class RSAEncrypt extends Operation { this.description = "Encrypt a message with a PEM encoded RSA public key."; this.infoURL = "https://wikipedia.org/wiki/RSA_(cryptosystem)"; this.inputType = "string"; - this.outputType = "ArrayBuffer"; + this.outputType = "string"; this.args = [ { name: "RSA Public Key (PEM)", @@ -72,9 +71,11 @@ class RSAEncrypt extends Operation { try { // Load public key const pubKey = forge.pki.publicKeyFromPem(pemKey); + // https://github.com/digitalbazaar/forge/issues/465#issuecomment-271097600 + const plaintextBytes = forge.util.encodeUtf8(input); // Encrypt message - const eMsg = pubKey.encrypt(input, scheme, {md: MD_ALGORITHMS[md].create()}); - return Utils.strToArrayBuffer(eMsg); + const eMsg = pubKey.encrypt(plaintextBytes, scheme, {md: MD_ALGORITHMS[md].create()}); + return eMsg; } catch (err) { if (err.message === "RSAES-OAEP input message length is too long.") { throw new OperationError(`RSAES-OAEP input message length (${err.length}) is longer than the maximum allowed length (${err.maxLength}).`); diff --git a/src/core/operations/RSASign.mjs b/src/core/operations/RSASign.mjs index 6161c5fe..25160f53 100644 --- a/src/core/operations/RSASign.mjs +++ b/src/core/operations/RSASign.mjs @@ -5,9 +5,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import forge from "node-forge/dist/forge.min.js"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import forge from "node-forge"; import { MD_ALGORITHMS } from "../lib/RSA.mjs"; /** diff --git a/src/core/operations/RSAVerify.mjs b/src/core/operations/RSAVerify.mjs index e1a8b0cb..89b7d81f 100644 --- a/src/core/operations/RSAVerify.mjs +++ b/src/core/operations/RSAVerify.mjs @@ -6,7 +6,7 @@ import Operation from "../Operation.mjs"; import OperationError from "../errors/OperationError.mjs"; -import forge from "node-forge/dist/forge.min.js"; +import forge from "node-forge"; import { MD_ALGORITHMS } from "../lib/RSA.mjs"; /** diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index 50079b82..d20ccc61 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -101,12 +101,11 @@ import "./tests/CipherSaber2.mjs"; import "./tests/Colossus.mjs"; import "./tests/ParseObjectIDTimestamp.mjs"; import "./tests/Unicode.mjs"; - +import "./tests/RSA.mjs"; // Cannot test operations that use the File type yet // import "./tests/SplitColourChannels.mjs"; -// Cannot test as minified forge does not support node -// import "./tests/RSA.mjs"; + const testStatus = { allTestsPassing: true, counts: { diff --git a/tests/operations/samples/Ciphers.mjs b/tests/operations/samples/Ciphers.mjs index a1363d83..2d975131 100644 --- a/tests/operations/samples/Ciphers.mjs +++ b/tests/operations/samples/Ciphers.mjs @@ -1,3 +1,12 @@ +/** + * Various types of input data for use in tests + * + * @author n1474335 [n1474335@gmail.com] + * @author Matt C [me@mitt.dev] + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ + export const ASCII_TEXT = "A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."; export const UTF8_TEXT = "Шанцы на высвятленне таго, што адбываецца на самай справе ў сусвеце настолькі выдаленыя, адзінае, што трэба зрабіць, гэта павесіць пачуццё яго і трымаць сябе занятымі."; diff --git a/tests/operations/tests/RSA.mjs b/tests/operations/tests/RSA.mjs index 2ade5647..33e7139f 100644 --- a/tests/operations/tests/RSA.mjs +++ b/tests/operations/tests/RSA.mjs @@ -79,8 +79,8 @@ TestRegister.addTests([ }, { name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-1, UTF-8", - input: UTF8_TEXT, - expectedOutput: UTF8_TEXT, + input: UTF8_TEXT.substr(0, 100), + expectedOutput: UTF8_TEXT.substr(0, 100), recipeConfig: [ { "op": "RSA Encrypt", @@ -94,8 +94,8 @@ TestRegister.addTests([ }, { name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-1, All bytes", - input: ALL_BYTES, - expectedOutput: ALL_BYTES, + input: ALL_BYTES.substr(0, 100), + expectedOutput: ALL_BYTES.substr(0, 100), recipeConfig: [ { "op": "RSA Encrypt", @@ -139,8 +139,8 @@ TestRegister.addTests([ }, { name: "RSA Encrypt/Decrypt: RSA-OAEP/MD5, UTF-8", - input: UTF8_TEXT, - expectedOutput: UTF8_TEXT, + input: UTF8_TEXT.substr(0, 100), + expectedOutput: UTF8_TEXT.substr(0, 100), recipeConfig: [ { "op": "RSA Encrypt", @@ -154,8 +154,8 @@ TestRegister.addTests([ }, { name: "RSA Encrypt/Decrypt: RSA-OAEP/MD5, All bytes", - input: ALL_BYTES, - expectedOutput: ALL_BYTES, + input: ALL_BYTES.substr(0, 100), + expectedOutput: ALL_BYTES.substr(0, 100), recipeConfig: [ { "op": "RSA Encrypt", @@ -199,8 +199,8 @@ TestRegister.addTests([ }, { name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-256, UTF-8", - input: UTF8_TEXT, - expectedOutput: UTF8_TEXT, + input: UTF8_TEXT.substr(0, 100), + expectedOutput: UTF8_TEXT.substr(0, 100), recipeConfig: [ { "op": "RSA Encrypt", @@ -214,8 +214,8 @@ TestRegister.addTests([ }, { name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-256, All bytes", - input: ALL_BYTES, - expectedOutput: ALL_BYTES, + input: ALL_BYTES.substr(0, 100), + expectedOutput: ALL_BYTES.substr(0, 100), recipeConfig: [ { "op": "RSA Encrypt", @@ -259,8 +259,8 @@ TestRegister.addTests([ }, { name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-384, UTF-8", - input: UTF8_TEXT, - expectedOutput: UTF8_TEXT, + input: UTF8_TEXT.substr(0, 80), + expectedOutput: UTF8_TEXT.substr(0, 80), recipeConfig: [ { "op": "RSA Encrypt", @@ -274,8 +274,8 @@ TestRegister.addTests([ }, { name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-384, All bytes", - input: ALL_BYTES, - expectedOutput: ALL_BYTES, + input: ALL_BYTES.substr(0, 100), + expectedOutput: ALL_BYTES.substr(0, 100), recipeConfig: [ { "op": "RSA Encrypt", @@ -304,8 +304,8 @@ TestRegister.addTests([ }, { name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-512, ASCII", - input: ASCII_TEXT, - expectedOutput: ASCII_TEXT, + input: ASCII_TEXT.substr(0, 100), + expectedOutput: ASCII_TEXT.substr(0, 100), recipeConfig: [ { "op": "RSA Encrypt", @@ -319,8 +319,8 @@ TestRegister.addTests([ }, { name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-512, UTF-8", - input: UTF8_TEXT, - expectedOutput: UTF8_TEXT, + input: UTF8_TEXT.substr(0, 60), + expectedOutput: UTF8_TEXT.substr(0, 60), recipeConfig: [ { "op": "RSA Encrypt", @@ -334,8 +334,8 @@ TestRegister.addTests([ }, { name: "RSA Encrypt/Decrypt: RSA-OAEP/SHA-512, All bytes", - input: ALL_BYTES, - expectedOutput: ALL_BYTES, + input: ALL_BYTES.substr(0, 100), + expectedOutput: ALL_BYTES.substr(0, 100), recipeConfig: [ { "op": "RSA Encrypt", From 40899a6fe490260c4816146ed119873e367d238e Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 1 Feb 2021 19:16:03 +0000 Subject: [PATCH 155/754] 9.23.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index d63f3b6c..af1b959f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.22.4", + "version": "9.23.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 49b62249..77b283c4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.22.4", + "version": "9.23.0", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From f5888fea9c660a5cb6655a20b8c5bf6c776cfffc Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 1 Feb 2021 19:29:47 +0000 Subject: [PATCH 156/754] 9.23.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index af1b959f..70fac446 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.23.0", + "version": "9.23.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 77b283c4..0d9cae9c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.23.0", + "version": "9.23.1", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 16c9e7119d6d143243c18831e4e55058c27bb189 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 2 Feb 2021 11:02:23 +0000 Subject: [PATCH 157/754] Updated CHANGELOG --- CHANGELOG.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 08c2acdf..5a2b35b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ All major and minor version changes will be documented in this file. Details of patch-level version changes can be found in [commit messages](https://github.com/gchq/CyberChef/commits/master). +### [9.23.0] - 2020-02-01 +- Various RSA operations added to encrypt, decrypt, sign, verify and generate keys [@mattnotmitt] | [#652] + +### [9.22.0] - 2021-02-01 +- 'Unicode Text Format' operation added [@mattnotmitt] | [#1083] + ### [9.21.0] - 2020-06-12 - Node API now exports `magic` operation [@d98762625] | [#1049] @@ -227,6 +233,9 @@ All major and minor version changes will be documented in this file. Details of +[9.23.0]: https://github.com/gchq/CyberChef/releases/tag/v9.23.0 +[9.22.0]: https://github.com/gchq/CyberChef/releases/tag/v9.22.0 +[9.21.0]: https://github.com/gchq/CyberChef/releases/tag/v9.21.0 [9.20.0]: https://github.com/gchq/CyberChef/releases/tag/v9.20.0 [9.19.0]: https://github.com/gchq/CyberChef/releases/tag/v9.19.0 [9.18.0]: https://github.com/gchq/CyberChef/releases/tag/v9.18.0 @@ -326,6 +335,7 @@ All major and minor version changes will be documented in this file. Details of [@pointhi]: https://github.com/pointhi [@MarvinJWendt]: https://github.com/MarvinJWendt [@dmfj]: https://github.com/dmfj +[@mattnotmitt]: https://github.com/mattnotmitt [#95]: https://github.com/gchq/CyberChef/pull/299 [#173]: https://github.com/gchq/CyberChef/pull/173 @@ -387,6 +397,7 @@ All major and minor version changes will be documented in this file. Details of [#625]: https://github.com/gchq/CyberChef/pull/625 [#627]: https://github.com/gchq/CyberChef/pull/627 [#632]: https://github.com/gchq/CyberChef/pull/632 +[#652]: https://github.com/gchq/CyberChef/pull/652 [#653]: https://github.com/gchq/CyberChef/pull/653 [#674]: https://github.com/gchq/CyberChef/pull/674 [#683]: https://github.com/gchq/CyberChef/pull/683 @@ -398,3 +409,5 @@ All major and minor version changes will be documented in this file. Details of [#965]: https://github.com/gchq/CyberChef/pull/965 [#966]: https://github.com/gchq/CyberChef/pull/966 [#987]: https://github.com/gchq/CyberChef/pull/987 +[#1049]: https://github.com/gchq/CyberChef/pull/1049 +[#1083]: https://github.com/gchq/CyberChef/pull/1083 \ No newline at end of file From becc258b6c389add56fb04ea9168ab61245bb7b2 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 2 Feb 2021 11:12:52 +0000 Subject: [PATCH 158/754] Updated CHANGELOG --- CHANGELOG.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a2b35b3..ad2e3fc3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,18 @@ # Changelog + +## Versioning + +CyberChef uses the [semver](https://semver.org/) system to manage versioning: MAJOR.MINOR.PATCH. + +- MAJOR version changes represent a significant change to the fundamental architecture of CyberChef and may (but don't always) make breaking changes that are not backwards compatible. +- MINOR version changes usually mean the addition of new operations or reasonably significant new features. +- PATCH versions are used for bug fixes and any other small tweaks that modify or improve existing capabilities. + All major and minor version changes will be documented in this file. Details of patch-level version changes can be found in [commit messages](https://github.com/gchq/CyberChef/commits/master). +## Details + ### [9.23.0] - 2020-02-01 - Various RSA operations added to encrypt, decrypt, sign, verify and generate keys [@mattnotmitt] | [#652] From 1b545848201db44a45ca438089f4ac895e492689 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 2 Feb 2021 16:06:37 +0000 Subject: [PATCH 159/754] Tweaks to various hashing functions to improve config options --- CHANGELOG.md | 6 +++- src/core/operations/HAS160.mjs | 4 ++- src/core/operations/MD2.mjs | 3 +- src/core/operations/SHA0.mjs | 3 +- src/core/operations/SHA1.mjs | 3 +- src/core/operations/SHA2.mjs | 53 +++++++++++++++++++++++++++---- src/core/operations/SM3.mjs | 7 ++-- src/core/operations/Snefru.mjs | 19 ++++++----- src/core/operations/Whirlpool.mjs | 15 ++++++--- tests/node/tests/operations.mjs | 2 +- tests/operations/tests/Hash.mjs | 23 ++++++++++---- 11 files changed, 104 insertions(+), 34 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ad2e3fc3..c60b7c3d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,8 +13,11 @@ All major and minor version changes will be documented in this file. Details of ## Details +### [9.24.0] - 2020-02-02 +- 'SM3' hashing function added along with more configuration options for other hashing operations [@n1073645] [@n1474335] | [#1022] + ### [9.23.0] - 2020-02-01 -- Various RSA operations added to encrypt, decrypt, sign, verify and generate keys [@mattnotmitt] | [#652] +- Various RSA operations added to encrypt, decrypt, sign, verify and generate keys [@mattnotmitt] [@GCHQ77703] | [#652] ### [9.22.0] - 2021-02-01 - 'Unicode Text Format' operation added [@mattnotmitt] | [#1083] @@ -420,5 +423,6 @@ All major and minor version changes will be documented in this file. Details of [#965]: https://github.com/gchq/CyberChef/pull/965 [#966]: https://github.com/gchq/CyberChef/pull/966 [#987]: https://github.com/gchq/CyberChef/pull/987 +[#1022]: https://github.com/gchq/CyberChef/pull/1022 [#1049]: https://github.com/gchq/CyberChef/pull/1049 [#1083]: https://github.com/gchq/CyberChef/pull/1083 \ No newline at end of file diff --git a/src/core/operations/HAS160.mjs b/src/core/operations/HAS160.mjs index 0ca62019..707b99b3 100644 --- a/src/core/operations/HAS160.mjs +++ b/src/core/operations/HAS160.mjs @@ -28,7 +28,9 @@ class HAS160 extends Operation { { name: "Rounds", type: "number", - value: 80 + value: 80, + min: 1, + max: 80 } ]; } diff --git a/src/core/operations/MD2.mjs b/src/core/operations/MD2.mjs index 9fca4939..38f6d325 100644 --- a/src/core/operations/MD2.mjs +++ b/src/core/operations/MD2.mjs @@ -28,7 +28,8 @@ class MD2 extends Operation { { name: "Rounds", type: "number", - value: 18 + value: 18, + min: 0 } ]; } diff --git a/src/core/operations/SHA0.mjs b/src/core/operations/SHA0.mjs index 34c4d1df..7f712ad9 100644 --- a/src/core/operations/SHA0.mjs +++ b/src/core/operations/SHA0.mjs @@ -28,7 +28,8 @@ class SHA0 extends Operation { { name: "Rounds", type: "number", - value: 80 + value: 80, + min: 16 } ]; } diff --git a/src/core/operations/SHA1.mjs b/src/core/operations/SHA1.mjs index ee744d56..8c081f2f 100644 --- a/src/core/operations/SHA1.mjs +++ b/src/core/operations/SHA1.mjs @@ -28,7 +28,8 @@ class SHA1 extends Operation { { name: "Rounds", type: "number", - value: 80 + value: 80, + min: 16 } ]; } diff --git a/src/core/operations/SHA2.mjs b/src/core/operations/SHA2.mjs index 3d015d26..ecdc4cc5 100644 --- a/src/core/operations/SHA2.mjs +++ b/src/core/operations/SHA2.mjs @@ -20,20 +20,58 @@ class SHA2 extends Operation { this.name = "SHA2"; this.module = "Crypto"; - this.description = "The SHA-2 (Secure Hash Algorithm 2) hash functions were designed by the NSA. SHA-2 includes significant changes from its predecessor, SHA-1. The SHA-2 family consists of hash functions with digests (hash values) that are 224, 256, 384 or 512 bits: SHA224, SHA256, SHA384, SHA512.

  • SHA-512 operates on 64-bit words.
  • SHA-256 operates on 32-bit words.
  • SHA-384 is largely identical to SHA-512 but is truncated to 384 bytes.
  • SHA-224 is largely identical to SHA-256 but is truncated to 224 bytes.
  • SHA-512/224 and SHA-512/256 are truncated versions of SHA-512, but the initial values are generated using the method described in Federal Information Processing Standards (FIPS) PUB 180-4.
The message digest algorithm consists, by default, of 64 rounds."; + this.description = "The SHA-2 (Secure Hash Algorithm 2) hash functions were designed by the NSA. SHA-2 includes significant changes from its predecessor, SHA-1. The SHA-2 family consists of hash functions with digests (hash values) that are 224, 256, 384 or 512 bits: SHA224, SHA256, SHA384, SHA512.

  • SHA-512 operates on 64-bit words.
  • SHA-256 operates on 32-bit words.
  • SHA-384 is largely identical to SHA-512 but is truncated to 384 bytes.
  • SHA-224 is largely identical to SHA-256 but is truncated to 224 bytes.
  • SHA-512/224 and SHA-512/256 are truncated versions of SHA-512, but the initial values are generated using the method described in Federal Information Processing Standards (FIPS) PUB 180-4.
The message digest algorithm for SHA256 variants consists, by default, of 64 rounds, and for SHA512 variants, it is, by default, 160."; this.infoURL = "https://wikipedia.org/wiki/SHA-2"; this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = [ { - "name": "Size", - "type": "option", - "value": ["512", "256", "384", "224", "512/256", "512/224"] + name: "Size", + type: "argSelector", + value: [ + { + name: "512", + on: [2], + off: [1] + }, + { + name: "384", + on: [2], + off: [1] + }, + { + name: "256", + on: [1], + off: [2] + }, + { + name: "224", + on: [1], + off: [2] + }, + { + name: "512/256", + on: [2], + off: [1] + }, + { + name: "512/224", + on: [2], + off: [1] + } + ] }, { - name: "Rounds", + name: "Rounds", // For SHA256 variants type: "number", - value: 64 + value: 64, + min: 16 + }, + { + name: "Rounds", // For SHA512 variants + type: "number", + value: 160, + min: 32 } ]; } @@ -45,7 +83,8 @@ class SHA2 extends Operation { */ run(input, args) { const size = args[0]; - return runHash("sha" + size, input, {rounds: args[1]}); + const rounds = (size === "256" || size === "224") ? args[1] : args[2]; + return runHash("sha" + size, input, {rounds: rounds}); } } diff --git a/src/core/operations/SM3.mjs b/src/core/operations/SM3.mjs index a489c9be..1441476a 100644 --- a/src/core/operations/SM3.mjs +++ b/src/core/operations/SM3.mjs @@ -6,8 +6,8 @@ import Operation from "../Operation.mjs"; import Utils from "../Utils.mjs"; -import Sm3 from "crypto-api/src/hasher/sm3"; -import {toHex} from "crypto-api/src/encoder/hex"; +import Sm3 from "crypto-api/src/hasher/sm3.mjs"; +import {toHex} from "crypto-api/src/encoder/hex.mjs"; /** * SM3 operation @@ -35,7 +35,8 @@ class SM3 extends Operation { { name: "Rounds", type: "number", - value: 64 + value: 64, + min: 16 } ]; } diff --git a/src/core/operations/Snefru.mjs b/src/core/operations/Snefru.mjs index 520b3550..ae5859b3 100644 --- a/src/core/operations/Snefru.mjs +++ b/src/core/operations/Snefru.mjs @@ -26,14 +26,17 @@ class Snefru extends Operation { this.outputType = "string"; this.args = [ { - "name": "Rounds", - "type": "option", - "value": ["8", "4", "2"] + name: "Size", + type: "number", + value: 128, + min: 32, + max: 480, + step: 32 }, { - "name": "Size", - "type": "option", - "value": ["256", "128"] + name: "Rounds", + type: "option", + value: ["8", "4", "2"] } ]; } @@ -45,8 +48,8 @@ class Snefru extends Operation { */ run(input, args) { return runHash("snefru", input, { - rounds: args[0], - length: args[1] + length: args[0], + rounds: args[1] }); } diff --git a/src/core/operations/Whirlpool.mjs b/src/core/operations/Whirlpool.mjs index ae4c0359..c2364912 100644 --- a/src/core/operations/Whirlpool.mjs +++ b/src/core/operations/Whirlpool.mjs @@ -26,9 +26,16 @@ class Whirlpool extends Operation { this.outputType = "string"; this.args = [ { - "name": "Variant", - "type": "option", - "value": ["Whirlpool", "Whirlpool-T", "Whirlpool-0"] + name: "Variant", + type: "option", + value: ["Whirlpool", "Whirlpool-T", "Whirlpool-0"] + }, + { + name: "Rounds", + type: "number", + value: 10, + min: 1, + max: 10 } ]; } @@ -40,7 +47,7 @@ class Whirlpool extends Operation { */ run(input, args) { const variant = args[0].toLowerCase(); - return runHash(variant, input); + return runHash(variant, input, {rounds: args[1]}); } } diff --git a/tests/node/tests/operations.mjs b/tests/node/tests/operations.mjs index f208384c..52748167 100644 --- a/tests/node/tests/operations.mjs +++ b/tests/node/tests/operations.mjs @@ -854,7 +854,7 @@ pCGTErs= it("Snefru", () => { assert.strictEqual( - chef.snefru("demeaning milestone").toString(), + chef.snefru("demeaning milestone", {size: 256, rounds: 8}).toString(), "a671b48770fe073ce49e9259cc2f47d345a53712639f8ae23c5ad3fec19540a5"); }), diff --git a/tests/operations/tests/Hash.mjs b/tests/operations/tests/Hash.mjs index bccdc6b7..95a18ffd 100644 --- a/tests/operations/tests/Hash.mjs +++ b/tests/operations/tests/Hash.mjs @@ -345,7 +345,7 @@ TestRegister.addTests([ recipeConfig: [ { "op": "Snefru", - "args": ["2", "128"] + "args": ["128", "2"] } ] }, @@ -356,7 +356,7 @@ TestRegister.addTests([ recipeConfig: [ { "op": "Snefru", - "args": ["4", "128"] + "args": ["128", "4"] } ] }, @@ -367,7 +367,7 @@ TestRegister.addTests([ recipeConfig: [ { "op": "Snefru", - "args": ["8", "128"] + "args": ["128", "8"] } ] }, @@ -378,7 +378,7 @@ TestRegister.addTests([ recipeConfig: [ { "op": "Snefru", - "args": ["2", "256"] + "args": ["256", "2"] } ] }, @@ -389,7 +389,7 @@ TestRegister.addTests([ recipeConfig: [ { "op": "Snefru", - "args": ["4", "256"] + "args": ["256", "4"] } ] }, @@ -400,7 +400,18 @@ TestRegister.addTests([ recipeConfig: [ { "op": "Snefru", - "args": ["8", "256"] + "args": ["256", "8"] + } + ] + }, + { + name: "SM3 256 64", + input: "Hello, World!", + expectedOutput: "7ed26cbf0bee4ca7d55c1e64714c4aa7d1f163089ef5ceb603cd102c81fbcbc5", + recipeConfig: [ + { + "op": "SM3", + "args": ["256", "64"] } ] }, From 5c85c4df63c0c866dc575c95f12d3b97ac636b05 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 2 Feb 2021 16:07:52 +0000 Subject: [PATCH 160/754] Updated CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c60b7c3d..e8e8a5cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -247,6 +247,7 @@ All major and minor version changes will be documented in this file. Details of +[9.24.0]: https://github.com/gchq/CyberChef/releases/tag/v9.24.0 [9.23.0]: https://github.com/gchq/CyberChef/releases/tag/v9.23.0 [9.22.0]: https://github.com/gchq/CyberChef/releases/tag/v9.22.0 [9.21.0]: https://github.com/gchq/CyberChef/releases/tag/v9.21.0 From 9b3aae10cf4bad8820fd92bccf921d5168aba1f0 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 2 Feb 2021 16:07:57 +0000 Subject: [PATCH 161/754] 9.24.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 70fac446..c39fb4cd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.23.1", + "version": "9.24.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 0d9cae9c..410977b6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.23.1", + "version": "9.24.0", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 4a673bd92af683603ff8548e27ec6975e490de0b Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 2 Feb 2021 17:18:35 +0000 Subject: [PATCH 162/754] AES Decrypt now supports Additional Authenticated Data in GCM mode. Added tests for ADD at each AES size. --- src/core/operations/AESDecrypt.mjs | 40 ++++++- src/core/operations/AESEncrypt.mjs | 17 ++- tests/operations/tests/Bombe.mjs | 40 +++---- tests/operations/tests/Colossus.mjs | 109 ++++++++++--------- tests/operations/tests/Crypt.mjs | 163 ++++++++++++++++++++++++++-- tests/operations/tests/Register.mjs | 3 +- 6 files changed, 274 insertions(+), 98 deletions(-) diff --git a/src/core/operations/AESDecrypt.mjs b/src/core/operations/AESDecrypt.mjs index 5501ca32..e69a3348 100644 --- a/src/core/operations/AESDecrypt.mjs +++ b/src/core/operations/AESDecrypt.mjs @@ -41,8 +41,33 @@ class AESDecrypt extends Operation { }, { "name": "Mode", - "type": "option", - "value": ["CBC", "CFB", "OFB", "CTR", "GCM", "ECB"] + "type": "argSelector", + "value": [ + { + name: "CBC", + off: [5, 6] + }, + { + name: "CFB", + off: [5, 6] + }, + { + name: "OFB", + off: [5, 6] + }, + { + name: "CTR", + off: [5, 6] + }, + { + name: "GCM", + on: [5, 6] + }, + { + name: "ECB", + off: [5, 6] + } + ] }, { "name": "Input", @@ -59,6 +84,11 @@ class AESDecrypt extends Operation { "type": "toggleString", "value": "", "toggleValues": ["Hex", "UTF8", "Latin1", "Base64"] + }, + { + "name": "Additional Authenticated Data", + "type": "binaryString", + "value": "" } ]; } @@ -76,7 +106,8 @@ class AESDecrypt extends Operation { mode = args[2], inputType = args[3], outputType = args[4], - gcmTag = Utils.convertToByteString(args[5].string, args[5].option); + gcmTag = Utils.convertToByteString(args[5].string, args[5].option), + aad = args[6]; if ([16, 24, 32].indexOf(key.length) < 0) { throw new OperationError(`Invalid key length: ${key.length} bytes @@ -92,7 +123,8 @@ The following algorithms will be used based on the size of the key: const decipher = forge.cipher.createDecipher("AES-" + mode, key); decipher.start({ iv: iv.length === 0 ? "" : iv, - tag: gcmTag + tag: mode === "GCM" ? gcmTag : undefined, + additionalData: mode === "GCM" ? aad : undefined }); decipher.update(forge.util.createBuffer(input)); const result = decipher.finish(); diff --git a/src/core/operations/AESEncrypt.mjs b/src/core/operations/AESEncrypt.mjs index ebe4f584..20405694 100644 --- a/src/core/operations/AESEncrypt.mjs +++ b/src/core/operations/AESEncrypt.mjs @@ -56,7 +56,7 @@ class AESEncrypt extends Operation { off: [5] }, { - name:"CTR", + name: "CTR", off: [5] }, { @@ -81,7 +81,7 @@ class AESEncrypt extends Operation { }, { "name": "Additional Authenticated Data", - "type": "string", + "type": "binaryString", "value": "" } ]; @@ -99,7 +99,8 @@ class AESEncrypt extends Operation { iv = Utils.convertToByteString(args[1].string, args[1].option), mode = args[2], inputType = args[3], - outputType = args[4]; + outputType = args[4], + aad = args[5]; if ([16, 24, 32].indexOf(key.length) < 0) { throw new OperationError(`Invalid key length: ${key.length} bytes @@ -113,12 +114,10 @@ The following algorithms will be used based on the size of the key: input = Utils.convertToByteString(input, inputType); const cipher = forge.cipher.createCipher("AES-" + mode, key); - - if (args[5]) - cipher.start({iv: iv, additionalData: args[5]}); - else - cipher.start({iv: iv}); - + cipher.start({ + iv: iv, + additionalData: mode === "GCM" ? aad : undefined + }); cipher.update(forge.util.createBuffer(input)); cipher.finish(); diff --git a/tests/operations/tests/Bombe.mjs b/tests/operations/tests/Bombe.mjs index 2d391211..70df5bea 100644 --- a/tests/operations/tests/Bombe.mjs +++ b/tests/operations/tests/Bombe.mjs @@ -104,26 +104,26 @@ TestRegister.addTests([ } ] }, - // This test is a bit slow - it takes about 12s on my test hardware - { - name: "Bombe: 4 rotor", - input: "LUOXGJSHGEDSRDOQQX", - expectedMatch: /LHSC<\/td> {2}SS<\/td> {2}HHHSSSGQUUQPKSEKWK<\/td>/, - recipeConfig: [ - { - "op": "Bombe", - "args": [ - "4-rotor", - "LEYJVCNIXWPBQMDRTAKZGFUHOS", // Beta - "EKMFLGDQVZNTOWYHXUSPAIBRCJLHSC<\/td> {2}SS<\/td> {2}HHHSSSGQUUQPKSEKWK<\/td>/, + // recipeConfig: [ + // { + // "op": "Bombe", + // "args": [ + // "4-rotor", + // "LEYJVCNIXWPBQMDRTAKZGFUHOS", // Beta + // "EKMFLGDQVZNTOWYHXUSPAIBRCJ Date: Tue, 2 Feb 2021 17:18:49 +0000 Subject: [PATCH 163/754] 9.24.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index c39fb4cd..9b6de9d5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.24.0", + "version": "9.24.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 410977b6..24598803 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.24.0", + "version": "9.24.1", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 041c899a358ef45c4b02ccb9b58d17026864de74 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Wed, 3 Feb 2021 17:54:49 +0000 Subject: [PATCH 164/754] Comments are now treated as disabled so that they do not interfere with the Dish type. Closes #1126 and #1132. Thanks to @mt3571 for the suggestion. --- src/core/Recipe.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/Recipe.mjs b/src/core/Recipe.mjs index 14cb39b7..0f31690b 100755 --- a/src/core/Recipe.mjs +++ b/src/core/Recipe.mjs @@ -46,7 +46,7 @@ class Recipe { module: OperationConfig[c.op].module, ingValues: c.args, breakpoint: c.breakpoint, - disabled: c.disabled, + disabled: c.disabled || c.op === "Comment", }); }); } From 83f119f7e4a831f3ec13759700946eb4c2f65913 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Wed, 3 Feb 2021 17:54:57 +0000 Subject: [PATCH 165/754] 9.24.2 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9b6de9d5..6e2cb623 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.24.1", + "version": "9.24.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 24598803..c7ee2115 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.24.1", + "version": "9.24.2", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 6b10f61e11b357bc429753af2a9f11f4c7f68f2a Mon Sep 17 00:00:00 2001 From: n1474335 Date: Wed, 3 Feb 2021 19:07:39 +0000 Subject: [PATCH 166/754] Moved postinstall script to a Grunt task to fix relative calls. npm scripts now use local grunt install. --- .eslintrc.json | 3 ++- .github/workflows/releases.yml | 1 + CHANGELOG.md | 2 +- Gruntfile.js | 10 ++++++++++ package.json | 14 +++++++------- postinstall.sh | 8 -------- 6 files changed, 21 insertions(+), 17 deletions(-) delete mode 100755 postinstall.sh diff --git a/.eslintrc.json b/.eslintrc.json index 5d054f6a..0fd518d8 100755 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -63,7 +63,8 @@ }], "linebreak-style": ["error", "unix"], "quotes": ["error", "double", { - "avoidEscape": true + "avoidEscape": true, + "allowTemplateLiterals": true }], "camelcase": ["error", { "properties": "always" diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index c0920595..c58815f3 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -47,6 +47,7 @@ jobs: tag: ${{ github.ref }} overwrite: true file_glob: true + body: "See the [CHANGELOG](https://github.com/gchq/CyberChef/blob/master/CHANGELOG.md) and [commit messages](https://github.com/gchq/CyberChef/commits/master) for details." - name: Publish to NPM if: success() diff --git a/CHANGELOG.md b/CHANGELOG.md index e8e8a5cc..555a4af3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## Versioning -CyberChef uses the [semver](https://semver.org/) system to manage versioning: MAJOR.MINOR.PATCH. +CyberChef uses the [semver](https://semver.org/) system to manage versioning: `..`. - MAJOR version changes represent a significant change to the fundamental architecture of CyberChef and may (but don't always) make breaking changes that are not backwards compatible. - MINOR version changes usually mean the addition of new operations or reasonably significant new features. diff --git a/Gruntfile.js b/Gruntfile.js index d49dc05f..0477fb92 100755 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -411,6 +411,16 @@ module.exports = function (grunt) { ]), stdout: false, }, + fixCryptoApiImports: { + command: [ + `[[ "$OSTYPE" == "darwin"* ]]`, + "&&", + `find ./node_modules/crypto-api/src/ \\( -type d -name .git -prune \\) -o -type f -print0 | xargs -0 sed -i '' -e '/\\.mjs/!s/\\(from "\\.[^"]*\\)";/\\1.mjs";/g'`, + "||", + `find ./node_modules/crypto-api/src/ \\( -type d -name .git -prune \\) -o -type f -print0 | xargs -0 sed -i -e '/\\.mjs/!s/\\(from "\\.[^"]*\\)";/\\1.mjs";/g'` + ].join(" "), + stdout: false + } }, }); }; diff --git a/package.json b/package.json index c7ee2115..2dfb0ea3 100644 --- a/package.json +++ b/package.json @@ -164,15 +164,15 @@ "zlibjs": "^0.3.1" }, "scripts": { - "start": "grunt dev", - "build": "grunt prod", + "start": "npx grunt dev", + "build": "npx grunt prod", "repl": "node src/node/repl.js", - "test": "grunt configTests && node --experimental-modules --no-warnings --no-deprecation tests/node/index.mjs && node --experimental-modules --no-warnings --no-deprecation tests/operations/index.mjs", - "test-node-consumer": "grunt testnodeconsumer", - "testui": "grunt testui", + "test": "npx grunt configTests && node --experimental-modules --no-warnings --no-deprecation tests/node/index.mjs && node --experimental-modules --no-warnings --no-deprecation tests/operations/index.mjs", + "test-node-consumer": "npx grunt testnodeconsumer", + "testui": "npx grunt testui", "testuidev": "npx nightwatch --env=dev", - "lint": "grunt lint", - "postinstall": "bash postinstall.sh", + "lint": "npx grunt lint", + "postinstall": "npx grunt exec:fixCryptoApiImports", "newop": "node --experimental-modules src/core/config/scripts/newOperation.mjs" } } diff --git a/postinstall.sh b/postinstall.sh deleted file mode 100755 index e244070e..00000000 --- a/postinstall.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -# Add file extensions to Crypto-Api imports -if [[ "$OSTYPE" == "darwin"* ]]; then - find ./node_modules/crypto-api/src/ \( -type d -name .git -prune \) -o -type f -print0 | xargs -0 sed -i '' -e '/\.mjs/!s/\(from "\.[^"]*\)";/\1.mjs";/g' -else - find ./node_modules/crypto-api/src/ \( -type d -name .git -prune \) -o -type f -print0 | xargs -0 sed -i -e '/\.mjs/!s/\(from "\.[^"]*\)";/\1.mjs";/g' -fi \ No newline at end of file From 4169a150669eb57a691966602de1157f30976824 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Wed, 3 Feb 2021 19:07:46 +0000 Subject: [PATCH 167/754] 9.24.3 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6e2cb623..f1919767 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.24.2", + "version": "9.24.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 2dfb0ea3..36f6d4b7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.24.2", + "version": "9.24.3", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 21236f19387350a83b334c15865e406ca30651e7 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 5 Feb 2021 17:54:57 +0000 Subject: [PATCH 168/754] Added fuzzy search for operations --- src/core/lib/FuzzySearch.mjs | 220 +++++++++++++++++++++++++++ src/web/HTMLOperation.mjs | 49 ++++-- src/web/waiters/OperationsWaiter.mjs | 20 ++- 3 files changed, 268 insertions(+), 21 deletions(-) create mode 100644 src/core/lib/FuzzySearch.mjs diff --git a/src/core/lib/FuzzySearch.mjs b/src/core/lib/FuzzySearch.mjs new file mode 100644 index 00000000..662d7760 --- /dev/null +++ b/src/core/lib/FuzzySearch.mjs @@ -0,0 +1,220 @@ +/** + * LICENSE + * + * This software is dual-licensed to the public domain and under the following + * license: you are granted a perpetual, irrevocable license to copy, modify, + * publish, and distribute this file as you see fit. + * + * VERSION + * 0.1.0 (2016-03-28) Initial release + * + * AUTHOR + * Forrest Smith + * + * CONTRIBUTORS + * J�rgen Tjern� - async helper + * Anurag Awasthi - updated to 0.2.0 + */ + +const SEQUENTIAL_BONUS = 15; // bonus for adjacent matches +const SEPARATOR_BONUS = 30; // bonus if match occurs after a separator +const CAMEL_BONUS = 30; // bonus if match is uppercase and prev is lower +const FIRST_LETTER_BONUS = 15; // bonus if the first letter is matched + +const LEADING_LETTER_PENALTY = -5; // penalty applied for every letter in str before the first match +const MAX_LEADING_LETTER_PENALTY = -15; // maximum penalty for leading letters +const UNMATCHED_LETTER_PENALTY = -1; + +/** + * Does a fuzzy search to find pattern inside a string. + * @param {*} pattern string pattern to search for + * @param {*} str string string which is being searched + * @returns [boolean, number] a boolean which tells if pattern was + * found or not and a search score + */ +export function fuzzyMatch(pattern, str) { + const recursionCount = 0; + const recursionLimit = 10; + const matches = []; + const maxMatches = 256; + + return fuzzyMatchRecursive( + pattern, + str, + 0 /* patternCurIndex */, + 0 /* strCurrIndex */, + null /* srcMatces */, + matches, + maxMatches, + 0 /* nextMatch */, + recursionCount, + recursionLimit + ); +} + +/** + * Recursive helper function + */ +function fuzzyMatchRecursive( + pattern, + str, + patternCurIndex, + strCurrIndex, + srcMatches, + matches, + maxMatches, + nextMatch, + recursionCount, + recursionLimit +) { + let outScore = 0; + + // Return if recursion limit is reached. + if (++recursionCount >= recursionLimit) { + return [false, outScore]; + } + + // Return if we reached ends of strings. + if (patternCurIndex === pattern.length || strCurrIndex === str.length) { + return [false, outScore]; + } + + // Recursion params + let recursiveMatch = false; + let bestRecursiveMatches = []; + let bestRecursiveScore = 0; + + // Loop through pattern and str looking for a match. + let firstMatch = true; + while (patternCurIndex < pattern.length && strCurrIndex < str.length) { + // Match found. + if ( + pattern[patternCurIndex].toLowerCase() === str[strCurrIndex].toLowerCase() + ) { + if (nextMatch >= maxMatches) { + return [false, outScore]; + } + + if (firstMatch && srcMatches) { + matches = [...srcMatches]; + firstMatch = false; + } + + const recursiveMatches = []; + const [matched, recursiveScore] = fuzzyMatchRecursive( + pattern, + str, + patternCurIndex, + strCurrIndex + 1, + matches, + recursiveMatches, + maxMatches, + nextMatch, + recursionCount, + recursionLimit + ); + + if (matched) { + // Pick best recursive score. + if (!recursiveMatch || recursiveScore > bestRecursiveScore) { + bestRecursiveMatches = [...recursiveMatches]; + bestRecursiveScore = recursiveScore; + } + recursiveMatch = true; + } + + matches[nextMatch++] = strCurrIndex; + ++patternCurIndex; + } + ++strCurrIndex; + } + + const matched = patternCurIndex === pattern.length; + + if (matched) { + outScore = 100; + + // Apply leading letter penalty + let penalty = LEADING_LETTER_PENALTY * matches[0]; + penalty = + penalty < MAX_LEADING_LETTER_PENALTY ? + MAX_LEADING_LETTER_PENALTY : + penalty; + outScore += penalty; + + // Apply unmatched penalty + const unmatched = str.length - nextMatch; + outScore += UNMATCHED_LETTER_PENALTY * unmatched; + + // Apply ordering bonuses + for (let i = 0; i < nextMatch; i++) { + const currIdx = matches[i]; + + if (i > 0) { + const prevIdx = matches[i - 1]; + if (currIdx === prevIdx + 1) { + outScore += SEQUENTIAL_BONUS; + } + } + + // Check for bonuses based on neighbor character value. + if (currIdx > 0) { + // Camel case + const neighbor = str[currIdx - 1]; + const curr = str[currIdx]; + if ( + neighbor !== neighbor.toUpperCase() && + curr !== curr.toLowerCase() + ) { + outScore += CAMEL_BONUS; + } + const isNeighbourSeparator = neighbor === "_" || neighbor === " "; + if (isNeighbourSeparator) { + outScore += SEPARATOR_BONUS; + } + } else { + // First letter + outScore += FIRST_LETTER_BONUS; + } + } + + // Return best result + if (recursiveMatch && (!matched || bestRecursiveScore > outScore)) { + // Recursive score is better than "this" + matches = [...bestRecursiveMatches]; + outScore = bestRecursiveScore; + return [true, outScore, calcMatchRanges(matches)]; + } else if (matched) { + // "this" score is better than recursive + return [true, outScore, calcMatchRanges(matches)]; + } else { + return [false, outScore]; + } + } + return [false, outScore]; +} + +/** + * Turns a list of match indexes into a list of match ranges + * + * @author n1474335 [n1474335@gmail.com] + * @param [number] matches + * @returns [[number]] + */ +function calcMatchRanges(matches) { + const ranges = []; + let start = matches[0], + curr = start; + + matches.forEach(m => { + if (m === curr || m === curr + 1) curr = m; + else { + ranges.push([start, curr - start + 1]); + start = m; + curr = m; + } + }); + + ranges.push([start, curr - start + 1]); + return ranges; +} diff --git a/src/web/HTMLOperation.mjs b/src/web/HTMLOperation.mjs index fe075c48..a8c89922 100755 --- a/src/web/HTMLOperation.mjs +++ b/src/web/HTMLOperation.mjs @@ -91,32 +91,51 @@ class HTMLOperation { /** - * Highlights the searched string in the name and description of the operation. + * Highlights searched strings in the name and description of the operation. * - * @param {string} searchStr - * @param {number} namePos - The position of the search string in the operation name - * @param {number} descPos - The position of the search string in the operation description + * @param {[[number]]} nameIdxs - Indexes of the search strings in the operation name [[start, length]] + * @param {[[number]]} descIdxs - Indexes of the search strings in the operation description [[start, length]] */ - highlightSearchString(searchStr, namePos, descPos) { - if (namePos >= 0) { - this.name = this.name.slice(0, namePos) + "" + - this.name.slice(namePos, namePos + searchStr.length) + "" + - this.name.slice(namePos + searchStr.length); + highlightSearchStrings(nameIdxs, descIdxs) { + if (nameIdxs.length) { + let opName = "", + pos = 0; + + nameIdxs.forEach(idxs => { + const [start, length] = idxs; + opName += this.name.slice(pos, start) + "" + + this.name.slice(start, start + length) + ""; + pos = start + length; + }); + opName += this.name.slice(pos, this.name.length); + this.name = opName; } - if (this.description && descPos >= 0) { + if (this.description && descIdxs.length) { // Find HTML tag offsets const re = /<[^>]+>/g; let match; while ((match = re.exec(this.description))) { // If the search string occurs within an HTML tag, return without highlighting it. - if (descPos >= match.index && descPos <= (match.index + match[0].length)) - return; + const inHTMLTag = descIdxs.reduce((acc, idxs) => { + const start = idxs[0]; + return start >= match.index && start <= (match.index + match[0].length); + }, false); + + if (inHTMLTag) return; } - this.description = this.description.slice(0, descPos) + "" + - this.description.slice(descPos, descPos + searchStr.length) + "" + - this.description.slice(descPos + searchStr.length); + let desc = "", + pos = 0; + + descIdxs.forEach(idxs => { + const [start, length] = idxs; + desc += this.description.slice(pos, start) + "" + + this.description.slice(start, start + length) + ""; + pos = start + length; + }); + desc += this.description.slice(pos, this.description.length); + this.description = desc; } } diff --git a/src/web/waiters/OperationsWaiter.mjs b/src/web/waiters/OperationsWaiter.mjs index 4a591249..d2da074c 100755 --- a/src/web/waiters/OperationsWaiter.mjs +++ b/src/web/waiters/OperationsWaiter.mjs @@ -6,6 +6,7 @@ import HTMLOperation from "../HTMLOperation.mjs"; import Sortable from "sortablejs"; +import {fuzzyMatch} from "../../core/lib/FuzzySearch.mjs"; /** @@ -112,24 +113,31 @@ class OperationsWaiter { for (const opName in this.app.operations) { const op = this.app.operations[opName]; - const namePos = opName.toLowerCase().indexOf(searchStr); + + // Match op name using fuzzy match + const [nameMatch, score, idxs] = fuzzyMatch(inStr, opName); + + // Match description based on exact match const descPos = op.description.toLowerCase().indexOf(searchStr); - if (namePos >= 0 || descPos >= 0) { + if (nameMatch || descPos >= 0) { const operation = new HTMLOperation(opName, this.app.operations[opName], this.app, this.manager); if (highlight) { - operation.highlightSearchString(searchStr, namePos, descPos); + operation.highlightSearchStrings(idxs || [], [[descPos, searchStr.length]]); } - if (namePos < 0) { - matchedOps.push(operation); + if (nameMatch) { + matchedOps.push([operation, score]); } else { matchedDescs.push(operation); } } } - return matchedDescs.concat(matchedOps); + // Sort matched operations based on fuzzy score + matchedOps.sort((a, b) => b[1] - a[1]); + + return matchedOps.map(a => a[0]).concat(matchedDescs); } From 618da545b1500764a1c5bc6e48b1a30aad692085 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 5 Feb 2021 17:55:10 +0000 Subject: [PATCH 169/754] 9.24.4 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index f1919767..d8d9fb71 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.24.3", + "version": "9.24.4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 36f6d4b7..86e70ec7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.24.3", + "version": "9.24.4", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 50f796049c888f669797b3232f214e559aab3018 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 5 Feb 2021 18:07:20 +0000 Subject: [PATCH 170/754] Fixed search test --- tests/browser/nightwatch.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/browser/nightwatch.js b/tests/browser/nightwatch.js index ea0de4aa..c6343590 100644 --- a/tests/browser/nightwatch.js +++ b/tests/browser/nightwatch.js @@ -218,7 +218,7 @@ module.exports = { .clearValue("#search") .setValue("#search", "md5") .useXpath() - .waitForElementVisible("//ul[@id='search-results']//u[text()='MD5']", 1000); + .waitForElementVisible("//ul[@id='search-results']//b[text()='MD5']", 1000); }, after: browser => { From 47bbefd81fb9bc801514eb54faf65d8348d2c6d0 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 5 Feb 2021 18:24:15 +0000 Subject: [PATCH 171/754] Fixed recursive scoring results in fuzzy match lib --- src/core/lib/FuzzySearch.mjs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/core/lib/FuzzySearch.mjs b/src/core/lib/FuzzySearch.mjs index 662d7760..70fd1494 100644 --- a/src/core/lib/FuzzySearch.mjs +++ b/src/core/lib/FuzzySearch.mjs @@ -181,7 +181,6 @@ function fuzzyMatchRecursive( // Return best result if (recursiveMatch && (!matched || bestRecursiveScore > outScore)) { // Recursive score is better than "this" - matches = [...bestRecursiveMatches]; outScore = bestRecursiveScore; return [true, outScore, calcMatchRanges(matches)]; } else if (matched) { From ba66fd654624b5d93adfaed5ff0e5e2d990fccf0 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 5 Feb 2021 19:04:27 +0000 Subject: [PATCH 172/754] Fixed recursive matching arguments --- src/core/lib/FuzzySearch.mjs | 20 ++++++++++---------- src/web/waiters/OperationsWaiter.mjs | 4 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/core/lib/FuzzySearch.mjs b/src/core/lib/FuzzySearch.mjs index 70fd1494..d24f3fe6 100644 --- a/src/core/lib/FuzzySearch.mjs +++ b/src/core/lib/FuzzySearch.mjs @@ -71,12 +71,12 @@ function fuzzyMatchRecursive( // Return if recursion limit is reached. if (++recursionCount >= recursionLimit) { - return [false, outScore]; + return [false, outScore, []]; } // Return if we reached ends of strings. if (patternCurIndex === pattern.length || strCurrIndex === str.length) { - return [false, outScore]; + return [false, outScore, []]; } // Recursion params @@ -92,7 +92,7 @@ function fuzzyMatchRecursive( pattern[patternCurIndex].toLowerCase() === str[strCurrIndex].toLowerCase() ) { if (nextMatch >= maxMatches) { - return [false, outScore]; + return [false, outScore, []]; } if (firstMatch && srcMatches) { @@ -100,8 +100,7 @@ function fuzzyMatchRecursive( firstMatch = false; } - const recursiveMatches = []; - const [matched, recursiveScore] = fuzzyMatchRecursive( + const [matched, recursiveScore, recursiveMatches] = fuzzyMatchRecursive( pattern, str, patternCurIndex, @@ -181,16 +180,17 @@ function fuzzyMatchRecursive( // Return best result if (recursiveMatch && (!matched || bestRecursiveScore > outScore)) { // Recursive score is better than "this" + matches = bestRecursiveMatches; outScore = bestRecursiveScore; - return [true, outScore, calcMatchRanges(matches)]; + return [true, outScore, matches]; } else if (matched) { // "this" score is better than recursive - return [true, outScore, calcMatchRanges(matches)]; + return [true, outScore, matches]; } else { - return [false, outScore]; + return [false, outScore, matches]; } } - return [false, outScore]; + return [false, outScore, matches]; } /** @@ -200,7 +200,7 @@ function fuzzyMatchRecursive( * @param [number] matches * @returns [[number]] */ -function calcMatchRanges(matches) { +export function calcMatchRanges(matches) { const ranges = []; let start = matches[0], curr = start; diff --git a/src/web/waiters/OperationsWaiter.mjs b/src/web/waiters/OperationsWaiter.mjs index d2da074c..48df86f7 100755 --- a/src/web/waiters/OperationsWaiter.mjs +++ b/src/web/waiters/OperationsWaiter.mjs @@ -6,7 +6,7 @@ import HTMLOperation from "../HTMLOperation.mjs"; import Sortable from "sortablejs"; -import {fuzzyMatch} from "../../core/lib/FuzzySearch.mjs"; +import {fuzzyMatch, calcMatchRanges} from "../../core/lib/FuzzySearch.mjs"; /** @@ -123,7 +123,7 @@ class OperationsWaiter { if (nameMatch || descPos >= 0) { const operation = new HTMLOperation(opName, this.app.operations[opName], this.app, this.manager); if (highlight) { - operation.highlightSearchStrings(idxs || [], [[descPos, searchStr.length]]); + operation.highlightSearchStrings(calcMatchRanges(idxs) || [], [[descPos, searchStr.length]]); } if (nameMatch) { From 69842584047621142e75e1d25dab4652c8c96bf3 Mon Sep 17 00:00:00 2001 From: aussieklutz Date: Sat, 6 Feb 2021 17:27:54 +1000 Subject: [PATCH 173/754] Update JWTVerify.mjs Enable verification of RSASHA256 and 512 tokens --- src/core/operations/JWTVerify.mjs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/core/operations/JWTVerify.mjs b/src/core/operations/JWTVerify.mjs index 996ac2e3..9cc42c30 100644 --- a/src/core/operations/JWTVerify.mjs +++ b/src/core/operations/JWTVerify.mjs @@ -47,6 +47,8 @@ class JWTVerify extends Operation { "HS256", "HS384", "HS512", + "RS256", + "RS512", "none" ]}); From 139d25dff9df86a47c2e96f9a60aaec68b0b5e59 Mon Sep 17 00:00:00 2001 From: aussieklutz Date: Sat, 6 Feb 2021 17:40:04 +1000 Subject: [PATCH 174/754] Update JWTVerify.mjs Update RSASHA256 test with the public key derived from the pre-existing private key, and expect a working testcase. --- tests/operations/tests/JWTVerify.mjs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/operations/tests/JWTVerify.mjs b/tests/operations/tests/JWTVerify.mjs index f9944f6b..42c0681e 100644 --- a/tests/operations/tests/JWTVerify.mjs +++ b/tests/operations/tests/JWTVerify.mjs @@ -32,6 +32,12 @@ fSSjAkLRi54PKJ8TFUeOP15h9sQzydI8zJU+upvDEKZsZc/UhT/SySDOxQ4G/523 Y0sz/OZtSWcol/UMgQJALesy++GdvoIDLfJX5GBQpuFgFenRiRDabxrE9MNUZ2aP FaFp+DyAe+b4nDwuJaW2LURbr8AEZga7oQj0uYxcYw== -----END RSA PRIVATE KEY-----`; +const rsPub = `-----BEGIN PUBLIC KEY----- +MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDdlatRjRjogo3WojgGHFHYLugd +UWAY9iR3fy4arWNA1KoS8kVw33cJibXr8bvwUAUparCwlvdbH6dvEOfou0/gCFQs +HUfQrSDv+MuSUMAe8jzKE4qW+jK+xQU9a03GUnKHkkle+Q0pX/g6jXZ7r1/xAK5D +o2kQ+X5xK9cipRgEKwIDAQAB +-----END PUBLIC KEY-----`; const esKey = `-----BEGIN PRIVATE KEY----- MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgevZzL1gdAFr88hb2 OF/2NxApJCzGCEDdfSp6VQO30hyhRANCAAQRWz+jn65BtOMvdyHKcvjBeBSDZH2r @@ -53,11 +59,11 @@ TestRegister.addTests([ { name: "JWT Verify: RS", input: "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJTdHJpbmciOiJTb21lU3RyaW5nIiwiTnVtYmVyIjo0MiwiaWF0IjoxfQ.MjEJhtZk2nXzigi24piMzANmrj3mILHJcDl0xOjl5a8EgdKVL1oaMEjTkMQp5RA8YrqeRBFaX-BGGCKOXn5zPY1DJwWsBUyN9C-wGR2Qye0eogH_3b4M9EW00TPCUPXm2rx8URFj7Wg9VlsmrGzLV2oKkPgkVxuFSxnpO3yjn1Y", - expectedOutput: invalidAlgorithm, + expectedOutput: outputObject, recipeConfig: [ { op: "JWT Verify", - args: [rsKey], + args: [rsPub], } ], }, From 4bbeb6caa38ca286f7652ce2c53fd473ca7276fe Mon Sep 17 00:00:00 2001 From: aussieklutz Date: Sat, 6 Feb 2021 17:42:42 +1000 Subject: [PATCH 175/754] Update JWTVerify.mjs Add expectation for working RSASHA256 test, and comment out unused privatekey. --- tests/operations/tests/JWTVerify.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/operations/tests/JWTVerify.mjs b/tests/operations/tests/JWTVerify.mjs index 42c0681e..cb41112e 100644 --- a/tests/operations/tests/JWTVerify.mjs +++ b/tests/operations/tests/JWTVerify.mjs @@ -17,7 +17,7 @@ const outputObject = JSON.stringify({ const invalidAlgorithm = "JsonWebTokenError: invalid algorithm"; const hsKey = "secret_cat"; -const rsKey = `-----BEGIN RSA PRIVATE KEY----- +/*const rsKey = `-----BEGIN RSA PRIVATE KEY----- MIICWwIBAAKBgQDdlatRjRjogo3WojgGHFHYLugdUWAY9iR3fy4arWNA1KoS8kVw 33cJibXr8bvwUAUparCwlvdbH6dvEOfou0/gCFQsHUfQrSDv+MuSUMAe8jzKE4qW +jK+xQU9a03GUnKHkkle+Q0pX/g6jXZ7r1/xAK5Do2kQ+X5xK9cipRgEKwIDAQAB @@ -31,7 +31,7 @@ Su5rsCPb8acJo5RO26gGVrfAsDcIXKC+bQJAZZ2XIpsitLyPpuiMOvBbzPavd4gY fSSjAkLRi54PKJ8TFUeOP15h9sQzydI8zJU+upvDEKZsZc/UhT/SySDOxQ4G/523 Y0sz/OZtSWcol/UMgQJALesy++GdvoIDLfJX5GBQpuFgFenRiRDabxrE9MNUZ2aP FaFp+DyAe+b4nDwuJaW2LURbr8AEZga7oQj0uYxcYw== ------END RSA PRIVATE KEY-----`; +-----END RSA PRIVATE KEY-----`;*/ const rsPub = `-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDdlatRjRjogo3WojgGHFHYLugd UWAY9iR3fy4arWNA1KoS8kVw33cJibXr8bvwUAUparCwlvdbH6dvEOfou0/gCFQs From e228b197f974aecb4440c844e7c9d6a825fbc4b4 Mon Sep 17 00:00:00 2001 From: aussieklutz Date: Sat, 6 Feb 2021 17:45:42 +1000 Subject: [PATCH 176/754] Update JWTVerify.mjs --- tests/operations/tests/JWTVerify.mjs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/operations/tests/JWTVerify.mjs b/tests/operations/tests/JWTVerify.mjs index cb41112e..f4cf75b4 100644 --- a/tests/operations/tests/JWTVerify.mjs +++ b/tests/operations/tests/JWTVerify.mjs @@ -17,7 +17,8 @@ const outputObject = JSON.stringify({ const invalidAlgorithm = "JsonWebTokenError: invalid algorithm"; const hsKey = "secret_cat"; -/*const rsKey = `-----BEGIN RSA PRIVATE KEY----- +/* Retaining private key as a comment +const rsKey = `-----BEGIN RSA PRIVATE KEY----- MIICWwIBAAKBgQDdlatRjRjogo3WojgGHFHYLugdUWAY9iR3fy4arWNA1KoS8kVw 33cJibXr8bvwUAUparCwlvdbH6dvEOfou0/gCFQsHUfQrSDv+MuSUMAe8jzKE4qW +jK+xQU9a03GUnKHkkle+Q0pX/g6jXZ7r1/xAK5Do2kQ+X5xK9cipRgEKwIDAQAB @@ -31,7 +32,8 @@ Su5rsCPb8acJo5RO26gGVrfAsDcIXKC+bQJAZZ2XIpsitLyPpuiMOvBbzPavd4gY fSSjAkLRi54PKJ8TFUeOP15h9sQzydI8zJU+upvDEKZsZc/UhT/SySDOxQ4G/523 Y0sz/OZtSWcol/UMgQJALesy++GdvoIDLfJX5GBQpuFgFenRiRDabxrE9MNUZ2aP FaFp+DyAe+b4nDwuJaW2LURbr8AEZga7oQj0uYxcYw== ------END RSA PRIVATE KEY-----`;*/ +-----END RSA PRIVATE KEY-----`; +*/ const rsPub = `-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDdlatRjRjogo3WojgGHFHYLugd UWAY9iR3fy4arWNA1KoS8kVw33cJibXr8bvwUAUparCwlvdbH6dvEOfou0/gCFQs From 63dff0d34dee6ade59c385af7feb1ac188799ffb Mon Sep 17 00:00:00 2001 From: aussieklutz Date: Sat, 6 Feb 2021 17:55:44 +1000 Subject: [PATCH 177/754] Update JWTVerify.mjs Enabled validation of ECSHA256 JWT tokens in the tests --- tests/operations/tests/JWTVerify.mjs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/operations/tests/JWTVerify.mjs b/tests/operations/tests/JWTVerify.mjs index f4cf75b4..860b9ad2 100644 --- a/tests/operations/tests/JWTVerify.mjs +++ b/tests/operations/tests/JWTVerify.mjs @@ -40,11 +40,17 @@ UWAY9iR3fy4arWNA1KoS8kVw33cJibXr8bvwUAUparCwlvdbH6dvEOfou0/gCFQs HUfQrSDv+MuSUMAe8jzKE4qW+jK+xQU9a03GUnKHkkle+Q0pX/g6jXZ7r1/xAK5D o2kQ+X5xK9cipRgEKwIDAQAB -----END PUBLIC KEY-----`; +/* Retaining private key as a comment const esKey = `-----BEGIN PRIVATE KEY----- MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgevZzL1gdAFr88hb2 OF/2NxApJCzGCEDdfSp6VQO30hyhRANCAAQRWz+jn65BtOMvdyHKcvjBeBSDZH2r 1RTwjmYSi9R/zpBnuQ4EiMnCqfMPWiZqB4QdbAd0E7oH50VpuZ1P087G -----END PRIVATE KEY-----`; +*/ +const esPub = `-----BEGIN PUBLIC KEY----- +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEEVs/o5+uQbTjL3chynL4wXgUg2R9 +q9UU8I5mEovUf86QZ7kOBIjJwqnzD1omageEHWwHdBO6B+dFabmdT9POxg== +-----END PUBLIC KEY-----`; TestRegister.addTests([ { @@ -72,11 +78,11 @@ TestRegister.addTests([ { name: "JWT Verify: ES", input: "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJTdHJpbmciOiJTb21lU3RyaW5nIiwiTnVtYmVyIjo0MiwiaWF0IjoxfQ.WkECT51jSfpRkcpQ4x0h5Dwe7CFBI6u6Et2gWp91HC7mpN_qCFadRpsvJLtKubm6cJTLa68xtei0YrDD8fxIUA", - expectedOutput: invalidAlgorithm, + expectedOutput: outputObject, recipeConfig: [ { op: "JWT Verify", - args: [esKey], + args: [esPub], } ], } From fa05cf1d78692e4941a1ffcd1a6e120446ea6266 Mon Sep 17 00:00:00 2001 From: aussieklutz Date: Sat, 6 Feb 2021 17:58:49 +1000 Subject: [PATCH 178/754] Update JWTVerify.mjs Enabled ESRSA verification. --- src/core/operations/JWTVerify.mjs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/core/operations/JWTVerify.mjs b/src/core/operations/JWTVerify.mjs index 9cc42c30..1b4e92fa 100644 --- a/src/core/operations/JWTVerify.mjs +++ b/src/core/operations/JWTVerify.mjs @@ -48,7 +48,11 @@ class JWTVerify extends Operation { "HS384", "HS512", "RS256", + "RS384", "RS512", + "ES256", + "ES384", + "ES512", "none" ]}); From 1bcb8e433d7c0e49f26c7bd4e67e1a295b9245b5 Mon Sep 17 00:00:00 2001 From: aussieklutz Date: Sat, 6 Feb 2021 18:10:54 +1000 Subject: [PATCH 179/754] Update JWTVerify.mjs --- tests/operations/tests/JWTVerify.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/operations/tests/JWTVerify.mjs b/tests/operations/tests/JWTVerify.mjs index 860b9ad2..017bcf04 100644 --- a/tests/operations/tests/JWTVerify.mjs +++ b/tests/operations/tests/JWTVerify.mjs @@ -14,7 +14,7 @@ const outputObject = JSON.stringify({ iat: 1 }, null, 4); -const invalidAlgorithm = "JsonWebTokenError: invalid algorithm"; +// const invalidAlgorithm = "JsonWebTokenError: invalid algorithm"; const hsKey = "secret_cat"; /* Retaining private key as a comment From d5a0adea0c127e68012da80e88c72ef274efb045 Mon Sep 17 00:00:00 2001 From: aussieklutz Date: Sat, 6 Feb 2021 18:35:46 +1000 Subject: [PATCH 180/754] Update JWTVerify.mjs --- src/core/operations/JWTVerify.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/operations/JWTVerify.mjs b/src/core/operations/JWTVerify.mjs index 1b4e92fa..5773e100 100644 --- a/src/core/operations/JWTVerify.mjs +++ b/src/core/operations/JWTVerify.mjs @@ -27,7 +27,7 @@ class JWTVerify extends Operation { this.outputType = "JSON"; this.args = [ { - name: "Private/Secret Key", + name: "Public/Secret Key", type: "text", value: "secret" }, From 69073c9d997ca48e1f994c3678b2eb6ca7dff5f5 Mon Sep 17 00:00:00 2001 From: Alex Blewitt Date: Sun, 7 Feb 2021 15:51:20 +0000 Subject: [PATCH 181/754] Add ASCII output for frequency table When showing results in the frequency distribution table, it's quite helpful to see the distribution of the ASCII letters, if any. Provide an option to show this to show the characters alongside the code. Fixes #1169. Signed-off-by: Alex Blewitt --- src/core/operations/FrequencyDistribution.mjs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/core/operations/FrequencyDistribution.mjs b/src/core/operations/FrequencyDistribution.mjs index 685694cc..0c4c1563 100644 --- a/src/core/operations/FrequencyDistribution.mjs +++ b/src/core/operations/FrequencyDistribution.mjs @@ -31,6 +31,11 @@ class FrequencyDistribution extends Operation { "name": "Show 0%s", "type": "boolean", "value": true + }, + { + "name": "Show ASCII", + "type": "boolean", + "value": true } ]; } @@ -77,6 +82,7 @@ class FrequencyDistribution extends Operation { */ present(freq, args) { const showZeroes = args[0]; + const showAscii = args[1]; // Print let output = `
Total data length: ${freq.dataLength} @@ -97,7 +103,17 @@ Byte Percentage for (let i = 0; i < 256; i++) { if (freq.distribution[i] || showZeroes) { - output += " " + Utils.hex(i, 2) + " (" + + let c = " "; + if (showAscii) { + if (i <= 32) { + c = String.fromCharCode(0x2400 + i); + } else if (i === 127) { + c = String.fromCharCode(0x2421); + } else { + c = String.fromCharCode(i); + } + } + output += " " + Utils.hex(i, 2) + " " + c + " (" + (freq.percentages[i].toFixed(2).replace(".00", "") + "%)").padEnd(8, " ") + Array(Math.ceil(freq.percentages[i])+1).join("|") + "\n"; } From fe6df8778fdb2af1136331b449c520c5f738666b Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 9 Feb 2021 11:26:00 +0000 Subject: [PATCH 182/754] Fixed year in CHANGELOG records. Closes #1168 --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 555a4af3..7e380918 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,10 +13,10 @@ All major and minor version changes will be documented in this file. Details of ## Details -### [9.24.0] - 2020-02-02 +### [9.24.0] - 2021-02-02 - 'SM3' hashing function added along with more configuration options for other hashing operations [@n1073645] [@n1474335] | [#1022] -### [9.23.0] - 2020-02-01 +### [9.23.0] - 2021-02-01 - Various RSA operations added to encrypt, decrypt, sign, verify and generate keys [@mattnotmitt] [@GCHQ77703] | [#652] ### [9.22.0] - 2021-02-01 From 83e49da7f6de328b617b72b53103027ece64a1bc Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 9 Feb 2021 11:37:25 +0000 Subject: [PATCH 183/754] Fixed description hiighlighting issue --- src/web/HTMLOperation.mjs | 2 +- src/web/waiters/OperationsWaiter.mjs | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/web/HTMLOperation.mjs b/src/web/HTMLOperation.mjs index a8c89922..fe116eae 100755 --- a/src/web/HTMLOperation.mjs +++ b/src/web/HTMLOperation.mjs @@ -111,7 +111,7 @@ class HTMLOperation { this.name = opName; } - if (this.description && descIdxs.length) { + if (this.description && descIdxs.length && descIdxs[0][0] >= 0) { // Find HTML tag offsets const re = /<[^>]+>/g; let match; diff --git a/src/web/waiters/OperationsWaiter.mjs b/src/web/waiters/OperationsWaiter.mjs index 48df86f7..8947b038 100755 --- a/src/web/waiters/OperationsWaiter.mjs +++ b/src/web/waiters/OperationsWaiter.mjs @@ -109,8 +109,6 @@ class OperationsWaiter { const matchedOps = []; const matchedDescs = []; - const searchStr = inStr.toLowerCase(); - for (const opName in this.app.operations) { const op = this.app.operations[opName]; @@ -118,12 +116,12 @@ class OperationsWaiter { const [nameMatch, score, idxs] = fuzzyMatch(inStr, opName); // Match description based on exact match - const descPos = op.description.toLowerCase().indexOf(searchStr); + const descPos = op.description.toLowerCase().indexOf(inStr.toLowerCase()); if (nameMatch || descPos >= 0) { const operation = new HTMLOperation(opName, this.app.operations[opName], this.app, this.manager); if (highlight) { - operation.highlightSearchStrings(calcMatchRanges(idxs) || [], [[descPos, searchStr.length]]); + operation.highlightSearchStrings(calcMatchRanges(idxs) || [], [[descPos, inStr.length]]); } if (nameMatch) { From 3ae2e2e2c871dc485cc0ccd8fe6a4bab3f2dc817 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 9 Feb 2021 11:50:20 +0000 Subject: [PATCH 184/754] Fixed highlighting of op names where only the description has hit --- src/web/HTMLOperation.mjs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/web/HTMLOperation.mjs b/src/web/HTMLOperation.mjs index fe116eae..5fcd7b98 100755 --- a/src/web/HTMLOperation.mjs +++ b/src/web/HTMLOperation.mjs @@ -97,12 +97,13 @@ class HTMLOperation { * @param {[[number]]} descIdxs - Indexes of the search strings in the operation description [[start, length]] */ highlightSearchStrings(nameIdxs, descIdxs) { - if (nameIdxs.length) { + if (nameIdxs.length && typeof nameIdxs[0][0] === "number") { let opName = "", pos = 0; nameIdxs.forEach(idxs => { const [start, length] = idxs; + if (typeof start !== "number") return; opName += this.name.slice(pos, start) + "" + this.name.slice(start, start + length) + ""; pos = start + length; From 9fdd55c5c67f197712a681625d2278e36c510d3c Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 9 Feb 2021 14:14:59 +0000 Subject: [PATCH 185/754] Tidied up JWT ops --- src/core/lib/JWT.mjs | 2 +- src/core/operations/JWTSign.mjs | 2 -- src/core/operations/JWTVerify.mjs | 7 ++----- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/core/lib/JWT.mjs b/src/core/lib/JWT.mjs index 2edd0110..fee7fec5 100644 --- a/src/core/lib/JWT.mjs +++ b/src/core/lib/JWT.mjs @@ -21,4 +21,4 @@ export const JWT_ALGORITHMS = [ "ES384", "ES512", "None" -]; \ No newline at end of file +]; diff --git a/src/core/operations/JWTSign.mjs b/src/core/operations/JWTSign.mjs index 1d220cf8..af46908e 100644 --- a/src/core/operations/JWTSign.mjs +++ b/src/core/operations/JWTSign.mjs @@ -3,11 +3,9 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ - import Operation from "../Operation.mjs"; import jwt from "jsonwebtoken"; import OperationError from "../errors/OperationError.mjs"; - import {JWT_ALGORITHMS} from "../lib/JWT.mjs"; diff --git a/src/core/operations/JWTVerify.mjs b/src/core/operations/JWTVerify.mjs index 9ee90a4a..6d334f5b 100644 --- a/src/core/operations/JWTVerify.mjs +++ b/src/core/operations/JWTVerify.mjs @@ -3,14 +3,12 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ - import Operation from "../Operation.mjs"; import jwt from "jsonwebtoken"; import OperationError from "../errors/OperationError.mjs"; - - import {JWT_ALGORITHMS} from "../lib/JWT.mjs"; + /** * JWT Verify operation */ @@ -46,8 +44,7 @@ class JWTVerify extends Operation { const [key] = args; try { - const verified = jwt.verify(input, key, { algorithms: JWT_ALGORITHMS}); - + const verified = jwt.verify(input, key, { algorithms: JWT_ALGORITHMS }); if (Object.prototype.hasOwnProperty.call(verified, "name") && verified.name === "JsonWebTokenError") { throw new OperationError(verified.message); From 24548e3a48b99480a4005e744c28463bcef42609 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 9 Feb 2021 14:23:02 +0000 Subject: [PATCH 186/754] Tidied up JWT tests --- src/core/operations/JWTVerify.mjs | 4 +++- tests/operations/tests/JWTVerify.mjs | 6 ++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/core/operations/JWTVerify.mjs b/src/core/operations/JWTVerify.mjs index ae698d42..604edc9c 100644 --- a/src/core/operations/JWTVerify.mjs +++ b/src/core/operations/JWTVerify.mjs @@ -42,9 +42,11 @@ class JWTVerify extends Operation { */ run(input, args) { const [key] = args; + const algos = JWT_ALGORITHMS; + algos[algos.indexOf("None")] = "none"; try { - const verified = jwt.verify(input, key, { algorithms: JWT_ALGORITHMS }); + const verified = jwt.verify(input, key, { algorithms: algos }); if (Object.prototype.hasOwnProperty.call(verified, "name") && verified.name === "JsonWebTokenError") { throw new OperationError(verified.message); diff --git a/tests/operations/tests/JWTVerify.mjs b/tests/operations/tests/JWTVerify.mjs index 017bcf04..0a0817cc 100644 --- a/tests/operations/tests/JWTVerify.mjs +++ b/tests/operations/tests/JWTVerify.mjs @@ -14,11 +14,9 @@ const outputObject = JSON.stringify({ iat: 1 }, null, 4); -// const invalidAlgorithm = "JsonWebTokenError: invalid algorithm"; - const hsKey = "secret_cat"; /* Retaining private key as a comment -const rsKey = `-----BEGIN RSA PRIVATE KEY----- +const rsPriv = `-----BEGIN RSA PRIVATE KEY----- MIICWwIBAAKBgQDdlatRjRjogo3WojgGHFHYLugdUWAY9iR3fy4arWNA1KoS8kVw 33cJibXr8bvwUAUparCwlvdbH6dvEOfou0/gCFQsHUfQrSDv+MuSUMAe8jzKE4qW +jK+xQU9a03GUnKHkkle+Q0pX/g6jXZ7r1/xAK5Do2kQ+X5xK9cipRgEKwIDAQAB @@ -41,7 +39,7 @@ HUfQrSDv+MuSUMAe8jzKE4qW+jK+xQU9a03GUnKHkkle+Q0pX/g6jXZ7r1/xAK5D o2kQ+X5xK9cipRgEKwIDAQAB -----END PUBLIC KEY-----`; /* Retaining private key as a comment -const esKey = `-----BEGIN PRIVATE KEY----- +const esPriv = `-----BEGIN PRIVATE KEY----- MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgevZzL1gdAFr88hb2 OF/2NxApJCzGCEDdfSp6VQO30hyhRANCAAQRWz+jn65BtOMvdyHKcvjBeBSDZH2r 1RTwjmYSi9R/zpBnuQ4EiMnCqfMPWiZqB4QdbAd0E7oH50VpuZ1P087G From 4563c86acdd0820228786c638b4ef23deb025904 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 9 Feb 2021 14:24:08 +0000 Subject: [PATCH 187/754] 9.24.5 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index d8d9fb71..6a54136d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.24.4", + "version": "9.24.5", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 86e70ec7..285a3a27 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.24.4", + "version": "9.24.5", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 766310e2c731b705f53e024cc74224780f195bbd Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 9 Feb 2021 14:46:04 +0000 Subject: [PATCH 188/754] Frequency Distribution operation now displays an HTML table --- src/core/operations/FrequencyDistribution.mjs | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/core/operations/FrequencyDistribution.mjs b/src/core/operations/FrequencyDistribution.mjs index 0c4c1563..a9c10390 100644 --- a/src/core/operations/FrequencyDistribution.mjs +++ b/src/core/operations/FrequencyDistribution.mjs @@ -81,15 +81,14 @@ class FrequencyDistribution extends Operation { * @returns {html} */ present(freq, args) { - const showZeroes = args[0]; - const showAscii = args[1]; + const [showZeroes, showAscii] = args; + // Print let output = `
Total data length: ${freq.dataLength} Number of bytes represented: ${freq.bytesRepresented} Number of bytes not represented: ${256 - freq.bytesRepresented} -Byte Percentage `; + + + ${showAscii ? "" : ""}`; for (let i = 0; i < 256; i++) { if (freq.distribution[i] || showZeroes) { - let c = " "; + let c = ""; if (showAscii) { if (i <= 32) { c = String.fromCharCode(0x2400 + i); @@ -113,12 +114,16 @@ Byte Percentage c = String.fromCharCode(i); } } - output += " " + Utils.hex(i, 2) + " " + c + " (" + - (freq.percentages[i].toFixed(2).replace(".00", "") + "%)").padEnd(8, " ") + - Array(Math.ceil(freq.percentages[i])+1).join("|") + "\n"; + const bite = ``, + ascii = showAscii ? `` : "", + percentage = ``, + bars = ``; + + output += `${bite}${ascii}${percentage}${bars}`; } } + output += "
ByteASCIIPercentage
${Utils.hex(i, 2)}${c}${(freq.percentages[i].toFixed(2).replace(".00", "") + "%").padEnd(8, " ")}${Array(Math.ceil(freq.percentages[i])+1).join("|")}
"; return output; } From 5d982a9c8d30e0d0fd05dffb65e8b9c144aa855d Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 9 Feb 2021 14:50:17 +0000 Subject: [PATCH 189/754] 9.24.6 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6a54136d..ff5172c4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.24.5", + "version": "9.24.6", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 285a3a27..72942a1a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.24.5", + "version": "9.24.6", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 892a3716eda14f951c03e476455ccb8dc4b52b94 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 9 Feb 2021 15:00:35 +0000 Subject: [PATCH 190/754] Added Crypt lib for common resources --- src/core/lib/Crypt.mjs | 9 +++++++++ src/core/operations/GeneratePGPKeyPair.mjs | 4 +++- src/core/operations/GenerateRSAKeyPair.mjs | 3 ++- 3 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 src/core/lib/Crypt.mjs diff --git a/src/core/lib/Crypt.mjs b/src/core/lib/Crypt.mjs new file mode 100644 index 00000000..c36a0267 --- /dev/null +++ b/src/core/lib/Crypt.mjs @@ -0,0 +1,9 @@ +/** + * Crypt resources. + * + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2021 + * @license Apache-2.0 + */ + +export const cryptNotice = "WARNING: Cryptographic operations in CyberChef should not be relied upon to provide security in any situation. No guarantee is offered for their correctness. We advise you not to use keys generated from CyberChef in operational contexts."; diff --git a/src/core/operations/GeneratePGPKeyPair.mjs b/src/core/operations/GeneratePGPKeyPair.mjs index 5943ce31..a26b5cc8 100644 --- a/src/core/operations/GeneratePGPKeyPair.mjs +++ b/src/core/operations/GeneratePGPKeyPair.mjs @@ -9,9 +9,11 @@ import Operation from "../Operation.mjs"; import kbpgp from "kbpgp"; import { getSubkeySize, ASP } from "../lib/PGP.mjs"; +import { cryptNotice } from "../lib/Crypt.mjs"; import * as es6promisify from "es6-promisify"; const promisify = es6promisify.default ? es6promisify.default.promisify : es6promisify.promisify; + /** * Generate PGP Key Pair operation */ @@ -25,7 +27,7 @@ class GeneratePGPKeyPair extends Operation { this.name = "Generate PGP Key Pair"; this.module = "PGP"; - this.description = "Generates a new public/private PGP key pair. Supports RSA and Eliptic Curve (EC) keys.

WARNING: Cryptographic operations in CyberChef should not be relied upon to provide security in any situation. No guarantee is offered for their correctness. We advise you not to use keys generated from CyberChef in operational contexts."; + this.description = `Generates a new public/private PGP key pair. Supports RSA and Eliptic Curve (EC) keys.

${cryptNotice}`; this.infoURL = "https://wikipedia.org/wiki/Pretty_Good_Privacy"; this.inputType = "string"; this.outputType = "string"; diff --git a/src/core/operations/GenerateRSAKeyPair.mjs b/src/core/operations/GenerateRSAKeyPair.mjs index f263eb23..3dd2837d 100644 --- a/src/core/operations/GenerateRSAKeyPair.mjs +++ b/src/core/operations/GenerateRSAKeyPair.mjs @@ -7,6 +7,7 @@ import Operation from "../Operation.mjs"; import forge from "node-forge"; +import { cryptNotice } from "../lib/Crypt.mjs"; /** * Generate RSA Key Pair operation @@ -21,7 +22,7 @@ class GenerateRSAKeyPair extends Operation { this.name = "Generate RSA Key Pair"; this.module = "Ciphers"; - this.description = "Generate an RSA key pair with a given number of bits.

WARNING: Cryptographic operations in CyberChef should not be relied upon to provide security in any situation. No guarantee is offered for their correctness. We advise you not to use keys generated from CyberChef in operational contexts."; + this.description = `Generate an RSA key pair with a given number of bits.

${cryptNotice}`; this.infoURL = "https://wikipedia.org/wiki/RSA_(cryptosystem)"; this.inputType = "string"; this.outputType = "string"; From 1abc46058cc75d8ba27528367a8b94afc164f8e5 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Wed, 10 Feb 2021 13:13:19 +0000 Subject: [PATCH 191/754] Added a CodeQL workflow to check for bugs through code analysis. Fixed numerous bugs and implemented safeguards as already reported. --- .github/workflows/codeql.yml | 32 +++++++++++++++++++ Gruntfile.js | 2 +- src/core/ChefWorker.js | 2 +- src/core/Dish.mjs | 2 +- src/core/Utils.mjs | 7 ++-- src/core/config/scripts/newOperation.mjs | 2 +- src/core/lib/Base85.mjs | 6 ++-- src/core/lib/Charts.mjs | 10 +++--- src/core/lib/FileType.mjs | 2 +- src/core/lib/Stream.mjs | 2 +- src/core/operations/ExtractEmailAddresses.mjs | 4 +-- src/core/operations/FromBCD.mjs | 2 +- src/core/operations/FromBase.mjs | 2 +- src/core/operations/FromBase32.mjs | 8 ++--- src/core/operations/Lorenz.mjs | 2 +- .../OpticalCharacterRecognition.mjs | 2 +- src/core/operations/PHPDeserialize.mjs | 8 ++--- src/core/operations/ParseIPv6Address.mjs | 2 +- src/core/operations/ParseSSHHostKey.mjs | 2 +- src/core/operations/RegularExpression.mjs | 2 +- src/core/operations/SharpenImage.mjs | 2 +- src/core/operations/Sort.mjs | 4 +-- src/core/operations/ToCharcode.mjs | 2 +- .../operations/UnescapeUnicodeCharacters.mjs | 1 - src/web/HTMLIngredient.mjs | 4 +-- src/web/HTMLOperation.mjs | 10 +++--- src/web/html/index.html | 2 +- src/web/waiters/ControlsWaiter.mjs | 4 +-- src/web/waiters/InputWaiter.mjs | 8 ++--- src/web/waiters/OperationsWaiter.mjs | 2 +- src/web/waiters/OutputWaiter.mjs | 6 ++-- src/web/waiters/RecipeWaiter.mjs | 2 +- 32 files changed, 87 insertions(+), 61 deletions(-) create mode 100644 .github/workflows/codeql.yml diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 00000000..0976b58e --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,32 @@ +name: "CodeQL" + +on: + push: + branches: [ master ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ master ] + schedule: + - cron: '22 17 * * 5' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + language: [ 'javascript' ] + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + with: + languages: ${{ matrix.language }} + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 diff --git a/Gruntfile.js b/Gruntfile.js index 0477fb92..224c9211 100755 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -174,7 +174,7 @@ module.exports = function (grunt) { // previous one fails. & would coninue on a fail .join("&&") // Windows does not support \n properly - .replace("\n", "\\n"); + .replace(/\n/g, "\\n"); } grunt.initConfig({ diff --git a/src/core/ChefWorker.js b/src/core/ChefWorker.js index b0ba31a0..cac6a452 100644 --- a/src/core/ChefWorker.js +++ b/src/core/ChefWorker.js @@ -212,7 +212,7 @@ self.loadRequiredModules = function(recipeConfig) { if (!(module in OpModules)) { log.info(`Loading ${module} module`); self.sendStatusMessage(`Loading ${module} module`); - self.importScripts(`${self.docURL}/modules/${module}.js`); + self.importScripts(`${self.docURL}/modules/${module}.js`); // lgtm [js/client-side-unvalidated-url-redirection] self.sendStatusMessage(""); } }); diff --git a/src/core/Dish.mjs b/src/core/Dish.mjs index 1d592cbd..1afdef01 100755 --- a/src/core/Dish.mjs +++ b/src/core/Dish.mjs @@ -207,7 +207,7 @@ class Dish { const data = new Uint8Array(this.value.slice(0, 2048)), types = detectFileType(data); - if (!types.length || !types[0].mime || !types[0].mime === "text/plain") { + if (!types.length || !types[0].mime || !(types[0].mime === "text/plain")) { return null; } else { return types[0].mime; diff --git a/src/core/Utils.mjs b/src/core/Utils.mjs index bd3908d2..9c687ee4 100755 --- a/src/core/Utils.mjs +++ b/src/core/Utils.mjs @@ -705,7 +705,7 @@ class Utils { */ static stripHtmlTags(htmlStr, removeScriptAndStyle=false) { if (removeScriptAndStyle) { - htmlStr = htmlStr.replace(/<(script|style)[^>]*>.*<\/(script|style)>/gmi, ""); + htmlStr = htmlStr.replace(/<(script|style)[^>]*>.*?<\/(script|style)>/gi, ""); } return htmlStr.replace(/<[^>]+>/g, ""); } @@ -729,11 +729,10 @@ class Utils { ">": ">", '"': """, "'": "'", // ' not recommended because it's not in the HTML spec - "/": "/", // forward slash is included as it helps end an HTML entity "`": "`" }; - return str.replace(/[&<>"'/`]/g, function (match) { + return str.replace(/[&<>"'`]/g, function (match) { return HTML_CHARS[match]; }); } @@ -879,7 +878,7 @@ class Utils { while ((m = recipeRegex.exec(recipe))) { // Translate strings in args back to double-quotes args = m[2] - .replace(/"/g, '\\"') // Escape double quotes + .replace(/"/g, '\\"') // Escape double quotes lgtm [js/incomplete-sanitization] .replace(/(^|,|{|:)'/g, '$1"') // Replace opening ' with " .replace(/([^\\]|(?:\\\\)+)'(,|:|}|$)/g, '$1"$2') // Replace closing ' with " .replace(/\\'/g, "'"); // Unescape single quotes diff --git a/src/core/config/scripts/newOperation.mjs b/src/core/config/scripts/newOperation.mjs index 809f3558..fddeff97 100644 --- a/src/core/config/scripts/newOperation.mjs +++ b/src/core/config/scripts/newOperation.mjs @@ -121,7 +121,7 @@ prompt.get(schema, (err, result) => { const moduleName = result.opName.replace(/\w\S*/g, txt => { return txt.charAt(0).toUpperCase() + txt.substr(1); - }).replace(/[\s-()/./]/g, ""); + }).replace(/[\s-()./]/g, ""); const template = `/** diff --git a/src/core/lib/Base85.mjs b/src/core/lib/Base85.mjs index 8da729e2..83dcbd2f 100644 --- a/src/core/lib/Base85.mjs +++ b/src/core/lib/Base85.mjs @@ -32,9 +32,9 @@ export const ALPHABET_OPTIONS = [ * @returns {string} */ export function alphabetName(alphabet) { - alphabet = alphabet.replace("'", "'"); - alphabet = alphabet.replace("\"", """); - alphabet = alphabet.replace("\\", "\"); + alphabet = alphabet.replace(/'/g, "'"); + alphabet = alphabet.replace(/"/g, """); + alphabet = alphabet.replace(/\\/g, "\"); let name; ALPHABET_OPTIONS.forEach(function(a) { diff --git a/src/core/lib/Charts.mjs b/src/core/lib/Charts.mjs index 6685ee6e..93bf32f6 100644 --- a/src/core/lib/Charts.mjs +++ b/src/core/lib/Charts.mjs @@ -86,8 +86,8 @@ export function getScatterValues(input, recordDelimiter, fieldDelimiter, columnH } values = values.map(row => { - const x = parseFloat(row[0], 10), - y = parseFloat(row[1], 10); + const x = parseFloat(row[0]), + y = parseFloat(row[1]); if (Number.isNaN(x)) throw new OperationError("Values must be numbers in base 10."); if (Number.isNaN(y)) throw new OperationError("Values must be numbers in base 10."); @@ -121,8 +121,8 @@ export function getScatterValuesWithColour(input, recordDelimiter, fieldDelimite } values = values.map(row => { - const x = parseFloat(row[0], 10), - y = parseFloat(row[1], 10), + const x = parseFloat(row[0]), + y = parseFloat(row[1]), colour = row[2]; if (Number.isNaN(x)) throw new OperationError("Values must be numbers in base 10."); @@ -157,7 +157,7 @@ export function getSeriesValues(input, recordDelimiter, fieldDelimiter, columnHe values.forEach(row => { const serie = row[0], xVal = row[1], - val = parseFloat(row[2], 10); + val = parseFloat(row[2]); if (Number.isNaN(val)) throw new OperationError("Values must be numbers in base 10."); diff --git a/src/core/lib/FileType.mjs b/src/core/lib/FileType.mjs index 291760d7..7a6a0a4e 100644 --- a/src/core/lib/FileType.mjs +++ b/src/core/lib/FileType.mjs @@ -213,7 +213,7 @@ function locatePotentialSig(buf, sig, offset) { export function isType(type, buf) { const types = detectFileType(buf); - if (!(types && types.length)) return false; + if (!types.length) return false; if (typeof type === "string") { return types.reduce((acc, t) => { diff --git a/src/core/lib/Stream.mjs b/src/core/lib/Stream.mjs index a2edb462..f332f908 100644 --- a/src/core/lib/Stream.mjs +++ b/src/core/lib/Stream.mjs @@ -177,7 +177,7 @@ export default class Stream { // Get the skip table. const skiptable = preprocess(val, length); - let found = true; + let found; while (this.position < this.length) { // Until we hit the final element of val in the stream. diff --git a/src/core/operations/ExtractEmailAddresses.mjs b/src/core/operations/ExtractEmailAddresses.mjs index 13bc023b..43bf3b64 100644 --- a/src/core/operations/ExtractEmailAddresses.mjs +++ b/src/core/operations/ExtractEmailAddresses.mjs @@ -39,8 +39,8 @@ class ExtractEmailAddresses extends Operation { */ run(input, args) { const displayTotal = args[0], - // email regex from: https://www.regextester.com/98066 - regex = /(?:[\u00A0-\uD7FF\uE000-\uFFFF-a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[\u00A0-\uD7FF\uE000-\uFFFF-a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[\u00A0-\uD7FF\uE000-\uFFFF-a-z0-9](?:[\u00A0-\uD7FF\uE000-\uFFFF-a-z0-9-]*[\u00A0-\uD7FF\uE000-\uFFFF-a-z0-9])?\.)+[\u00A0-\uD7FF\uE000-\uFFFF-a-z0-9](?:[\u00A0-\uD7FF\uE000-\uFFFF-a-z0-9-]*[\u00A0-\uD7FF\uE000-\uFFFF-a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/ig; + // email regex from: https://www.regextester.com/98066 + regex = /(?:[\u00A0-\uD7FF\uE000-\uFFFFa-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[\u00A0-\uD7FF\uE000-\uFFFFa-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[\u00A0-\uD7FF\uE000-\uFFFFa-z0-9](?:[\u00A0-\uD7FF\uE000-\uFFFFa-z0-9-]*[\u00A0-\uD7FF\uE000-\uFFFFa-z0-9])?\.)+[\u00A0-\uD7FF\uE000-\uFFFFa-z0-9](?:[\u00A0-\uD7FF\uE000-\uFFFFa-z0-9-]*[\u00A0-\uD7FF\uE000-\uFFFFa-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}\])/ig; return search(input, regex, null, displayTotal); } diff --git a/src/core/operations/FromBCD.mjs b/src/core/operations/FromBCD.mjs index 2fbc679f..e58116d3 100644 --- a/src/core/operations/FromBCD.mjs +++ b/src/core/operations/FromBCD.mjs @@ -95,7 +95,7 @@ class FromBCD extends Operation { if (!packed) { // Discard each high nibble for (let i = 0; i < nibbles.length; i++) { - nibbles.splice(i, 1); + nibbles.splice(i, 1); // lgtm [js/loop-iteration-skipped-due-to-shifting] } } diff --git a/src/core/operations/FromBase.mjs b/src/core/operations/FromBase.mjs index f374bdd0..4abd5c44 100644 --- a/src/core/operations/FromBase.mjs +++ b/src/core/operations/FromBase.mjs @@ -46,7 +46,7 @@ class FromBase extends Operation { } const number = input.replace(/\s/g, "").split("."); - let result = new BigNumber(number[0], radix) || 0; + let result = new BigNumber(number[0], radix); if (number.length === 1) return result; diff --git a/src/core/operations/FromBase32.mjs b/src/core/operations/FromBase32.mjs index 2715fdc1..73added6 100644 --- a/src/core/operations/FromBase32.mjs +++ b/src/core/operations/FromBase32.mjs @@ -84,10 +84,10 @@ class FromBase32 extends Operation { chr5 = ((enc7 & 7) << 5) | enc8; output.push(chr1); - if (enc2 & 3 !== 0 || enc3 !== 32) output.push(chr2); - if (enc4 & 15 !== 0 || enc5 !== 32) output.push(chr3); - if (enc5 & 1 !== 0 || enc6 !== 32) output.push(chr4); - if (enc7 & 7 !== 0 || enc8 !== 32) output.push(chr5); + if ((enc2 & 3) !== 0 || enc3 !== 32) output.push(chr2); + if ((enc4 & 15) !== 0 || enc5 !== 32) output.push(chr3); + if ((enc5 & 1) !== 0 || enc6 !== 32) output.push(chr4); + if ((enc7 & 7) !== 0 || enc8 !== 32) output.push(chr5); } return output; diff --git a/src/core/operations/Lorenz.mjs b/src/core/operations/Lorenz.mjs index e723bbb5..a9c2029b 100644 --- a/src/core/operations/Lorenz.mjs +++ b/src/core/operations/Lorenz.mjs @@ -376,7 +376,7 @@ class Lorenz extends Operation { // Psi wheels only move sometimes, dependent on M37 current setting and limitations const basicmotor = m37lug; - let totalmotor = basicmotor; + let totalmotor; let lim = 0; p5[2] = p5[1]; diff --git a/src/core/operations/OpticalCharacterRecognition.mjs b/src/core/operations/OpticalCharacterRecognition.mjs index 6a3c3f10..305c5ccd 100644 --- a/src/core/operations/OpticalCharacterRecognition.mjs +++ b/src/core/operations/OpticalCharacterRecognition.mjs @@ -51,7 +51,7 @@ class OpticalCharacterRecognition extends Operation { async run(input, args) { const [showConfidence] = args; - if (!isWorkerEnvironment()) throw OperationError("This operation only works in a browser"); + if (!isWorkerEnvironment()) throw new OperationError("This operation only works in a browser"); const type = isImage(input); if (!type) { diff --git a/src/core/operations/PHPDeserialize.mjs b/src/core/operations/PHPDeserialize.mjs index 2c510b35..77d18bc2 100644 --- a/src/core/operations/PHPDeserialize.mjs +++ b/src/core/operations/PHPDeserialize.mjs @@ -111,7 +111,7 @@ class PHPDeserialize extends Operation { } else { const numberCheck = lastItem.match(/[0-9]+/); if (args[0] && numberCheck && numberCheck[0].length === lastItem.length) { - result.push("\"" + lastItem + "\": " + item); + result.push('"' + lastItem + '": ' + item); } else { result.push(lastItem + ": " + item); } @@ -149,11 +149,11 @@ class PHPDeserialize extends Operation { const length = readUntil(":"); expect("\""); const value = read(length); - expect("\";"); + expect('";'); if (args[0]) { - return "\"" + value.replace(/"/g, "\\\"") + "\""; + return '"' + value.replace(/"/g, '\\"') + '"'; // lgtm [js/incomplete-sanitization] } else { - return "\"" + value + "\""; + return '"' + value + '"'; } } diff --git a/src/core/operations/ParseIPv6Address.mjs b/src/core/operations/ParseIPv6Address.mjs index 78df0b19..d3480e32 100644 --- a/src/core/operations/ParseIPv6Address.mjs +++ b/src/core/operations/ParseIPv6Address.mjs @@ -169,7 +169,7 @@ class ParseIPv6Address extends Operation { // Detect possible EUI-64 addresses - if ((ipv6[5] & 0xff === 0xff) && (ipv6[6] >>> 8 === 0xfe)) { + if (((ipv6[5] & 0xff) === 0xff) && (ipv6[6] >>> 8 === 0xfe)) { output += "\n\nThis IPv6 address contains a modified EUI-64 address, identified by the presence of FF:FE in the 12th and 13th octets."; const intIdent = Utils.hex(ipv6[4] >>> 8) + ":" + Utils.hex(ipv6[4] & 0xff) + ":" + diff --git a/src/core/operations/ParseSSHHostKey.mjs b/src/core/operations/ParseSSHHostKey.mjs index 6472b287..8a3bf5da 100644 --- a/src/core/operations/ParseSSHHostKey.mjs +++ b/src/core/operations/ParseSSHHostKey.mjs @@ -87,7 +87,7 @@ class ParseSSHHostKey extends Operation { * @returns {byteArray} */ convertKeyToBinary(inputKey, inputFormat) { - const keyPattern = new RegExp(/^(?:[ssh]|[ecdsa-sha2])\S+\s+(\S*)/), + const keyPattern = new RegExp(/^(?:ssh|ecdsa-sha2)\S+\s+(\S*)/), keyMatch = inputKey.match(keyPattern); if (keyMatch) { diff --git a/src/core/operations/RegularExpression.mjs b/src/core/operations/RegularExpression.mjs index 9e627ad9..8771b55f 100644 --- a/src/core/operations/RegularExpression.mjs +++ b/src/core/operations/RegularExpression.mjs @@ -45,7 +45,7 @@ class RegularExpression extends Operation { }, { name: "Email address", - value: "(?:[\u00A0-\uD7FF\uE000-\uFFFF-a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[\u00A0-\uD7FF\uE000-\uFFFF-a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*\")@(?:(?:[\u00A0-\uD7FF\uE000-\uFFFF-a-z0-9](?:[\u00A0-\uD7FF\uE000-\uFFFF-a-z0-9-]*[\u00A0-\uD7FF\uE000-\uFFFF-a-z0-9])?\\.)+[\u00A0-\uD7FF\uE000-\uFFFF-a-z0-9](?:[\u00A0-\uD7FF\uE000-\uFFFF-a-z0-9-]*[\u00A0-\uD7FF\uE000-\uFFFF-a-z0-9])?|\\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\\])" + value: "(?:[\\u00A0-\\uD7FF\\uE000-\\uFFFFa-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\u00A0-\\uD7FF\\uE000-\\uFFFFa-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[\\u00A0-\\uD7FF\\uE000-\\uFFFFa-z0-9](?:[\\u00A0-\\uD7FF\\uE000-\\uFFFF-a-z0-9-]*[\\u00A0-\\uD7FF\\uE000-\\uFFFFa-z0-9])?\\.)+[\\u00A0-\\uD7FF\\uE000-\\uFFFFa-z0-9](?:[\\u00A0-\\uD7FF\\uE000-\\uFFFFa-z0-9-]*[\\u00A0-\\uD7FF\\uE000-\\uFFFFa-z0-9])?|\\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\\.){3}\\])" }, { name: "URL", diff --git a/src/core/operations/SharpenImage.mjs b/src/core/operations/SharpenImage.mjs index 3306a49b..3882b7aa 100644 --- a/src/core/operations/SharpenImage.mjs +++ b/src/core/operations/SharpenImage.mjs @@ -81,7 +81,7 @@ class SharpenImage extends Operation { if (isWorkerEnvironment()) self.sendStatusMessage("Sharpening image... (Blurring cloned image)"); - const blurImage = gaussianBlur(image.clone(), radius, 3); + const blurImage = gaussianBlur(image.clone(), radius); if (isWorkerEnvironment()) diff --git a/src/core/operations/Sort.mjs b/src/core/operations/Sort.mjs index 84bce4c9..a1148f7c 100644 --- a/src/core/operations/Sort.mjs +++ b/src/core/operations/Sort.mjs @@ -125,7 +125,7 @@ class Sort extends Operation { const ret = a_[i].localeCompare(b_[i]); // Compare strings if (ret !== 0) return ret; } - if (!isNaN(a_[i]) && !isNaN(a_[i])) { // Compare numbers + if (!isNaN(a_[i]) && !isNaN(b_[i])) { // Compare numbers if (a_[i] - b_[i] !== 0) return a_[i] - b_[i]; } } @@ -163,7 +163,7 @@ class Sort extends Operation { const ret = a_[i].localeCompare(b_[i]); // Compare strings if (ret !== 0) return ret; } - if (!isNaN(a_[i]) && !isNaN(a_[i])) { // Compare numbers + if (!isNaN(a_[i]) && !isNaN(b_[i])) { // Compare numbers if (a_[i] - b_[i] !== 0) return a_[i] - b_[i]; } } diff --git a/src/core/operations/ToCharcode.mjs b/src/core/operations/ToCharcode.mjs index 5ad287e4..a4806115 100644 --- a/src/core/operations/ToCharcode.mjs +++ b/src/core/operations/ToCharcode.mjs @@ -52,7 +52,7 @@ class ToCharcode extends Operation { const delim = Utils.charRep(args[0] || "Space"), base = args[1]; let output = "", - padding = 2, + padding, ordinal; if (base < 2 || base > 36) { diff --git a/src/core/operations/UnescapeUnicodeCharacters.mjs b/src/core/operations/UnescapeUnicodeCharacters.mjs index c639613e..5bb0e5ac 100644 --- a/src/core/operations/UnescapeUnicodeCharacters.mjs +++ b/src/core/operations/UnescapeUnicodeCharacters.mjs @@ -47,7 +47,6 @@ class UnescapeUnicodeCharacters extends Operation { while ((m = regex.exec(input))) { // Add up to match output += input.slice(i, m.index); - i = m.index; // Add match output += Utils.chr(parseInt(m[1], 16)); diff --git a/src/web/HTMLIngredient.mjs b/src/web/HTMLIngredient.mjs index 18503dff..2c638405 100755 --- a/src/web/HTMLIngredient.mjs +++ b/src/web/HTMLIngredient.mjs @@ -153,7 +153,7 @@ class HTMLIngredient { for (i = 0; i < this.value.length; i++) { if ((m = this.value[i].match(/\[([a-z0-9 -()^]+)\]/i))) { html += ``; - } else if ((m = this.value[i].match(/\[\/([a-z0-9 -()^]+)\]/i))) { + } else if (this.value[i].match(/\[\/([a-z0-9 -()^]+)\]/i)) { html += ""; } else { html += ``; @@ -177,7 +177,7 @@ class HTMLIngredient { for (i = 0; i < this.value.length; i++) { if ((m = this.value[i].name.match(/\[([a-z0-9 -()^]+)\]/i))) { html += ``; - } else if ((m = this.value[i].name.match(/\[\/([a-z0-9 -()^]+)\]/i))) { + } else if (this.value[i].name.match(/\[\/([a-z0-9 -()^]+)\]/i)) { html += ""; } else { const val = this.type === "populateMultiOption" ? diff --git a/src/web/HTMLOperation.mjs b/src/web/HTMLOperation.mjs index 5fcd7b98..df5de5a8 100755 --- a/src/web/HTMLOperation.mjs +++ b/src/web/HTMLOperation.mjs @@ -5,6 +5,7 @@ */ import HTMLIngredient from "./HTMLIngredient.mjs"; +import Utils from "../core/Utils.mjs"; /** @@ -72,7 +73,7 @@ class HTMLOperation { * @returns {string} */ toFullHtml() { - let html = `
${this.name}
+ let html = `
${Utils.escapeHtml(this.name)}
`; for (let i = 0; i < this.ingList.length; i++) { @@ -151,15 +152,16 @@ class HTMLOperation { */ function titleFromWikiLink(url) { const splitURL = url.split("/"); - if (splitURL.indexOf("wikipedia.org") < 0 && splitURL.indexOf("forensicswiki.org") < 0) { + if (!splitURL.includes("wikipedia.org") && !splitURL.includes("forensicswiki.xyz")) { // Not a wiki link, return full URL return `More Informationopen_in_new`; } - const wikiName = splitURL.indexOf("forensicswiki.org") < 0 ? "Wikipedia" : "Forensics Wiki"; + const wikiName = splitURL.includes("forensicswiki.xyz") ? "Forensics Wiki" : "Wikipedia"; const pageTitle = decodeURIComponent(splitURL[splitURL.length - 1]) - .replace(/_/g, " "); + .replace(/_/g, " ") + .replace(/index\.php\?title=/g, ""); return `${pageTitle}open_in_new on ${wikiName}`; } diff --git a/src/web/html/index.html b/src/web/html/index.html index 121f0780..efdd8046 100755 --- a/src/web/html/index.html +++ b/src/web/html/index.html @@ -153,7 +153,7 @@ diff --git a/src/web/waiters/ControlsWaiter.mjs b/src/web/waiters/ControlsWaiter.mjs index 2f2705aa..f252dfcd 100755 --- a/src/web/waiters/ControlsWaiter.mjs +++ b/src/web/waiters/ControlsWaiter.mjs @@ -102,7 +102,7 @@ class ControlsWaiter { const saveLinkEl = document.getElementById("save-link"); const saveLink = this.generateStateUrl(includeRecipe, includeInput, recipeConfig); - saveLinkEl.innerHTML = Utils.truncate(saveLink, 120); + saveLinkEl.innerHTML = Utils.escapeHtml(Utils.truncate(saveLink, 120)); saveLinkEl.setAttribute("href", saveLink); } @@ -138,7 +138,7 @@ class ControlsWaiter { const params = [ includeRecipe ? ["recipe", recipeStr] : undefined, - includeInput ? ["input", input] : undefined, + includeInput ? ["input", Utils.escapeHtml(input)] : undefined, ]; const hash = params diff --git a/src/web/waiters/InputWaiter.mjs b/src/web/waiters/InputWaiter.mjs index df439780..b421d8d8 100644 --- a/src/web/waiters/InputWaiter.mjs +++ b/src/web/waiters/InputWaiter.mjs @@ -510,10 +510,6 @@ class InputWaiter { if (inputNum !== activeTab) return; const fileLoaded = document.getElementById("input-file-loaded"); - let oldProgress = fileLoaded.textContent; - if (oldProgress !== "Error") { - oldProgress = parseInt(oldProgress.replace("%", ""), 10); - } if (progress === "error") { fileLoaded.textContent = "Error"; fileLoaded.style.color = "#FF0000"; @@ -1276,7 +1272,7 @@ class InputWaiter { const func = function(time) { if (this.mousedown) { this.changeTabRight(); - const newTime = (time > 50) ? time = time - 10 : 50; + const newTime = (time > 50) ? time - 10 : 50; setTimeout(func.bind(this, [newTime]), newTime); } }; @@ -1293,7 +1289,7 @@ class InputWaiter { const func = function(time) { if (this.mousedown) { this.changeTabLeft(); - const newTime = (time > 50) ? time = time - 10 : 50; + const newTime = (time > 50) ? time - 10 : 50; setTimeout(func.bind(this, [newTime]), newTime); } }; diff --git a/src/web/waiters/OperationsWaiter.mjs b/src/web/waiters/OperationsWaiter.mjs index 8947b038..200ae5df 100755 --- a/src/web/waiters/OperationsWaiter.mjs +++ b/src/web/waiters/OperationsWaiter.mjs @@ -121,7 +121,7 @@ class OperationsWaiter { if (nameMatch || descPos >= 0) { const operation = new HTMLOperation(opName, this.app.operations[opName], this.app, this.manager); if (highlight) { - operation.highlightSearchStrings(calcMatchRanges(idxs) || [], [[descPos, inStr.length]]); + operation.highlightSearchStrings(calcMatchRanges(idxs), [[descPos, inStr.length]]); } if (nameMatch) { diff --git a/src/web/waiters/OutputWaiter.mjs b/src/web/waiters/OutputWaiter.mjs index 0ba0bbf6..f5aaaabd 100755 --- a/src/web/waiters/OutputWaiter.mjs +++ b/src/web/waiters/OutputWaiter.mjs @@ -306,8 +306,6 @@ class OutputWaiter { outputText.value = ""; outputHtml.innerHTML = ""; - lines = 0; - length = 0; this.toggleLoader(false); return; } @@ -765,7 +763,7 @@ class OutputWaiter { const func = function(time) { if (this.mousedown) { this.changeTabRight(); - const newTime = (time > 50) ? time = time - 10 : 50; + const newTime = (time > 50) ? time - 10 : 50; setTimeout(func.bind(this, [newTime]), newTime); } }; @@ -782,7 +780,7 @@ class OutputWaiter { const func = function(time) { if (this.mousedown) { this.changeTabLeft(); - const newTime = (time > 50) ? time = time - 10 : 50; + const newTime = (time > 50) ? time - 10 : 50; setTimeout(func.bind(this, [newTime]), newTime); } }; diff --git a/src/web/waiters/RecipeWaiter.mjs b/src/web/waiters/RecipeWaiter.mjs index ba0e7b11..f4107e66 100755 --- a/src/web/waiters/RecipeWaiter.mjs +++ b/src/web/waiters/RecipeWaiter.mjs @@ -316,7 +316,7 @@ class RecipeWaiter { }; } else if (ingList[j].getAttribute("type") === "number") { // number - ingredients[j] = parseFloat(ingList[j].value, 10); + ingredients[j] = parseFloat(ingList[j].value); } else { // all others ingredients[j] = ingList[j].value; From 530836876fbaa120f064a8ce8e90ff95abb7abfa Mon Sep 17 00:00:00 2001 From: n1474335 Date: Wed, 10 Feb 2021 13:13:25 +0000 Subject: [PATCH 192/754] 9.24.7 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index ff5172c4..86322d14 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.24.6", + "version": "9.24.7", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 72942a1a..1e7b571b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.24.6", + "version": "9.24.7", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 170e564319da7844d04db80c66d9d9ebec58cd24 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Wed, 10 Feb 2021 17:41:39 +0000 Subject: [PATCH 193/754] Fixed incomplete multi-character sanitization and incomplete URL substring sanitization issues. --- src/core/Utils.mjs | 15 ++++++++++++++- src/web/HTMLOperation.mjs | 32 ++++++++++++++++++++------------ 2 files changed, 34 insertions(+), 13 deletions(-) diff --git a/src/core/Utils.mjs b/src/core/Utils.mjs index 9c687ee4..698af68c 100755 --- a/src/core/Utils.mjs +++ b/src/core/Utils.mjs @@ -704,8 +704,21 @@ class Utils { * Utils.stripHtmlTags("
Test
"); */ static stripHtmlTags(htmlStr, removeScriptAndStyle=false) { + /** + * Recursively remove a pattern from a string until there are no more matches. + * Avoids incomplete sanitization e.g. "aabcbc".replace(/abc/g, "") === "abc" + * + * @param {RegExp} pattern + * @param {string} str + * @returns {string} + */ + function recursiveRemove(pattern, str) { + const newStr = str.replace(pattern, ""); + return newStr.length === str.length ? newStr : recursiveRemove(pattern, newStr); + } + if (removeScriptAndStyle) { - htmlStr = htmlStr.replace(/<(script|style)[^>]*>.*?<\/(script|style)>/gi, ""); + htmlStr = recursiveRemove(/<(script|style)[^>]*>.*?<\/(script|style)>/gi, htmlStr); } return htmlStr.replace(/<[^>]+>/g, ""); } diff --git a/src/web/HTMLOperation.mjs b/src/web/HTMLOperation.mjs index df5de5a8..04e9b3cc 100755 --- a/src/web/HTMLOperation.mjs +++ b/src/web/HTMLOperation.mjs @@ -6,6 +6,7 @@ import HTMLIngredient from "./HTMLIngredient.mjs"; import Utils from "../core/Utils.mjs"; +import url from "url"; /** @@ -147,22 +148,29 @@ class HTMLOperation { /** * Given a URL for a Wikipedia (or other wiki) page, this function returns a link to that page. * - * @param {string} url + * @param {string} urlStr * @returns {string} */ -function titleFromWikiLink(url) { - const splitURL = url.split("/"); - if (!splitURL.includes("wikipedia.org") && !splitURL.includes("forensicswiki.xyz")) { - // Not a wiki link, return full URL - return `More Informationopen_in_new`; +function titleFromWikiLink(urlStr) { + const urlObj = url.parse(urlStr); + let wikiName = "", + pageTitle = ""; + + switch (urlObj.host) { + case "forensicswiki.xyz": + wikiName = "Forensics Wiki"; + pageTitle = urlObj.query.substr(6).replace(/_/g, " "); // Chop off 'title=' + break; + case "wikipedia.org": + wikiName = "Wikipedia"; + pageTitle = urlObj.pathname.substr(6).replace(/_/g, " "); // Chop off '/wiki/' + break; + default: + // Not a wiki link, return full URL + return `More Informationopen_in_new`; } - const wikiName = splitURL.includes("forensicswiki.xyz") ? "Forensics Wiki" : "Wikipedia"; - - const pageTitle = decodeURIComponent(splitURL[splitURL.length - 1]) - .replace(/_/g, " ") - .replace(/index\.php\?title=/g, ""); - return `${pageTitle}open_in_new on ${wikiName}`; + return `${pageTitle}open_in_new on ${wikiName}`; } export default HTMLOperation; From de84fbdd1c79e9c992727cc4037392ef17ac4738 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Wed, 10 Feb 2021 18:37:46 +0000 Subject: [PATCH 194/754] Renamed workflows --- .github/workflows/codeql.yml | 2 +- .github/workflows/master.yml | 2 +- .github/workflows/pull_requests.yml | 2 +- .github/workflows/releases.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 0976b58e..14463636 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -1,4 +1,4 @@ -name: "CodeQL" +name: "CodeQL Analysis" on: push: diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index ee10247a..931715da 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -1,4 +1,4 @@ -name: Master +name: "Master Build, Test & Deploy" on: push: diff --git a/.github/workflows/pull_requests.yml b/.github/workflows/pull_requests.yml index 3b3c1a6f..9b21e385 100644 --- a/.github/workflows/pull_requests.yml +++ b/.github/workflows/pull_requests.yml @@ -1,4 +1,4 @@ -name: PRs +name: "Pull Requests" on: pull_request: diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index c58815f3..dda8fbef 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -1,4 +1,4 @@ -name: Release +name: "Releases" on: push: From 4d9b48b4d8e91dbc238dd2cb56082b8d109e6c44 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Thu, 11 Feb 2021 16:14:23 +0000 Subject: [PATCH 195/754] Tidied whitespace --- src/core/lib/FileSignatures.mjs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/core/lib/FileSignatures.mjs b/src/core/lib/FileSignatures.mjs index aa6796cf..a515a9e6 100644 --- a/src/core/lib/FileSignatures.mjs +++ b/src/core/lib/FileSignatures.mjs @@ -3420,7 +3420,6 @@ export function extractPListXML(bytes, offset) { * @returns {Uint8Array} */ export function extractMacOSXKeychain(bytes, offset) { - const stream = new Stream(bytes.slice(offset)); // Move to size field. From 447be8af340ac8b385607eb121b0b28da7839820 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Thu, 11 Feb 2021 16:14:48 +0000 Subject: [PATCH 196/754] 9.24.8 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 86322d14..ade50e55 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.24.7", + "version": "9.24.8", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 1e7b571b..0cc9006a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.24.7", + "version": "9.24.8", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 672b4777514f09f0ea9d066030c5e2a8f8493899 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Thu, 11 Feb 2021 18:01:08 +0000 Subject: [PATCH 197/754] Extract ID3 operation now returns a JSON blob and presents an HTML table --- src/core/config/Categories.json | 4 +- src/core/operations/ExtractID3.mjs | 415 +++++++++++++++-------------- 2 files changed, 221 insertions(+), 198 deletions(-) diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 825dc8ca..e09d4800 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -286,8 +286,8 @@ "JPath expression", "CSS selector", "Extract EXIF", - "Extract Files", - "Extract ID3" + "Extract ID3", + "Extract Files" ] }, { diff --git a/src/core/operations/ExtractID3.mjs b/src/core/operations/ExtractID3.mjs index c71a387e..b06bdcfe 100644 --- a/src/core/operations/ExtractID3.mjs +++ b/src/core/operations/ExtractID3.mjs @@ -1,11 +1,13 @@ /** * @author n1073645 [n1073645@gmail.com] + * @author n1474335 [n1474335@gmail.com] * @copyright Crown Copyright 2020 * @license Apache-2.0 */ import Operation from "../Operation.mjs"; import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; /** * Extract ID3 operation @@ -20,198 +22,39 @@ class ExtractID3 extends Operation { this.name = "Extract ID3"; this.module = "Default"; - this.description = "ID3 is a metadata container most often used in conjunction with the MP3 audio file format. It allows information such as the title, artist, album, track number, and other information about the file to be stored in the file itself."; + this.description = "This operation extracts ID3 metadata from an MP3 file.

ID3 is a metadata container most often used in conjunction with the MP3 audio file format. It allows information such as the title, artist, album, track number, and other information about the file to be stored in the file itself."; this.infoURL = "https://wikipedia.org/wiki/ID3"; this.inputType = "ArrayBuffer"; - this.outputType = "string"; + this.outputType = "JSON"; + this.presentType = "html"; this.args = []; } /** * @param {ArrayBuffer} input * @param {Object[]} args - * @returns {string} + * @returns {JSON} */ run(input, args) { - - // Borrowed from https://github.com/aadsm/jsmediatags - const FRAME_DESCRIPTIONS = { - // v2.2 - "BUF": "Recommended buffer size", - "CNT": "Play counter", - "COM": "Comments", - "CRA": "Audio encryption", - "CRM": "Encrypted meta frame", - "ETC": "Event timing codes", - "EQU": "Equalization", - "GEO": "General encapsulated object", - "IPL": "Involved people list", - "LNK": "Linked information", - "MCI": "Music CD Identifier", - "MLL": "MPEG location lookup table", - "PIC": "Attached picture", - "POP": "Popularimeter", - "REV": "Reverb", - "RVA": "Relative volume adjustment", - "SLT": "Synchronized lyric/text", - "STC": "Synced tempo codes", - "TAL": "Album/Movie/Show title", - "TBP": "BPM (Beats Per Minute)", - "TCM": "Composer", - "TCO": "Content type", - "TCR": "Copyright message", - "TDA": "Date", - "TDY": "Playlist delay", - "TEN": "Encoded by", - "TFT": "File type", - "TIM": "Time", - "TKE": "Initial key", - "TLA": "Language(s)", - "TLE": "Length", - "TMT": "Media type", - "TOA": "Original artist(s)/performer(s)", - "TOF": "Original filename", - "TOL": "Original Lyricist(s)/text writer(s)", - "TOR": "Original release year", - "TOT": "Original album/Movie/Show title", - "TP1": "Lead artist(s)/Lead performer(s)/Soloist(s)/Performing group", - "TP2": "Band/Orchestra/Accompaniment", - "TP3": "Conductor/Performer refinement", - "TP4": "Interpreted, remixed, or otherwise modified by", - "TPA": "Part of a set", - "TPB": "Publisher", - "TRC": "ISRC (International Standard Recording Code)", - "TRD": "Recording dates", - "TRK": "Track number/Position in set", - "TSI": "Size", - "TSS": "Software/hardware and settings used for encoding", - "TT1": "Content group description", - "TT2": "Title/Songname/Content description", - "TT3": "Subtitle/Description refinement", - "TXT": "Lyricist/text writer", - "TXX": "User defined text information frame", - "TYE": "Year", - "UFI": "Unique file identifier", - "ULT": "Unsychronized lyric/text transcription", - "WAF": "Official audio file webpage", - "WAR": "Official artist/performer webpage", - "WAS": "Official audio source webpage", - "WCM": "Commercial information", - "WCP": "Copyright/Legal information", - "WPB": "Publishers official webpage", - "WXX": "User defined URL link frame", - // v2.3 - "AENC": "Audio encryption", - "APIC": "Attached picture", - "ASPI": "Audio seek point index", - "CHAP": "Chapter", - "CTOC": "Table of contents", - "COMM": "Comments", - "COMR": "Commercial frame", - "ENCR": "Encryption method registration", - "EQU2": "Equalisation (2)", - "EQUA": "Equalization", - "ETCO": "Event timing codes", - "GEOB": "General encapsulated object", - "GRID": "Group identification registration", - "IPLS": "Involved people list", - "LINK": "Linked information", - "MCDI": "Music CD identifier", - "MLLT": "MPEG location lookup table", - "OWNE": "Ownership frame", - "PRIV": "Private frame", - "PCNT": "Play counter", - "POPM": "Popularimeter", - "POSS": "Position synchronisation frame", - "RBUF": "Recommended buffer size", - "RVA2": "Relative volume adjustment (2)", - "RVAD": "Relative volume adjustment", - "RVRB": "Reverb", - "SEEK": "Seek frame", - "SYLT": "Synchronized lyric/text", - "SYTC": "Synchronized tempo codes", - "TALB": "Album/Movie/Show title", - "TBPM": "BPM (beats per minute)", - "TCOM": "Composer", - "TCON": "Content type", - "TCOP": "Copyright message", - "TDAT": "Date", - "TDLY": "Playlist delay", - "TDRC": "Recording time", - "TDRL": "Release time", - "TDTG": "Tagging time", - "TENC": "Encoded by", - "TEXT": "Lyricist/Text writer", - "TFLT": "File type", - "TIME": "Time", - "TIPL": "Involved people list", - "TIT1": "Content group description", - "TIT2": "Title/songname/content description", - "TIT3": "Subtitle/Description refinement", - "TKEY": "Initial key", - "TLAN": "Language(s)", - "TLEN": "Length", - "TMCL": "Musician credits list", - "TMED": "Media type", - "TMOO": "Mood", - "TOAL": "Original album/movie/show title", - "TOFN": "Original filename", - "TOLY": "Original lyricist(s)/text writer(s)", - "TOPE": "Original artist(s)/performer(s)", - "TORY": "Original release year", - "TOWN": "File owner/licensee", - "TPE1": "Lead performer(s)/Soloist(s)", - "TPE2": "Band/orchestra/accompaniment", - "TPE3": "Conductor/performer refinement", - "TPE4": "Interpreted, remixed, or otherwise modified by", - "TPOS": "Part of a set", - "TPRO": "Produced notice", - "TPUB": "Publisher", - "TRCK": "Track number/Position in set", - "TRDA": "Recording dates", - "TRSN": "Internet radio station name", - "TRSO": "Internet radio station owner", - "TSOA": "Album sort order", - "TSOP": "Performer sort order", - "TSOT": "Title sort order", - "TSIZ": "Size", - "TSRC": "ISRC (international standard recording code)", - "TSSE": "Software/Hardware and settings used for encoding", - "TSST": "Set subtitle", - "TYER": "Year", - "TXXX": "User defined text information frame", - "UFID": "Unique file identifier", - "USER": "Terms of use", - "USLT": "Unsychronized lyric/text transcription", - "WCOM": "Commercial information", - "WCOP": "Copyright/Legal information", - "WOAF": "Official audio file webpage", - "WOAR": "Official artist/performer webpage", - "WOAS": "Official audio source webpage", - "WORS": "Official internet radio station homepage", - "WPAY": "Payment", - "WPUB": "Publishers official webpage", - "WXXX": "User defined URL link frame" - }; - input = new Uint8Array(input); - let result = ""; /** * Extracts the ID3 header fields. */ function extractHeader() { - if (input.slice(0, 3).toString() !== [0x49, 0x44, 0x33].toString()) + if (!Array.from(input.slice(0, 3)).equals([0x49, 0x44, 0x33])) throw new OperationError("No valid ID3 header."); - result = "{\n"; - result += " Type: \"ID3\",\n"; - // Tag version. - result += " Version: \"" + input[3].toString() + "." + input[4].toString() + "\",\n"; + const header = { + "Type": "ID3", + // Tag version + "Version": input[3].toString() + "." + input[4].toString(), + // Header version + "Flags": input[5].toString() + }; - // Header flags. - result += " Flags: " + input[5].toString() + ",\n"; input = input.slice(6); + return header; } /** @@ -223,7 +66,7 @@ class ExtractID3 extends Operation { function readSize(num) { let result = 0; - // The sizes are 7 bit numbers stored in 8 bit locations. + // The sizes are 7 bit numbers stored in 8 bit locations for (let i = (num) * 7; i; i -= 7) { result = (result << i) | input[0]; input = input.slice(1); @@ -238,64 +81,244 @@ class ExtractID3 extends Operation { * @returns {number} */ function readFrame(id) { - result += " " + id + ": {\n"; - result += " ID: \"" + id + "\",\n"; + const frame = {}; - // Size of frame. + // Size of frame const size = readSize(4); - result += " Size: " + size.toString() + ",\n"; - result += " Description: \"" + FRAME_DESCRIPTIONS[id] + "\",\n"; + frame.Size = size.toString(); + frame.Description = FRAME_DESCRIPTIONS[id]; input = input.slice(2); - let data = ""; - // Read data from frame. + // Read data from frame + let data = ""; for (let i = 1; i < size; i++) data += String.fromCharCode(input[i]); + frame.Data = data; // Move to next Frame input = input.slice(size); - result += " Data: \"" + data + "\",\n"; - result += " },\n"; - return size; + + return [frame, size]; } - extractHeader(); + const result = extractHeader(); const headerTagSize = readSize(4); - result += " Tags: {\n"; + result.Size = headerTagSize.toString(); + const tags = {}; let pos = 10; - // While the current element is in the header. + // While the current element is in the header while (pos < headerTagSize) { - // Frame Identifier of frame. + // Frame Identifier of frame let id = String.fromCharCode(input[0]) + String.fromCharCode(input[1]) + String.fromCharCode(input[2]); input = input.slice(3); - // If the next character is non-zero it is an identifier. + // If the next character is non-zero it is an identifier if (input[0] !== 0) { id += String.fromCharCode(input[0]); } input = input.slice(1); + if (id in FRAME_DESCRIPTIONS) { - pos += 10 + readFrame(id); - // If end of header. - } else if (id === "\x00\x00\x00") { + const [frame, size] = readFrame(id); + tags[id] = frame; + pos += 10 + size; + } else if (id === "\x00\x00\x00") { // end of header break; } else { throw new OperationError("Unknown Frame Identifier: " + id); } } - // Tidy up the output. - result += " },\n"; - result += " Size: "+headerTagSize.toString() + ",\n"; - result += "}"; - return result; + result.Tags = tags; + return result; + } + + /** + * Displays the extracted data in a more accessible format for web apps. + * @param {JSON} data + * @returns {html} + */ + present(data) { + if (!data || !Object.prototype.hasOwnProperty.call(data, "Tags")) + return JSON.stringify(data, null, 4); + + let output = ` + `; + + for (const tagID in data.Tags) { + const description = data.Tags[tagID].Description, + contents = data.Tags[tagID].Data; + output += ``; + } + output += "
TagDescriptionData
${tagID}${Utils.escapeHtml(description)}${Utils.escapeHtml(contents)}
"; + return output; } } +// Borrowed from https://github.com/aadsm/jsmediatags +const FRAME_DESCRIPTIONS = { + // v2.2 + "BUF": "Recommended buffer size", + "CNT": "Play counter", + "COM": "Comments", + "CRA": "Audio encryption", + "CRM": "Encrypted meta frame", + "ETC": "Event timing codes", + "EQU": "Equalization", + "GEO": "General encapsulated object", + "IPL": "Involved people list", + "LNK": "Linked information", + "MCI": "Music CD Identifier", + "MLL": "MPEG location lookup table", + "PIC": "Attached picture", + "POP": "Popularimeter", + "REV": "Reverb", + "RVA": "Relative volume adjustment", + "SLT": "Synchronized lyric/text", + "STC": "Synced tempo codes", + "TAL": "Album/Movie/Show title", + "TBP": "BPM (Beats Per Minute)", + "TCM": "Composer", + "TCO": "Content type", + "TCR": "Copyright message", + "TDA": "Date", + "TDY": "Playlist delay", + "TEN": "Encoded by", + "TFT": "File type", + "TIM": "Time", + "TKE": "Initial key", + "TLA": "Language(s)", + "TLE": "Length", + "TMT": "Media type", + "TOA": "Original artist(s)/performer(s)", + "TOF": "Original filename", + "TOL": "Original Lyricist(s)/text writer(s)", + "TOR": "Original release year", + "TOT": "Original album/Movie/Show title", + "TP1": "Lead artist(s)/Lead performer(s)/Soloist(s)/Performing group", + "TP2": "Band/Orchestra/Accompaniment", + "TP3": "Conductor/Performer refinement", + "TP4": "Interpreted, remixed, or otherwise modified by", + "TPA": "Part of a set", + "TPB": "Publisher", + "TRC": "ISRC (International Standard Recording Code)", + "TRD": "Recording dates", + "TRK": "Track number/Position in set", + "TSI": "Size", + "TSS": "Software/hardware and settings used for encoding", + "TT1": "Content group description", + "TT2": "Title/Songname/Content description", + "TT3": "Subtitle/Description refinement", + "TXT": "Lyricist/text writer", + "TXX": "User defined text information frame", + "TYE": "Year", + "UFI": "Unique file identifier", + "ULT": "Unsychronized lyric/text transcription", + "WAF": "Official audio file webpage", + "WAR": "Official artist/performer webpage", + "WAS": "Official audio source webpage", + "WCM": "Commercial information", + "WCP": "Copyright/Legal information", + "WPB": "Publishers official webpage", + "WXX": "User defined URL link frame", + // v2.3 + "AENC": "Audio encryption", + "APIC": "Attached picture", + "ASPI": "Audio seek point index", + "CHAP": "Chapter", + "CTOC": "Table of contents", + "COMM": "Comments", + "COMR": "Commercial frame", + "ENCR": "Encryption method registration", + "EQU2": "Equalisation (2)", + "EQUA": "Equalization", + "ETCO": "Event timing codes", + "GEOB": "General encapsulated object", + "GRID": "Group identification registration", + "IPLS": "Involved people list", + "LINK": "Linked information", + "MCDI": "Music CD identifier", + "MLLT": "MPEG location lookup table", + "OWNE": "Ownership frame", + "PRIV": "Private frame", + "PCNT": "Play counter", + "POPM": "Popularimeter", + "POSS": "Position synchronisation frame", + "RBUF": "Recommended buffer size", + "RVA2": "Relative volume adjustment (2)", + "RVAD": "Relative volume adjustment", + "RVRB": "Reverb", + "SEEK": "Seek frame", + "SYLT": "Synchronized lyric/text", + "SYTC": "Synchronized tempo codes", + "TALB": "Album/Movie/Show title", + "TBPM": "BPM (beats per minute)", + "TCOM": "Composer", + "TCON": "Content type", + "TCOP": "Copyright message", + "TDAT": "Date", + "TDLY": "Playlist delay", + "TDRC": "Recording time", + "TDRL": "Release time", + "TDTG": "Tagging time", + "TENC": "Encoded by", + "TEXT": "Lyricist/Text writer", + "TFLT": "File type", + "TIME": "Time", + "TIPL": "Involved people list", + "TIT1": "Content group description", + "TIT2": "Title/songname/content description", + "TIT3": "Subtitle/Description refinement", + "TKEY": "Initial key", + "TLAN": "Language(s)", + "TLEN": "Length", + "TMCL": "Musician credits list", + "TMED": "Media type", + "TMOO": "Mood", + "TOAL": "Original album/movie/show title", + "TOFN": "Original filename", + "TOLY": "Original lyricist(s)/text writer(s)", + "TOPE": "Original artist(s)/performer(s)", + "TORY": "Original release year", + "TOWN": "File owner/licensee", + "TPE1": "Lead performer(s)/Soloist(s)", + "TPE2": "Band/orchestra/accompaniment", + "TPE3": "Conductor/performer refinement", + "TPE4": "Interpreted, remixed, or otherwise modified by", + "TPOS": "Part of a set", + "TPRO": "Produced notice", + "TPUB": "Publisher", + "TRCK": "Track number/Position in set", + "TRDA": "Recording dates", + "TRSN": "Internet radio station name", + "TRSO": "Internet radio station owner", + "TSOA": "Album sort order", + "TSOP": "Performer sort order", + "TSOT": "Title sort order", + "TSIZ": "Size", + "TSRC": "ISRC (international standard recording code)", + "TSSE": "Software/Hardware and settings used for encoding", + "TSST": "Set subtitle", + "TYER": "Year", + "TXXX": "User defined text information frame", + "UFID": "Unique file identifier", + "USER": "Terms of use", + "USLT": "Unsychronized lyric/text transcription", + "WCOM": "Commercial information", + "WCOP": "Copyright/Legal information", + "WOAF": "Official audio file webpage", + "WOAR": "Official artist/performer webpage", + "WOAS": "Official audio source webpage", + "WORS": "Official internet radio station homepage", + "WPAY": "Payment", + "WPUB": "Publishers official webpage", + "WXXX": "User defined URL link frame" +}; + export default ExtractID3; From 04022b22beeeb961891caf143c8f492e17e62788 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Thu, 11 Feb 2021 18:03:40 +0000 Subject: [PATCH 198/754] Updated CHANGELOG --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e380918..3ea90d8f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ All major and minor version changes will be documented in this file. Details of ## Details +### [9.25.0] - 2021-02-11 +- 'Extract ID3' operation added [@n1073645] [@n1474335] | [#1006] + ### [9.24.0] - 2021-02-02 - 'SM3' hashing function added along with more configuration options for other hashing operations [@n1073645] [@n1474335] | [#1022] @@ -247,6 +250,7 @@ All major and minor version changes will be documented in this file. Details of +[9.25.0]: https://github.com/gchq/CyberChef/releases/tag/v9.25.0 [9.24.0]: https://github.com/gchq/CyberChef/releases/tag/v9.24.0 [9.23.0]: https://github.com/gchq/CyberChef/releases/tag/v9.23.0 [9.22.0]: https://github.com/gchq/CyberChef/releases/tag/v9.22.0 @@ -424,6 +428,7 @@ All major and minor version changes will be documented in this file. Details of [#965]: https://github.com/gchq/CyberChef/pull/965 [#966]: https://github.com/gchq/CyberChef/pull/966 [#987]: https://github.com/gchq/CyberChef/pull/987 +[#1006]: https://github.com/gchq/CyberChef/pull/1006 [#1022]: https://github.com/gchq/CyberChef/pull/1022 [#1049]: https://github.com/gchq/CyberChef/pull/1049 [#1083]: https://github.com/gchq/CyberChef/pull/1083 \ No newline at end of file From a74a14145ec0f797851866429f9b99064cfe29ce Mon Sep 17 00:00:00 2001 From: n1474335 Date: Thu, 11 Feb 2021 18:03:45 +0000 Subject: [PATCH 199/754] 9.25.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index ade50e55..da60c349 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.24.8", + "version": "9.25.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 0cc9006a..4633b26e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.24.8", + "version": "9.25.0", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 61a1c44f26d699d8a0949c095b9e3113cf722868 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Thu, 11 Feb 2021 18:47:44 +0000 Subject: [PATCH 200/754] Renamed 'Generate Current Epoch' to 'Get Time'. It now uses the W3C High Resolution Time API and supports microsecond granularity --- src/core/config/Categories.json | 2 +- src/core/operations/GenerateCurrentEpoch.mjs | 49 ---------------- src/core/operations/GetTime.mjs | 62 ++++++++++++++++++++ 3 files changed, 63 insertions(+), 50 deletions(-) delete mode 100644 src/core/operations/GenerateCurrentEpoch.mjs create mode 100644 src/core/operations/GetTime.mjs diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 25a8b46e..257f4742 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -267,7 +267,7 @@ "Windows Filetime to UNIX Timestamp", "UNIX Timestamp to Windows Filetime", "Extract dates", - "Generate Current Epoch", + "Get Time", "Sleep" ] }, diff --git a/src/core/operations/GenerateCurrentEpoch.mjs b/src/core/operations/GenerateCurrentEpoch.mjs deleted file mode 100644 index a49ddc44..00000000 --- a/src/core/operations/GenerateCurrentEpoch.mjs +++ /dev/null @@ -1,49 +0,0 @@ -/** - * @author n1073645 [n1073645@gmail.com] - * @copyright Crown Copyright 2020 - * @license Apache-2.0 - */ - -import Operation from "../Operation.mjs"; - -/** - * GenerateCurrentEpoch operation - */ -class GenerateCurrentEpoch extends Operation { - - /** - * GenerateCurrentEpoch constructor - */ - constructor() { - super(); - - this.name = "Generate Current Epoch"; - this.module = "Default"; - this.description = "Generates the current time(in seconds/milliseconds) since the UNIX epoch."; - this.infoURL = "https://wikipedia.org/wiki/Unix_time"; - this.inputType = "string"; - this.outputType = "string"; - this.args = [ - { - name: "Granularity", - type: "option", - value: ["Milliseconds", "Seconds"] - } - ]; - } - - /** - * @param {string} input - * @param {Object[]} args - * @returns {string} - */ - run(input, args) { - if (args[0] === "Milliseconds") - return (new Date()).getTime().toString(); - else - return Math.round((new Date()).getTime() / 1000).toString(); - } - -} - -export default GenerateCurrentEpoch; diff --git a/src/core/operations/GetTime.mjs b/src/core/operations/GetTime.mjs new file mode 100644 index 00000000..36a0427b --- /dev/null +++ b/src/core/operations/GetTime.mjs @@ -0,0 +1,62 @@ +/** + * @author n1073645 [n1073645@gmail.com] + * @copyright Crown Copyright 2020 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import {UNITS} from "../lib/DateTime.mjs"; + +/** + * Get Time operation + */ +class GetTime extends Operation { + + /** + * GetTime constructor + */ + constructor() { + super(); + + this.name = "Get Time"; + this.module = "Default"; + this.description = "Generates a timestamp showing the amount of time since the UNIX epoch (1970-01-01 00:00:00 UTC). Uses the W3C High Resolution Time API."; + this.infoURL = "https://wikipedia.org/wiki/Unix_time"; + this.inputType = "string"; + this.outputType = "number"; + this.args = [ + { + name: "Granularity", + type: "option", + value: UNITS + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {number} + */ + run(input, args) { + const nowMs = (performance.timeOrigin + performance.now()), + granularity = args[0]; + + switch (granularity) { + case "Nanoseconds (ns)": + return Math.round(nowMs * 1000 * 1000); + case "Microseconds (μs)": + return Math.round(nowMs * 1000); + case "Milliseconds (ms)": + return Math.round(nowMs); + case "Seconds (s)": + return Math.round(nowMs / 1000); + default: + throw new OperationError("Unknown granularity value: " + granularity); + } + } + +} + +export default GetTime; From 32d869231e4af44555e0d20ec83950f5b7885b54 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Thu, 11 Feb 2021 18:50:03 +0000 Subject: [PATCH 201/754] Updated CHANGELOG --- CHANGELOG.md | 5 +++++ src/core/operations/GetTime.mjs | 1 + 2 files changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ea90d8f..392a816c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ All major and minor version changes will be documented in this file. Details of ## Details +### [9.26.0] - 2021-02-11 +- 'Get Time' operation added [@n1073645] [@n1474335] | [#1045] + ### [9.25.0] - 2021-02-11 - 'Extract ID3' operation added [@n1073645] [@n1474335] | [#1006] @@ -250,6 +253,7 @@ All major and minor version changes will be documented in this file. Details of +[9.26.0]: https://github.com/gchq/CyberChef/releases/tag/v9.26.0 [9.25.0]: https://github.com/gchq/CyberChef/releases/tag/v9.25.0 [9.24.0]: https://github.com/gchq/CyberChef/releases/tag/v9.24.0 [9.23.0]: https://github.com/gchq/CyberChef/releases/tag/v9.23.0 @@ -430,5 +434,6 @@ All major and minor version changes will be documented in this file. Details of [#987]: https://github.com/gchq/CyberChef/pull/987 [#1006]: https://github.com/gchq/CyberChef/pull/1006 [#1022]: https://github.com/gchq/CyberChef/pull/1022 +[#1045]: https://github.com/gchq/CyberChef/pull/1045 [#1049]: https://github.com/gchq/CyberChef/pull/1049 [#1083]: https://github.com/gchq/CyberChef/pull/1083 \ No newline at end of file diff --git a/src/core/operations/GetTime.mjs b/src/core/operations/GetTime.mjs index 36a0427b..7d10864f 100644 --- a/src/core/operations/GetTime.mjs +++ b/src/core/operations/GetTime.mjs @@ -1,5 +1,6 @@ /** * @author n1073645 [n1073645@gmail.com] + * @author n1474335 [n1474335@gmail.com] * @copyright Crown Copyright 2020 * @license Apache-2.0 */ From c1e1d4b7e3d6dab8af1858ca138a891bca03624d Mon Sep 17 00:00:00 2001 From: n1474335 Date: Thu, 11 Feb 2021 18:50:09 +0000 Subject: [PATCH 202/754] 9.26.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index da60c349..846bfd18 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.25.0", + "version": "9.26.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 4633b26e..2f7eaa8b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.25.0", + "version": "9.26.0", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From e069f5db132383644e1e10453e0f0006473b015f Mon Sep 17 00:00:00 2001 From: n1474335 Date: Thu, 11 Feb 2021 19:06:35 +0000 Subject: [PATCH 203/754] Tidied up hexdump UNIX format --- src/core/Utils.mjs | 5 +++-- src/core/operations/ToHexdump.mjs | 10 ++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/core/Utils.mjs b/src/core/Utils.mjs index f00ae36d..442fe941 100755 --- a/src/core/Utils.mjs +++ b/src/core/Utils.mjs @@ -170,7 +170,7 @@ class Utils { * * @param {string} str - The input string to display. * @param {boolean} [preserveWs=false] - Whether or not to print whitespace. - * @param {boolean} [onlyAscii=false] - Whether or not to replace non Ascii characters. + * @param {boolean} [onlyAscii=false] - Whether or not to replace non ASCII characters. * @returns {string} */ static printable(str, preserveWs=false, onlyAscii=false) { @@ -178,8 +178,9 @@ class Utils { str = Utils.byteArrayToChars(Utils.strToByteArray(str)); } - if (onlyAscii) + if (onlyAscii) { return str.replace(/[^\x20-\x7f]/g, "."); + } // eslint-disable-next-line no-misleading-character-class const re = /[\0-\x08\x0B-\x0C\x0E-\x1F\x7F-\x9F\xAD\u0378\u0379\u037F-\u0383\u038B\u038D\u03A2\u0528-\u0530\u0557\u0558\u0560\u0588\u058B-\u058E\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08A1\u08AD-\u08E3\u08FF\u0978\u0980\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0C00\u0C04\u0C0D\u0C11\u0C29\u0C34\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5A-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C80\u0C81\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D01\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D4F-\u0D56\u0D58-\u0D5F\u0D64\u0D65\u0D76-\u0D78\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F5-\u13FF\u169D-\u169F\u16F1-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191D-\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C80-\u1CBF\u1CC8-\u1CCF\u1CF7-\u1CFF\u1DE7-\u1DFB\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BB-\u20CF\u20F1-\u20FF\u218A-\u218F\u23F4-\u23FF\u2427-\u243F\u244B-\u245F\u2700\u2B4D-\u2B4F\u2B5A-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E3C-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FCD-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA698-\uA69E\uA6F8-\uA6FF\uA78F\uA794-\uA79F\uA7AB-\uA7F7\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C5-\uA8CD\uA8DA-\uA8DF\uA8FC-\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9E0-\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAA7C-\uAA7F\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F-\uABBF\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE27-\uFE2F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF]/g; diff --git a/src/core/operations/ToHexdump.mjs b/src/core/operations/ToHexdump.mjs index d5ca663c..ed212ce4 100644 --- a/src/core/operations/ToHexdump.mjs +++ b/src/core/operations/ToHexdump.mjs @@ -20,7 +20,7 @@ class ToHexdump extends Operation { this.name = "To Hexdump"; this.module = "Default"; - this.description = "Creates a hexdump of the input data, displaying both the hexadecimal values of each byte and an ASCII representation alongside."; + this.description = "Creates a hexdump of the input data, displaying both the hexadecimal values of each byte and an ASCII representation alongside.

The 'UNIX format' argument defines which subset of printable characters are displayed in the preview column."; this.infoURL = "https://wikipedia.org/wiki/Hex_dump"; this.inputType = "ArrayBuffer"; this.outputType = "string"; @@ -41,7 +41,7 @@ class ToHexdump extends Operation { "value": false }, { - "name": "UNIX Format", + "name": "UNIX format", "type": "boolean", "value": false } @@ -55,7 +55,7 @@ class ToHexdump extends Operation { */ run(input, args) { const data = new Uint8Array(input); - const [length, upperCase, includeFinalLength] = args; + const [length, upperCase, includeFinalLength, unixFormat] = args; const padding = 2; let output = ""; @@ -75,7 +75,9 @@ class ToHexdump extends Operation { output += lineNo + " " + hexa.padEnd(length*(padding+1), " ") + - " |" + Utils.printable(Utils.byteArrayToChars(buff), false, args[3]).padEnd(buff.length, " ") + "|\n"; + " |" + + Utils.printable(Utils.byteArrayToChars(buff), false, unixFormat).padEnd(buff.length, " ") + + "|\n"; if (includeFinalLength && i+buff.length === data.length) { output += Utils.hex(i+buff.length, 8) + "\n"; From 31a4eef0012ca9d81f976b2037d45c8fc590de3e Mon Sep 17 00:00:00 2001 From: n1474335 Date: Thu, 11 Feb 2021 19:06:58 +0000 Subject: [PATCH 204/754] 9.26.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 846bfd18..c103c5e8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.26.0", + "version": "9.26.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 2f7eaa8b..b9e72c48 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.26.0", + "version": "9.26.1", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 73b0e68993263213c91cabb501050a4c1294d109 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 12 Feb 2021 11:54:54 +0000 Subject: [PATCH 205/754] Added code quality badge to README --- README.md | 3 ++- src/core/Utils.mjs | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 655ae4ee..ac9b8174 100755 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # CyberChef -[![Build Status](https://travis-ci.org/gchq/CyberChef.svg?branch=master)](https://travis-ci.org/gchq/CyberChef) +[![](https://github.com/gchq/CyberChef/workflows/Master%20Build,%20Test%20&%20Deploy/badge.svg)](https://github.com/gchq/CyberChef/actions?query=workflow%3A%22Master+Build%2C+Test+%26+Deploy%22) +[![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/gchq/CyberChef.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/gchq/CyberChef/context:javascript) [![dependencies Status](https://david-dm.org/gchq/CyberChef/status.svg)](https://david-dm.org/gchq/CyberChef) [![npm](https://img.shields.io/npm/v/cyberchef.svg)](https://www.npmjs.com/package/cyberchef) [![](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/gchq/CyberChef/blob/master/LICENSE) diff --git a/src/core/Utils.mjs b/src/core/Utils.mjs index 442fe941..2020545b 100755 --- a/src/core/Utils.mjs +++ b/src/core/Utils.mjs @@ -896,7 +896,7 @@ class Utils { while ((m = recipeRegex.exec(recipe))) { // Translate strings in args back to double-quotes args = m[2] - .replace(/"/g, '\\"') // Escape double quotes lgtm [js/incomplete-sanitization] + .replace(/"/g, '\\"') // Escape double quotes // lgtm [js/incomplete-sanitization] .replace(/(^|,|{|:)'/g, '$1"') // Replace opening ' with " .replace(/([^\\]|(?:\\\\)+)'(,|:|}|$)/g, '$1"$2') // Replace closing ' with " .replace(/\\'/g, "'"); // Unescape single quotes From ccfa0b991ed1aa1be93fcb7c61e6962e6ffb0e83 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 12 Feb 2021 12:04:59 +0000 Subject: [PATCH 206/754] Updated dependencies --- package-lock.json | 2631 ++++++++++++++++++++++++++++++++++----------- package.json | 42 +- 2 files changed, 2000 insertions(+), 673 deletions(-) diff --git a/package-lock.json b/package-lock.json index c103c5e8..a2850062 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,25 +14,25 @@ } }, "@babel/compat-data": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", - "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.13.tgz", + "integrity": "sha512-U/hshG5R+SIoW7HVWIdmy1cB7s3ki+r3FpyEZiCgpi4tFgPnX/vynY80ZGSASOIrUM6O7VxOgCZgdt7h97bUGg==", "dev": true }, "@babel/core": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", - "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.16.tgz", + "integrity": "sha512-t/hHIB504wWceOeaOoONOhu+gX+hpjfeN6YRBT209X/4sibZQfSF1I0HFRRlBe97UZZosGx5XwUg1ZgNbelmNw==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.10", + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.15", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helpers": "^7.12.13", + "@babel/parser": "^7.12.16", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.1", @@ -42,6 +42,137 @@ "source-map": "^0.5.0" }, "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/generator": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", + "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==", + "dev": true + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "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.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, "debug": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", @@ -51,6 +182,24 @@ "ms": "2.1.2" } }, + "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 + }, + "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.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -62,6 +211,21 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "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 } } }, @@ -91,77 +255,267 @@ } }, "@babel/helper-annotate-as-pure": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", - "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", + "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", "dev": true, "requires": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.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/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", + "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-explode-assignable-expression": "^7.12.13", + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.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/helper-compilation-targets": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", - "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.16.tgz", + "integrity": "sha512-dBHNEEaZx7F3KoUYqagIhRIeqyyuI65xMndMZ3WwGwEBI609I4TleYQHcrS627vbKyNTXqShoN+fvYD9HuQxAg==", "dev": true, "requires": { - "@babel/compat-data": "^7.12.5", - "@babel/helper-validator-option": "^7.12.1", + "@babel/compat-data": "^7.12.13", + "@babel/helper-validator-option": "^7.12.16", "browserslist": "^4.14.5", "semver": "^5.5.0" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", - "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.16.tgz", + "integrity": "sha512-KbSEj8l9zYkMVHpQqM3wJNxS1d9h3U9vm/uE5tpjMbaj3lTp+0noe3KPsV5dSD9jxKnf9jO9Ip9FX5PKNZCKow==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-member-expression-to-functions": "^7.12.16", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", + "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==", + "dev": true + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "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.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" + } + }, + "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" + } + }, + "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-create-regexp-features-plugin": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", - "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.16.tgz", + "integrity": "sha512-jAcQ1biDYZBdaAxB4yg46/XirgX7jBDiMHDbwYQOgtViLBXGxJpZQ24jutmBqAIB/q+AwB6j+NbBXjKxEY8vqg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-annotate-as-pure": "^7.12.13", "regexpu-core": "^4.7.1" } }, - "@babel/helper-define-map": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", - "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" - } - }, "@babel/helper-explode-assignable-expression": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", - "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.13.tgz", + "integrity": "sha512-5loeRNvMo9mx1dA/d6yNi+YiKziJZFylZnCo1nmFF4qPU4yJ14abhWESuSMQSlQxWdxdOFzxXjk/PpfudTtYyw==", "dev": true, "requires": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.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/helper-function-name": { @@ -185,94 +539,618 @@ } }, "@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.12.13.tgz", + "integrity": "sha512-KSC5XSj5HreRhYQtZ3cnSnQwDzgnbdUDEFsxkN0m6Q3WrCRt72xrnZ8+h+pX7YxM7hr87zIO3a/v5p/H3TrnVw==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.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/helper-member-expression-to-functions": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", - "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.16.tgz", + "integrity": "sha512-zYoZC1uvebBFmj1wFAlXwt35JLEgecefATtKp20xalwEK8vHAixLBXTGxNrVGEmTT+gzOThUgr8UEdgtalc1BQ==", "dev": true, "requires": { - "@babel/types": "^7.12.7" + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.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/helper-module-imports": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", - "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", + "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", "dev": true, "requires": { - "@babel/types": "^7.12.5" + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.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/helper-module-transforms": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", - "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz", + "integrity": "sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", "lodash": "^4.17.19" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/generator": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", + "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==", + "dev": true + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "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.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + }, + "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.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "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 + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "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/helper-optimise-call-expression": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", - "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", "dev": true, "requires": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.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/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", "dev": true }, "@babel/helper-remap-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", - "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.13.tgz", + "integrity": "sha512-Qa6PU9vNcj1NZacZZI1Mvwt+gXDH6CTfgAkSjeRMLE8HxtDK76+YDId6NQR+z7Rgd5arhD2cIbS74r0SxD6PDA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/types": "^7.12.1" + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-wrap-function": "^7.12.13", + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.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/helper-replace-supers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz", - "integrity": "sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", + "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/generator": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", + "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==", + "dev": true + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "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.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + }, + "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.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "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 + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "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/helper-simple-access": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", - "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", + "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", "dev": true, "requires": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.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/helper-skip-transparent-expression-wrappers": { @@ -300,32 +1178,406 @@ "dev": true }, "@babel/helper-validator-option": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", - "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==", + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.16.tgz", + "integrity": "sha512-uCgsDBPUQDvzr11ePPo4TVEocxj8RXjUVSC/Y8N1YpVAI/XDdUwGJu78xmlGhTxj2ntaWM7n9LQdRtyhOzT2YQ==", "dev": true }, "@babel/helper-wrap-function": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", - "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.13.tgz", + "integrity": "sha512-t0aZFEmBJ1LojdtJnhOaQEVejnzYhyjWHSsNSNo8vOYRbAJNh6r6GQF7pd36SqG7OKGbn+AewVQ/0IfYfIuGdw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/generator": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", + "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==", + "dev": true + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "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.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + }, + "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.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "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 + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "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/helpers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", - "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.13.tgz", + "integrity": "sha512-oohVzLRZ3GQEk4Cjhfs9YkJA4TdIDTObdBEZGrd6F/T0GPSnuV6l22eMcxlvcvzVIPH3VTtxbseudM1zIE+rPQ==", "dev": true, "requires": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/generator": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", + "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==", + "dev": true + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "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.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + }, + "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.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "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 + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "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/highlight": { @@ -383,136 +1635,136 @@ "dev": true }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz", - "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.13.tgz", + "integrity": "sha512-1KH46Hx4WqP77f978+5Ye/VUbuwQld2hph70yaw2hXS2v7ER2f3nlpNMu909HO2rbvP0NKLlMVDPh9KXklVMhA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-remap-async-to-generator": "^7.12.13", "@babel/plugin-syntax-async-generators": "^7.8.0" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", - "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.13.tgz", + "integrity": "sha512-8SCJ0Ddrpwv4T7Gwb33EmW1V9PY5lggTO+A8WjyIwxrSHDUyBw4MtF96ifn1n8H806YlxbVCoKXbbmzD6RD+cA==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-class-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", - "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.16.tgz", + "integrity": "sha512-yiDkYFapVxNOCcBfLnsb/qdsliroM+vc3LHiZwS4gh7pFjo5Xq3BDhYBNn3H3ao+hWPvqeeTdU+s+FIvokov+w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-dynamic-import": "^7.8.0" } }, "@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", - "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", + "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", - "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.13.tgz", + "integrity": "sha512-v9eEi4GiORDg8x+Dmi5r8ibOe0VXoKDeNPYcTTxdGN4eOWikrJfDJCJrr1l5gKGvsNyGJbrfMftC2dTL6oz7pg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-json-strings": "^7.8.0" } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", - "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.13.tgz", + "integrity": "sha512-fqmiD3Lz7jVdK6kabeSr1PZlWSUVqSitmHEe3Z00dtGTKieWnX9beafvavc32kjORa5Bai4QNHgFDwWJP+WtSQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", - "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.13.tgz", + "integrity": "sha512-Qoxpy+OxhDBI5kRqliJFAl4uWXk3Bn24WeFstPH0iLymFehSAUR8MHpqU7njyXv/qbo7oN6yTy5bfCmXdKpo1Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", - "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz", + "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.13.tgz", + "integrity": "sha512-WvA1okB/0OS/N3Ldb3sziSrXg6sRphsBgqiccfcQq7woEn5wQLNX82Oc4PlaFcdwcWHuQXAtb8ftbS8Fbsg/sg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" + "@babel/plugin-transform-parameters": "^7.12.13" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", - "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.13.tgz", + "integrity": "sha512-9+MIm6msl9sHWg58NvqpNpLtuFbmpFYk37x8kgnGzAHvX35E1FyAwSUt5hIkSoWJFSAH+iwU8bJ4fcD1zKXOzg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", - "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.16.tgz", + "integrity": "sha512-O3ohPwOhkwji5Mckb7F/PJpJVJY3DpPsrt/F0Bk40+QMk9QpAIqeGusHWqu/mYqsM8oBa6TziL/2mbERWsUZjg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", "@babel/plugin-syntax-optional-chaining": "^7.8.0" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", - "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.13.tgz", + "integrity": "sha512-sV0V57uUwpauixvR7s2o75LmwJI6JECwm5oPUY5beZB1nBl2i37hc7CJGqB5G+58fur5Y6ugvl3LRONk5x34rg==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-class-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", - "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", + "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-async-generators": { @@ -525,12 +1777,12 @@ } }, "@babel/plugin-syntax-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", - "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-dynamic-import": { @@ -615,344 +1867,592 @@ } }, "@babel/plugin-syntax-top-level-await": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", - "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", + "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", - "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.13.tgz", + "integrity": "sha512-tBtuN6qtCTd+iHzVZVOMNp+L04iIJBpqkdY42tWbmjIT5wvR2kx7gxMBsyhQtFzHwBbyGi9h8J8r9HgnOpQHxg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", - "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.13.tgz", + "integrity": "sha512-psM9QHcHaDr+HZpRuJcE1PXESuGWSCcbiGFFhhwfzdbTxaGDVzuVtdNYliAwcRo3GFg0Bc8MmI+AvIGYIJG04A==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1" + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-remap-async-to-generator": "^7.12.13" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", - "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", + "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz", - "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz", + "integrity": "sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-classes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", - "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.13.tgz", + "integrity": "sha512-cqZlMlhCC1rVnxE5ZGMtIb896ijL90xppMiuWXcwcOAuFczynpd3KYemb91XFFPi3wJSe/OcrX9lXoowatkkxA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", "globals": "^11.1.0" }, "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", + "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==", + "dev": true + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "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.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" + } + }, "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 + }, + "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" + } + }, + "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/plugin-transform-computed-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", - "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.13.tgz", + "integrity": "sha512-dDfuROUPGK1mTtLKyDPUavmj2b6kFu82SmgpztBFEO974KMjJT+Ytj3/oWsTUMBmgPcp9J5Pc1SlcAYRpJ2hRA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-destructuring": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", - "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.13.tgz", + "integrity": "sha512-Dn83KykIFzjhA3FDPA1z4N+yfF3btDGhjnJwxIj0T43tP0flCujnU8fKgEkf0C1biIpSv9NZegPBQ1J6jYkwvQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", - "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", + "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", - "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", + "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", - "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", + "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-for-of": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", - "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.13.tgz", + "integrity": "sha512-xCbdgSzXYmHGyVX3+BsQjcd4hv4vA/FDy7Kc8eOpzKmBBPEOTurt0w5fCRQaGl+GSBORKgJdstQ1rHl4jbNseQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-function-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", - "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", + "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", + "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==", + "dev": true + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "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.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" + } + }, + "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" + } + }, + "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/plugin-transform-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", - "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", + "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", - "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", + "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", - "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.13.tgz", + "integrity": "sha512-JHLOU0o81m5UqG0Ulz/fPC68/v+UTuGTWaZBUwpEk1fYQ1D9LfKV6MPn4ttJKqRo5Lm460fkzjLTL4EHvCprvA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", - "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.13.tgz", + "integrity": "sha512-OGQoeVXVi1259HjuoDnsQMlMkT9UkZT9TpXAsqWplS/M0N1g3TJAn/ByOCeQu7mfjc5WpSsRU+jV1Hd89ts0kQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-simple-access": "^7.12.13", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", - "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.13.tgz", + "integrity": "sha512-aHfVjhZ8QekaNF/5aNdStCGzwTbU7SI5hUybBKlMzqIMC7w7Ho8hx5a4R/DkTHfRfLwHGGxSpFt9BfxKCoXKoA==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-hoist-variables": "^7.12.13", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + } } }, "@babel/plugin-transform-modules-umd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", - "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.13.tgz", + "integrity": "sha512-BgZndyABRML4z6ibpi7Z98m4EVLFI9tVsZDADC14AElFaNHHBcJIovflJ6wtCqFxwy2YJ1tJhGRsr0yLPKoN+w==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", - "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", + "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1" + "@babel/helper-create-regexp-features-plugin": "^7.12.13" } }, "@babel/plugin-transform-new-target": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", - "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", + "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-object-super": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", - "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", + "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1" + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13" } }, "@babel/plugin-transform-parameters": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", - "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.13.tgz", + "integrity": "sha512-e7QqwZalNiBRHCpJg/P8s/VJeSRYgmtWySs1JwvfwPqhBbiWfOcHDKdeAi6oAyIimoKWBlwc8oTgbZHdhCoVZA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-property-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", - "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", + "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-regenerator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", - "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz", + "integrity": "sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA==", "dev": true, "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", - "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", + "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-runtime": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz", - "integrity": "sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.15.tgz", + "integrity": "sha512-OwptMSRnRWJo+tJ9v9wgAf72ydXWfYSXWhnQjZing8nGZSDFqU1MBleKM3+DriKkcbv7RagA8gVeB0A1PNlNow==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", "semver": "^5.5.1" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", - "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", + "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", - "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.13.tgz", + "integrity": "sha512-dUCrqPIowjqk5pXsx1zPftSq4sT0aCeZVAxhdgs3AMgyaDmoUT0G+5h3Dzja27t76aUEIJWlFgPJqJ/d4dbTtg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", - "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", + "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-template-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", - "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.13.tgz", + "integrity": "sha512-arIKlWYUgmNsF28EyfmiQHJLJFlAJNYkuQO10jL46ggjBpeb2re1P9K9YGxNJB45BqTbaslVysXDYm/g3sN/Qg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", - "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", + "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", - "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", + "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", - "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", + "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/polyfill": { @@ -972,31 +2472,31 @@ } }, "@babel/preset-env": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", - "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.16.tgz", + "integrity": "sha512-BXCAXy8RE/TzX416pD2hsVdkWo0G+tYd16pwnRV4Sc0fRwTLRS/Ssv8G5RLXUGQv7g4FG7TXkdDJxCjQ5I+Zjg==", "dev": true, "requires": { - "@babel/compat-data": "^7.12.7", - "@babel/helper-compilation-targets": "^7.12.5", - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.11", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-dynamic-import": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", - "@babel/plugin-proposal-json-strings": "^7.12.1", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.7", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.7", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/compat-data": "^7.12.13", + "@babel/helper-compilation-targets": "^7.12.16", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-validator-option": "^7.12.16", + "@babel/plugin-proposal-async-generator-functions": "^7.12.13", + "@babel/plugin-proposal-class-properties": "^7.12.13", + "@babel/plugin-proposal-dynamic-import": "^7.12.16", + "@babel/plugin-proposal-export-namespace-from": "^7.12.13", + "@babel/plugin-proposal-json-strings": "^7.12.13", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.13", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.13", + "@babel/plugin-proposal-numeric-separator": "^7.12.13", + "@babel/plugin-proposal-object-rest-spread": "^7.12.13", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.13", + "@babel/plugin-proposal-optional-chaining": "^7.12.16", + "@babel/plugin-proposal-private-methods": "^7.12.13", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-dynamic-import": "^7.8.0", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.0", @@ -1006,41 +2506,41 @@ "@babel/plugin-syntax-object-rest-spread": "^7.8.0", "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.1", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.11", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-computed-properties": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-dotall-regex": "^7.12.1", - "@babel/plugin-transform-duplicate-keys": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-function-name": "^7.12.1", - "@babel/plugin-transform-literals": "^7.12.1", - "@babel/plugin-transform-member-expression-literals": "^7.12.1", - "@babel/plugin-transform-modules-amd": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-modules-systemjs": "^7.12.1", - "@babel/plugin-transform-modules-umd": "^7.12.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "@babel/plugin-transform-new-target": "^7.12.1", - "@babel/plugin-transform-object-super": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-property-literals": "^7.12.1", - "@babel/plugin-transform-regenerator": "^7.12.1", - "@babel/plugin-transform-reserved-words": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-sticky-regex": "^7.12.7", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/plugin-transform-typeof-symbol": "^7.12.10", - "@babel/plugin-transform-unicode-escapes": "^7.12.1", - "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/plugin-syntax-top-level-await": "^7.12.13", + "@babel/plugin-transform-arrow-functions": "^7.12.13", + "@babel/plugin-transform-async-to-generator": "^7.12.13", + "@babel/plugin-transform-block-scoped-functions": "^7.12.13", + "@babel/plugin-transform-block-scoping": "^7.12.13", + "@babel/plugin-transform-classes": "^7.12.13", + "@babel/plugin-transform-computed-properties": "^7.12.13", + "@babel/plugin-transform-destructuring": "^7.12.13", + "@babel/plugin-transform-dotall-regex": "^7.12.13", + "@babel/plugin-transform-duplicate-keys": "^7.12.13", + "@babel/plugin-transform-exponentiation-operator": "^7.12.13", + "@babel/plugin-transform-for-of": "^7.12.13", + "@babel/plugin-transform-function-name": "^7.12.13", + "@babel/plugin-transform-literals": "^7.12.13", + "@babel/plugin-transform-member-expression-literals": "^7.12.13", + "@babel/plugin-transform-modules-amd": "^7.12.13", + "@babel/plugin-transform-modules-commonjs": "^7.12.13", + "@babel/plugin-transform-modules-systemjs": "^7.12.13", + "@babel/plugin-transform-modules-umd": "^7.12.13", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", + "@babel/plugin-transform-new-target": "^7.12.13", + "@babel/plugin-transform-object-super": "^7.12.13", + "@babel/plugin-transform-parameters": "^7.12.13", + "@babel/plugin-transform-property-literals": "^7.12.13", + "@babel/plugin-transform-regenerator": "^7.12.13", + "@babel/plugin-transform-reserved-words": "^7.12.13", + "@babel/plugin-transform-shorthand-properties": "^7.12.13", + "@babel/plugin-transform-spread": "^7.12.13", + "@babel/plugin-transform-sticky-regex": "^7.12.13", + "@babel/plugin-transform-template-literals": "^7.12.13", + "@babel/plugin-transform-typeof-symbol": "^7.12.13", + "@babel/plugin-transform-unicode-escapes": "^7.12.13", + "@babel/plugin-transform-unicode-regex": "^7.12.13", "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.11", + "@babel/types": "^7.12.13", "core-js-compat": "^3.8.0", "semver": "^5.5.0" }, @@ -1052,9 +2552,9 @@ "dev": true }, "@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.12.11", @@ -1084,17 +2584,17 @@ } }, "@babel/runtime": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", - "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.13.tgz", + "integrity": "sha512-8+3UMPBrjFa/6TtKi/7sehPKqfAm4g6K+YQjyyFOLUTxzOngcRZTlAVY8sc2CORJYqdHQY8gRPHmn+qo15rCBw==", "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/runtime-corejs3": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.12.5.tgz", - "integrity": "sha512-roGr54CsTmNPPzZoCP1AmDXuBoNao7tnSA83TXTwt+UK5QVyh1DIJnrgYRPWKCF2flqZQXwa7Yr8v7VmLzF0YQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.12.13.tgz", + "integrity": "sha512-8fSpqYRETHATtNitsCXq8QQbKJP31/KnDl2Wz2Vtui9nKzjss2ysuZtyVsWjBtvkeEFo346gkwjYPab1hvrXkQ==", "requires": { "core-js-pure": "^3.0.0", "regenerator-runtime": "^0.13.4" @@ -1590,12 +3090,6 @@ "integrity": "sha512-8UT/J+xqCYfn3fKtOznAibsHpiuDshCb0fwgWxRazTT19Igp9ovoXMPhXyLD6m3CKQGTMHgqoxaFfMWaL40Rnw==", "dev": true }, - "@types/anymatch": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", - "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", - "dev": true - }, "@types/eslint": { "version": "7.2.6", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.6.tgz", @@ -1671,60 +3165,6 @@ "@types/node": "*" } }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true - }, - "@types/tapable": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz", - "integrity": "sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==", - "dev": true - }, - "@types/uglify-js": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.1.tgz", - "integrity": "sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - } - }, - "@types/webpack": { - "version": "4.41.26", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.26.tgz", - "integrity": "sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA==", - "dev": true, - "requires": { - "@types/anymatch": "*", - "@types/node": "*", - "@types/tapable": "*", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "source-map": "^0.6.0" - } - }, - "@types/webpack-sources": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz", - "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } - }, "@types/yauzl": { "version": "2.9.1", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz", @@ -3738,9 +5178,9 @@ } }, "core-js-pure": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.8.1.tgz", - "integrity": "sha512-Se+LaxqXlVXGvmexKGPvnUIYC1jwXu1H6Pkyb3uBM5d8/NELMYCHs/4/roD7721NxrTLyv7e5nXd5/QLBO+10g==" + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.8.3.tgz", + "integrity": "sha512-V5qQZVAr9K0xu7jXg1M7qTEwuxUgqr7dUOezGaNa7i+Xn9oXAU/d1fzqD9ObuwpVQOaorO5s70ckyi1woP9lVA==" }, "core-util-is": { "version": "1.0.2", @@ -3856,23 +5296,23 @@ "integrity": "sha512-bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg==" }, "css-loader": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.0.1.tgz", - "integrity": "sha512-cXc2ti9V234cq7rJzFKhirb2L2iPy8ZjALeVJAozXYz9te3r4eqLSixNAbMDJSgJEQywqXzs8gonxaboeKqwiw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.0.2.tgz", + "integrity": "sha512-gbkBigdcHbmNvZ1Cg6aV6qh6k9N6XOr8YWzISLQGrwk2mgOH8LLrizhkxbDhQtaLtktyKHD4970S0xwz5btfTA==", "dev": true, "requires": { "camelcase": "^6.2.0", "cssesc": "^3.0.0", - "icss-utils": "^5.0.0", + "icss-utils": "^5.1.0", "loader-utils": "^2.0.0", - "postcss": "^8.1.4", + "postcss": "^8.2.4", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.1.0", "schema-utils": "^3.0.0", - "semver": "^7.3.2" + "semver": "^7.3.4" }, "dependencies": { "loader-utils": { @@ -4762,14 +6202,6 @@ "requires": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" - }, - "dependencies": { - "tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", - "dev": true - } } }, "enquirer": { @@ -6766,9 +8198,9 @@ "dev": true }, "highlight.js": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.5.0.tgz", - "integrity": "sha512-xTmvd9HiIHR6L53TMC7TKolEj65zG1XU+Onr8oi86mYa+nLcIbxTTWkpW7CsEwv/vK7u1zb8alZIMLDqqN6KTw==" + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.6.0.tgz", + "integrity": "sha512-8mlRcn5vk/r4+QcqerapwBYTe+iPL5ih6xrNylxrnBdHQiijDETfXX7VIxC3UiCRiINBJfANBAsPzAvRQj8RpQ==" }, "hmac-drbg": { "version": "1.0.1", @@ -6894,20 +8326,30 @@ } }, "html-webpack-plugin": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.1.tgz", - "integrity": "sha512-yzK7RQZwv9xB+pcdHNTjcqbaaDZ+5L0zJHXfi89iWIZmb/FtzxhLk0635rmJihcQbs3ZUF27Xp4oWGx6EK56zg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.1.0.tgz", + "integrity": "sha512-2axkp+2NHmvHUWrKe1dY4LyM3WatQEdFChr42OY7R/Ad7f0AQzaKscGCcqN/FtQBxo8rdfJP7M3RMFDttqok3g==", "dev": true, "requires": { "@types/html-minifier-terser": "^5.0.0", - "@types/tapable": "^1.0.5", - "@types/webpack": "^4.41.8", "html-minifier-terser": "^5.0.1", - "loader-utils": "^1.2.3", + "loader-utils": "^2.0.0", "lodash": "^4.17.20", "pretty-error": "^2.1.1", - "tapable": "^1.1.3", - "util.promisify": "1.0.0" + "tapable": "^2.0.0" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + } } }, "htmlparser2": { @@ -7966,9 +9408,9 @@ "integrity": "sha512-zCTP6Qd/WwjrpuHFkJuXc5opRdKprUr7eI7+JCCtcetThJt45qptu82MWQ+eET+FtDrMo7+BYjo3iD0XIq1L9Q==" }, "jsrsasign": { - "version": "10.1.5", - "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.1.5.tgz", - "integrity": "sha512-xlCtvZ+S2fPnw6YQyPkgMZ1dgMJ02bmK5Rt1umpo/KThBP6Zzq9awzXU71NEw1NYxXmLFnjorpQYKLZzMdF3lg==" + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.1.8.tgz", + "integrity": "sha512-NdMWugkiOXk7dfB8a2PMlnzjf+8mxWgGC9IfWhiYouQa00Qcc4PBrCk4eH+MNB2O/DJ2Cjz1eEzI2usY3BSynQ==" }, "jszip": { "version": "2.5.0", @@ -8781,9 +10223,9 @@ } }, "mini-css-extract-plugin": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.5.tgz", - "integrity": "sha512-tvmzcwqJJXau4OQE5vT72pRT18o2zF+tQJp8CWchqvfQnTlflkzS+dANYcRdyPRWUWRkfmeNTKltx0NZI/b5dQ==", + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.6.tgz", + "integrity": "sha512-t86rLnySRQgN2+58gAIARTEtnClLNZoC99shNrvQ960V/wB9n50AUKJyqly76/s4fT0zwaLFIDFZAW7aK25pvg==", "dev": true, "requires": { "loader-utils": "^2.0.0", @@ -9087,9 +10529,9 @@ "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" }, "moment-timezone": { - "version": "0.5.32", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.32.tgz", - "integrity": "sha512-Z8QNyuQHQAmWucp8Knmgei8YNo28aLjJq6Ma+jy1ZSpSk5nyfRT8xgUbSQvD2+2UajISfenndwvFuH3NGS+nvA==", + "version": "0.5.33", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.33.tgz", + "integrity": "sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==", "requires": { "moment": ">= 2.9.0" } @@ -10446,9 +11888,9 @@ "dev": true }, "postcss": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.4.tgz", - "integrity": "sha512-kRFftRoExRVXZlwUuay9iC824qmXPcQQVzAjbCCgjpXnkdMCJYBu2gTwAaFBzv8ewND6O8xFb3aELmEkh9zTzg==", + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.6.tgz", + "integrity": "sha512-xpB8qYxgPuly166AGlpRjUdEYtmOWx2iCwGmrv4vqZL9YPVviDVPZPRXxnXr6xPZOdxQ9lp3ZBFCRgWJ7LE3Sg==", "dev": true, "requires": { "colorette": "^1.2.1", @@ -10522,40 +11964,16 @@ } }, "postcss-loader": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.2.0.tgz", - "integrity": "sha512-mqgScxHqbiz1yxbnNcPdKYo/6aVt+XExURmEbQlviFVWogDbM4AJ0A/B+ZBpYsJrTRxKw7HyRazg9x0Q9SWwLA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-5.0.0.tgz", + "integrity": "sha512-bOvyWP5VHCJbThbv7wrBwCBc3DsVpyCfd+k/wHOL3wTAMMHmSSfNts90EADf8bHa6I810ird1JBEKmBRgJu3cg==", "dev": true, "requires": { "cosmiconfig": "^7.0.0", "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", "semver": "^7.3.4" }, "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, "semver": { "version": "7.3.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", @@ -11525,49 +12943,13 @@ } }, "sass-loader": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.1.tgz", - "integrity": "sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-11.0.1.tgz", + "integrity": "sha512-Vp1LcP4slTsTNLEiDkTcm8zGN/XYYrZz2BZybQbliWA8eXveqA/AxsEjllQTpJbg2MzCsx/qNO48sHdZtOaxTw==", "dev": true, "requires": { "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", - "semver": "^7.3.2" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } + "neo-async": "^2.6.2" } }, "sax": { @@ -11819,15 +13201,23 @@ } }, "sitemap": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-6.3.5.tgz", - "integrity": "sha512-uLz8c5nI31bd4/+nccVWhJx18JxLF+1bAKhhxMv0IYKClSK8wWtANKsl9FOluqmz37ObeBLGVVgNOpg3r+yz/g==", + "version": "6.3.6", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-6.3.6.tgz", + "integrity": "sha512-L+gSUOJrUuXP3XHnJ0VcV0rmBImwm0aVmJb0YGoafG7YcIblNdRs9vKpeyFXlcbY2S8x6e+kMpNlty6lqdBopg==", "dev": true, "requires": { - "@types/node": "^14.14.14", + "@types/node": "^14.14.25", "@types/sax": "^1.2.1", "arg": "^5.0.0", "sax": "^1.2.4" + }, + "dependencies": { + "@types/node": { + "version": "14.14.27", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.27.tgz", + "integrity": "sha512-Ecfmo4YDQPwuqTCl1yBxLV5ihKfRlkBmzUEDcfIRvDxOTGQEeikr317Ln7Gcv0tjA8dVgKI3rniqW2G1OyKDng==", + "dev": true + } } }, "slash": { @@ -12616,9 +14006,9 @@ } }, "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", "dev": true }, "tar": { @@ -13020,9 +14410,9 @@ } }, "ua-parser-js": { - "version": "0.7.23", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.23.tgz", - "integrity": "sha512-m4hvMLxgGHXG3O3fQVAyyAQpZzDOvwnhOTjYz5Xmr7r/+LpkNy3vJXdVRWgd1TkAb7NGROZuSy96CrlNVjA7KA==" + "version": "0.7.24", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.24.tgz", + "integrity": "sha512-yo+miGzQx5gakzVK3QFfN0/L9uVhosXBBO7qmnk7c2iw1IhL212wfA3zbnI54B0obGwC/5NWub/iT9sReMx+Fw==" }, "uc.micro": { "version": "1.0.6", @@ -13286,16 +14676,6 @@ "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" - } - }, "utila": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", @@ -13399,9 +14779,9 @@ "integrity": "sha512-2ozZEFfmVvQcHWoHLNuiKlUfDKlhh4KGsy54U0UrlLMR1SO+XKAIDqBxtBwHgNrekurlJwE8A9K6L49T78ZQ9Q==" }, "watchpack": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.0.tgz", - "integrity": "sha512-UjgD1mqjkG99+3lgG36at4wPnUXNvis2v1utwTgQ43C22c4LD71LsYMExdWXh4HZ+RmW+B0t1Vrg2GpXAkTOQw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz", + "integrity": "sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -13427,9 +14807,9 @@ } }, "webpack": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.19.0.tgz", - "integrity": "sha512-egX19vAQ8fZ4cVYtA9Y941eqJtcZAK68mQq87MMv+GTXKZOc3TpKBBxdGX+HXUYlquPxiluNsJ1VHvwwklW7CQ==", + "version": "5.21.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.21.2.tgz", + "integrity": "sha512-xHflCenx+AM4uWKX71SWHhxml5aMXdy2tu/vdi4lClm7PADKxlyDAFFN1rEFzNV0MAoPpHtBeJnl/+K6F4QBPg==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", @@ -13450,7 +14830,6 @@ "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "pkg-dir": "^5.0.0", "schema-utils": "^3.0.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.1", @@ -13470,52 +14849,6 @@ "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", "dev": true }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "pkg-dir": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", - "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", - "dev": true, - "requires": { - "find-up": "^5.0.0" - } - }, "schema-utils": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", @@ -13527,12 +14860,6 @@ "ajv-keywords": "^3.5.2" } }, - "tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", - "dev": true - }, "webpack-sources": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", @@ -14031,9 +15358,9 @@ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" }, "worker-loader": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-3.0.7.tgz", - "integrity": "sha512-LjYLuYJw6kqQKDoygpoD5vWeR1CbZjuVSW3/8pFsptMlUl8gatNM/pszhasSDAWt+dYxMipWB6695k+1zId+iQ==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-3.0.8.tgz", + "integrity": "sha512-XQyQkIFeRVC7f7uRhFdNMe/iJOdO6zxAaR3EWbDp45v3mDhrTi+++oswKNxShUNjPC/1xUp5DB29YKLhFo129g==", "dev": true, "requires": { "loader-utils": "^2.0.0", @@ -14177,9 +15504,9 @@ "integrity": "sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw==" }, "xregexp": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.4.1.tgz", - "integrity": "sha512-2u9HwfadaJaY9zHtRRnH6BY6CQVNQKkYm3oLtC9gJXXzfsbACg5X5e4EZZGVAH+YIfa+QA9lsFQTTe3HURF3ag==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-5.0.1.tgz", + "integrity": "sha512-flG0ykxHQLOfF886GpnY26WQkj4/RmcxYvoVcSFbg+1lPMdnXEPoTKuLzw1olKnJ+o2Wc1+RCD1oktV4bYzVlQ==", "requires": { "@babel/runtime-corejs3": "^7.12.1" } diff --git a/package.json b/package.json index b9e72c48..857e121c 100644 --- a/package.json +++ b/package.json @@ -36,9 +36,9 @@ "node >= 10" ], "devDependencies": { - "@babel/core": "^7.12.10", - "@babel/plugin-transform-runtime": "^7.12.10", - "@babel/preset-env": "^7.12.11", + "@babel/core": "^7.12.16", + "@babel/plugin-transform-runtime": "^7.12.15", + "@babel/preset-env": "^7.12.16", "autoprefixer": "^10.2.4", "babel-eslint": "^10.1.0", "babel-loader": "^8.2.2", @@ -47,7 +47,7 @@ "cli-progress": "^3.9.0", "colors": "^1.4.0", "copy-webpack-plugin": "^7.0.0", - "css-loader": "^5.0.1", + "css-loader": "^5.0.2", "eslint": "^7.19.0", "exports-loader": "^2.0.0", "file-loader": "^6.2.0", @@ -62,30 +62,30 @@ "grunt-exec": "~3.0.0", "grunt-webpack": "^4.0.2", "grunt-zip": "^0.18.2", - "html-webpack-plugin": "^4.5.1", + "html-webpack-plugin": "^5.1.0", "imports-loader": "^2.0.0", - "mini-css-extract-plugin": "^1.3.5", + "mini-css-extract-plugin": "^1.3.6", "nightwatch": "^1.5.1", "node-sass": "^5.0.0", - "postcss": "^8.2.4", + "postcss": "^8.2.6", "postcss-css-variables": "^0.17.0", "postcss-import": "^14.0.0", - "postcss-loader": "^4.2.0", + "postcss-loader": "^5.0.0", "prompt": "^1.1.0", - "sass-loader": "^10.1.1", - "sitemap": "^6.3.5", + "sass-loader": "^11.0.1", + "sitemap": "^6.3.6", "style-loader": "^2.0.0", "svg-url-loader": "^7.1.1", "url-loader": "^4.1.1", - "webpack": "^5.19.0", + "webpack": "^5.21.2", "webpack-bundle-analyzer": "^4.4.0", "webpack-dev-server": "^3.11.2", "webpack-node-externals": "^2.5.2", - "worker-loader": "^3.0.7" + "worker-loader": "^3.0.8" }, "dependencies": { "@babel/polyfill": "^7.12.1", - "@babel/runtime": "^7.12.5", + "@babel/runtime": "^7.12.13", "arrive": "^2.4.1", "avsc": "^5.5.3", "babel-plugin-transform-builtin-extend": "1.1.2", @@ -115,8 +115,8 @@ "exif-parser": "^0.1.12", "file-saver": "^2.0.5", "flat": "^5.0.2", - "geodesy": "^1.1.3", - "highlight.js": "^10.5.0", + "geodesy": "1.1.3", + "highlight.js": "^10.6.0", "jimp": "^0.16.1", "jquery": "3.5.1", "js-crc": "^0.2.0", @@ -125,7 +125,7 @@ "jsonpath": "^1.1.0", "jsonwebtoken": "^8.5.1", "jsqr": "^1.3.1", - "jsrsasign": "10.1.5", + "jsrsasign": "10.1.8", "kbpgp": "2.1.15", "libbzip2-wasm": "0.0.4", "libyara-wasm": "^1.1.0", @@ -134,14 +134,14 @@ "loglevel-message-prefix": "^3.0.0", "markdown-it": "^12.0.4", "moment": "^2.29.1", - "moment-timezone": "^0.5.32", + "moment-timezone": "^0.5.33", "ngeohash": "^0.6.3", "node-forge": "^0.10.0", "node-md6": "^0.1.0", "nodom": "^2.4.0", "notepack.io": "^2.3.0", "nwmatcher": "^1.4.4", - "otp": "^0.1.3", + "otp": "0.1.3", "path": "^0.12.7", "popper.js": "^1.16.1", "process": "^0.11.10", @@ -153,14 +153,14 @@ "ssdeep.js": "0.0.2", "stream-browserify": "^3.0.0", "terser": "^5.5.1", - "tesseract.js": "^2.1.1", - "ua-parser-js": "^0.7.23", + "tesseract.js": "2.1.1", + "ua-parser-js": "^0.7.24", "unorm": "^1.6.0", "utf8": "^3.0.0", "vkbeautify": "^0.99.3", "xmldom": "^0.4.0", "xpath": "0.0.32", - "xregexp": "^4.4.1", + "xregexp": "^5.0.1", "zlibjs": "^0.3.1" }, "scripts": { From a6a60392c257aa99d61212012cec8a982e6dd723 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 12 Feb 2021 12:05:03 +0000 Subject: [PATCH 207/754] 9.26.2 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index a2850062..c09d0772 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.26.1", + "version": "9.26.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 857e121c..9af7cfbe 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.26.1", + "version": "9.26.2", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 5893ac1a374bf1293b5f1160076d0356816f6f34 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 12 Feb 2021 12:12:08 +0000 Subject: [PATCH 208/754] 9.26.3 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index c09d0772..7b8157d4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.26.2", + "version": "9.26.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 9af7cfbe..75ce4876 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.26.2", + "version": "9.26.3", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 8ad18bc7db6d9ff184ba3518686293a7685bf7b7 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 12 Feb 2021 13:51:51 +0000 Subject: [PATCH 209/754] Added 'Fuzzy Match' operation --- .github/workflows/master.yml | 2 +- .github/workflows/pull_requests.yml | 2 +- .github/workflows/releases.yml | 2 +- package.json | 4 +- src/core/config/Categories.json | 1 + .../lib/{FuzzySearch.mjs => FuzzyMatch.mjs} | 98 +++++++++----- src/core/operations/FuzzyMatch.mjs | 120 ++++++++++++++++++ src/core/operations/RegularExpression.mjs | 4 +- src/web/waiters/OperationsWaiter.mjs | 2 +- 9 files changed, 196 insertions(+), 39 deletions(-) rename src/core/lib/{FuzzySearch.mjs => FuzzyMatch.mjs} (68%) create mode 100644 src/core/operations/FuzzyMatch.mjs diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 931715da..d6b6498d 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -19,7 +19,7 @@ jobs: - name: Install run: | npm install - export NODE_OPTIONS=--max_old_space_size=2048 + npm run setheapsize - name: Lint run: npx grunt lint diff --git a/.github/workflows/pull_requests.yml b/.github/workflows/pull_requests.yml index 9b21e385..379078b8 100644 --- a/.github/workflows/pull_requests.yml +++ b/.github/workflows/pull_requests.yml @@ -18,7 +18,7 @@ jobs: - name: Install run: | npm install - export NODE_OPTIONS=--max_old_space_size=2048 + npm run setheapsize - name: Lint run: npx grunt lint diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index dda8fbef..7985c99a 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -19,7 +19,7 @@ jobs: - name: Install run: | npm install - export NODE_OPTIONS=--max_old_space_size=2048 + npm run setheapsize - name: Lint run: npx grunt lint diff --git a/package.json b/package.json index 75ce4876..8b4018ff 100644 --- a/package.json +++ b/package.json @@ -173,6 +173,8 @@ "testuidev": "npx nightwatch --env=dev", "lint": "npx grunt lint", "postinstall": "npx grunt exec:fixCryptoApiImports", - "newop": "node --experimental-modules src/core/config/scripts/newOperation.mjs" + "newop": "node --experimental-modules src/core/config/scripts/newOperation.mjs", + "getheapsize": "node -e 'console.log(`node heap limit = ${require(\"v8\").getHeapStatistics().heap_size_limit / (1024 * 1024)} Mb`)'", + "setheapsize": "export NODE_OPTIONS=--max_old_space_size=2048" } } diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 257f4742..3a5eb0d5 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -238,6 +238,7 @@ "Pad lines", "Find / Replace", "Regular expression", + "Fuzzy Match", "Offset checker", "Hamming Distance", "Convert distance", diff --git a/src/core/lib/FuzzySearch.mjs b/src/core/lib/FuzzyMatch.mjs similarity index 68% rename from src/core/lib/FuzzySearch.mjs rename to src/core/lib/FuzzyMatch.mjs index d24f3fe6..693527a5 100644 --- a/src/core/lib/FuzzySearch.mjs +++ b/src/core/lib/FuzzyMatch.mjs @@ -16,40 +16,72 @@ * Anurag Awasthi - updated to 0.2.0 */ -const SEQUENTIAL_BONUS = 15; // bonus for adjacent matches -const SEPARATOR_BONUS = 30; // bonus if match occurs after a separator -const CAMEL_BONUS = 30; // bonus if match is uppercase and prev is lower -const FIRST_LETTER_BONUS = 15; // bonus if the first letter is matched +export const DEFAULT_WEIGHTS = { + sequentialBonus: 15, // bonus for adjacent matches + separatorBonus: 30, // bonus if match occurs after a separator + camelBonus: 30, // bonus if match is uppercase and prev is lower + firstLetterBonus: 15, // bonus if the first letter is matched -const LEADING_LETTER_PENALTY = -5; // penalty applied for every letter in str before the first match -const MAX_LEADING_LETTER_PENALTY = -15; // maximum penalty for leading letters -const UNMATCHED_LETTER_PENALTY = -1; + leadingLetterPenalty: -5, // penalty applied for every letter in str before the first match + maxLeadingLetterPenalty: -15, // maximum penalty for leading letters + unmatchedLetterPenalty: -1 +}; /** * Does a fuzzy search to find pattern inside a string. - * @param {*} pattern string pattern to search for - * @param {*} str string string which is being searched + * @param {string} pattern pattern to search for + * @param {string} str string which is being searched + * @param {boolean} global whether to search for all matches or just one * @returns [boolean, number] a boolean which tells if pattern was * found or not and a search score */ -export function fuzzyMatch(pattern, str) { +export function fuzzyMatch(pattern, str, global=false, weights=DEFAULT_WEIGHTS) { const recursionCount = 0; const recursionLimit = 10; const matches = []; const maxMatches = 256; - return fuzzyMatchRecursive( - pattern, - str, - 0 /* patternCurIndex */, - 0 /* strCurrIndex */, - null /* srcMatces */, - matches, - maxMatches, - 0 /* nextMatch */, - recursionCount, - recursionLimit - ); + if (!global) { + return fuzzyMatchRecursive( + pattern, + str, + 0 /* patternCurIndex */, + 0 /* strCurrIndex */, + null /* srcMatches */, + matches, + maxMatches, + 0 /* nextMatch */, + recursionCount, + recursionLimit, + weights + ); + } + + // Return all matches + let foundMatch = true, + score, + idxs, + strCurrIndex = 0; + const results = []; + + while (foundMatch) { + [foundMatch, score, idxs] = fuzzyMatchRecursive( + pattern, + str, + 0 /* patternCurIndex */, + strCurrIndex, + null /* srcMatches */, + matches, + maxMatches, + 0 /* nextMatch */, + recursionCount, + recursionLimit, + weights + ); + if (foundMatch) results.push([foundMatch, score, [...idxs]]); + strCurrIndex = idxs[idxs.length - 1] + 1; + } + return results; } /** @@ -65,7 +97,8 @@ function fuzzyMatchRecursive( maxMatches, nextMatch, recursionCount, - recursionLimit + recursionLimit, + weights ) { let outScore = 0; @@ -110,7 +143,8 @@ function fuzzyMatchRecursive( maxMatches, nextMatch, recursionCount, - recursionLimit + recursionLimit, + weights ); if (matched) { @@ -134,16 +168,16 @@ function fuzzyMatchRecursive( outScore = 100; // Apply leading letter penalty - let penalty = LEADING_LETTER_PENALTY * matches[0]; + let penalty = weights.leadingLetterPenalty * matches[0]; penalty = - penalty < MAX_LEADING_LETTER_PENALTY ? - MAX_LEADING_LETTER_PENALTY : + penalty < weights.maxLeadingLetterPenalty ? + weights.maxLeadingLetterPenalty : penalty; outScore += penalty; // Apply unmatched penalty const unmatched = str.length - nextMatch; - outScore += UNMATCHED_LETTER_PENALTY * unmatched; + outScore += weights.unmatchedLetterPenalty * unmatched; // Apply ordering bonuses for (let i = 0; i < nextMatch; i++) { @@ -152,7 +186,7 @@ function fuzzyMatchRecursive( if (i > 0) { const prevIdx = matches[i - 1]; if (currIdx === prevIdx + 1) { - outScore += SEQUENTIAL_BONUS; + outScore += weights.sequentialBonus; } } @@ -165,15 +199,15 @@ function fuzzyMatchRecursive( neighbor !== neighbor.toUpperCase() && curr !== curr.toLowerCase() ) { - outScore += CAMEL_BONUS; + outScore += weights.camelBonus; } const isNeighbourSeparator = neighbor === "_" || neighbor === " "; if (isNeighbourSeparator) { - outScore += SEPARATOR_BONUS; + outScore += weights.separatorBonus; } } else { // First letter - outScore += FIRST_LETTER_BONUS; + outScore += weights.firstLetterBonus; } } diff --git a/src/core/operations/FuzzyMatch.mjs b/src/core/operations/FuzzyMatch.mjs new file mode 100644 index 00000000..f7c9b358 --- /dev/null +++ b/src/core/operations/FuzzyMatch.mjs @@ -0,0 +1,120 @@ +/** + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2021 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import {fuzzyMatch, calcMatchRanges, DEFAULT_WEIGHTS} from "../lib/FuzzyMatch.mjs"; + +/** + * Fuzzy Match operation + */ +class FuzzyMatch extends Operation { + + /** + * FuzzyMatch constructor + */ + constructor() { + super(); + + this.name = "Fuzzy Match"; + this.module = "Default"; + this.description = "Conducts a fuzzy search to find a pattern within the input based on weighted criteria.

e.g. A search for dpan will match on Don't Panic"; + this.infoURL = "https://wikipedia.org/wiki/Fuzzy_matching_(computer-assisted_translation)"; + this.inputType = "string"; + this.outputType = "html"; + this.args = [ + { + name: "Search", + type: "binaryString", + value: "" + }, + { + name: "Sequential bonus", + type: "number", + value: DEFAULT_WEIGHTS.sequentialBonus, + hint: "Bonus for adjacent matches" + }, + { + name: "Separator bonus", + type: "number", + value: DEFAULT_WEIGHTS.separatorBonus, + hint: "Bonus if match occurs after a separator" + }, + { + name: "Camel bonus", + type: "number", + value: DEFAULT_WEIGHTS.camelBonus, + hint: "Bonus if match is uppercase and previous is lower" + }, + { + name: "First letter bonus", + type: "number", + value: DEFAULT_WEIGHTS.firstLetterBonus, + hint: "Bonus if the first letter is matched" + }, + { + name: "Leading letter penalty", + type: "number", + value: DEFAULT_WEIGHTS.leadingLetterPenalty, + hint: "Penalty applied for every letter in the input before the first match" + }, + { + name: "Max leading letter penalty", + type: "number", + value: DEFAULT_WEIGHTS.maxLeadingLetterPenalty, + hint: "Maxiumum penalty for leading letters" + }, + { + name: "Unmatched letter penalty", + type: "number", + value: DEFAULT_WEIGHTS.unmatchedLetterPenalty + }, + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {html} + */ + run(input, args) { + const searchStr = args[0]; + const weights = { + sequentialBonus: args[1], + separatorBonus: args[2], + camelBonus: args[3], + firstLetterBonus: args[4], + leadingLetterPenalty: args[5], + maxLeadingLetterPenalty: args[6], + unmatchedLetterPenalty: args[7] + }; + const matches = fuzzyMatch(searchStr, input, true, weights); + + if (!matches) { + return "No matches."; + } + + let result = "", pos = 0, hlClass = "hl1"; + matches.forEach(([matches, score, idxs]) => { + const matchRanges = calcMatchRanges(idxs); + + matchRanges.forEach(([start, length], i) => { + result += input.slice(pos, start); + if (i === 0) result += ``; + pos = start + length; + result += `${input.slice(start, pos)}`; + }); + result += ""; + hlClass = hlClass === "hl1" ? "hl2" : "hl1"; + }); + + result += input.slice(pos, input.length); + + return result; + } + +} + +export default FuzzyMatch; diff --git a/src/core/operations/RegularExpression.mjs b/src/core/operations/RegularExpression.mjs index 8771b55f..1d8de9c4 100644 --- a/src/core/operations/RegularExpression.mjs +++ b/src/core/operations/RegularExpression.mjs @@ -185,7 +185,7 @@ class RegularExpression extends Operation { * @param {boolean} captureGroups - Display each of the capture groups separately * @returns {string} */ -function regexList (input, regex, displayTotal, matches, captureGroups) { +function regexList(input, regex, displayTotal, matches, captureGroups) { let output = "", total = 0, match; @@ -225,7 +225,7 @@ function regexList (input, regex, displayTotal, matches, captureGroups) { * @param {boolean} displayTotal * @returns {string} */ -function regexHighlight (input, regex, displayTotal) { +function regexHighlight(input, regex, displayTotal) { let output = "", title = "", hl = 1, diff --git a/src/web/waiters/OperationsWaiter.mjs b/src/web/waiters/OperationsWaiter.mjs index 200ae5df..6efbab72 100755 --- a/src/web/waiters/OperationsWaiter.mjs +++ b/src/web/waiters/OperationsWaiter.mjs @@ -6,7 +6,7 @@ import HTMLOperation from "../HTMLOperation.mjs"; import Sortable from "sortablejs"; -import {fuzzyMatch, calcMatchRanges} from "../../core/lib/FuzzySearch.mjs"; +import {fuzzyMatch, calcMatchRanges} from "../../core/lib/FuzzyMatch.mjs"; /** From e27e1dd42f56921445b6f7c28b4e8a61e9508b4f Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 12 Feb 2021 13:53:59 +0000 Subject: [PATCH 210/754] Updated CHANGELOG --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 392a816c..42b447fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ All major and minor version changes will be documented in this file. Details of ## Details +### [9.27.0] - 2021-02-12 +- 'Fuzzy Match' operation added [@n1474335] | [8ad18b] + ### [9.26.0] - 2021-02-11 - 'Get Time' operation added [@n1073645] [@n1474335] | [#1045] @@ -253,6 +256,7 @@ All major and minor version changes will be documented in this file. Details of +[9.27.0]: https://github.com/gchq/CyberChef/releases/tag/v9.27.0 [9.26.0]: https://github.com/gchq/CyberChef/releases/tag/v9.26.0 [9.25.0]: https://github.com/gchq/CyberChef/releases/tag/v9.25.0 [9.24.0]: https://github.com/gchq/CyberChef/releases/tag/v9.24.0 @@ -360,6 +364,8 @@ All major and minor version changes will be documented in this file. Details of [@dmfj]: https://github.com/dmfj [@mattnotmitt]: https://github.com/mattnotmitt +[8ad18b]: https://github.com/gchq/CyberChef/commit/8ad18bc7db6d9ff184ba3518686293a7685bf7b7 + [#95]: https://github.com/gchq/CyberChef/pull/299 [#173]: https://github.com/gchq/CyberChef/pull/173 [#143]: https://github.com/gchq/CyberChef/pull/143 From 70cd3750493661004961481f71e3242884c56688 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 12 Feb 2021 13:54:52 +0000 Subject: [PATCH 211/754] 9.27.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7b8157d4..d2455e02 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.26.3", + "version": "9.27.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 8b4018ff..f703abce 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.26.3", + "version": "9.27.0", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 57714c86a61f5905768e2f8e89eae207cda9e0aa Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 12 Feb 2021 17:55:28 +0000 Subject: [PATCH 212/754] Escape HTML input in Fuzzy Match operation --- src/core/operations/FuzzyMatch.mjs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/core/operations/FuzzyMatch.mjs b/src/core/operations/FuzzyMatch.mjs index f7c9b358..c35dd0ab 100644 --- a/src/core/operations/FuzzyMatch.mjs +++ b/src/core/operations/FuzzyMatch.mjs @@ -6,6 +6,7 @@ import Operation from "../Operation.mjs"; import {fuzzyMatch, calcMatchRanges, DEFAULT_WEIGHTS} from "../lib/FuzzyMatch.mjs"; +import Utils from "../Utils.mjs"; /** * Fuzzy Match operation @@ -101,16 +102,16 @@ class FuzzyMatch extends Operation { const matchRanges = calcMatchRanges(idxs); matchRanges.forEach(([start, length], i) => { - result += input.slice(pos, start); + result += Utils.escapeHtml(input.slice(pos, start)); if (i === 0) result += ``; pos = start + length; - result += `${input.slice(start, pos)}`; + result += `${Utils.escapeHtml(input.slice(start, pos))}`; }); result += ""; hlClass = hlClass === "hl1" ? "hl2" : "hl1"; }); - result += input.slice(pos, input.length); + result += Utils.escapeHtml(input.slice(pos, input.length)); return result; } From 22fe5a6ae73b3374e43de5b58eb74d5843f2b5fc Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 12 Feb 2021 17:55:36 +0000 Subject: [PATCH 213/754] 9.27.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index d2455e02..1d4b6c55 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.27.0", + "version": "9.27.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index f703abce..2261bd25 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.27.0", + "version": "9.27.1", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From c879af6860ca5fb91bf7249fd646f0be14898730 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 16 Feb 2021 14:12:14 +0000 Subject: [PATCH 214/754] Fixed 'Save recipe' URL generation issue. Closes #1176 --- src/core/Utils.mjs | 4 ++-- src/web/App.mjs | 2 +- src/web/waiters/ControlsWaiter.mjs | 6 ++++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/core/Utils.mjs b/src/core/Utils.mjs index 2020545b..ed29ceba 100755 --- a/src/core/Utils.mjs +++ b/src/core/Utils.mjs @@ -895,8 +895,8 @@ class Utils { while ((m = recipeRegex.exec(recipe))) { // Translate strings in args back to double-quotes - args = m[2] - .replace(/"/g, '\\"') // Escape double quotes // lgtm [js/incomplete-sanitization] + args = m[2] // lgtm [js/incomplete-sanitization] + .replace(/"/g, '\\"') // Escape double quotes .replace(/(^|,|{|:)'/g, '$1"') // Replace opening ' with " .replace(/([^\\]|(?:\\\\)+)'(,|:|}|$)/g, '$1"$2') // Replace closing ' with " .replace(/\\'/g, "'"); // Unescape single quotes diff --git a/src/web/App.mjs b/src/web/App.mjs index 7fd876ac..04397a5f 100755 --- a/src/web/App.mjs +++ b/src/web/App.mjs @@ -725,7 +725,7 @@ class App { this.progress = 0; this.autoBake(); - this.updateTitle(false, null, true); + this.updateTitle(true, null, true); } diff --git a/src/web/waiters/ControlsWaiter.mjs b/src/web/waiters/ControlsWaiter.mjs index f252dfcd..5a9533f5 100755 --- a/src/web/waiters/ControlsWaiter.mjs +++ b/src/web/waiters/ControlsWaiter.mjs @@ -100,7 +100,7 @@ class ControlsWaiter { const includeRecipe = document.getElementById("save-link-recipe-checkbox").checked; const includeInput = document.getElementById("save-link-input-checkbox").checked; const saveLinkEl = document.getElementById("save-link"); - const saveLink = this.generateStateUrl(includeRecipe, includeInput, recipeConfig); + const saveLink = this.generateStateUrl(includeRecipe, includeInput, null, recipeConfig); saveLinkEl.innerHTML = Utils.escapeHtml(Utils.truncate(saveLink, 120)); saveLinkEl.setAttribute("href", saveLink); @@ -128,11 +128,13 @@ class ControlsWaiter { includeRecipe = includeRecipe && (recipeConfig.length > 0); // If we don't get passed an input, get it from the current URI - if (input === null) { + if (input === null && includeInput) { const params = this.app.getURIParams(); if (params.input) { includeInput = true; input = params.input; + } else { + includeInput = false; } } From b5f6cedd3064f716656808fa7e3a60f8c17a27d0 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 16 Feb 2021 14:12:18 +0000 Subject: [PATCH 215/754] 9.27.2 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1d4b6c55..f01eb331 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.27.1", + "version": "9.27.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 2261bd25..7173a047 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.27.1", + "version": "9.27.2", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 59c1c45d78345660d8e0b08ed831b7efcd5f7a60 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 16 Feb 2021 14:17:09 +0000 Subject: [PATCH 216/754] Updated dependencies --- package-lock.json | 55 +++++++++++++++++++++++++++-------------------- package.json | 10 ++++----- 2 files changed, 37 insertions(+), 28 deletions(-) diff --git a/package-lock.json b/package-lock.json index f01eb331..e52391ce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6351,12 +6351,12 @@ } }, "eslint": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.19.0.tgz", - "integrity": "sha512-CGlMgJY56JZ9ZSYhJuhow61lMPPjUzWmChFya71Z/jilVos7mR/jPgaEfVGgMBY5DshbKdG8Ezb8FDCHcoMEMg==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.20.0.tgz", + "integrity": "sha512-qGi0CTcOGP2OtCQBgWZlQjcTuP0XkIpYFj25XtRTQSHC+umNnp7UMshr2G8SLsRFYDdAPFeHOsiteadmMH02Yw==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", + "@babel/code-frame": "7.12.11", "@eslint/eslintrc": "^0.3.0", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -6368,7 +6368,7 @@ "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "espree": "^7.3.1", - "esquery": "^1.2.0", + "esquery": "^1.4.0", "esutils": "^2.0.2", "file-entry-cache": "^6.0.0", "functional-red-black-tree": "^1.0.1", @@ -6395,6 +6395,15 @@ "v8-compile-cache": "^2.0.3" }, "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", @@ -6606,9 +6615,9 @@ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -9408,9 +9417,9 @@ "integrity": "sha512-zCTP6Qd/WwjrpuHFkJuXc5opRdKprUr7eI7+JCCtcetThJt45qptu82MWQ+eET+FtDrMo7+BYjo3iD0XIq1L9Q==" }, "jsrsasign": { - "version": "10.1.8", - "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.1.8.tgz", - "integrity": "sha512-NdMWugkiOXk7dfB8a2PMlnzjf+8mxWgGC9IfWhiYouQa00Qcc4PBrCk4eH+MNB2O/DJ2Cjz1eEzI2usY3BSynQ==" + "version": "10.1.10", + "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.1.10.tgz", + "integrity": "sha512-//Kkza0S/kFbK5fq6eVbwlM36tKes+ak6FfTn8+mFxKlYzN/3bVJDa0ZERGYu78QKWrXPpos+TIC1tTJDNFDRQ==" }, "jszip": { "version": "2.5.0", @@ -10223,9 +10232,9 @@ } }, "mini-css-extract-plugin": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.6.tgz", - "integrity": "sha512-t86rLnySRQgN2+58gAIARTEtnClLNZoC99shNrvQ960V/wB9n50AUKJyqly76/s4fT0zwaLFIDFZAW7aK25pvg==", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.7.tgz", + "integrity": "sha512-NDyOUqdfKVIfWTludTcZ6JDOMsIdWgyTEECYbfvZszPpkMRyQLvukqtLr92tfukPQxVZNCKb8TkOilFBvS5RIw==", "dev": true, "requires": { "loader-utils": "^2.0.0", @@ -13986,9 +13995,9 @@ }, "dependencies": { "ajv": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz", - "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.1.0.tgz", + "integrity": "sha512-svS9uILze/cXbH0z2myCK2Brqprx/+JJYK5pHicT/GQiBfzzhUVAIT6MwqJg8y4xV/zoGsUeuPuwtoiKSGE15g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -14061,9 +14070,9 @@ } }, "terser": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz", - "integrity": "sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.0.tgz", + "integrity": "sha512-vyqLMoqadC1uR0vywqOZzriDYzgEkNJFK4q9GeyOBHIbiECHiWLKcWfbQWAUaPfxkjDhapSlZB9f7fkMrvkVjA==", "requires": { "commander": "^2.20.0", "source-map": "~0.7.2", @@ -14807,9 +14816,9 @@ } }, "webpack": { - "version": "5.21.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.21.2.tgz", - "integrity": "sha512-xHflCenx+AM4uWKX71SWHhxml5aMXdy2tu/vdi4lClm7PADKxlyDAFFN1rEFzNV0MAoPpHtBeJnl/+K6F4QBPg==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.22.0.tgz", + "integrity": "sha512-xqlb6r9RUXda/d9iA6P7YRTP1ChWeP50TEESKMMNIg0u8/Rb66zN9YJJO7oYgJTRyFyYi43NVC5feG45FSO1vQ==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", diff --git a/package.json b/package.json index 7173a047..b63a8ec0 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "colors": "^1.4.0", "copy-webpack-plugin": "^7.0.0", "css-loader": "^5.0.2", - "eslint": "^7.19.0", + "eslint": "^7.20.0", "exports-loader": "^2.0.0", "file-loader": "^6.2.0", "grunt": "^1.3.0", @@ -64,7 +64,7 @@ "grunt-zip": "^0.18.2", "html-webpack-plugin": "^5.1.0", "imports-loader": "^2.0.0", - "mini-css-extract-plugin": "^1.3.6", + "mini-css-extract-plugin": "^1.3.7", "nightwatch": "^1.5.1", "node-sass": "^5.0.0", "postcss": "^8.2.6", @@ -77,7 +77,7 @@ "style-loader": "^2.0.0", "svg-url-loader": "^7.1.1", "url-loader": "^4.1.1", - "webpack": "^5.21.2", + "webpack": "^5.22.0", "webpack-bundle-analyzer": "^4.4.0", "webpack-dev-server": "^3.11.2", "webpack-node-externals": "^2.5.2", @@ -125,7 +125,7 @@ "jsonpath": "^1.1.0", "jsonwebtoken": "^8.5.1", "jsqr": "^1.3.1", - "jsrsasign": "10.1.8", + "jsrsasign": "^10.1.10", "kbpgp": "2.1.15", "libbzip2-wasm": "0.0.4", "libyara-wasm": "^1.1.0", @@ -152,7 +152,7 @@ "split.js": "^1.6.2", "ssdeep.js": "0.0.2", "stream-browserify": "^3.0.0", - "terser": "^5.5.1", + "terser": "^5.6.0", "tesseract.js": "2.1.1", "ua-parser-js": "^0.7.24", "unorm": "^1.6.0", From 3a9bdc58af2f6c7d65d6e1da834f7c88a7162188 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 16 Feb 2021 14:36:31 +0000 Subject: [PATCH 217/754] Fixed 'JSON to CSV' handling of complex structures. Closes #637 --- src/core/operations/JSONToCSV.mjs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/operations/JSONToCSV.mjs b/src/core/operations/JSONToCSV.mjs index 2685c8f8..127f6dbb 100644 --- a/src/core/operations/JSONToCSV.mjs +++ b/src/core/operations/JSONToCSV.mjs @@ -113,11 +113,12 @@ class JSONToCSV extends Operation { */ escapeCellContents(data) { if (typeof data === "number") data = data.toString(); + if (typeof data !== "string") data = JSON.stringify(data); // Double quotes should be doubled up data = data.replace(/"/g, '""'); - // If the cell contains a cell or row delimiter or a double quote, it mut be enclosed in double quotes + // If the cell contains a cell or row delimiter or a double quote, it must be enclosed in double quotes if ( data.indexOf(this.cellDelim) >= 0 || data.indexOf(this.rowDelim) >= 0 || From 61e85474d3f5091e507f60f3b4a3ab12682ac63c Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 16 Feb 2021 14:36:36 +0000 Subject: [PATCH 218/754] 9.27.3 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index e52391ce..73c0d8d2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.27.2", + "version": "9.27.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index b63a8ec0..c36af696 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.27.2", + "version": "9.27.3", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From b69373f5e7f37746805c3c915bae5b4f3100da1a Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 16 Feb 2021 14:48:56 +0000 Subject: [PATCH 219/754] Fixed 'JSON to CSV' data flattening. --- src/core/operations/JSONToCSV.mjs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/core/operations/JSONToCSV.mjs b/src/core/operations/JSONToCSV.mjs index 127f6dbb..7eb3e3b4 100644 --- a/src/core/operations/JSONToCSV.mjs +++ b/src/core/operations/JSONToCSV.mjs @@ -43,15 +43,16 @@ class JSONToCSV extends Operation { /** * Converts JSON to a CSV equivalent. * + * @param {boolean} force - Whether to force conversion of data to fit in a cell * @returns {string} */ - toCSV() { + toCSV(force=false) { const self = this; // If the JSON is an array of arrays, this is easy if (this.flattened[0] instanceof Array) { return this.flattened .map(row => row - .map(self.escapeCellContents.bind(self)) + .map(d => self.escapeCellContents(d, force)) .join(this.cellDelim) ) .join(this.rowDelim) + @@ -61,13 +62,13 @@ class JSONToCSV extends Operation { // If it's an array of dictionaries... const header = Object.keys(this.flattened[0]); return header - .map(self.escapeCellContents.bind(self)) + .map(d => self.escapeCellContents(d, force)) .join(this.cellDelim) + this.rowDelim + this.flattened .map(row => header .map(h => row[h]) - .map(self.escapeCellContents.bind(self)) + .map(d => self.escapeCellContents(d, force)) .join(this.cellDelim) ) .join(this.rowDelim) + @@ -98,7 +99,7 @@ class JSONToCSV extends Operation { if (!(this.flattened instanceof Array)) { this.flattened = [this.flattened]; } - return this.toCSV(); + return this.toCSV(true); } catch (err) { throw new OperationError("Unable to parse JSON to CSV: " + err.toString()); } @@ -109,11 +110,12 @@ class JSONToCSV extends Operation { * Correctly escapes a cell's contents based on the cell and row delimiters. * * @param {string} data + * @param {boolean} force - Whether to force conversion of data to fit in a cell * @returns {string} */ - escapeCellContents(data) { + escapeCellContents(data, force=false) { if (typeof data === "number") data = data.toString(); - if (typeof data !== "string") data = JSON.stringify(data); + if (force && typeof data !== "string") data = JSON.stringify(data); // Double quotes should be doubled up data = data.replace(/"/g, '""'); From 95884d77cf730c3a8142263d8f3a9d8cf5904230 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Wed, 17 Feb 2021 15:01:42 +0000 Subject: [PATCH 220/754] Extractable file formats are now listed properly in the 'Extract Files' description --- src/core/operations/ExtractFiles.mjs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/core/operations/ExtractFiles.mjs b/src/core/operations/ExtractFiles.mjs index a837ad60..fce23a9a 100644 --- a/src/core/operations/ExtractFiles.mjs +++ b/src/core/operations/ExtractFiles.mjs @@ -21,9 +21,24 @@ class ExtractFiles extends Operation { constructor() { super(); + // Get the first extension for each signature that can be extracted + let supportedExts = Object.keys(FILE_SIGNATURES).map(cat => { + return FILE_SIGNATURES[cat] + .filter(sig => sig.extractor) + .map(sig => sig.extension.toUpperCase()); + }); + + // Flatten categories and remove duplicates + supportedExts = [].concat(...supportedExts).unique(); + this.name = "Extract Files"; this.module = "Default"; - this.description = "Performs file carving to attempt to extract files from the input.

This operation is currently capable of carving out the following formats:
  • JPG
  • EXE
  • ZIP
  • PDF
  • PNG
  • BMP
  • FLV
  • RTF
  • DOCX, PPTX, XLSX
  • EPUB
  • GZIP
  • ZLIB
  • ELF, BIN, AXF, O, PRX, SO
"; + this.description = `Performs file carving to attempt to extract files from the input.

This operation is currently capable of carving out the following formats: +
    +
  • + ${supportedExts.join("
  • ")} +
  • +
`; this.infoURL = "https://forensicswiki.xyz/wiki/index.php?title=File_Carving"; this.inputType = "ArrayBuffer"; this.outputType = "List"; From 1e0e7f16a70349134571b787793e58961bd5a3fd Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 22 Feb 2021 19:13:38 +0000 Subject: [PATCH 221/754] Added numeric validation for arguments in Binary and Hex operattions. Fixes #1178 --- src/core/lib/Binary.mjs | 4 ++++ src/core/lib/Hex.mjs | 4 ++++ src/core/lib/PublicKey.mjs | 4 ++-- src/core/operations/FromBinary.mjs | 3 ++- src/core/operations/ToHexdump.mjs | 7 ++++++- 5 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/core/lib/Binary.mjs b/src/core/lib/Binary.mjs index d28691e5..dc63fc58 100644 --- a/src/core/lib/Binary.mjs +++ b/src/core/lib/Binary.mjs @@ -7,6 +7,7 @@ */ import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** @@ -58,6 +59,9 @@ export function toBinary(data, delim="Space", padding=8) { * fromBinary("00010000:00100000:00110000", "Colon"); */ export function fromBinary(data, delim="Space", byteLen=8) { + if (byteLen < 1 || Math.round(byteLen) !== byteLen) + throw new OperationError("Byte length must be a positive integer"); + const delimRegex = Utils.regexRep(delim); data = data.replace(delimRegex, ""); diff --git a/src/core/lib/Hex.mjs b/src/core/lib/Hex.mjs index 9c70e91c..b7e8e908 100644 --- a/src/core/lib/Hex.mjs +++ b/src/core/lib/Hex.mjs @@ -7,6 +7,7 @@ */ import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** @@ -100,6 +101,9 @@ export function toHexFast(data) { * fromHex("0a:14:1e", "Colon"); */ export function fromHex(data, delim="Auto", byteLen=2) { + if (byteLen < 1 || Math.round(byteLen) !== byteLen) + throw new OperationError("Byte length must be a positive integer"); + if (delim !== "None") { const delimRegex = delim === "Auto" ? /[^a-f\d]|(0x)/gi : Utils.regexRep(delim); data = data.replace(delimRegex, ""); diff --git a/src/core/lib/PublicKey.mjs b/src/core/lib/PublicKey.mjs index 9ec990fe..8c04cdd9 100644 --- a/src/core/lib/PublicKey.mjs +++ b/src/core/lib/PublicKey.mjs @@ -15,7 +15,7 @@ import { toHex, fromHex } from "./Hex.mjs"; * @param {number} indent * @returns {string} */ -export function formatDnStr (dnStr, indent) { +export function formatDnStr(dnStr, indent) { const fields = dnStr.substr(1).replace(/([^\\])\//g, "$1$1/").split(/[^\\]\//); let output = "", maxKeyLen = 0, @@ -54,7 +54,7 @@ export function formatDnStr (dnStr, indent) { * @param {number} indent * @returns {string} */ -export function formatByteStr (byteStr, length, indent) { +export function formatByteStr(byteStr, length, indent) { byteStr = toHex(fromHex(byteStr), ":"); length = length * 3; let output = ""; diff --git a/src/core/operations/FromBinary.mjs b/src/core/operations/FromBinary.mjs index 0bb7a45c..9a51fc8b 100644 --- a/src/core/operations/FromBinary.mjs +++ b/src/core/operations/FromBinary.mjs @@ -35,7 +35,8 @@ class FromBinary extends Operation { { "name": "Byte Length", "type": "number", - "value": 8 + "value": 8, + "min": 1 } ]; this.checks = [ diff --git a/src/core/operations/ToHexdump.mjs b/src/core/operations/ToHexdump.mjs index ed212ce4..c657adeb 100644 --- a/src/core/operations/ToHexdump.mjs +++ b/src/core/operations/ToHexdump.mjs @@ -6,6 +6,7 @@ import Operation from "../Operation.mjs"; import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * To Hexdump operation @@ -28,7 +29,8 @@ class ToHexdump extends Operation { { "name": "Width", "type": "number", - "value": 16 + "value": 16, + "min": 1 }, { "name": "Upper case hex", @@ -58,6 +60,9 @@ class ToHexdump extends Operation { const [length, upperCase, includeFinalLength, unixFormat] = args; const padding = 2; + if (length < 1 || Math.round(length) !== length) + throw new OperationError("Width must be a positive integer"); + let output = ""; for (let i = 0; i < data.length; i += length) { const buff = data.slice(i, i+length); From 32455cd20f7f6ec79cb887c01f932d54c8789320 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 22 Feb 2021 19:13:47 +0000 Subject: [PATCH 222/754] 9.27.4 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 73c0d8d2..36283ffb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.27.3", + "version": "9.27.4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index c36af696..dc7342b2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.27.3", + "version": "9.27.4", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 8fadad58917546d55cbd242fa7dc5883c7f3c93f Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 22 Feb 2021 19:33:52 +0000 Subject: [PATCH 223/754] AES Additional data can now be entered in a range of formats. #1011 --- src/core/operations/AESDecrypt.mjs | 7 +- src/core/operations/AESEncrypt.mjs | 7 +- tests/operations/tests/Crypt.mjs | 132 ++++++++++++++++++++-------- tests/operations/tests/Register.mjs | 5 +- 4 files changed, 105 insertions(+), 46 deletions(-) diff --git a/src/core/operations/AESDecrypt.mjs b/src/core/operations/AESDecrypt.mjs index e69a3348..1276d139 100644 --- a/src/core/operations/AESDecrypt.mjs +++ b/src/core/operations/AESDecrypt.mjs @@ -87,8 +87,9 @@ class AESDecrypt extends Operation { }, { "name": "Additional Authenticated Data", - "type": "binaryString", - "value": "" + "type": "toggleString", + "value": "", + "toggleValues": ["Hex", "UTF8", "Latin1", "Base64"] } ]; } @@ -107,7 +108,7 @@ class AESDecrypt extends Operation { inputType = args[3], outputType = args[4], gcmTag = Utils.convertToByteString(args[5].string, args[5].option), - aad = args[6]; + aad = Utils.convertToByteString(args[6].string, args[6].option); if ([16, 24, 32].indexOf(key.length) < 0) { throw new OperationError(`Invalid key length: ${key.length} bytes diff --git a/src/core/operations/AESEncrypt.mjs b/src/core/operations/AESEncrypt.mjs index 20405694..7b52ff03 100644 --- a/src/core/operations/AESEncrypt.mjs +++ b/src/core/operations/AESEncrypt.mjs @@ -81,8 +81,9 @@ class AESEncrypt extends Operation { }, { "name": "Additional Authenticated Data", - "type": "binaryString", - "value": "" + "type": "toggleString", + "value": "", + "toggleValues": ["Hex", "UTF8", "Latin1", "Base64"] } ]; } @@ -100,7 +101,7 @@ class AESEncrypt extends Operation { mode = args[2], inputType = args[3], outputType = args[4], - aad = args[5]; + aad = Utils.convertToByteString(args[5].string, args[5].option); if ([16, 24, 32].indexOf(key.length) < 0) { throw new OperationError(`Invalid key length: ${key.length} bytes diff --git a/tests/operations/tests/Crypt.mjs b/tests/operations/tests/Crypt.mjs index a180c901..0c424050 100644 --- a/tests/operations/tests/Crypt.mjs +++ b/tests/operations/tests/Crypt.mjs @@ -73,7 +73,8 @@ The following algorithms will be used based on the size of the key: "args": [ {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""}, - "CBC", "Raw", "Hex" + "CBC", "Raw", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -88,7 +89,8 @@ The following algorithms will be used based on the size of the key: "args": [ {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, {"option": "Hex", "string": "00000000000000000000000000000000"}, - "CBC", "Raw", "Hex" + "CBC", "Raw", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -103,7 +105,8 @@ The following algorithms will be used based on the size of the key: "args": [ {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, {"option": "Hex", "string": "00000000000000000000000000000000"}, - "CTR", "Raw", "Hex" + "CTR", "Raw", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -118,7 +121,8 @@ The following algorithms will be used based on the size of the key: "args": [ {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, - "CBC", "Raw", "Hex" + "CBC", "Raw", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -133,7 +137,8 @@ The following algorithms will be used based on the size of the key: "args": [ {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, - "CFB", "Raw", "Hex" + "CFB", "Raw", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -148,7 +153,8 @@ The following algorithms will be used based on the size of the key: "args": [ {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, - "OFB", "Raw", "Hex" + "OFB", "Raw", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -163,7 +169,8 @@ The following algorithms will be used based on the size of the key: "args": [ {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, - "CTR", "Raw", "Hex" + "CTR", "Raw", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -178,7 +185,8 @@ The following algorithms will be used based on the size of the key: "args": [ {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, {"option": "Hex", "string": ""}, - "ECB", "Raw", "Hex" + "ECB", "Raw", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -195,7 +203,8 @@ Tag: 16a3e732a605cc9ca29108f742ca0743`, "args": [ {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, {"option": "Hex", "string": ""}, - "GCM", "Raw", "Hex", "" + "GCM", "Raw", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -212,7 +221,8 @@ Tag: 3b5378917f67b0aade9891fc6c291646`, "args": [ {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, {"option": "Hex", "string": "ffeeddccbbaa99887766554433221100"}, - "GCM", "Raw", "Hex", "additional data" + "GCM", "Raw", "Hex", + {"option": "UTF8", "string": "additional data"} ] } ], @@ -227,7 +237,8 @@ Tag: 3b5378917f67b0aade9891fc6c291646`, "args": [ {"option": "Hex", "string": "51e201d463698ef5f717f71f5b4712af"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, - "CBC", "Hex", "Hex" + "CBC", "Hex", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -242,7 +253,8 @@ Tag: 3b5378917f67b0aade9891fc6c291646`, "args": [ {"option": "Hex", "string": "51e201d463698ef5f717f71f5b4712af"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, - "CFB", "Hex", "Hex" + "CFB", "Hex", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -257,7 +269,8 @@ Tag: 3b5378917f67b0aade9891fc6c291646`, "args": [ {"option": "Hex", "string": "51e201d463698ef5f717f71f5b4712af"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, - "OFB", "Hex", "Hex" + "OFB", "Hex", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -272,7 +285,8 @@ Tag: 3b5378917f67b0aade9891fc6c291646`, "args": [ {"option": "Hex", "string": "51e201d463698ef5f717f71f5b4712af"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, - "CTR", "Hex", "Hex" + "CTR", "Hex", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -289,7 +303,8 @@ Tag: 70fad2ca19412c20f40fd06918736e56`, "args": [ {"option": "Hex", "string": "51e201d463698ef5f717f71f5b4712af"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, - "GCM", "Hex", "Hex", "" + "GCM", "Hex", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -306,7 +321,8 @@ Tag: 61cc4b70809452b0b3e38f913fa0a109`, "args": [ {"option": "Hex", "string": "51e201d463698ef5f717f71f5b4712af"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, - "GCM", "Hex", "Hex", "additional data" + "GCM", "Hex", "Hex", + {"option": "UTF8", "string": "additional data"} ] } ], @@ -321,7 +337,8 @@ Tag: 61cc4b70809452b0b3e38f913fa0a109`, "args": [ {"option": "Hex", "string": "51e201d463698ef5f717f71f5b4712af"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, - "ECB", "Hex", "Hex" + "ECB", "Hex", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -336,7 +353,8 @@ Tag: 61cc4b70809452b0b3e38f913fa0a109`, "args": [ {"option": "Hex", "string": "6801ed503c9d96ee5f9d78b07ab1b295dba3c2adf81c7816"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, - "CBC", "Hex", "Hex" + "CBC", "Hex", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -351,7 +369,8 @@ Tag: 61cc4b70809452b0b3e38f913fa0a109`, "args": [ {"option": "Hex", "string": "6801ed503c9d96ee5f9d78b07ab1b295dba3c2adf81c7816"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, - "CFB", "Hex", "Hex" + "CFB", "Hex", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -366,7 +385,8 @@ Tag: 61cc4b70809452b0b3e38f913fa0a109`, "args": [ {"option": "Hex", "string": "6801ed503c9d96ee5f9d78b07ab1b295dba3c2adf81c7816"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, - "OFB", "Hex", "Hex" + "OFB", "Hex", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -381,7 +401,8 @@ Tag: 61cc4b70809452b0b3e38f913fa0a109`, "args": [ {"option": "Hex", "string": "6801ed503c9d96ee5f9d78b07ab1b295dba3c2adf81c7816"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, - "CTR", "Hex", "Hex" + "CTR", "Hex", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -398,7 +419,8 @@ Tag: 86db597d5302595223cadbd990f1309b`, "args": [ {"option": "Hex", "string": "6801ed503c9d96ee5f9d78b07ab1b295dba3c2adf81c7816"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, - "GCM", "Hex", "Hex", "" + "GCM", "Hex", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -415,7 +437,8 @@ Tag: aeedf3e6ca4201577c0cf3e9ce58159d`, "args": [ {"option": "Hex", "string": "6801ed503c9d96ee5f9d78b07ab1b295dba3c2adf81c7816"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, - "GCM", "Hex", "Hex", "additional data" + "GCM", "Hex", "Hex", + {"option": "UTF8", "string": "additional data"} ] } ], @@ -430,7 +453,8 @@ Tag: aeedf3e6ca4201577c0cf3e9ce58159d`, "args": [ {"option": "Hex", "string": "6801ed503c9d96ee5f9d78b07ab1b295dba3c2adf81c7816"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, - "ECB", "Hex", "Hex" + "ECB", "Hex", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -445,7 +469,8 @@ Tag: aeedf3e6ca4201577c0cf3e9ce58159d`, "args": [ {"option": "Hex", "string": "2d767f6e9333d1c77581946e160b2b7368c2cdd5e2b80f04ca09d64e02afbfe1"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, - "CBC", "Hex", "Hex" + "CBC", "Hex", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -460,7 +485,8 @@ Tag: aeedf3e6ca4201577c0cf3e9ce58159d`, "args": [ {"option": "Hex", "string": "2d767f6e9333d1c77581946e160b2b7368c2cdd5e2b80f04ca09d64e02afbfe1"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, - "CFB", "Hex", "Hex" + "CFB", "Hex", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -475,7 +501,8 @@ Tag: aeedf3e6ca4201577c0cf3e9ce58159d`, "args": [ {"option": "Hex", "string": "2d767f6e9333d1c77581946e160b2b7368c2cdd5e2b80f04ca09d64e02afbfe1"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, - "OFB", "Hex", "Hex" + "OFB", "Hex", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -490,7 +517,8 @@ Tag: aeedf3e6ca4201577c0cf3e9ce58159d`, "args": [ {"option": "Hex", "string": "2d767f6e9333d1c77581946e160b2b7368c2cdd5e2b80f04ca09d64e02afbfe1"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, - "CTR", "Hex", "Hex" + "CTR", "Hex", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -507,7 +535,8 @@ Tag: 821b1e5f32dad052e502775a523d957a`, "args": [ {"option": "Hex", "string": "2d767f6e9333d1c77581946e160b2b7368c2cdd5e2b80f04ca09d64e02afbfe1"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, - "GCM", "Hex", "Hex", "" + "GCM", "Hex", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -524,7 +553,8 @@ Tag: a8f04c4d93bbef82bef61a103371aef9`, "args": [ {"option": "Hex", "string": "2d767f6e9333d1c77581946e160b2b7368c2cdd5e2b80f04ca09d64e02afbfe1"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, - "GCM", "Hex", "Hex", "additional data" + "GCM", "Hex", "Hex", + {"option": "UTF8", "string": "additional data"} ] } ], @@ -539,7 +569,8 @@ Tag: a8f04c4d93bbef82bef61a103371aef9`, "args": [ {"option": "Hex", "string": "2d767f6e9333d1c77581946e160b2b7368c2cdd5e2b80f04ca09d64e02afbfe1"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, - "ECB", "Hex", "Hex" + "ECB", "Hex", "Hex", + {"option": "Hex", "string": ""} ] } ], @@ -748,6 +779,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""}, "CBC", "Hex", "Raw", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -764,6 +796,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, {"option": "Hex", "string": "00000000000000000000000000000000"}, "CBC", "Hex", "Raw", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -780,6 +813,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, {"option": "Hex", "string": "00000000000000000000000000000000"}, "CTR", "Hex", "Raw", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -796,6 +830,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, "CBC", "Hex", "Raw", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -812,6 +847,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, "CFB", "Hex", "Raw", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -828,6 +864,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, "OFB", "Hex", "Raw", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -844,6 +881,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, "CTR", "Hex", "Raw", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -860,6 +898,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, {"option": "Hex", "string": ""}, "ECB", "Hex", "Raw", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -877,7 +916,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": ""}, "GCM", "Hex", "Raw", {"option": "Hex", "string": "16a3e732a605cc9ca29108f742ca0743"}, - "" + {"option": "Hex", "string": ""} ] } ], @@ -894,7 +933,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "ffeeddccbbaa99887766554433221100"}, "GCM", "Hex", "Raw", {"option": "Hex", "string": "3b5378917f67b0aade9891fc6c291646"}, - "additional data" + {"option": "UTF8", "string": "additional data"} ] } ], @@ -910,6 +949,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "51e201d463698ef5f717f71f5b4712af"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "CBC", "Hex", "Hex", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -926,6 +966,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "51e201d463698ef5f717f71f5b4712af"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "CFB", "Hex", "Hex", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -942,6 +983,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "51e201d463698ef5f717f71f5b4712af"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "OFB", "Hex", "Hex", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -958,6 +1000,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "51e201d463698ef5f717f71f5b4712af"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "CTR", "Hex", "Hex", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -975,7 +1018,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "GCM", "Hex", "Hex", {"option": "Hex", "string": "70fad2ca19412c20f40fd06918736e56"}, - "" + {"option": "Hex", "string": ""} ] } ], @@ -992,7 +1035,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "GCM", "Hex", "Hex", {"option": "Hex", "string": "61cc4b70809452b0b3e38f913fa0a109"}, - "additional data" + {"option": "UTF8", "string": "additional data"} ] } ], @@ -1008,6 +1051,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "51e201d463698ef5f717f71f5b4712af"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "ECB", "Hex", "Hex", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -1024,6 +1068,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "6801ed503c9d96ee5f9d78b07ab1b295dba3c2adf81c7816"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "CBC", "Hex", "Hex", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -1040,6 +1085,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "6801ed503c9d96ee5f9d78b07ab1b295dba3c2adf81c7816"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "CFB", "Hex", "Hex", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -1056,6 +1102,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "6801ed503c9d96ee5f9d78b07ab1b295dba3c2adf81c7816"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "OFB", "Hex", "Hex", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -1072,6 +1119,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "6801ed503c9d96ee5f9d78b07ab1b295dba3c2adf81c7816"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "CTR", "Hex", "Hex", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -1089,7 +1137,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "GCM", "Hex", "Hex", {"option": "Hex", "string": "86db597d5302595223cadbd990f1309b"}, - "" + {"option": "Hex", "string": ""} ] } ], @@ -1106,7 +1154,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "GCM", "Hex", "Hex", {"option": "Hex", "string": "aeedf3e6ca4201577c0cf3e9ce58159d"}, - "additional data" + {"option": "UTF8", "string": "additional data"} ] } ], @@ -1122,6 +1170,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "6801ed503c9d96ee5f9d78b07ab1b295dba3c2adf81c7816"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "ECB", "Hex", "Hex", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -1138,6 +1187,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "2d767f6e9333d1c77581946e160b2b7368c2cdd5e2b80f04ca09d64e02afbfe1"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "CBC", "Hex", "Hex", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -1154,6 +1204,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "2d767f6e9333d1c77581946e160b2b7368c2cdd5e2b80f04ca09d64e02afbfe1"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "CFB", "Hex", "Hex", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -1170,6 +1221,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "2d767f6e9333d1c77581946e160b2b7368c2cdd5e2b80f04ca09d64e02afbfe1"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "OFB", "Hex", "Hex", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -1186,6 +1238,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "2d767f6e9333d1c77581946e160b2b7368c2cdd5e2b80f04ca09d64e02afbfe1"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "CTR", "Hex", "Hex", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } @@ -1203,7 +1256,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "GCM", "Hex", "Hex", {"option": "Hex", "string": "821b1e5f32dad052e502775a523d957a"}, - "" + {"option": "Hex", "string": ""} ] } ], @@ -1220,7 +1273,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "GCM", "Hex", "Hex", {"option": "Hex", "string": "a8f04c4d93bbef82bef61a103371aef9"}, - "additional data" + {"option": "UTF8", "string": "additional data"} ] } ], @@ -1236,6 +1289,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "2d767f6e9333d1c77581946e160b2b7368c2cdd5e2b80f04ca09d64e02afbfe1"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "ECB", "Hex", "Hex", + {"option": "Hex", "string": ""}, {"option": "Hex", "string": ""} ] } diff --git a/tests/operations/tests/Register.mjs b/tests/operations/tests/Register.mjs index 6c55d1c6..3ef7ef94 100644 --- a/tests/operations/tests/Register.mjs +++ b/tests/operations/tests/Register.mjs @@ -64,7 +64,10 @@ TestRegister.addTests([ "option": "Hex", "string": "" }, - "" + { + "option": "Hex", + "string": "" + } ] } ] From 0e2423c3903d651835cb12578704b41dbe22bd37 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 22 Feb 2021 19:33:56 +0000 Subject: [PATCH 224/754] 9.27.5 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 36283ffb..3159cc0a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.27.4", + "version": "9.27.5", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index dc7342b2..ea6807de 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.27.4", + "version": "9.27.5", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 2bbe54cdcd1dc3b883f821997f33d70653c6ec35 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 23 Feb 2021 15:11:16 +0000 Subject: [PATCH 225/754] Added further deconstruction of IPv6 Multicast Addresses in the 'Parse IPv6 Address' operation --- src/core/operations/ParseIPv6Address.mjs | 83 ++++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/src/core/operations/ParseIPv6Address.mjs b/src/core/operations/ParseIPv6Address.mjs index d3480e32..f2141e01 100644 --- a/src/core/operations/ParseIPv6Address.mjs +++ b/src/core/operations/ParseIPv6Address.mjs @@ -165,6 +165,89 @@ class ParseIPv6Address extends Operation { // Multicast output += "\nThis is a reserved multicast address."; output += "\nMulticast addresses range: ff00::/8"; + + switch (ipv6[0]) { + case 0xff01: + output += "\n\nReserved Multicast Block for Interface Local Scope"; + break; + case 0xff02: + output += "\n\nReserved Multicast Block for Link Local Scope"; + break; + case 0xff03: + output += "\n\nReserved Multicast Block for Realm Local Scope"; + break; + case 0xff04: + output += "\n\nReserved Multicast Block for Admin Local Scope"; + break; + case 0xff05: + output += "\n\nReserved Multicast Block for Site Local Scope"; + break; + case 0xff08: + output += "\n\nReserved Multicast Block for Organisation Local Scope"; + break; + case 0xff0e: + output += "\n\nReserved Multicast Block for Global Scope"; + break; + } + + if (ipv6[6] === 1) { + if (ipv6[7] === 2) { + output += "\nReserved Multicast Address for 'All DHCP Servers and Relay Agents (defined in RFC3315)'"; + } else if (ipv6[7] === 3) { + output += "\nReserved Multicast Address for 'All LLMNR Hosts (defined in RFC4795)'"; + } + } else { + switch (ipv6[7]) { + case 1: + output += "\nReserved Multicast Address for 'All nodes'"; + break; + case 2: + output += "\nReserved Multicast Address for 'All routers'"; + break; + case 5: + output += "\nReserved Multicast Address for 'OSPFv3 - All OSPF routers'"; + break; + case 6: + output += "\nReserved Multicast Address for 'OSPFv3 - All Designated Routers'"; + break; + case 8: + output += "\nReserved Multicast Address for 'IS-IS for IPv6 Routers'"; + break; + case 9: + output += "\nReserved Multicast Address for 'RIP Routers'"; + break; + case 0xa: + output += "\nReserved Multicast Address for 'EIGRP Routers'"; + break; + case 0xc: + output += "\nReserved Multicast Address for 'Simple Service Discovery Protocol'"; + break; + case 0xd: + output += "\nReserved Multicast Address for 'PIM Routers'"; + break; + case 0x16: + output += "\nReserved Multicast Address for 'MLDv2 Reports (defined in RFC3810)'"; + break; + case 0x6b: + output += "\nReserved Multicast Address for 'Precision Time Protocol v2 Peer Delay Measurement Messages'"; + break; + case 0xfb: + output += "\nReserved Multicast Address for 'Multicast DNS'"; + break; + case 0x101: + output += "\nReserved Multicast Address for 'Network Time Protocol'"; + break; + case 0x108: + output += "\nReserved Multicast Address for 'Network Information Service'"; + break; + case 0x114: + output += "\nReserved Multicast Address for 'Experiments'"; + break; + case 0x181: + output += "\nReserved Multicast Address for 'Precision Time Protocol v2 Messages (exc. Peer Delay)'"; + break; + } + } } From e57d5a7e75cb81739f86160fde13b399cd6dc5b0 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 23 Feb 2021 15:11:22 +0000 Subject: [PATCH 226/754] 9.27.6 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3159cc0a..f5f6137f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.27.5", + "version": "9.27.6", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index ea6807de..ddefbc7a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.27.5", + "version": "9.27.6", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 50293565140f3c0bd461404d5abb6e79db185bbe Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 5 Mar 2021 10:50:38 +0000 Subject: [PATCH 227/754] Added link to FAQ description about output handling --- src/web/html/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/web/html/index.html b/src/web/html/index.html index efdd8046..ce8bdfed 100755 --- a/src/web/html/index.html +++ b/src/web/html/index.html @@ -686,7 +686,7 @@

Yes! Just drag your file over the input box and drop it.

CyberChef can handle files up to around 2GB (depending on your browser), however some of the operations may take a very long time to run over this much data.

-

If the output is larger than a certain threshold (default 1MiB), it will be presented to you as a file available for download. Slices of the file can be viewed in the output if you need to inspect them.

+

If the output is larger than a certain threshold (default 1MiB), it will be presented to you as a file available for download. Slices of the file can be viewed in the output if you need to inspect them.


From 6155634d3b9e8c5044a5415540c073211a0df642 Mon Sep 17 00:00:00 2001 From: swesven <81263441+swesven@users.noreply.github.com> Date: Wed, 24 Mar 2021 00:58:54 +0100 Subject: [PATCH 228/754] Add the SM4 block cipher, also a no-padding option for block ciphers. This adds an implementation of the SM4 block cipher, and operations to encrypt and decrypt using it with CBC,ECB,CFB,OFB,CTR modes. Also, a "no padding" option is added for AES,DES,3DES and SM4 decryption in ECB/CBC modes. This variant does not attempt to validate the last block as being PKCS#7 padded. This is useful, both since other padding schemes exist, and also for decrypting data where the final block is missing. --- src/core/config/Categories.json | 2 + src/core/lib/SM4.mjs | 329 +++++++++++++++++++++++ src/core/operations/AESDecrypt.mjs | 18 +- src/core/operations/DESDecrypt.mjs | 13 +- src/core/operations/SM4Decrypt.mjs | 88 ++++++ src/core/operations/SM4Encrypt.mjs | 88 ++++++ src/core/operations/TripleDESDecrypt.mjs | 10 +- tests/operations/index.mjs | 1 + tests/operations/tests/SM4.mjs | 279 +++++++++++++++++++ 9 files changed, 821 insertions(+), 7 deletions(-) create mode 100644 src/core/lib/SM4.mjs create mode 100644 src/core/operations/SM4Decrypt.mjs create mode 100644 src/core/operations/SM4Encrypt.mjs create mode 100644 tests/operations/tests/SM4.mjs diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 3a5eb0d5..069063b0 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -83,6 +83,8 @@ "ROT47", "XOR", "XOR Brute Force", + "SM4 Encrypt", + "SM4 Decrypt", "Vigenère Encode", "Vigenère Decode", "To Morse Code", diff --git a/src/core/lib/SM4.mjs b/src/core/lib/SM4.mjs new file mode 100644 index 00000000..36648348 --- /dev/null +++ b/src/core/lib/SM4.mjs @@ -0,0 +1,329 @@ +/** + * Complete implementation of SM4 cipher encryption/decryption with + * ECB, CBC, CFB, OFB, CTR block modes. + * These modes are specified in IETF draft-ribose-cfrg-sm4-09, see: + * https://tools.ietf.org/id/draft-ribose-cfrg-sm4-09.html + * for details. + * + * Follows spec from Cryptography Standardization Technical Comittee: + * http://www.gmbz.org.cn/upload/2018-04-04/1522788048733065051.pdf + * + * @author swesven + * @copyright 2021 + * @license Apache-2.0 + */ + +import OperationError from "../errors/OperationError.mjs"; + +/** Number of rounds */ +const NROUNDS = 32; + +/** block size in bytes */ +const BLOCKSIZE = 16; + +/** The S box, 256 8-bit values */ +const Sbox = [ + 0xd6, 0x90, 0xe9, 0xfe, 0xcc, 0xe1, 0x3d, 0xb7, 0x16, 0xb6, 0x14, 0xc2, 0x28, 0xfb, 0x2c, 0x05, + 0x2b, 0x67, 0x9a, 0x76, 0x2a, 0xbe, 0x04, 0xc3, 0xaa, 0x44, 0x13, 0x26, 0x49, 0x86, 0x06, 0x99, + 0x9c, 0x42, 0x50, 0xf4, 0x91, 0xef, 0x98, 0x7a, 0x33, 0x54, 0x0b, 0x43, 0xed, 0xcf, 0xac, 0x62, + 0xe4, 0xb3, 0x1c, 0xa9, 0xc9, 0x08, 0xe8, 0x95, 0x80, 0xdf, 0x94, 0xfa, 0x75, 0x8f, 0x3f, 0xa6, + 0x47, 0x07, 0xa7, 0xfc, 0xf3, 0x73, 0x17, 0xba, 0x83, 0x59, 0x3c, 0x19, 0xe6, 0x85, 0x4f, 0xa8, + 0x68, 0x6b, 0x81, 0xb2, 0x71, 0x64, 0xda, 0x8b, 0xf8, 0xeb, 0x0f, 0x4b, 0x70, 0x56, 0x9d, 0x35, + 0x1e, 0x24, 0x0e, 0x5e, 0x63, 0x58, 0xd1, 0xa2, 0x25, 0x22, 0x7c, 0x3b, 0x01, 0x21, 0x78, 0x87, + 0xd4, 0x00, 0x46, 0x57, 0x9f, 0xd3, 0x27, 0x52, 0x4c, 0x36, 0x02, 0xe7, 0xa0, 0xc4, 0xc8, 0x9e, + 0xea, 0xbf, 0x8a, 0xd2, 0x40, 0xc7, 0x38, 0xb5, 0xa3, 0xf7, 0xf2, 0xce, 0xf9, 0x61, 0x15, 0xa1, + 0xe0, 0xae, 0x5d, 0xa4, 0x9b, 0x34, 0x1a, 0x55, 0xad, 0x93, 0x32, 0x30, 0xf5, 0x8c, 0xb1, 0xe3, + 0x1d, 0xf6, 0xe2, 0x2e, 0x82, 0x66, 0xca, 0x60, 0xc0, 0x29, 0x23, 0xab, 0x0d, 0x53, 0x4e, 0x6f, + 0xd5, 0xdb, 0x37, 0x45, 0xde, 0xfd, 0x8e, 0x2f, 0x03, 0xff, 0x6a, 0x72, 0x6d, 0x6c, 0x5b, 0x51, + 0x8d, 0x1b, 0xaf, 0x92, 0xbb, 0xdd, 0xbc, 0x7f, 0x11, 0xd9, 0x5c, 0x41, 0x1f, 0x10, 0x5a, 0xd8, + 0x0a, 0xc1, 0x31, 0x88, 0xa5, 0xcd, 0x7b, 0xbd, 0x2d, 0x74, 0xd0, 0x12, 0xb8, 0xe5, 0xb4, 0xb0, + 0x89, 0x69, 0x97, 0x4a, 0x0c, 0x96, 0x77, 0x7e, 0x65, 0xb9, 0xf1, 0x09, 0xc5, 0x6e, 0xc6, 0x84, + 0x18, 0xf0, 0x7d, 0xec, 0x3a, 0xdc, 0x4d, 0x20, 0x79, 0xee, 0x5f, 0x3e, 0xd7, 0xcb, 0x39, 0x48]; + +/** "Fixed parameter CK" used in key expansion */ +const CK = [ + 0x00070e15, 0x1c232a31, 0x383f464d, 0x545b6269, + 0x70777e85, 0x8c939aa1, 0xa8afb6bd, 0xc4cbd2d9, + 0xe0e7eef5, 0xfc030a11, 0x181f262d, 0x343b4249, + 0x50575e65, 0x6c737a81, 0x888f969d, 0xa4abb2b9, + 0xc0c7ced5, 0xdce3eaf1, 0xf8ff060d, 0x141b2229, + 0x30373e45, 0x4c535a61, 0x686f767d, 0x848b9299, + 0xa0a7aeb5, 0xbcc3cad1, 0xd8dfe6ed, 0xf4fb0209, + 0x10171e25, 0x2c333a41, 0x484f565d, 0x646b7279 +]; + +/** "System parameter FK" */ +const FK = [0xa3b1bac6, 0x56aa3350, 0x677d9197, 0xb27022dc]; + +/** + * Rotating 32-bit shift left + * + * (Note that although JS integers are stored in doubles and thus have 53 bits, + * the JS bitwise operations are 32-bit) + */ +function ROL(i, n) { + return (i << n) | (i >>> (32 - n)); +} + +/** + * Linear transformation L + * + * @param {integer} b - a 32 bit integer + */ +function transformL(b) { + /* Replace each of the 4 bytes in b with the value at its offset in the Sbox */ + b = (Sbox[(b >>> 24) & 0xFF] << 24) | (Sbox[(b >>> 16) & 0xFF] << 16) | + (Sbox[(b >>> 8) & 0xFF] << 8) | Sbox[b & 0xFF]; + /* circular rotate and xor */ + return b ^ ROL(b, 2) ^ ROL(b, 10) ^ ROL(b, 18) ^ ROL(b, 24); +} + +/** + * Linear transformation L' + * + * @param {integer} b - a 32 bit integer + */ +function transformLprime(b) { + /* Replace each of the 4 bytes in b with the value at its offset in the Sbox */ + b = (Sbox[(b >>> 24) & 0xFF] << 24) | (Sbox[(b >>> 16) & 0xFF] << 16) | + (Sbox[(b >>> 8) & 0xFF] << 8) | Sbox[b & 0xFF]; + return b ^ ROL(b, 13) ^ ROL(b, 23); /* circular rotate and XOR */ +} + +/** + * Initialize the round key + */ +function initSM4RoundKey(rawkey) { + const K = rawkey.map((a, i) => a ^ FK[i]); /* K = rawkey ^ FK */ + const roundKey = []; + for (let i = 0; i < 32; i++) + roundKey[i] = K[i + 4] = K[i] ^ transformLprime(K[i + 1] ^ K[i + 2] ^ K[i + 3] ^ CK[i]); + return roundKey; +} + +/** + * Encrypts/decrypts a single block X (4 32-bit values) with a prepared round key. + * + * @param {intArray} X - A cleartext block. + * @param {intArray} roundKey - The round key from initSMRoundKey for encrypting (reversed for decrypting). + * @returns {byteArray} - The cipher text. + */ +function encryptBlockSM4(X, roundKey) { + for (let i = 0; i < NROUNDS; i++) + X[i + 4] = X[i] ^ transformL(X[i + 1] ^ X[i + 2] ^ X[i + 3] ^ roundKey[i]); + return [X[35], X[34], X[33], X[32]]; +} + +/** + * Takes 16 bytes from an offset in an array and returns an array of 4 32-bit Big-Endian values. + * (DataView won't work portably here as we need Big-Endian) + * + * @param {byteArray} bArray - the array of bytes + * @param {integer} offset - starting offset in the array; 15 bytes must follow it. + */ +function bytesToInts(bArray, offs=0) { + let offset = offs; + const A = (bArray[offset] << 24) | (bArray[offset + 1] << 16) | (bArray[offset + 2] << 8) | bArray[offset + 3]; + offset += 4; + const B = (bArray[offset] << 24) | (bArray[offset + 1] << 16) | (bArray[offset + 2] << 8) | bArray[offset + 3]; + offset += 4; + const C = (bArray[offset] << 24) | (bArray[offset + 1] << 16) | (bArray[offset + 2] << 8) | bArray[offset + 3]; + offset += 4; + const D = (bArray[offset] << 24) | (bArray[offset + 1] << 16) | (bArray[offset + 2] << 8) | bArray[offset + 3]; + return [A, B, C, D]; +} + +/** + * Inverse of bytesToInts above; takes an array of 32-bit integers and turns it into an array of bytes. + * Again, Big-Endian order. + */ +function intsToBytes(ints) { + const bArr = []; + for (let i = 0; i < ints.length; i++) { + bArr.push((ints[i] >> 24) & 0xFF); + bArr.push((ints[i] >> 16) & 0xFF); + bArr.push((ints[i] >> 8) & 0xFF); + bArr.push(ints[i] & 0xFF); + } + return bArr; +} + +/** + * Encrypt using SM4 using a given block cipher mode. + * + * @param {byteArray} message - The clear text message; any length under 32 Gb or so. + * @param {byteArray} key - The cipher key, 16 bytes. + * @param {byteArray} iv - The IV or nonce, 16 bytes (not used with ECB mode) + * @param {string} mode - The block cipher mode "CBC", "ECB", "CFB", "OFB", "CTR". + * @param {boolean} noPadding - Don't add PKCS#7 padding if set. + * @returns {byteArray} - The cipher text. + */ +export function encryptSM4(message, key, iv, mode="ECB", noPadding=false) { + const messageLength = message.length; + if (messageLength === 0) + return []; + const roundKey = initSM4RoundKey(bytesToInts(key, 0)); + + /* Pad with PKCS#7 if requested for ECB/CBC else add zeroes (which are sliced off at the end) */ + let padByte = 0; + let nPadding = 16 - (message.length & 0xF); + if (mode === "ECB" || mode === "CBC") { + if (noPadding) { + if (nPadding !== 16) + throw new OperationError("No padding requested in "+mode+" mode but input is not a 16-byte multiple."); + nPadding = 0; + } else + padByte = nPadding; + } + for (let i = 0; i < nPadding; i++) + message.push(padByte); + + const cipherText = []; + switch (mode) { + case "ECB": + for (let i = 0; i < message.length; i += BLOCKSIZE) + Array.prototype.push.apply(cipherText, intsToBytes(encryptBlockSM4(bytesToInts(message, i), roundKey))); + break; + case "CBC": + iv = bytesToInts(iv, 0); + for (let i = 0; i < message.length; i += BLOCKSIZE) { + const block = bytesToInts(message, i); + block[0] ^= iv[0]; block[1] ^= iv[1]; + block[2] ^= iv[2]; block[3] ^= iv[3]; + iv = encryptBlockSM4(block, roundKey); + Array.prototype.push.apply(cipherText, intsToBytes(iv)); + } + break; + case "CFB": + iv = bytesToInts(iv, 0); + for (let i = 0; i < message.length; i += BLOCKSIZE) { + iv = encryptBlockSM4(iv, roundKey); + const block = bytesToInts(message, i); + block[0] ^= iv[0]; block[1] ^= iv[1]; + block[2] ^= iv[2]; block[3] ^= iv[3]; + Array.prototype.push.apply(cipherText, intsToBytes(block)); + iv = block; + } + break; + case "OFB": + iv = bytesToInts(iv, 0); + for (let i = 0; i < message.length; i += BLOCKSIZE) { + iv = encryptBlockSM4(iv, roundKey); + const block = bytesToInts(message, i); + block[0] ^= iv[0]; block[1] ^= iv[1]; + block[2] ^= iv[2]; block[3] ^= iv[3]; + Array.prototype.push.apply(cipherText, intsToBytes(block)); + } + break; + case "CTR": + iv = bytesToInts(iv, 0); + for (let i = 0; i < message.length; i += BLOCKSIZE) { + let iv2 = [...iv]; /* containing the IV + counter */ + iv2[3] += (i >> 4);/* Using a 32 bit counter here. 64 Gb encrypts should be enough for everyone. */ + iv2 = encryptBlockSM4(iv2, roundKey); + const block = bytesToInts(message, i); + block[0] ^= iv2[0]; block[1] ^= iv2[1]; + block[2] ^= iv2[2]; block[3] ^= iv2[3]; + Array.prototype.push.apply(cipherText, intsToBytes(block)); + } + break; + default: + throw new OperationError("Invalid block cipher mode: "+mode); + } + if (mode !== "ECB" && mode !== "CBC") + return cipherText.slice(0, messageLength); + return cipherText; +} + +/** + * Decrypt using SM4 using a given block cipher mode. + * + * @param {byteArray} cipherText - The ciphertext + * @param {byteArray} key - The cipher key, 16 bytes. + * @param {byteArray} iv - The IV or nonce, 16 bytes (not used with ECB mode) + * @param {string} mode - The block cipher mode "CBC", "ECB", "CFB", "OFB", "CTR" + * @param {boolean] ignorePadding - If true, ignore padding issues in ECB/CBC mode. + * @returns {byteArray} - The cipher text. + */ +export function decryptSM4(cipherText, key, iv, mode="ECB", ignorePadding=false) { + const originalLength = cipherText.length; + if (originalLength === 0) + return []; + let roundKey = initSM4RoundKey(bytesToInts(key, 0)); + + if (mode === "ECB" || mode === "CBC") { + /* Init decryption key */ + roundKey = roundKey.reverse(); + if ((originalLength & 0xF) !== 0 && !ignorePadding) + throw new OperationError("With ECB or CBC modes, the input must be divisible into 16 byte blocks. ("+(cipherText.length & 0xF)+" bytes extra)"); + } else /* Pad dummy bytes for other modes, chop them off at the end */ + while ((cipherText.length & 0xF) !== 0) + cipherText.push(0); + + const clearText = []; + switch (mode) { + case "ECB": + for (let i = 0; i < cipherText.length; i += BLOCKSIZE) + Array.prototype.push.apply(clearText, intsToBytes(encryptBlockSM4(bytesToInts(cipherText, i), roundKey))); + break; + case "CBC": + iv = bytesToInts(iv, 0); + for (let i = 0; i < cipherText.length; i += BLOCKSIZE) { + const block = encryptBlockSM4(bytesToInts(cipherText, i), roundKey); + block[0] ^= iv[0]; block[1] ^= iv[1]; + block[2] ^= iv[2]; block[3] ^= iv[3]; + Array.prototype.push.apply(clearText, intsToBytes(block)); + iv = bytesToInts(cipherText, i); + } + break; + case "CFB": + iv = bytesToInts(iv, 0); + for (let i = 0; i < cipherText.length; i += BLOCKSIZE) { + iv = encryptBlockSM4(iv, roundKey); + const block = bytesToInts(cipherText, i); + block[0] ^= iv[0]; block[1] ^= iv[1]; + block[2] ^= iv[2]; block[3] ^= iv[3]; + Array.prototype.push.apply(clearText, intsToBytes(block)); + iv = bytesToInts(cipherText, i); + } + break; + case "OFB": + iv = bytesToInts(iv, 0); + for (let i = 0; i < cipherText.length; i += BLOCKSIZE) { + iv = encryptBlockSM4(iv, roundKey); + const block = bytesToInts(cipherText, i); + block[0] ^= iv[0]; block[1] ^= iv[1]; + block[2] ^= iv[2]; block[3] ^= iv[3]; + Array.prototype.push.apply(clearText, intsToBytes(block)); + } + break; + case "CTR": + iv = bytesToInts(iv, 0); + for (let i = 0; i < cipherText.length; i += BLOCKSIZE) { + let iv2 = [...iv]; /* containing the IV + counter */ + iv2[3] += (i >> 4);/* Using a 32 bit counter here. 64 Gb encrypts should be enough for everyone. */ + iv2 = encryptBlockSM4(iv2, roundKey); + const block = bytesToInts(cipherText, i); + block[0] ^= iv2[0]; block[1] ^= iv2[1]; + block[2] ^= iv2[2]; block[3] ^= iv2[3]; + Array.prototype.push.apply(clearText, intsToBytes(block)); + } + break; + default: + throw new OperationError("Invalid block cipher mode: "+mode); + } + /* Check PKCS#7 padding */ + if (mode === "ECB" || mode === "CBC") { + if (ignorePadding) + return clearText; + const padByte = clearText[clearText.length - 1]; + if (padByte > 16) + throw new OperationError("Invalid PKCS#7 padding."); + for (let i = 0; i < padByte; i++) + if (clearText[clearText.length -i - 1] !== padByte) + throw new OperationError("Invalid PKCS#7 padding."); + return clearText.slice(0, clearText.length - padByte); + } + return clearText.slice(0, originalLength); +} + diff --git a/src/core/operations/AESDecrypt.mjs b/src/core/operations/AESDecrypt.mjs index 1276d139..b45fb6d1 100644 --- a/src/core/operations/AESDecrypt.mjs +++ b/src/core/operations/AESDecrypt.mjs @@ -22,7 +22,7 @@ class AESDecrypt extends Operation { this.name = "AES Decrypt"; this.module = "Ciphers"; - this.description = "Advanced Encryption Standard (AES) is a U.S. Federal Information Processing Standard (FIPS). It was selected after a 5-year process where 15 competing designs were evaluated.

Key: The following algorithms will be used based on the size of the key:
  • 16 bytes = AES-128
  • 24 bytes = AES-192
  • 32 bytes = AES-256


IV: The Initialization Vector should be 16 bytes long. If not entered, it will default to 16 null bytes.

Padding: In CBC and ECB mode, PKCS#7 padding will be used.

GCM Tag: This field is ignored unless 'GCM' mode is used."; + this.description = "Advanced Encryption Standard (AES) is a U.S. Federal Information Processing Standard (FIPS). It was selected after a 5-year process where 15 competing designs were evaluated.

Key: The following algorithms will be used based on the size of the key:
  • 16 bytes = AES-128
  • 24 bytes = AES-192
  • 32 bytes = AES-256


IV: The Initialization Vector should be 16 bytes long. If not entered, it will default to 16 null bytes.

Padding: In CBC and ECB mode, PKCS#7 padding will be used as a default.

GCM Tag: This field is ignored unless 'GCM' mode is used."; this.infoURL = "https://wikipedia.org/wiki/Advanced_Encryption_Standard"; this.inputType = "string"; this.outputType = "string"; @@ -66,6 +66,14 @@ class AESDecrypt extends Operation { { name: "ECB", off: [5, 6] + }, + { + name: "CBC/NoPadding", + off: [5, 6] + }, + { + name: "ECB/NoPadding", + off: [5, 6] } ] }, @@ -104,7 +112,7 @@ class AESDecrypt extends Operation { run(input, args) { const key = Utils.convertToByteString(args[0].string, args[0].option), iv = Utils.convertToByteString(args[1].string, args[1].option), - mode = args[2], + mode = args[2].substring(0, 3), inputType = args[3], outputType = args[4], gcmTag = Utils.convertToByteString(args[5].string, args[5].option), @@ -122,6 +130,12 @@ The following algorithms will be used based on the size of the key: input = Utils.convertToByteString(input, inputType); const decipher = forge.cipher.createDecipher("AES-" + mode, key); + /* Allow for a "no padding" mode */ + if (args[2].endsWith("NoPadding")) { + decipher.mode.unpad = function(output, options) { + return true; + }; + } decipher.start({ iv: iv.length === 0 ? "" : iv, tag: mode === "GCM" ? gcmTag : undefined, diff --git a/src/core/operations/DESDecrypt.mjs b/src/core/operations/DESDecrypt.mjs index 14bbe832..13ae7482 100644 --- a/src/core/operations/DESDecrypt.mjs +++ b/src/core/operations/DESDecrypt.mjs @@ -22,7 +22,7 @@ class DESDecrypt extends Operation { this.name = "DES Decrypt"; this.module = "Ciphers"; - this.description = "DES is a previously dominant algorithm for encryption, and was published as an official U.S. Federal Information Processing Standard (FIPS). It is now considered to be insecure due to its small key size.

Key: DES uses a key length of 8 bytes (64 bits).
Triple DES uses a key length of 24 bytes (192 bits).

IV: The Initialization Vector should be 8 bytes long. If not entered, it will default to 8 null bytes.

Padding: In CBC and ECB mode, PKCS#7 padding will be used."; + this.description = "DES is a previously dominant algorithm for encryption, and was published as an official U.S. Federal Information Processing Standard (FIPS). It is now considered to be insecure due to its small key size.

Key: DES uses a key length of 8 bytes (64 bits).
Triple DES uses a key length of 24 bytes (192 bits).

IV: The Initialization Vector should be 8 bytes long. If not entered, it will default to 8 null bytes.

Padding: In CBC and ECB mode, PKCS#7 padding will be used as a default."; this.infoURL = "https://wikipedia.org/wiki/Data_Encryption_Standard"; this.inputType = "string"; this.outputType = "string"; @@ -42,7 +42,7 @@ class DESDecrypt extends Operation { { "name": "Mode", "type": "option", - "value": ["CBC", "CFB", "OFB", "CTR", "ECB"] + "value": ["CBC", "CFB", "OFB", "CTR", "ECB", "CBC/NoPadding", "ECB/NoPadding"] }, { "name": "Input", @@ -65,7 +65,8 @@ class DESDecrypt extends Operation { run(input, args) { const key = Utils.convertToByteString(args[0].string, args[0].option), iv = Utils.convertToByteArray(args[1].string, args[1].option), - [,, mode, inputType, outputType] = args; + mode = args[2].substring(0, 3), + [,,, inputType, outputType] = args; if (key.length !== 8) { throw new OperationError(`Invalid key length: ${key.length} bytes @@ -83,6 +84,12 @@ Make sure you have specified the type correctly (e.g. Hex vs UTF8).`); input = Utils.convertToByteString(input, inputType); const decipher = forge.cipher.createDecipher("DES-" + mode, key); + /* Allow for a "no padding" mode */ + if (args[2].endsWith("NoPadding")) { + decipher.mode.unpad = function(output, options) { + return true; + }; + } decipher.start({iv: iv}); decipher.update(forge.util.createBuffer(input)); const result = decipher.finish(); diff --git a/src/core/operations/SM4Decrypt.mjs b/src/core/operations/SM4Decrypt.mjs new file mode 100644 index 00000000..7ee3e689 --- /dev/null +++ b/src/core/operations/SM4Decrypt.mjs @@ -0,0 +1,88 @@ +/** + * @author swesven + * @copyright 2021 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { toHex } from "../lib/Hex.mjs"; +import { decryptSM4 } from "../lib/SM4.mjs"; + +/** + * SM4 Decrypt operation + */ +class SM4Decrypt extends Operation { + + /** + * SM4Encrypt constructor + */ + constructor() { + super(); + + this.name = "SM4 Decrypt"; + this.module = "Ciphers"; + this.description = "SM4 is a 128-bit block cipher, currently established as a national standard (GB/T 32907-2016) of China."; + this.infoURL = "https://en.wikipedia.org/wiki/SM4_(cipher)"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + "name": "Key", + "type": "toggleString", + "value": "", + "toggleValues": ["Hex", "UTF8", "Latin1", "Base64"] + }, + { + "name": "IV", + "type": "toggleString", + "value": "", + "toggleValues": ["Hex", "UTF8", "Latin1", "Base64"] + }, + { + "name": "Mode", + "type": "option", + "value": ["CBC", "CFB", "OFB", "CTR", "ECB", "CBC/NoPadding", "ECB/NoPadding"] + }, + { + "name": "Input", + "type": "option", + "value": ["Raw", "Hex"] + }, + { + "name": "Output", + "type": "option", + "value": ["Hex", "Raw"] + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const key = Utils.convertToByteArray(args[0].string, args[0].option), + iv = Utils.convertToByteArray(args[1].string, args[1].option), + [,, mode, inputType, outputType] = args; + + if (key.length !== 16) + throw new OperationError(`Invalid key length: ${key.length} bytes + +SM4 uses a key length of 16 bytes (128 bits).`); + if (iv.length !== 16 && !mode.startsWith("ECB")) + throw new OperationError(`Invalid IV length: ${iv.length} bytes + +SM4 uses an IV length of 16 bytes (128 bits). +Make sure you have specified the type correctly (e.g. Hex vs UTF8).`); + + input = Utils.convertToByteArray(input, inputType); + const output = decryptSM4(input, key, iv, mode.substring(0, 3), mode.endsWith("NoPadding")); + return outputType === "Hex" ? toHex(output) : Utils.byteArrayToUtf8(output); + } + +} + +export default SM4Decrypt; diff --git a/src/core/operations/SM4Encrypt.mjs b/src/core/operations/SM4Encrypt.mjs new file mode 100644 index 00000000..220898a4 --- /dev/null +++ b/src/core/operations/SM4Encrypt.mjs @@ -0,0 +1,88 @@ +/** + * @author swesven + * @copyright 2021 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { toHex } from "../lib/Hex.mjs"; +import { encryptSM4 } from "../lib/SM4.mjs"; + +/** + * SM4 Encrypt operation + */ +class SM4Encrypt extends Operation { + + /** + * SM4Encrypt constructor + */ + constructor() { + super(); + + this.name = "SM4 Encrypt"; + this.module = "Ciphers"; + this.description = "SM4 is a 128-bit block cipher, currently established as a national standard (GB/T 32907-2016) of China. Multiple block cipher modes are supported. When using CBC or ECB mode, the PKCS#7 padding scheme is used."; + this.infoURL = "https://en.wikipedia.org/wiki/SM4_(cipher)"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + "name": "Key", + "type": "toggleString", + "value": "", + "toggleValues": ["Hex", "UTF8", "Latin1", "Base64"] + }, + { + "name": "IV", + "type": "toggleString", + "value": "", + "toggleValues": ["Hex", "UTF8", "Latin1", "Base64"] + }, + { + "name": "Mode", + "type": "option", + "value": ["CBC", "CFB", "OFB", "CTR", "ECB"] + }, + { + "name": "Input", + "type": "option", + "value": ["Raw", "Hex"] + }, + { + "name": "Output", + "type": "option", + "value": ["Hex", "Raw"] + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const key = Utils.convertToByteArray(args[0].string, args[0].option), + iv = Utils.convertToByteArray(args[1].string, args[1].option), + [,, mode, inputType, outputType] = args; + + if (key.length !== 16) + throw new OperationError(`Invalid key length: ${key.length} bytes + +SM4 uses a key length of 16 bytes (128 bits).`); + if (iv.length !== 16 && !mode.startsWith("ECB")) + throw new OperationError(`Invalid IV length: ${iv.length} bytes + +SM4 uses an IV length of 16 bytes (128 bits). +Make sure you have specified the type correctly (e.g. Hex vs UTF8).`); + + input = Utils.convertToByteArray(input, inputType); + const output = encryptSM4(input, key, iv, mode.substring(0, 3), mode.endsWith("NoPadding")); + return outputType === "Hex" ? toHex(output) : Utils.byteArrayToUtf8(output); + } + +} + +export default SM4Encrypt; diff --git a/src/core/operations/TripleDESDecrypt.mjs b/src/core/operations/TripleDESDecrypt.mjs index c90bf926..b11c2b7f 100644 --- a/src/core/operations/TripleDESDecrypt.mjs +++ b/src/core/operations/TripleDESDecrypt.mjs @@ -42,7 +42,7 @@ class TripleDESDecrypt extends Operation { { "name": "Mode", "type": "option", - "value": ["CBC", "CFB", "OFB", "CTR", "ECB"] + "value": ["CBC", "CFB", "OFB", "CTR", "ECB", "CBC/NoPadding", "ECB/NoPadding"] }, { "name": "Input", @@ -65,7 +65,7 @@ class TripleDESDecrypt extends Operation { run(input, args) { const key = Utils.convertToByteString(args[0].string, args[0].option), iv = Utils.convertToByteArray(args[1].string, args[1].option), - mode = args[2], + mode = args[2].substring(0, 3), inputType = args[3], outputType = args[4]; @@ -85,6 +85,12 @@ Make sure you have specified the type correctly (e.g. Hex vs UTF8).`); input = Utils.convertToByteString(input, inputType); const decipher = forge.cipher.createDecipher("3DES-" + mode, key); + /* Allow for a "no padding" mode */ + if (args[2].endsWith("NoPadding")) { + decipher.mode.unpad = function(output, options) { + return true; + }; + } decipher.start({iv: iv}); decipher.update(forge.util.createBuffer(input)); const result = decipher.finish(); diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index d20ccc61..2d6d3bd7 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -74,6 +74,7 @@ import "./tests/SeqUtils.mjs"; import "./tests/SetDifference.mjs"; import "./tests/SetIntersection.mjs"; import "./tests/SetUnion.mjs"; +import "./tests/SM4.mjs"; import "./tests/StrUtils.mjs"; import "./tests/SymmetricDifference.mjs"; import "./tests/TextEncodingBruteForce.mjs"; diff --git a/tests/operations/tests/SM4.mjs b/tests/operations/tests/SM4.mjs new file mode 100644 index 00000000..3d7bc453 --- /dev/null +++ b/tests/operations/tests/SM4.mjs @@ -0,0 +1,279 @@ +/** + * SM4 crypto tests. + * + * Test data used from IETF draft-ribose-cfrg-sm4-09, see: + * https://tools.ietf.org/id/draft-ribose-cfrg-sm4-09.html + * + * @author swesven + * @copyright 2021 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +/* Cleartexts */ +const TWO_BLOCK_PLAIN = "aa aa aa aa bb bb bb bb cc cc cc cc dd dd dd dd ee ee ee ee ff ff ff ff aa aa aa aa bb bb bb bb"; +const FOUR_BLOCK_PLAIN = "aa aa aa aa aa aa aa aa bb bb bb bb bb bb bb bb cc cc cc cc cc cc cc cc dd dd dd dd dd dd dd dd ee ee ee ee ee ee ee ee ff ff ff ff ff ff ff ff aa aa aa aa aa aa aa aa bb bb bb bb bb bb bb bb"; +/* Keys */ +const KEY_1 = "01 23 45 67 89 ab cd ef fe dc ba 98 76 54 32 10"; +const KEY_2 = "fe dc ba 98 76 54 32 10 01 23 45 67 89 ab cd ef"; +/* IV */ +const IV = "00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f"; +/* Ciphertexts */ +const ECB_1 = "5e c8 14 3d e5 09 cf f7 b5 17 9f 8f 47 4b 86 19 2f 1d 30 5a 7f b1 7d f9 85 f8 1c 84 82 19 23 04"; +const ECB_2 = "c5 87 68 97 e4 a5 9b bb a7 2a 10 c8 38 72 24 5b 12 dd 90 bc 2d 20 06 92 b5 29 a4 15 5a c9 e6 00"; +/* With PKCS#7 padding */ +const ECB_1P ="5e c8 14 3d e5 09 cf f7 b5 17 9f 8f 47 4b 86 19 2f 1d 30 5a 7f b1 7d f9 85 f8 1c 84 82 19 23 04 00 2a 8a 4e fa 86 3c ca d0 24 ac 03 00 bb 40 d2"; +const ECB_2P= "c5 87 68 97 e4 a5 9b bb a7 2a 10 c8 38 72 24 5b 12 dd 90 bc 2d 20 06 92 b5 29 a4 15 5a c9 e6 00 a2 51 49 20 93 f8 f6 42 89 b7 8d 6e 8a 28 b1 c6"; +const CBC_1 = "78 eb b1 1c c4 0b 0a 48 31 2a ae b2 04 02 44 cb 4c b7 01 69 51 90 92 26 97 9b 0d 15 dc 6a 8f 6d"; +const CBC_2 = "0d 3a 6d dc 2d 21 c6 98 85 72 15 58 7b 7b b5 9a 91 f2 c1 47 91 1a 41 44 66 5e 1f a1 d4 0b ae 38"; +const OFB_1 = "ac 32 36 cb 86 1d d3 16 e6 41 3b 4e 3c 75 24 b7 1d 01 ac a2 48 7c a5 82 cb f5 46 3e 66 98 53 9b"; +const OFB_2 = "5d cc cd 25 a8 4b a1 65 60 d7 f2 65 88 70 68 49 33 fa 16 bd 5c d9 c8 56 ca ca a1 e1 01 89 7a 97"; +const CFB_1 = "ac 32 36 cb 86 1d d3 16 e6 41 3b 4e 3c 75 24 b7 69 d4 c5 4e d4 33 b9 a0 34 60 09 be b3 7b 2b 3f"; +const CFB_2 = "5d cc cd 25 a8 4b a1 65 60 d7 f2 65 88 70 68 49 0d 9b 86 ff 20 c3 bf e1 15 ff a0 2c a6 19 2c c5"; +const CTR_1 = "ac 32 36 cb 97 0c c2 07 91 36 4c 39 5a 13 42 d1 a3 cb c1 87 8c 6f 30 cd 07 4c ce 38 5c dd 70 c7 f2 34 bc 0e 24 c1 19 80 fd 12 86 31 0c e3 7b 92 6e 02 fc d0 fa a0 ba f3 8b 29 33 85 1d 82 45 14"; +const CTR_2 = "5d cc cd 25 b9 5a b0 74 17 a0 85 12 ee 16 0e 2f 8f 66 15 21 cb ba b4 4c c8 71 38 44 5b c2 9e 5c 0a e0 29 72 05 d6 27 04 17 3b 21 23 9b 88 7f 6c 8c b5 b8 00 91 7a 24 88 28 4b de 9e 16 ea 29 06"; + +TestRegister.addTests([ + { + name: "SM4 Encrypt: ECB 1, No padding", + input: TWO_BLOCK_PLAIN, + expectedOutput: ECB_1, + recipeConfig: [ + { + "op": "SM4 Encrypt", + "args": [{string: KEY_1, option: "Hex"}, {string: "", option: "Hex"}, "ECB/NoPadding", "Hex", "Hex"] + } + ] + }, + { + name: "SM4 Encrypt: ECB 2, No padding", + input: TWO_BLOCK_PLAIN, + expectedOutput: ECB_2, + recipeConfig: [ + { + "op": "SM4 Encrypt", + "args": [{string: KEY_2, option: "Hex"}, {string: "", option: "Hex"}, "ECB/NoPadding", "Hex", "Hex"] + } + ] + }, + { + name: "SM4 Encrypt: ECB 1, With padding", + input: TWO_BLOCK_PLAIN, + expectedOutput: ECB_1P, + recipeConfig: [ + { + "op": "SM4 Encrypt", + "args": [{string: KEY_1, option: "Hex"}, {string: "", option: "Hex"}, "ECB", "Hex", "Hex"] + } + ] + }, + { + name: "SM4 Encrypt: ECB 2, With padding", + input: TWO_BLOCK_PLAIN, + expectedOutput: ECB_2P, + recipeConfig: [ + { + "op": "SM4 Encrypt", + "args": [{string: KEY_2, option: "Hex"}, {string: "", option: "Hex"}, "ECB", "Hex", "Hex"] + } + ] + }, + { + name: "SM4 Encrypt: CBC 1", + input: TWO_BLOCK_PLAIN, + expectedOutput: CBC_1, + recipeConfig: [ + { + "op": "SM4 Encrypt", + "args": [{string: KEY_1, option: "Hex"}, {string: IV, option: "Hex"}, "CBC/NoPadding", "Hex", "Hex"] + } + ] + }, + { + name: "SM4 Encrypt: CBC 2", + input: TWO_BLOCK_PLAIN, + expectedOutput: CBC_2, + recipeConfig: [ + { + "op": "SM4 Encrypt", + "args": [{string: KEY_2, option: "Hex"}, {string: IV, option: "Hex"}, "CBC/NoPadding", "Hex", "Hex"] + } + ] + }, + { + name: "SM4 Encrypt: OFB1", + input: TWO_BLOCK_PLAIN, + expectedOutput: OFB_1, + recipeConfig: [ + { + "op": "SM4 Encrypt", + "args": [{string: KEY_1, option: "Hex"}, {string: IV, option: "Hex"}, "OFB", "Hex", "Hex"] + } + ] + }, + { + name: "SM4 Encrypt: OFB2", + input: TWO_BLOCK_PLAIN, + expectedOutput: OFB_2, + recipeConfig: [ + { + "op": "SM4 Encrypt", + "args": [{string: KEY_2, option: "Hex"}, {string: IV, option: "Hex"}, "OFB", "Hex", "Hex"] + } + ] + }, + { + name: "SM4 Encrypt: CFB1", + input: TWO_BLOCK_PLAIN, + expectedOutput: CFB_1, + recipeConfig: [ + { + "op": "SM4 Encrypt", + "args": [{string: KEY_1, option: "Hex"}, {string: IV, option: "Hex"}, "CFB", "Hex", "Hex"] + } + ] + }, + { + name: "SM4 Encrypt: CFB2", + input: TWO_BLOCK_PLAIN, + expectedOutput: CFB_2, + recipeConfig: [ + { + "op": "SM4 Encrypt", + "args": [{string: KEY_2, option: "Hex"}, {string: IV, option: "Hex"}, "CFB", "Hex", "Hex"] + } + ] + }, + { + name: "SM4 Encrypt: CTR1", + input: FOUR_BLOCK_PLAIN, + expectedOutput: CTR_1, + recipeConfig: [ + { + "op": "SM4 Encrypt", + "args": [{string: KEY_1, option: "Hex"}, {string: IV, option: "Hex"}, "CTR", "Hex", "Hex"] + } + ] + }, + { + name: "SM4 Encrypt: CTR1", + input: FOUR_BLOCK_PLAIN, + expectedOutput: CTR_2, + recipeConfig: [ + { + "op": "SM4 Encrypt", + "args": [{string: KEY_2, option: "Hex"}, {string: IV, option: "Hex"}, "CTR", "Hex", "Hex"] + } + ] + }, + { + name: "SM4 Decrypt: ECB 1", + input: ECB_1, + expectedOutput: TWO_BLOCK_PLAIN, + recipeConfig: [ + { + "op": "SM4 Decrypt", + "args": [{string: KEY_1, option: "Hex"}, {string: "", option: "Hex"}, "ECB/NoPadding", "Hex", "Hex"] + } + ] + }, + { + name: "SM4 Decrypt: ECB 2", + input: ECB_2, + expectedOutput: TWO_BLOCK_PLAIN, + recipeConfig: [ + { + "op": "SM4 Decrypt", + "args": [{string: KEY_2, option: "Hex"}, {string: "", option: "Hex"}, "ECB/NoPadding", "Hex", "Hex"] + } + ] + }, + { + name: "SM4 Decrypt: CBC 1", + input: CBC_1, + expectedOutput: TWO_BLOCK_PLAIN, + recipeConfig: [ + { + "op": "SM4 Decrypt", + "args": [{string: KEY_1, option: "Hex"}, {string: IV, option: "Hex"}, "CBC/NoPadding", "Hex", "Hex"] + } + ] + }, + { + name: "SM4 Decrypt: CBC 2", + input: CBC_2, + expectedOutput: TWO_BLOCK_PLAIN, + recipeConfig: [ + { + "op": "SM4 Decrypt", + "args": [{string: KEY_2, option: "Hex"}, {string: IV, option: "Hex"}, "CBC/NoPadding", "Hex", "Hex"] + } + ] + }, + { + name: "SM4 Decrypt: OFB1", + input: TWO_BLOCK_PLAIN, + expectedOutput: OFB_1, + recipeConfig: [ + { + "op": "SM4 Decrypt", + "args": [{string: KEY_1, option: "Hex"}, {string: IV, option: "Hex"}, "OFB", "Hex", "Hex"] + } + ] + }, + { + name: "SM4 Decrypt: OFB2", + input: OFB_2, + expectedOutput: TWO_BLOCK_PLAIN, + recipeConfig: [ + { + "op": "SM4 Decrypt", + "args": [{string: KEY_2, option: "Hex"}, {string: IV, option: "Hex"}, "OFB", "Hex", "Hex"] + } + ] + }, + { + name: "SM4 Decrypt: CFB1", + input: CFB_1, + expectedOutput: TWO_BLOCK_PLAIN, + recipeConfig: [ + { + "op": "SM4 Decrypt", + "args": [{string: KEY_1, option: "Hex"}, {string: IV, option: "Hex"}, "CFB", "Hex", "Hex"] + } + ] + }, + { + name: "SM4 Decrypt: CFB2", + input: CFB_2, + expectedOutput: TWO_BLOCK_PLAIN, + recipeConfig: [ + { + "op": "SM4 Decrypt", + "args": [{string: KEY_2, option: "Hex"}, {string: IV, option: "Hex"}, "CFB", "Hex", "Hex"] + } + ] + }, + { + name: "SM4 Decrypt: CTR1", + input: CTR_1, + expectedOutput: FOUR_BLOCK_PLAIN, + recipeConfig: [ + { + "op": "SM4 Decrypt", + "args": [{string: KEY_1, option: "Hex"}, {string: IV, option: "Hex"}, "CTR", "Hex", "Hex"] + } + ] + }, + { + name: "SM4 Decrypt: CTR1", + input: CTR_2, + expectedOutput: FOUR_BLOCK_PLAIN, + recipeConfig: [ + { + "op": "SM4 Decrypt", + "args": [{string: KEY_2, option: "Hex"}, {string: IV, option: "Hex"}, "CTR", "Hex", "Hex"] + } + ] + }, +]); From ff88d30d2f8dea41cff3e5c0d89b946021a4982f Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 26 Mar 2021 14:07:02 +0000 Subject: [PATCH 229/754] Tidied up CBOR operations --- src/core/operations/CBORDecode.mjs | 9 ++++----- src/core/operations/CBOREncode.mjs | 6 +++--- tests/operations/tests/CBORDecode.mjs | 3 +-- tests/operations/tests/CBOREncode.mjs | 1 - 4 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/core/operations/CBORDecode.mjs b/src/core/operations/CBORDecode.mjs index 34f1abd1..f4bda7c0 100644 --- a/src/core/operations/CBORDecode.mjs +++ b/src/core/operations/CBORDecode.mjs @@ -19,13 +19,12 @@ class CBORDecode extends Operation { super(); this.name = "CBOR Decode"; - this.module = "Default"; - this.description = "Decode Concise Binary Object Representation (CBOR) data format (RFC7049) to JSON."; - this.infoURL = "https://cbor.io"; + this.module = "Serialise"; + this.description = "Concise Binary Object Representation (CBOR) is a binary data serialization format loosely based on JSON. Like JSON it allows the transmission of data objects that contain name–value pairs, but in a more concise manner. This increases processing and transfer speeds at the cost of human readability. It is defined in IETF RFC 8949."; + this.infoURL = "https://wikipedia.org/wiki/CBOR"; this.inputType = "ArrayBuffer"; this.outputType = "JSON"; - this.args = [ - ]; + this.args = []; } /** diff --git a/src/core/operations/CBOREncode.mjs b/src/core/operations/CBOREncode.mjs index 9e92239e..c6e094a9 100644 --- a/src/core/operations/CBOREncode.mjs +++ b/src/core/operations/CBOREncode.mjs @@ -19,9 +19,9 @@ class CBOREncode extends Operation { super(); this.name = "CBOR Encode"; - this.module = "Default"; - this.description = "2"; - this.infoURL = "https://cbor.io"; + this.module = "Serialise"; + this.description = "Concise Binary Object Representation (CBOR) is a binary data serialization format loosely based on JSON. Like JSON it allows the transmission of data objects that contain name–value pairs, but in a more concise manner. This increases processing and transfer speeds at the cost of human readability. It is defined in IETF RFC 8949."; + this.infoURL = "https://wikipedia.org/wiki/CBOR"; this.inputType = "JSON"; this.outputType = "ArrayBuffer"; this.args = []; diff --git a/tests/operations/tests/CBORDecode.mjs b/tests/operations/tests/CBORDecode.mjs index 4505b59c..e3015d4e 100644 --- a/tests/operations/tests/CBORDecode.mjs +++ b/tests/operations/tests/CBORDecode.mjs @@ -1,8 +1,7 @@ /** - * From Hex Tests. + * CBOR Decode Tests * * @author Danh4 [dan.h4@ncsc.gov.uk] - * * @copyright Crown Copyright 2019 * @license Apache-2.0 */ diff --git a/tests/operations/tests/CBOREncode.mjs b/tests/operations/tests/CBOREncode.mjs index 0613bfe6..a12ba686 100644 --- a/tests/operations/tests/CBOREncode.mjs +++ b/tests/operations/tests/CBOREncode.mjs @@ -2,7 +2,6 @@ * CBOR Encode Tests. * * @author Danh4 [dan.h4@ncsc.gov.uk] - * * @copyright Crown Copyright 2019 * @license Apache-2.0 */ From 97bd03799e9b68b5da8283ae6e3e5ba060fb107e Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 26 Mar 2021 14:09:37 +0000 Subject: [PATCH 230/754] Updated CHANGELOG --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 42b447fb..aacef82a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ All major and minor version changes will be documented in this file. Details of ## Details +### [9.28.0] - 2021-03-26 +- 'CBOR Encode' and 'CBOR Decode' operations added [@Danh4] | [#999] + ### [9.27.0] - 2021-02-12 - 'Fuzzy Match' operation added [@n1474335] | [8ad18b] @@ -256,6 +259,7 @@ All major and minor version changes will be documented in this file. Details of +[9.28.0]: https://github.com/gchq/CyberChef/releases/tag/v9.28.0 [9.27.0]: https://github.com/gchq/CyberChef/releases/tag/v9.27.0 [9.26.0]: https://github.com/gchq/CyberChef/releases/tag/v9.26.0 [9.25.0]: https://github.com/gchq/CyberChef/releases/tag/v9.25.0 @@ -363,6 +367,7 @@ All major and minor version changes will be documented in this file. Details of [@MarvinJWendt]: https://github.com/MarvinJWendt [@dmfj]: https://github.com/dmfj [@mattnotmitt]: https://github.com/mattnotmitt +[@Danh4]: https://github.com/Danh4 [8ad18b]: https://github.com/gchq/CyberChef/commit/8ad18bc7db6d9ff184ba3518686293a7685bf7b7 @@ -438,6 +443,7 @@ All major and minor version changes will be documented in this file. Details of [#965]: https://github.com/gchq/CyberChef/pull/965 [#966]: https://github.com/gchq/CyberChef/pull/966 [#987]: https://github.com/gchq/CyberChef/pull/987 +[#999]: https://github.com/gchq/CyberChef/pull/999 [#1006]: https://github.com/gchq/CyberChef/pull/1006 [#1022]: https://github.com/gchq/CyberChef/pull/1022 [#1045]: https://github.com/gchq/CyberChef/pull/1045 From a3b873fd96111fe2dbcb62a1e037987669290a13 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 26 Mar 2021 14:09:51 +0000 Subject: [PATCH 231/754] 9.28.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7a33b297..2102229d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.27.6", + "version": "9.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index d657580b..49c561ea 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.27.6", + "version": "9.28.0", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From cd4e70b24b7f11bbdfdebb374650781f42479370 Mon Sep 17 00:00:00 2001 From: Evan Reichard Date: Mon, 3 May 2021 21:07:58 -0400 Subject: [PATCH 232/754] Fixed right shift 32 problem --- src/core/vendor/DisassembleX86-64.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/vendor/DisassembleX86-64.mjs b/src/core/vendor/DisassembleX86-64.mjs index 5f0ac65d..bbaf7a9b 100644 --- a/src/core/vendor/DisassembleX86-64.mjs +++ b/src/core/vendor/DisassembleX86-64.mjs @@ -4054,7 +4054,7 @@ function DecodeImmediate( type, BySize, SizeSetting ) //Sign bit adjust. - if( V32 >= ( n >> 1 ) ) { V32 -= n; } + if( V32 >= ( n / 2 ) ) { V32 -= n; } //Add position. From 9a33498fed26a8df9c9f35f39a78a174bf50a513 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Wed, 28 Jul 2021 14:32:39 +0100 Subject: [PATCH 233/754] Added 'TLS JA3 Fingerprint' operation --- src/core/config/Categories.json | 1 + src/core/operations/TLSJA3Fingerprint.mjs | 198 +++++++++++++++++++ tests/operations/index.mjs | 1 + tests/operations/tests/TLSJA3Fingerprint.mjs | 55 ++++++ 4 files changed, 255 insertions(+) create mode 100644 src/core/operations/TLSJA3Fingerprint.mjs create mode 100644 tests/operations/tests/TLSJA3Fingerprint.mjs diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 95e5870e..ff472caf 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -193,6 +193,7 @@ "Protobuf Decode", "VarInt Encode", "VarInt Decode", + "TLS JA3 Fingerprint", "Format MAC addresses", "Change IP format", "Group IP addresses", diff --git a/src/core/operations/TLSJA3Fingerprint.mjs b/src/core/operations/TLSJA3Fingerprint.mjs new file mode 100644 index 00000000..119bdac5 --- /dev/null +++ b/src/core/operations/TLSJA3Fingerprint.mjs @@ -0,0 +1,198 @@ +/** + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2021 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; +import Stream from "../lib/Stream.mjs"; +import {runHash} from "../lib/Hash.mjs"; + +/** + * TLS JA3 Fingerprint operation + */ +class TLSJA3Fingerprint extends Operation { + + /** + * TLSJA3Fingerprint constructor + */ + constructor() { + super(); + + this.name = "TLS JA3 Fingerprint"; + this.module = "Crypto"; + this.description = "Generates a JA3 fingerprint to help identify TLS clients based on hashing together values from the Client Hello.

Input: A hex stream of the TLS Client Hello application layer."; + this.infoURL = "https://engineering.salesforce.com/tls-fingerprinting-with-ja3-and-ja3s-247362855967"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + name: "Input format", + type: "option", + value: ["Hex", "Base64", "Raw"] + }, + { + name: "Output format", + type: "option", + value: ["Hash digest", "JA3 string", "Full details"] + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const [inputFormat, outputFormat] = args; + + input = Utils.convertToByteArray(input, inputFormat); + const s = new Stream(new Uint8Array(input)); + + const handshake = s.readInt(1); + if (handshake !== 0x16) + throw new OperationError("Not handshake data."); + + // Version + s.moveForwardsBy(2); + + // Length + const length = s.readInt(2); + if (s.length !== length + 5) + throw new OperationError("Incorrect handshake length."); + + // Handshake type + const handshakeType = s.readInt(1); + if (handshakeType !== 1) + throw new OperationError("Not a Client Hello."); + + // Handshake length + const handshakeLength = s.readInt(3); + if (s.length !== handshakeLength + 9) + throw new OperationError("Not enough data in Client Hello."); + + // Hello version + const helloVersion = s.readInt(2); + + // Random + s.moveForwardsBy(32); + + // Session ID + const sessionIDLength = s.readInt(1); + s.moveForwardsBy(sessionIDLength); + + // Cipher suites + const cipherSuitesLength = s.readInt(2); + const cipherSuites = s.getBytes(cipherSuitesLength); + const cs = new Stream(cipherSuites); + const cipherSegment = parseJA3Segment(cs, 2); + + // Compression Methods + const compressionMethodsLength = s.readInt(1); + s.moveForwardsBy(compressionMethodsLength); + + // Extensions + const extensionsLength = s.readInt(2); + const extensions = s.getBytes(extensionsLength); + const es = new Stream(extensions); + let ecsLen, ecs, ellipticCurves = "", ellipticCurvePointFormats = ""; + const exts = []; + while (es.hasMore()) { + const type = es.readInt(2); + const length = es.readInt(2); + switch (type) { + case 0x0a: // Elliptic curves + ecsLen = es.readInt(2); + ecs = new Stream(es.getBytes(ecsLen)); + ellipticCurves = parseJA3Segment(ecs, 2); + break; + case 0x0b: // Elliptic curve point formats + ecsLen = es.readInt(1); + ecs = new Stream(es.getBytes(ecsLen)); + ellipticCurvePointFormats = parseJA3Segment(ecs, 1); + break; + default: + es.moveForwardsBy(length); + } + if (!GREASE_CIPHERSUITES.includes(type)) + exts.push(type); + } + + // Output + const ja3 = [ + helloVersion.toString(), + cipherSegment, + exts.join("-"), + ellipticCurves, + ellipticCurvePointFormats + ]; + const ja3Str = ja3.join(","); + const ja3Hash = runHash("md5", Utils.strToArrayBuffer(ja3Str)); + + switch (outputFormat) { + case "JA3 string": + return ja3Str; + case "Full details": + return `Hash digest: +${ja3Hash} + +Full JA3 string: +${ja3Str} + +TLS Version: +${helloVersion.toString()} +Cipher Suites: +${cipherSegment} +Extensions: +${exts.join("-")} +Elliptic Curves: +${ellipticCurves} +Elliptic Curve Point Formats: +${ellipticCurvePointFormats}`; + case "Hash digest": + default: + return ja3Hash; + } + } + +} + +/** + * Parses a JA3 segment, returning a "-" separated list + * + * @param {Stream} stream + * @returns {string} + */ +function parseJA3Segment(stream, size=2) { + const segment = []; + while (stream.hasMore()) { + const element = stream.readInt(size); + if (!GREASE_CIPHERSUITES.includes(element)) + segment.push(element); + } + return segment.join("-"); +} + +const GREASE_CIPHERSUITES = [ + 0x0a0a, + 0x1a1a, + 0x2a2a, + 0x3a3a, + 0x4a4a, + 0x5a5a, + 0x6a6a, + 0x7a7a, + 0x8a8a, + 0x9a9a, + 0xaaaa, + 0xbaba, + 0xcaca, + 0xdada, + 0xeaea, + 0xfafa +]; + +export default TLSJA3Fingerprint; diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index f2225fc6..fdce5131 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -104,6 +104,7 @@ import "./tests/Unicode.mjs"; import "./tests/RSA.mjs"; import "./tests/CBOREncode.mjs"; import "./tests/CBORDecode.mjs"; +import "./tests/TLSJA3Fingerprint.mjs"; // Cannot test operations that use the File type yet diff --git a/tests/operations/tests/TLSJA3Fingerprint.mjs b/tests/operations/tests/TLSJA3Fingerprint.mjs new file mode 100644 index 00000000..4f1534fb --- /dev/null +++ b/tests/operations/tests/TLSJA3Fingerprint.mjs @@ -0,0 +1,55 @@ +/** + * TLSJA3Fingerprint tests. + * + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2021 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "TLS JA3 Fingerprint: TLS 1.0", + input: "16030100a4010000a00301543dd2dd48f517ca9a93b1e599f019fdece704a23e86c1dcac588427abbaddf200005cc014c00a0039003800880087c00fc00500350084c012c00800160013c00dc003000ac013c00900330032009a009900450044c00ec004002f009600410007c011c007c00cc002000500040015001200090014001100080006000300ff0100001b000b000403000102000a000600040018001700230000000f000101", + expectedOutput: "503053a0c5b2bd9b9334bf7f3d3b8852", + recipeConfig: [ + { + "op": "TLS JA3 Fingerprint", + "args": ["Hex", "Hash digest"] + } + ], + }, + { + name: "TLS JA3 Fingerprint: TLS 1.1", + input: "16030100a4010000a00302543dd2ed907e47d0086f34bee2c52dd6ccd8de63ba9387f5e810b09d9d49b38000005cc014c00a0039003800880087c00fc00500350084c012c00800160013c00dc003000ac013c00900330032009a009900450044c00ec004002f009600410007c011c007c00cc002000500040015001200090014001100080006000300ff0100001b000b000403000102000a000600040018001700230000000f000101", + expectedOutput: "a314eb64cee6cb832aaaa372c8295bab", + recipeConfig: [ + { + "op": "TLS JA3 Fingerprint", + "args": ["Hex", "Hash digest"] + } + ], + }, + { + name: "TLS JA3 Fingerprint: TLS 1.2", + input: "1603010102010000fe0303543dd3283283692d85f9416b5ccc65d2aafca45c6530b3c6eafbf6d371b6a015000094c030c02cc028c024c014c00a00a3009f006b006a0039003800880087c032c02ec02ac026c00fc005009d003d00350084c012c00800160013c00dc003000ac02fc02bc027c023c013c00900a2009e0067004000330032009a009900450044c031c02dc029c025c00ec004009c003c002f009600410007c011c007c00cc002000500040015001200090014001100080006000300ff01000041000b000403000102000a000600040018001700230000000d002200200601060206030501050205030401040204030301030203030201020202030101000f000101", + expectedOutput: "c1a36e1a870786cc75edddc0009eaf3a", + recipeConfig: [ + { + "op": "TLS JA3 Fingerprint", + "args": ["Hex", "Hash digest"] + } + ], + }, + { + name: "TLS JA3 Fingerprint: TLS 1.3", + input: "1603010200010001fc03034355d402c132771a9386b6e9994ae37069e0621af504c26673b1343843c21d8d0000264a4a130113021303c02bc02fc02cc030cca9cca8cc14cc13c013c014009c009d002f0035000a010001addada0000ff01000100000000180016000013626c6f672e636c6f7564666c6172652e636f6d0017000000230000000d00140012040308040401050308050501080606010201000500050100000000001200000010000e000c02683208687474702f312e3175500000000b000201000028002b00295a5a000100001d0020cf78b9167af054b922a96752b43973107b2a57766357dd288b2b42ab5df30e08002d00020101002b000b0acaca7f12030303020301000a000a00085a5a001d001700180a0a000100001500e4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + expectedOutput: "4826a90ec2daf4f7b4b64cc1c8bd343b", + recipeConfig: [ + { + "op": "TLS JA3 Fingerprint", + "args": ["Hex", "Hash digest"] + } + ], + }, +]); From fa2fc2ba3330dbee4cde57597dc5f27f5feef86c Mon Sep 17 00:00:00 2001 From: n1474335 Date: Wed, 28 Jul 2021 14:36:14 +0100 Subject: [PATCH 234/754] Updated CHANGELOG --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index aacef82a..7d1a5e87 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ All major and minor version changes will be documented in this file. Details of ## Details +### [9.29.0] - 2021-07-28 +- 'TLS JA3 Fingerprint' operation added [@n1474335] | [9a33498] + ### [9.28.0] - 2021-03-26 - 'CBOR Encode' and 'CBOR Decode' operations added [@Danh4] | [#999] @@ -259,6 +262,7 @@ All major and minor version changes will be documented in this file. Details of +[9.29.0]: https://github.com/gchq/CyberChef/releases/tag/v9.29.0 [9.28.0]: https://github.com/gchq/CyberChef/releases/tag/v9.28.0 [9.27.0]: https://github.com/gchq/CyberChef/releases/tag/v9.27.0 [9.26.0]: https://github.com/gchq/CyberChef/releases/tag/v9.26.0 @@ -370,6 +374,7 @@ All major and minor version changes will be documented in this file. Details of [@Danh4]: https://github.com/Danh4 [8ad18b]: https://github.com/gchq/CyberChef/commit/8ad18bc7db6d9ff184ba3518686293a7685bf7b7 +[9a33498]: https://github.com/gchq/CyberChef/commit/9a33498fed26a8df9c9f35f39a78a174bf50a513 [#95]: https://github.com/gchq/CyberChef/pull/299 [#173]: https://github.com/gchq/CyberChef/pull/173 From 1728cc7a8567326a6b9038c36068437cdd2b89ab Mon Sep 17 00:00:00 2001 From: n1474335 Date: Wed, 28 Jul 2021 14:37:05 +0100 Subject: [PATCH 235/754] 9.29.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2102229d..e2b7075d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.28.0", + "version": "9.29.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 49c561ea..a4a04415 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.28.0", + "version": "9.29.0", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 1f19f2f58c5ccb6e9ebc0ba18a170a707ac1de6f Mon Sep 17 00:00:00 2001 From: n1474335 Date: Wed, 28 Jul 2021 14:58:09 +0100 Subject: [PATCH 236/754] Updated chromedriver --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a4a04415..5d1928e7 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "babel-eslint": "^10.1.0", "babel-loader": "^8.2.2", "babel-plugin-dynamic-import-node": "^2.3.3", - "chromedriver": "^88.0.0", + "chromedriver": "^92.0.0", "cli-progress": "^3.9.0", "colors": "^1.4.0", "copy-webpack-plugin": "^7.0.0", From 6dfc21ef0657204f5854c21f21ed54fd7304c6da Mon Sep 17 00:00:00 2001 From: n1474335 Date: Wed, 28 Jul 2021 14:58:17 +0100 Subject: [PATCH 237/754] 9.29.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index e2b7075d..b5bd90ee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.29.0", + "version": "9.29.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 5d1928e7..99af1d01 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.29.0", + "version": "9.29.1", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From d2568e2a29e18fe6e88b13025246aeffe8c94f6b Mon Sep 17 00:00:00 2001 From: n1474335 Date: Wed, 28 Jul 2021 15:35:24 +0100 Subject: [PATCH 238/754] Updated dependencies --- package-lock.json | 801 +++++++++++++++++++++++++++------------------- package.json | 12 +- 2 files changed, 473 insertions(+), 340 deletions(-) diff --git a/package-lock.json b/package-lock.json index b5bd90ee..9c4a13a5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3090,6 +3090,12 @@ "integrity": "sha512-8UT/J+xqCYfn3fKtOznAibsHpiuDshCb0fwgWxRazTT19Igp9ovoXMPhXyLD6m3CKQGTMHgqoxaFfMWaL40Rnw==", "dev": true }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true + }, "@types/eslint": { "version": "7.2.6", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.6.tgz", @@ -3166,9 +3172,9 @@ } }, "@types/yauzl": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz", - "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", + "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", "dev": true, "optional": true, "requires": { @@ -3377,9 +3383,9 @@ }, "dependencies": { "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { "ms": "2.1.2" @@ -3786,9 +3792,9 @@ "dev": true }, "ast-types": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", - "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", "dev": true, "requires": { "tslib": "^2.0.1" @@ -4734,9 +4740,9 @@ } }, "chromedriver": { - "version": "88.0.0", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-88.0.0.tgz", - "integrity": "sha512-EE8rXh7mikxk3VWKjUsz0KCUX8d3HkQ4HgMNJhWrWjzju12dKPPVHO9MY+YaAI5ryXrXGNf0Y4HcNKgW36P/CA==", + "version": "92.0.0", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-92.0.0.tgz", + "integrity": "sha512-IdJ5n5jLL6tCsGQF/fQHF2gDEhVzoYIqktUn6hE/BSsXlCcyDTi45fQbhTEhZlmshM8+BpnRtPuIT5DRbxNqKg==", "dev": true, "requires": { "@testim/chrome-version": "^1.0.7", @@ -4744,17 +4750,8 @@ "del": "^6.0.0", "extract-zip": "^2.0.1", "https-proxy-agent": "^5.0.0", - "mkdirp": "^1.0.4", "proxy-from-env": "^1.1.0", "tcp-port-used": "^1.0.1" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - } } }, "ci-info": { @@ -4830,9 +4827,9 @@ } }, "cli-spinners": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.5.0.tgz", - "integrity": "sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", + "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==", "dev": true }, "cliui": { @@ -4892,12 +4889,6 @@ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", "dev": true }, - "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", @@ -5676,9 +5667,9 @@ } }, "data-uri-to-buffer": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz", - "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz", + "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==", "dev": true }, "dateformat": { @@ -5820,14 +5811,14 @@ } }, "degenerator": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz", - "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-2.2.0.tgz", + "integrity": "sha512-aiQcQowF01RxFI4ZLFMpzyotbQonhNpBao6dkI8JPk5a+hmSjR5ErHp2CQySmQe8os3VBqLCIh87nDBgZXvsmg==", "dev": true, "requires": { - "ast-types": "0.x.x", - "escodegen": "1.x.x", - "esprima": "3.x.x" + "ast-types": "^0.13.2", + "escodegen": "^1.8.1", + "esprima": "^4.0.0" }, "dependencies": { "escodegen": { @@ -5841,22 +5832,8 @@ "esutils": "^2.0.2", "optionator": "^0.8.1", "source-map": "~0.6.1" - }, - "dependencies": { - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - } } }, - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true - }, "estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", @@ -5931,6 +5908,12 @@ "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", "dev": true }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, "diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", @@ -6144,10 +6127,13 @@ "dev": true }, "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", - "dev": true + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", + "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", + "dev": true, + "requires": { + "jake": "^10.6.1" + } }, "electron-to-chromium": { "version": "1.3.649", @@ -6234,9 +6220,9 @@ "dev": true }, "envinfo": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.3.tgz", - "integrity": "sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==", + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", "dev": true }, "errno": { @@ -6314,12 +6300,6 @@ "es6-promise-polyfill": "^1.2.0" } }, - "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-promise-polyfill": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/es6-promise-polyfill/-/es6-promise-polyfill-1.2.0.tgz", @@ -7006,9 +6986,9 @@ }, "dependencies": { "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { "ms": "2.1.2" @@ -7155,7 +7135,17 @@ "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 + "dev": true, + "optional": true + }, + "filelist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", + "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } }, "fill-range": { "version": "7.0.1", @@ -7331,6 +7321,17 @@ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "dev": true }, + "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": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", @@ -7505,48 +7506,39 @@ } }, "get-uri": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.4.tgz", - "integrity": "sha512-v7LT/s8kVjs+Tx0ykk1I+H/rbpzkHvuIq87LmeXptcf5sNWm9uQiwjNAt94SJPA1zOlCntmnOlJvVWKmzsxG8Q==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-3.0.2.tgz", + "integrity": "sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==", "dev": true, "requires": { - "data-uri-to-buffer": "1", - "debug": "2", - "extend": "~3.0.2", - "file-uri-to-path": "1", - "ftp": "~0.3.10", - "readable-stream": "2" + "@tootallnate/once": "1", + "data-uri-to-buffer": "3", + "debug": "4", + "file-uri-to-path": "2", + "fs-extra": "^8.1.0", + "ftp": "^0.3.10" }, "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==", + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "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" + "ms": "2.1.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==", + "file-uri-to-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz", + "integrity": "sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==", "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" - } + "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 } } }, @@ -8121,6 +8113,12 @@ "ansi-regex": "^2.0.0" } }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -8442,41 +8440,30 @@ } }, "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==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", "dev": true, "requires": { - "agent-base": "4", - "debug": "3.1.0" + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" }, "dependencies": { - "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" - } - }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "2.1.2" } }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - } + "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 } } }, @@ -8625,9 +8612,9 @@ }, "dependencies": { "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { "ms": "2.1.2" @@ -8925,6 +8912,12 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, + "is-bigint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", + "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", + "dev": true + }, "is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", @@ -8934,6 +8927,38 @@ "binary-extensions": "^1.0.0" } }, + "is-boolean-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", + "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + }, + "dependencies": { + "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" + } + }, + "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" + } + } + } + }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", @@ -9068,6 +9093,12 @@ "lodash.isfinite": "^3.3.2" } }, + "is-number-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", + "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", + "dev": true + }, "is-path-cwd": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", @@ -9095,9 +9126,9 @@ } }, "is-path-inside": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", - "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true }, "is-plain-object": { @@ -9132,6 +9163,12 @@ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, + "is-string": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", + "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", + "dev": true + }, "is-symbol": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", @@ -9179,9 +9216,9 @@ "dev": true }, "is2": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.6.tgz", - "integrity": "sha512-+Z62OHOjA6k2sUDOKXoZI3EXv7Fb1K52jpTBLbkfx62bcUeSsrTBLhEquCRDKTx0XE5XbHcG/S2vrtE3lnEDsQ==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.7.tgz", + "integrity": "sha512-4vBQoURAXC6hnLFxD4VW7uc04XiwTTl/8ydYJxKvPwkWQrSjInkuM5VZVg6BGr1/natq69zDuvO9lGpLClJqvA==", "dev": true, "requires": { "deep-is": "^0.1.3", @@ -9213,6 +9250,55 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, + "jake": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", + "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==", + "dev": true, + "requires": { + "async": "0.9.x", + "chalk": "^2.4.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "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" + } + }, + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "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" + } + }, + "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" + } + } + } + }, "jest-worker": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", @@ -9367,14 +9453,23 @@ "minimist": "^1.2.5" } }, + "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" + } + }, "jsonpath": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.0.tgz", - "integrity": "sha512-CZHwa1sZOf42qkIyK7evwToFXeTB4iplbl6Z9CVwU0wmBQPffL6gtYJXCoeciJoZENMuzaidPjhp2iOLRei4wQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", + "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", "requires": { "esprima": "1.2.2", "static-eval": "2.0.2", - "underscore": "1.7.0" + "underscore": "1.12.1" }, "dependencies": { "esprima": { @@ -9426,9 +9521,9 @@ "integrity": "sha512-zCTP6Qd/WwjrpuHFkJuXc5opRdKprUr7eI7+JCCtcetThJt45qptu82MWQ+eET+FtDrMo7+BYjo3iD0XIq1L9Q==" }, "jsrsasign": { - "version": "10.1.10", - "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.1.10.tgz", - "integrity": "sha512-//Kkza0S/kFbK5fq6eVbwlM36tKes+ak6FfTn8+mFxKlYzN/3bVJDa0ZERGYu78QKWrXPpos+TIC1tTJDNFDRQ==" + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.3.0.tgz", + "integrity": "sha512-irDIKKFW++EAELgP3fjFi5/Fn0XEyfuQTTgpbeFwCGkV6tRIYZl3uraRea2HTXWCstcSZuDaCbdAhU1n+075Bg==" }, "jszip": { "version": "2.5.0", @@ -9769,9 +9864,9 @@ } }, "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "lodash._arraycopy": { "version": "3.0.0", @@ -10399,12 +10494,6 @@ "sprintf-js": "~1.0.2" } }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, "debug": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", @@ -10528,16 +10617,6 @@ "requires": { "isexe": "^2.0.0" } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } } } }, @@ -10658,9 +10737,9 @@ "dev": true }, "netmask": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz", - "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", "dev": true }, "ngeohash": { @@ -10675,16 +10754,17 @@ "dev": true }, "nightwatch": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-1.5.1.tgz", - "integrity": "sha512-tFhzV7JyLjI+Rq7xXLaRUQ/hExP87GlMYiAlhAYaODpyQSIl8O7/yf7gAUYQd3H7m3n+tnwFFsuE0GaxvCdoZA==", + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-1.7.7.tgz", + "integrity": "sha512-yKMiIQCRCqGcMbULENSbQt1fX3SRoKlswt7EuMphTUkODkFGFtasba9eGoWnLyiHl5ZAA9JFhO1DVn+IanbGYA==", "dev": true, "requires": { "assertion-error": "^1.1.0", "chai-nightwatch": "^0.4.0", "ci-info": "^2.0.0", + "didyoumean": "^1.2.1", "dotenv": "7.0.0", - "ejs": "^2.7.4", + "ejs": "^3.1.6", "envinfo": "^7.5.1", "lodash.clone": "3.0.3", "lodash.defaultsdeep": "^4.6.1", @@ -10694,7 +10774,7 @@ "mkpath": "1.0.0", "mocha": "6.2.3", "ora": "^4.0.3", - "proxy-agent": "^3.1.1", + "proxy-agent": "^4.0.1", "request": "^2.88.2", "request-promise": "^4.2.5", "semver": "^6.3.0", @@ -11077,34 +11157,117 @@ } }, "object.getownpropertydescriptors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", - "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", + "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", "dev": true, "requires": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" + "es-abstract": "^1.18.0-next.2" }, "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "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" + } + }, + "es-abstract": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", + "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.3", + "is-string": "^1.0.6", + "object-inspect": "^1.10.3", "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + }, + "dependencies": { + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "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" + } + }, + "is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "dev": true + }, + "is-regex": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", + "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.2" + }, + "dependencies": { + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + } + } + }, + "object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "dev": true + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } } } @@ -11436,30 +11599,22 @@ "dev": true }, "pac-proxy-agent": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-3.0.1.tgz", - "integrity": "sha512-44DUg21G/liUZ48dJpUSjZnFfZro/0K5JTyFYLBcmh9+T6Ooi4/i4efwUiEy0+4oQusCBqWdhv16XohIj1GqnQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-4.1.0.tgz", + "integrity": "sha512-ejNgYm2HTXSIYX9eFlkvqFp8hyJ374uDf0Zq5YUAifiSh1D6fo+iBivQZirGvVv8dCYUsLhmLBRhlAYvBKI5+Q==", "dev": true, "requires": { - "agent-base": "^4.2.0", - "debug": "^4.1.1", - "get-uri": "^2.0.0", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^3.0.0", - "pac-resolver": "^3.0.0", + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4", + "get-uri": "3", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "5", + "pac-resolver": "^4.1.0", "raw-body": "^2.2.0", - "socks-proxy-agent": "^4.0.1" + "socks-proxy-agent": "5" }, "dependencies": { - "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" - } - }, "bytes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", @@ -11467,9 +11622,9 @@ "dev": true }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { "ms": "2.1.2" @@ -11481,15 +11636,6 @@ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - } - }, "http-errors": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", @@ -11503,27 +11649,6 @@ "toidentifier": "1.0.0" } }, - "https-proxy-agent": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", - "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", - "dev": true, - "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -11551,16 +11676,14 @@ } }, "pac-resolver": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-3.0.0.tgz", - "integrity": "sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-4.2.0.tgz", + "integrity": "sha512-rPACZdUyuxT5Io/gFKUeeZFfE5T7ve7cAkE5TUZRRfuKP0u5Hocwe48X7ZEm6mYB+bTB0Qf+xlVlA/RM/i6RCQ==", "dev": true, "requires": { - "co": "^4.6.0", - "degenerator": "^1.0.4", + "degenerator": "^2.2.0", "ip": "^1.1.5", - "netmask": "^1.0.6", - "thunkify": "^2.1.2" + "netmask": "^2.0.1" } }, "pad-stream": { @@ -12116,69 +12239,30 @@ } }, "proxy-agent": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.1.1.tgz", - "integrity": "sha512-WudaR0eTsDx33O3EJE16PjBRZWcX8GqCEeERw1W3hZJgH/F2a46g7jty6UGty6NeJ4CKQy8ds2CJPMiyeqaTvw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-4.0.1.tgz", + "integrity": "sha512-ODnQnW2jc/FUVwHHuaZEfN5otg/fMbvMxz9nMSUQfJ9JU7q2SZvSULSsjLloVgJOiv9yhc8GlNMKc4GkFmcVEA==", "dev": true, "requires": { - "agent-base": "^4.2.0", + "agent-base": "^6.0.0", "debug": "4", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^3.0.0", + "http-proxy-agent": "^4.0.0", + "https-proxy-agent": "^5.0.0", "lru-cache": "^5.1.1", - "pac-proxy-agent": "^3.0.1", + "pac-proxy-agent": "^4.1.0", "proxy-from-env": "^1.0.0", - "socks-proxy-agent": "^4.0.1" + "socks-proxy-agent": "^5.0.0" }, "dependencies": { - "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" - } - }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { "ms": "2.1.2" } }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - } - }, - "https-proxy-agent": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", - "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", - "dev": true, - "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, "lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -13473,42 +13557,40 @@ } }, "socks": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", - "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz", + "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==", "dev": true, "requires": { - "ip": "1.1.5", + "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==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz", + "integrity": "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==", "dev": true, "requires": { - "agent-base": "~4.2.1", - "socks": "~2.3.2" + "agent-base": "^6.0.2", + "debug": "4", + "socks": "^2.3.3" }, "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==", + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { - "es6-promisify": "^5.0.0" + "ms": "2.1.2" } }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - } + "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 } } }, @@ -14224,12 +14306,6 @@ } } }, - "thunkify": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz", - "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=", - "dev": true - }, "thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", @@ -14458,6 +14534,26 @@ "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", "dev": true }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "dependencies": { + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + } + } + }, "unc-path-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", @@ -14465,9 +14561,9 @@ "dev": true }, "underscore": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", - "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=" + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" }, "underscore.string": { "version": "3.3.5", @@ -14525,6 +14621,12 @@ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", "dev": true }, + "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 + }, "unorm": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz", @@ -15183,9 +15285,9 @@ } }, "webpack-node-externals": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-2.5.2.tgz", - "integrity": "sha512-aHdl/y2N7PW2Sx7K+r3AxpJO+aDMcYzMQd60Qxefq3+EwhewSbTBqNumOsCE1JsCUNoyfGj5465N0sSf6hc/5w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", + "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", "dev": true }, "webpack-sources": { @@ -15299,6 +15401,19 @@ "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", @@ -15517,9 +15632,9 @@ "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" }, "xmldom": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.4.0.tgz", - "integrity": "sha512-2E93k08T30Ugs+34HBSTQLVtpi6mCddaY8uO+pMNk1pqSjV5vElzn4mmh6KLxN3hki8rNcHSYzILoh3TEWORvA==" + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.6.0.tgz", + "integrity": "sha512-iAcin401y58LckRZ0TkI4k0VSM1Qg0KGSc3i8rU+xrxe19A/BN1zHyVSJY7uoutVlaTSzYyk/v5AmkewAP7jtg==" }, "xpath": { "version": "0.0.32", @@ -15665,6 +15780,24 @@ } } }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, "yargs-unparser": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", diff --git a/package.json b/package.json index 99af1d01..140ade96 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "html-webpack-plugin": "^5.1.0", "imports-loader": "^2.0.0", "mini-css-extract-plugin": "^1.3.7", - "nightwatch": "^1.5.1", + "nightwatch": "^1.7.7", "node-sass": "^5.0.0", "postcss": "^8.2.6", "postcss-css-variables": "^0.17.0", @@ -80,7 +80,7 @@ "webpack": "^5.22.0", "webpack-bundle-analyzer": "^4.4.0", "webpack-dev-server": "^3.11.2", - "webpack-node-externals": "^2.5.2", + "webpack-node-externals": "^3.0.0", "worker-loader": "^3.0.8" }, "dependencies": { @@ -123,14 +123,14 @@ "js-crc": "^0.2.0", "js-sha3": "^0.8.0", "jsesc": "^3.0.2", - "jsonpath": "^1.1.0", + "jsonpath": "^1.1.1", "jsonwebtoken": "^8.5.1", "jsqr": "^1.3.1", - "jsrsasign": "^10.1.10", + "jsrsasign": "^10.3.0", "kbpgp": "2.1.15", "libbzip2-wasm": "0.0.4", "libyara-wasm": "^1.1.0", - "lodash": "^4.17.20", + "lodash": "^4.17.21", "loglevel": "^1.7.1", "loglevel-message-prefix": "^3.0.0", "markdown-it": "^12.0.4", @@ -159,7 +159,7 @@ "unorm": "^1.6.0", "utf8": "^3.0.0", "vkbeautify": "^0.99.3", - "xmldom": "^0.4.0", + "xmldom": "^0.6.0", "xpath": "0.0.32", "xregexp": "^5.0.1", "zlibjs": "^0.3.1" From 5e8985810ec87a3a6e3fd3e69e66ecf62fbd8fee Mon Sep 17 00:00:00 2001 From: n1474335 Date: Wed, 28 Jul 2021 15:35:29 +0100 Subject: [PATCH 239/754] 9.29.2 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9c4a13a5..2e402a0a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.29.1", + "version": "9.29.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 140ade96..175c98e2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.29.1", + "version": "9.29.2", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 5b1fad118ff45d368e75b042e2ac0f7205e50047 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Wed, 28 Jul 2021 15:56:01 +0100 Subject: [PATCH 240/754] Fixed chromedriver path --- nightwatch.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nightwatch.json b/nightwatch.json index 072e6c52..7054ad33 100644 --- a/nightwatch.json +++ b/nightwatch.json @@ -8,7 +8,7 @@ "launch_url": "http://localhost:8080", "webdriver": { "start_process": true, - "server_path": "./node_modules/.bin/chromedriver", + "server_path": "./node_modules/chromedriver/lib/chromedriver/chromedriver", "port": 9515, "log_path": false }, From 8379a9b275fc15a2e55ccffae5a8d79f1ce8c920 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 10 Aug 2021 14:26:33 +0100 Subject: [PATCH 241/754] Skipping UI tests in GitHub Actions --- .github/workflows/master.yml | 6 +++--- .github/workflows/pull_requests.yml | 6 +++--- .github/workflows/releases.yml | 6 +++--- nightwatch.json | 2 +- src/core/operations/TLSJA3Fingerprint.mjs | 7 +++++++ 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index d6b6498d..aff9ecf1 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -36,9 +36,9 @@ jobs: - name: Generate sitemap run: npx grunt exec:sitemap - - name: UI Tests - if: success() - run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui + # - name: UI Tests + # if: success() + # run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui - name: Prepare for GitHub Pages if: success() diff --git a/.github/workflows/pull_requests.yml b/.github/workflows/pull_requests.yml index 379078b8..d9552db8 100644 --- a/.github/workflows/pull_requests.yml +++ b/.github/workflows/pull_requests.yml @@ -32,6 +32,6 @@ jobs: if: success() run: npx grunt prod - - name: UI Tests - if: success() - run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui + # - name: UI Tests + # if: success() + # run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index 7985c99a..383ce967 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -33,9 +33,9 @@ jobs: if: success() run: npx grunt prod - - name: UI Tests - if: success() - run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui + # - name: UI Tests + # if: success() + # run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui - name: Upload Release Assets if: success() diff --git a/nightwatch.json b/nightwatch.json index 7054ad33..072e6c52 100644 --- a/nightwatch.json +++ b/nightwatch.json @@ -8,7 +8,7 @@ "launch_url": "http://localhost:8080", "webdriver": { "start_process": true, - "server_path": "./node_modules/chromedriver/lib/chromedriver/chromedriver", + "server_path": "./node_modules/.bin/chromedriver", "port": 9515, "log_path": false }, diff --git a/src/core/operations/TLSJA3Fingerprint.mjs b/src/core/operations/TLSJA3Fingerprint.mjs index 119bdac5..d906d032 100644 --- a/src/core/operations/TLSJA3Fingerprint.mjs +++ b/src/core/operations/TLSJA3Fingerprint.mjs @@ -2,6 +2,13 @@ * @author n1474335 [n1474335@gmail.com] * @copyright Crown Copyright 2021 * @license Apache-2.0 + * + * JA3 created by Salesforce + * John B. Althouse + * Jeff Atkinson + * Josh Atkins + * + * Algorithm released under the BSD-3-clause licence */ import Operation from "../Operation.mjs"; From 289a417dfb5923de5e1694354ec42a08d9395bfe Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 10 Aug 2021 14:57:34 +0100 Subject: [PATCH 242/754] Added 'JA3S Fingerprint' operation --- src/core/config/Categories.json | 3 +- ...SJA3Fingerprint.mjs => JA3Fingerprint.mjs} | 10 +- src/core/operations/JA3SFingerprint.mjs | 145 ++++++++++++++++++ tests/operations/index.mjs | 2 +- ...SJA3Fingerprint.mjs => JA3Fingerprint.mjs} | 18 +-- tests/operations/tests/JA3SFingerprint.mjs | 55 +++++++ 6 files changed, 217 insertions(+), 16 deletions(-) rename src/core/operations/{TLSJA3Fingerprint.mjs => JA3Fingerprint.mjs} (96%) create mode 100644 src/core/operations/JA3SFingerprint.mjs rename tests/operations/tests/{TLSJA3Fingerprint.mjs => JA3Fingerprint.mjs} (89%) create mode 100644 tests/operations/tests/JA3SFingerprint.mjs diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index ff472caf..5d729e32 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -193,7 +193,8 @@ "Protobuf Decode", "VarInt Encode", "VarInt Decode", - "TLS JA3 Fingerprint", + "JA3 Fingerprint", + "JA3S Fingerprint", "Format MAC addresses", "Change IP format", "Group IP addresses", diff --git a/src/core/operations/TLSJA3Fingerprint.mjs b/src/core/operations/JA3Fingerprint.mjs similarity index 96% rename from src/core/operations/TLSJA3Fingerprint.mjs rename to src/core/operations/JA3Fingerprint.mjs index d906d032..0384c6e4 100644 --- a/src/core/operations/TLSJA3Fingerprint.mjs +++ b/src/core/operations/JA3Fingerprint.mjs @@ -18,17 +18,17 @@ import Stream from "../lib/Stream.mjs"; import {runHash} from "../lib/Hash.mjs"; /** - * TLS JA3 Fingerprint operation + * JA3 Fingerprint operation */ -class TLSJA3Fingerprint extends Operation { +class JA3Fingerprint extends Operation { /** - * TLSJA3Fingerprint constructor + * JA3Fingerprint constructor */ constructor() { super(); - this.name = "TLS JA3 Fingerprint"; + this.name = "JA3 Fingerprint"; this.module = "Crypto"; this.description = "Generates a JA3 fingerprint to help identify TLS clients based on hashing together values from the Client Hello.

Input: A hex stream of the TLS Client Hello application layer."; this.infoURL = "https://engineering.salesforce.com/tls-fingerprinting-with-ja3-and-ja3s-247362855967"; @@ -202,4 +202,4 @@ const GREASE_CIPHERSUITES = [ 0xfafa ]; -export default TLSJA3Fingerprint; +export default JA3Fingerprint; diff --git a/src/core/operations/JA3SFingerprint.mjs b/src/core/operations/JA3SFingerprint.mjs new file mode 100644 index 00000000..b6570501 --- /dev/null +++ b/src/core/operations/JA3SFingerprint.mjs @@ -0,0 +1,145 @@ +/** + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2021 + * @license Apache-2.0 + * + * JA3S created by Salesforce + * John B. Althouse + * Jeff Atkinson + * Josh Atkins + * + * Algorithm released under the BSD-3-clause licence + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; +import Stream from "../lib/Stream.mjs"; +import {runHash} from "../lib/Hash.mjs"; + +/** + * JA3S Fingerprint operation + */ +class JA3SFingerprint extends Operation { + + /** + * JA3SFingerprint constructor + */ + constructor() { + super(); + + this.name = "JA3S Fingerprint"; + this.module = "Crypto"; + this.description = "Generates a JA3S fingerprint to help identify TLS servers based on hashing together values from the Server Hello.

Input: A hex stream of the TLS Server Hello record in the application layer."; + this.infoURL = "https://engineering.salesforce.com/tls-fingerprinting-with-ja3-and-ja3s-247362855967"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + name: "Input format", + type: "option", + value: ["Hex", "Base64", "Raw"] + }, + { + name: "Output format", + type: "option", + value: ["Hash digest", "JA3S string", "Full details"] + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const [inputFormat, outputFormat] = args; + + input = Utils.convertToByteArray(input, inputFormat); + const s = new Stream(new Uint8Array(input)); + + const handshake = s.readInt(1); + if (handshake !== 0x16) + throw new OperationError("Not handshake data."); + + // Version + s.moveForwardsBy(2); + + // Length + const length = s.readInt(2); + if (s.length !== length + 5) + throw new OperationError("Incorrect handshake length."); + + // Handshake type + const handshakeType = s.readInt(1); + if (handshakeType !== 2) + throw new OperationError("Not a Server Hello."); + + // Handshake length + const handshakeLength = s.readInt(3); + if (s.length !== handshakeLength + 9) + throw new OperationError("Not enough data in Server Hello."); + + // Hello version + const helloVersion = s.readInt(2); + + // Random + s.moveForwardsBy(32); + + // Session ID + const sessionIDLength = s.readInt(1); + s.moveForwardsBy(sessionIDLength); + + // Cipher suite + const cipherSuite = s.readInt(2); + + // Compression Method + s.moveForwardsBy(1); + + // Extensions + const extensionsLength = s.readInt(2); + const extensions = s.getBytes(extensionsLength); + const es = new Stream(extensions); + const exts = []; + while (es.hasMore()) { + const type = es.readInt(2); + const length = es.readInt(2); + es.moveForwardsBy(length); + exts.push(type); + } + + // Output + const ja3s = [ + helloVersion.toString(), + cipherSuite, + exts.join("-") + ]; + const ja3sStr = ja3s.join(","); + const ja3sHash = runHash("md5", Utils.strToArrayBuffer(ja3sStr)); + + switch (outputFormat) { + case "JA3S string": + return ja3sStr; + case "Full details": + return `Hash digest: +${ja3sHash} + +Full JA3S string: +${ja3sStr} + +TLS Version: +${helloVersion.toString()} +Cipher Suite: +${cipherSuite} +Extensions: +${exts.join("-")}`; + case "Hash digest": + default: + return ja3sHash; + } + } + +} + +export default JA3SFingerprint; diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index fdce5131..8694c443 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -104,7 +104,7 @@ import "./tests/Unicode.mjs"; import "./tests/RSA.mjs"; import "./tests/CBOREncode.mjs"; import "./tests/CBORDecode.mjs"; -import "./tests/TLSJA3Fingerprint.mjs"; +import "./tests/JA3Fingerprint.mjs"; // Cannot test operations that use the File type yet diff --git a/tests/operations/tests/TLSJA3Fingerprint.mjs b/tests/operations/tests/JA3Fingerprint.mjs similarity index 89% rename from tests/operations/tests/TLSJA3Fingerprint.mjs rename to tests/operations/tests/JA3Fingerprint.mjs index 4f1534fb..618dc73d 100644 --- a/tests/operations/tests/TLSJA3Fingerprint.mjs +++ b/tests/operations/tests/JA3Fingerprint.mjs @@ -1,5 +1,5 @@ /** - * TLSJA3Fingerprint tests. + * JA3Fingerprint tests. * * @author n1474335 [n1474335@gmail.com] * @copyright Crown Copyright 2021 @@ -9,45 +9,45 @@ import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { - name: "TLS JA3 Fingerprint: TLS 1.0", + name: "JA3 Fingerprint: TLS 1.0", input: "16030100a4010000a00301543dd2dd48f517ca9a93b1e599f019fdece704a23e86c1dcac588427abbaddf200005cc014c00a0039003800880087c00fc00500350084c012c00800160013c00dc003000ac013c00900330032009a009900450044c00ec004002f009600410007c011c007c00cc002000500040015001200090014001100080006000300ff0100001b000b000403000102000a000600040018001700230000000f000101", expectedOutput: "503053a0c5b2bd9b9334bf7f3d3b8852", recipeConfig: [ { - "op": "TLS JA3 Fingerprint", + "op": "JA3 Fingerprint", "args": ["Hex", "Hash digest"] } ], }, { - name: "TLS JA3 Fingerprint: TLS 1.1", + name: "JA3 Fingerprint: TLS 1.1", input: "16030100a4010000a00302543dd2ed907e47d0086f34bee2c52dd6ccd8de63ba9387f5e810b09d9d49b38000005cc014c00a0039003800880087c00fc00500350084c012c00800160013c00dc003000ac013c00900330032009a009900450044c00ec004002f009600410007c011c007c00cc002000500040015001200090014001100080006000300ff0100001b000b000403000102000a000600040018001700230000000f000101", expectedOutput: "a314eb64cee6cb832aaaa372c8295bab", recipeConfig: [ { - "op": "TLS JA3 Fingerprint", + "op": "JA3 Fingerprint", "args": ["Hex", "Hash digest"] } ], }, { - name: "TLS JA3 Fingerprint: TLS 1.2", + name: "JA3 Fingerprint: TLS 1.2", input: "1603010102010000fe0303543dd3283283692d85f9416b5ccc65d2aafca45c6530b3c6eafbf6d371b6a015000094c030c02cc028c024c014c00a00a3009f006b006a0039003800880087c032c02ec02ac026c00fc005009d003d00350084c012c00800160013c00dc003000ac02fc02bc027c023c013c00900a2009e0067004000330032009a009900450044c031c02dc029c025c00ec004009c003c002f009600410007c011c007c00cc002000500040015001200090014001100080006000300ff01000041000b000403000102000a000600040018001700230000000d002200200601060206030501050205030401040204030301030203030201020202030101000f000101", expectedOutput: "c1a36e1a870786cc75edddc0009eaf3a", recipeConfig: [ { - "op": "TLS JA3 Fingerprint", + "op": "JA3 Fingerprint", "args": ["Hex", "Hash digest"] } ], }, { - name: "TLS JA3 Fingerprint: TLS 1.3", + name: "JA3 Fingerprint: TLS 1.3", input: "1603010200010001fc03034355d402c132771a9386b6e9994ae37069e0621af504c26673b1343843c21d8d0000264a4a130113021303c02bc02fc02cc030cca9cca8cc14cc13c013c014009c009d002f0035000a010001addada0000ff01000100000000180016000013626c6f672e636c6f7564666c6172652e636f6d0017000000230000000d00140012040308040401050308050501080606010201000500050100000000001200000010000e000c02683208687474702f312e3175500000000b000201000028002b00295a5a000100001d0020cf78b9167af054b922a96752b43973107b2a57766357dd288b2b42ab5df30e08002d00020101002b000b0acaca7f12030303020301000a000a00085a5a001d001700180a0a000100001500e4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", expectedOutput: "4826a90ec2daf4f7b4b64cc1c8bd343b", recipeConfig: [ { - "op": "TLS JA3 Fingerprint", + "op": "JA3 Fingerprint", "args": ["Hex", "Hash digest"] } ], diff --git a/tests/operations/tests/JA3SFingerprint.mjs b/tests/operations/tests/JA3SFingerprint.mjs new file mode 100644 index 00000000..047018e8 --- /dev/null +++ b/tests/operations/tests/JA3SFingerprint.mjs @@ -0,0 +1,55 @@ +/** + * JA3SFingerprint tests. + * + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2021 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "JA3S Fingerprint: TLS 1.0", + input: "160301003d020000390301543dd2ddedbfe33895bd6bc676a3fa6b9fe5773a6e04d5476d1af3bcbc1dcbbb00c011000011ff01000100000b00040300010200230000", + expectedOutput: "bed95e1b525d2f41db3a6d68fac5b566", + recipeConfig: [ + { + "op": "JA3S Fingerprint", + "args": ["Hex", "Hash digest"] + } + ], + }, + { + name: "JA3S Fingerprint: TLS 1.1", + input: "160302003d020000390302543dd2ed88131999a0120d36c14a4139671d75aae3d7d7779081d3cf7dd7725a00c013000011ff01000100000b00040300010200230000", + expectedOutput: "130fac2dc19b142500acb0abc63b6379", + recipeConfig: [ + { + "op": "JA3S Fingerprint", + "args": ["Hex", "Hash digest"] + } + ], + }, + { + name: "JA3S Fingerprint: TLS 1.2", + input: "160303003d020000390303543dd328b38b445686739d58fab733fa23838f575e0e5ad9a1b9baace6cc3b4100c02f000011ff01000100000b00040300010200230000", + expectedOutput: "ccc514751b175866924439bdbb5bba34", + recipeConfig: [ + { + "op": "JA3S Fingerprint", + "args": ["Hex", "Hash digest"] + } + ], + }, + { + name: "JA3S Fingerprint: TLS 1.3", + input: "16030100520200004e7f123ef1609fd3f4fa8668aac5822d500fb0639b22671d0fb7258597355795511bf61301002800280024001d0020ae0e282a3b7a463e71064ecbaf671586e979b0edbebf7a4735c31678c70f660c", + expectedOutput: "986ae432c402479fe7a0c6fbe02164c1", + recipeConfig: [ + { + "op": "JA3S Fingerprint", + "args": ["Hex", "Hash digest"] + } + ], + }, +]); From 917562421028014b4f19e09464af19e4df16f787 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 10 Aug 2021 15:00:04 +0100 Subject: [PATCH 243/754] Updated CHANGELOG --- CHANGELOG.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d1a5e87..4a4e109a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,8 +13,11 @@ All major and minor version changes will be documented in this file. Details of ## Details +### [9.30.0] - 2021-08-10 +- 'JA3S Fingerprint' operation added [@n1474335] | [289a417d] + ### [9.29.0] - 2021-07-28 -- 'TLS JA3 Fingerprint' operation added [@n1474335] | [9a33498] +- 'JA3 Fingerprint' operation added [@n1474335] | [9a33498] ### [9.28.0] - 2021-03-26 - 'CBOR Encode' and 'CBOR Decode' operations added [@Danh4] | [#999] @@ -262,6 +265,7 @@ All major and minor version changes will be documented in this file. Details of +[9.30.0]: https://github.com/gchq/CyberChef/releases/tag/v9.30.0 [9.29.0]: https://github.com/gchq/CyberChef/releases/tag/v9.29.0 [9.28.0]: https://github.com/gchq/CyberChef/releases/tag/v9.28.0 [9.27.0]: https://github.com/gchq/CyberChef/releases/tag/v9.27.0 @@ -375,6 +379,7 @@ All major and minor version changes will be documented in this file. Details of [8ad18b]: https://github.com/gchq/CyberChef/commit/8ad18bc7db6d9ff184ba3518686293a7685bf7b7 [9a33498]: https://github.com/gchq/CyberChef/commit/9a33498fed26a8df9c9f35f39a78a174bf50a513 +[289a417d]: https://github.com/gchq/CyberChef/commit/289a417d [#95]: https://github.com/gchq/CyberChef/pull/299 [#173]: https://github.com/gchq/CyberChef/pull/173 From 57bb8fbc45a0b61cf1e5c82b49c9334778c1da5f Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 10 Aug 2021 15:00:10 +0100 Subject: [PATCH 244/754] 9.30.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2e402a0a..36f5605d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.29.2", + "version": "9.30.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 175c98e2..2996633c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.29.2", + "version": "9.30.0", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From e9ca4dc9caf98f33fd986431cd400c88082a42b8 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 10 Aug 2021 16:48:35 +0100 Subject: [PATCH 245/754] Added HASSH operations --- src/core/config/Categories.json | 2 + .../operations/HASSHClientFingerprint.mjs | 166 ++++++++++++++++++ .../operations/HASSHServerFingerprint.mjs | 166 ++++++++++++++++++ src/core/operations/JA3Fingerprint.mjs | 2 +- src/core/operations/JA3SFingerprint.mjs | 2 +- tests/operations/index.mjs | 2 + tests/operations/tests/HASSH.mjs | 33 ++++ tests/operations/tests/JA3SFingerprint.mjs | 24 +-- 8 files changed, 384 insertions(+), 13 deletions(-) create mode 100644 src/core/operations/HASSHClientFingerprint.mjs create mode 100644 src/core/operations/HASSHServerFingerprint.mjs create mode 100644 tests/operations/tests/HASSH.mjs diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 5d729e32..d04ccb6b 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -195,6 +195,8 @@ "VarInt Decode", "JA3 Fingerprint", "JA3S Fingerprint", + "HASSH Client Fingerprint", + "HASSH Server Fingerprint", "Format MAC addresses", "Change IP format", "Group IP addresses", diff --git a/src/core/operations/HASSHClientFingerprint.mjs b/src/core/operations/HASSHClientFingerprint.mjs new file mode 100644 index 00000000..e507cea1 --- /dev/null +++ b/src/core/operations/HASSHClientFingerprint.mjs @@ -0,0 +1,166 @@ +/** + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2021 + * @license Apache-2.0 + * + * HASSH created by Salesforce + * Ben Reardon (@benreardon) + * Adel Karimi (@0x4d31) + * and the JA3 crew: + * John B. Althouse + * Jeff Atkinson + * Josh Atkins + * + * Algorithm released under the BSD-3-clause licence + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; +import Stream from "../lib/Stream.mjs"; +import {runHash} from "../lib/Hash.mjs"; + +/** + * HASSH Client Fingerprint operation + */ +class HASSHClientFingerprint extends Operation { + + /** + * HASSHClientFingerprint constructor + */ + constructor() { + super(); + + this.name = "HASSH Client Fingerprint"; + this.module = "Crypto"; + this.description = "Generates a HASSH fingerprint to help identify SSH clients based on hashing together values from the Client Key Exchange Init message.

Input: A hex stream of the SSH_MSG_KEXINIT packet application layer from Client to Server."; + this.infoURL = "https://engineering.salesforce.com/open-sourcing-hassh-abed3ae5044c"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + name: "Input format", + type: "option", + value: ["Hex", "Base64", "Raw"] + }, + { + name: "Output format", + type: "option", + value: ["Hash digest", "HASSH algorithms string", "Full details"] + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const [inputFormat, outputFormat] = args; + + input = Utils.convertToByteArray(input, inputFormat); + const s = new Stream(new Uint8Array(input)); + + // Length + const length = s.readInt(4); + if (s.length !== length + 4) + throw new OperationError("Incorrect packet length."); + + // Padding length + const paddingLength = s.readInt(1); + + // Message code + const messageCode = s.readInt(1); + if (messageCode !== 20) + throw new OperationError("Not a Key Exchange Init."); + + // Cookie + s.moveForwardsBy(16); + + // KEX Algorithms + const kexAlgosLength = s.readInt(4); + const kexAlgos = s.readString(kexAlgosLength); + + // Server Host Key Algorithms + const serverHostKeyAlgosLength = s.readInt(4); + s.moveForwardsBy(serverHostKeyAlgosLength); + + // Encryption Algorithms Client to Server + const encAlgosC2SLength = s.readInt(4); + const encAlgosC2S = s.readString(encAlgosC2SLength); + + // Encryption Algorithms Server to Client + const encAlgosS2CLength = s.readInt(4); + s.moveForwardsBy(encAlgosS2CLength); + + // MAC Algorithms Client to Server + const macAlgosC2SLength = s.readInt(4); + const macAlgosC2S = s.readString(macAlgosC2SLength); + + // MAC Algorithms Server to Client + const macAlgosS2CLength = s.readInt(4); + s.moveForwardsBy(macAlgosS2CLength); + + // Compression Algorithms Client to Server + const compAlgosC2SLength = s.readInt(4); + const compAlgosC2S = s.readString(compAlgosC2SLength); + + // Compression Algorithms Server to Client + const compAlgosS2CLength = s.readInt(4); + s.moveForwardsBy(compAlgosS2CLength); + + // Languages Client to Server + const langsC2SLength = s.readInt(4); + s.moveForwardsBy(langsC2SLength); + + // Languages Server to Client + const langsS2CLength = s.readInt(4); + s.moveForwardsBy(langsS2CLength); + + // First KEX packet follows + s.moveForwardsBy(1); + + // Reserved + s.moveForwardsBy(4); + + // Padding string + s.moveForwardsBy(paddingLength); + + // Output + const hassh = [ + kexAlgos, + encAlgosC2S, + macAlgosC2S, + compAlgosC2S + ]; + const hasshStr = hassh.join(";"); + const hasshHash = runHash("md5", Utils.strToArrayBuffer(hasshStr)); + + switch (outputFormat) { + case "HASSH algorithms string": + return hasshStr; + case "Full details": + return `Hash digest: +${hasshHash} + +Full HASSH algorithms string: +${hasshStr} + +Key Exchange Algorithms: +${kexAlgos} +Encryption Algorithms Client to Server: +${encAlgosC2S} +MAC Algorithms Client to Server: +${macAlgosC2S} +Compression Algorithms Client to Server: +${compAlgosC2S}`; + case "Hash digest": + default: + return hasshHash; + } + } + +} + +export default HASSHClientFingerprint; diff --git a/src/core/operations/HASSHServerFingerprint.mjs b/src/core/operations/HASSHServerFingerprint.mjs new file mode 100644 index 00000000..f08a418b --- /dev/null +++ b/src/core/operations/HASSHServerFingerprint.mjs @@ -0,0 +1,166 @@ +/** + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2021 + * @license Apache-2.0 + * + * HASSH created by Salesforce + * Ben Reardon (@benreardon) + * Adel Karimi (@0x4d31) + * and the JA3 crew: + * John B. Althouse + * Jeff Atkinson + * Josh Atkins + * + * Algorithm released under the BSD-3-clause licence +*/ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; +import Stream from "../lib/Stream.mjs"; +import {runHash} from "../lib/Hash.mjs"; + +/** + * HASSH Server Fingerprint operation + */ +class HASSHServerFingerprint extends Operation { + + /** + * HASSHServerFingerprint constructor + */ + constructor() { + super(); + + this.name = "HASSH Server Fingerprint"; + this.module = "Crypto"; + this.description = "Generates a HASSH fingerprint to help identify SSH servers based on hashing together values from the Server Key Exchange Init message.

Input: A hex stream of the SSH_MSG_KEXINIT packet application layer from Server to Client."; + this.infoURL = "https://engineering.salesforce.com/open-sourcing-hassh-abed3ae5044c"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + name: "Input format", + type: "option", + value: ["Hex", "Base64", "Raw"] + }, + { + name: "Output format", + type: "option", + value: ["Hash digest", "HASSH algorithms string", "Full details"] + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const [inputFormat, outputFormat] = args; + + input = Utils.convertToByteArray(input, inputFormat); + const s = new Stream(new Uint8Array(input)); + + // Length + const length = s.readInt(4); + if (s.length !== length + 4) + throw new OperationError("Incorrect packet length."); + + // Padding length + const paddingLength = s.readInt(1); + + // Message code + const messageCode = s.readInt(1); + if (messageCode !== 20) + throw new OperationError("Not a Key Exchange Init."); + + // Cookie + s.moveForwardsBy(16); + + // KEX Algorithms + const kexAlgosLength = s.readInt(4); + const kexAlgos = s.readString(kexAlgosLength); + + // Server Host Key Algorithms + const serverHostKeyAlgosLength = s.readInt(4); + s.moveForwardsBy(serverHostKeyAlgosLength); + + // Encryption Algorithms Client to Server + const encAlgosC2SLength = s.readInt(4); + s.moveForwardsBy(encAlgosC2SLength); + + // Encryption Algorithms Server to Client + const encAlgosS2CLength = s.readInt(4); + const encAlgosS2C = s.readString(encAlgosS2CLength); + + // MAC Algorithms Client to Server + const macAlgosC2SLength = s.readInt(4); + s.moveForwardsBy(macAlgosC2SLength); + + // MAC Algorithms Server to Client + const macAlgosS2CLength = s.readInt(4); + const macAlgosS2C = s.readString(macAlgosS2CLength); + + // Compression Algorithms Client to Server + const compAlgosC2SLength = s.readInt(4); + s.moveForwardsBy(compAlgosC2SLength); + + // Compression Algorithms Server to Client + const compAlgosS2CLength = s.readInt(4); + const compAlgosS2C = s.readString(compAlgosS2CLength); + + // Languages Client to Server + const langsC2SLength = s.readInt(4); + s.moveForwardsBy(langsC2SLength); + + // Languages Server to Client + const langsS2CLength = s.readInt(4); + s.moveForwardsBy(langsS2CLength); + + // First KEX packet follows + s.moveForwardsBy(1); + + // Reserved + s.moveForwardsBy(4); + + // Padding string + s.moveForwardsBy(paddingLength); + + // Output + const hassh = [ + kexAlgos, + encAlgosS2C, + macAlgosS2C, + compAlgosS2C + ]; + const hasshStr = hassh.join(";"); + const hasshHash = runHash("md5", Utils.strToArrayBuffer(hasshStr)); + + switch (outputFormat) { + case "HASSH algorithms string": + return hasshStr; + case "Full details": + return `Hash digest: +${hasshHash} + +Full HASSH algorithms string: +${hasshStr} + +Key Exchange Algorithms: +${kexAlgos} +Encryption Algorithms Server to Client: +${encAlgosS2C} +MAC Algorithms Server to Client: +${macAlgosS2C} +Compression Algorithms Server to Client: +${compAlgosS2C}`; + case "Hash digest": + default: + return hasshHash; + } + } + +} + +export default HASSHServerFingerprint; diff --git a/src/core/operations/JA3Fingerprint.mjs b/src/core/operations/JA3Fingerprint.mjs index 0384c6e4..941e2fcb 100644 --- a/src/core/operations/JA3Fingerprint.mjs +++ b/src/core/operations/JA3Fingerprint.mjs @@ -30,7 +30,7 @@ class JA3Fingerprint extends Operation { this.name = "JA3 Fingerprint"; this.module = "Crypto"; - this.description = "Generates a JA3 fingerprint to help identify TLS clients based on hashing together values from the Client Hello.

Input: A hex stream of the TLS Client Hello application layer."; + this.description = "Generates a JA3 fingerprint to help identify TLS clients based on hashing together values from the Client Hello.

Input: A hex stream of the TLS Client Hello packet application layer."; this.infoURL = "https://engineering.salesforce.com/tls-fingerprinting-with-ja3-and-ja3s-247362855967"; this.inputType = "string"; this.outputType = "string"; diff --git a/src/core/operations/JA3SFingerprint.mjs b/src/core/operations/JA3SFingerprint.mjs index b6570501..9c3b88da 100644 --- a/src/core/operations/JA3SFingerprint.mjs +++ b/src/core/operations/JA3SFingerprint.mjs @@ -30,7 +30,7 @@ class JA3SFingerprint extends Operation { this.name = "JA3S Fingerprint"; this.module = "Crypto"; - this.description = "Generates a JA3S fingerprint to help identify TLS servers based on hashing together values from the Server Hello.

Input: A hex stream of the TLS Server Hello record in the application layer."; + this.description = "Generates a JA3S fingerprint to help identify TLS servers based on hashing together values from the Server Hello.

Input: A hex stream of the TLS Server Hello record application layer."; this.infoURL = "https://engineering.salesforce.com/tls-fingerprinting-with-ja3-and-ja3s-247362855967"; this.inputType = "string"; this.outputType = "string"; diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index 8694c443..9add20b9 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -105,6 +105,8 @@ import "./tests/RSA.mjs"; import "./tests/CBOREncode.mjs"; import "./tests/CBORDecode.mjs"; import "./tests/JA3Fingerprint.mjs"; +import "./tests/JA3SFingerprint.mjs"; +import "./tests/HASSH.mjs"; // Cannot test operations that use the File type yet diff --git a/tests/operations/tests/HASSH.mjs b/tests/operations/tests/HASSH.mjs new file mode 100644 index 00000000..2ea2dde5 --- /dev/null +++ b/tests/operations/tests/HASSH.mjs @@ -0,0 +1,33 @@ +/** + * HASSH tests. + * + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2021 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "HASSH Client Fingerprint", + input: "000003140814c639665f5425dcb80bf9f0a048380a410000007e6469666669652d68656c6c6d616e2d67726f75702d65786368616e67652d7368613235362c6469666669652d68656c6c6d616e2d67726f75702d65786368616e67652d736861312c6469666669652d68656c6c6d616e2d67726f757031342d736861312c6469666669652d68656c6c6d616e2d67726f7570312d736861310000000f7373682d7273612c7373682d6473730000009d6165733132382d6374722c6165733139322d6374722c6165733235362d6374722c617263666f75723235362c617263666f75723132382c6165733132382d6362632c336465732d6362632c626c6f77666973682d6362632c636173743132382d6362632c6165733139322d6362632c6165733235362d6362632c617263666f75722c72696a6e6461656c2d636263406c797361746f722e6c69752e73650000009d6165733132382d6374722c6165733139322d6374722c6165733235362d6374722c617263666f75723235362c617263666f75723132382c6165733132382d6362632c336465732d6362632c626c6f77666973682d6362632c636173743132382d6362632c6165733139322d6362632c6165733235362d6362632c617263666f75722c72696a6e6461656c2d636263406c797361746f722e6c69752e736500000069686d61632d6d64352c686d61632d736861312c756d61632d3634406f70656e7373682e636f6d2c686d61632d726970656d643136302c686d61632d726970656d64313630406f70656e7373682e636f6d2c686d61632d736861312d39362c686d61632d6d64352d393600000069686d61632d6d64352c686d61632d736861312c756d61632d3634406f70656e7373682e636f6d2c686d61632d726970656d643136302c686d61632d726970656d64313630406f70656e7373682e636f6d2c686d61632d736861312d39362c686d61632d6d64352d39360000001a6e6f6e652c7a6c6962406f70656e7373682e636f6d2c7a6c69620000001a6e6f6e652c7a6c6962406f70656e7373682e636f6d2c7a6c6962000000000000000000000000000000000000000000", + expectedOutput: "21b457a327ce7a2d4fce5ef2c42400bd", + recipeConfig: [ + { + "op": "HASSH Client Fingerprint", + "args": ["Hex", "Hash digest"] + } + ], + }, + { + name: "HASSH Server Fingerprint", + input: "0000027c0b142c7bb93a1da21c9e54f5862e60a5597c000000596469666669652d68656c6c6d616e2d67726f75702d65786368616e67652d736861312c6469666669652d68656c6c6d616e2d67726f757031342d736861312c6469666669652d68656c6c6d616e2d67726f7570312d736861310000000f7373682d7273612c7373682d647373000000876165733132382d6362632c336465732d6362632c626c6f77666973682d6362632c636173743132382d6362632c617263666f75722c6165733139322d6362632c6165733235362d6362632c72696a6e6461656c2d636263406c797361746f722e6c69752e73652c6165733132382d6374722c6165733139322d6374722c6165733235362d637472000000876165733132382d6362632c336465732d6362632c626c6f77666973682d6362632c636173743132382d6362632c617263666f75722c6165733139322d6362632c6165733235362d6362632c72696a6e6461656c2d636263406c797361746f722e6c69752e73652c6165733132382d6374722c6165733139322d6374722c6165733235362d63747200000055686d61632d6d64352c686d61632d736861312c686d61632d726970656d643136302c686d61632d726970656d64313630406f70656e7373682e636f6d2c686d61632d736861312d39362c686d61632d6d64352d393600000055686d61632d6d64352c686d61632d736861312c686d61632d726970656d643136302c686d61632d726970656d64313630406f70656e7373682e636f6d2c686d61632d736861312d39362c686d61632d6d64352d3936000000096e6f6e652c7a6c6962000000096e6f6e652c7a6c6962000000000000000000000000000000000000000000000000", + expectedOutput: "f430cd6761697a6a658ee1d45ed22e49", + recipeConfig: [ + { + "op": "HASSH Server Fingerprint", + "args": ["Hex", "Hash digest"] + } + ], + } +]); diff --git a/tests/operations/tests/JA3SFingerprint.mjs b/tests/operations/tests/JA3SFingerprint.mjs index 047018e8..462d68e9 100644 --- a/tests/operations/tests/JA3SFingerprint.mjs +++ b/tests/operations/tests/JA3SFingerprint.mjs @@ -41,15 +41,17 @@ TestRegister.addTests([ } ], }, - { - name: "JA3S Fingerprint: TLS 1.3", - input: "16030100520200004e7f123ef1609fd3f4fa8668aac5822d500fb0639b22671d0fb7258597355795511bf61301002800280024001d0020ae0e282a3b7a463e71064ecbaf671586e979b0edbebf7a4735c31678c70f660c", - expectedOutput: "986ae432c402479fe7a0c6fbe02164c1", - recipeConfig: [ - { - "op": "JA3S Fingerprint", - "args": ["Hex", "Hash digest"] - } - ], - }, + // This Server Hello was based on draft 18 of the TLS1.3 spec which does not include a Session ID field, leading it to fail. + // The published version of TLS1.3 does require a legacy Session ID field (even if it is empty). + // { + // name: "JA3S Fingerprint: TLS 1.3", + // input: "16030100520200004e7f123ef1609fd3f4fa8668aac5822d500fb0639b22671d0fb7258597355795511bf61301002800280024001d0020ae0e282a3b7a463e71064ecbaf671586e979b0edbebf7a4735c31678c70f660c", + // expectedOutput: "986ae432c402479fe7a0c6fbe02164c1", + // recipeConfig: [ + // { + // "op": "JA3S Fingerprint", + // "args": ["Hex", "Hash digest"] + // } + // ], + // }, ]); From 07ef4da892963993e628e381e95e2c00b13fe93a Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 10 Aug 2021 16:50:59 +0100 Subject: [PATCH 246/754] Updated CHANGELOG --- CHANGELOG.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a4e109a..55a9465e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,8 +13,11 @@ All major and minor version changes will be documented in this file. Details of ## Details +### [9.31.0] - 2021-08-10 +- 'HASSH Client Fingerprint' and 'HASSH Server Fingerprint' operations added [@n1474335] | [e9ca4dc] + ### [9.30.0] - 2021-08-10 -- 'JA3S Fingerprint' operation added [@n1474335] | [289a417d] +- 'JA3S Fingerprint' operation added [@n1474335] | [289a417] ### [9.29.0] - 2021-07-28 - 'JA3 Fingerprint' operation added [@n1474335] | [9a33498] @@ -265,6 +268,7 @@ All major and minor version changes will be documented in this file. Details of +[9.31.0]: https://github.com/gchq/CyberChef/releases/tag/v9.31.0 [9.30.0]: https://github.com/gchq/CyberChef/releases/tag/v9.30.0 [9.29.0]: https://github.com/gchq/CyberChef/releases/tag/v9.29.0 [9.28.0]: https://github.com/gchq/CyberChef/releases/tag/v9.28.0 @@ -379,7 +383,8 @@ All major and minor version changes will be documented in this file. Details of [8ad18b]: https://github.com/gchq/CyberChef/commit/8ad18bc7db6d9ff184ba3518686293a7685bf7b7 [9a33498]: https://github.com/gchq/CyberChef/commit/9a33498fed26a8df9c9f35f39a78a174bf50a513 -[289a417d]: https://github.com/gchq/CyberChef/commit/289a417d +[289a417]: https://github.com/gchq/CyberChef/commit/289a417dfb5923de5e1694354ec42a08d9395bfe +[e9ca4dc]: https://github.com/gchq/CyberChef/commit/e9ca4dc9caf98f33fd986431cd400c88082a42b8 [#95]: https://github.com/gchq/CyberChef/pull/299 [#173]: https://github.com/gchq/CyberChef/pull/173 From a4a13666e6c6a9f073b280c84d31f66de3c3e20b Mon Sep 17 00:00:00 2001 From: n1474335 Date: Tue, 10 Aug 2021 16:51:28 +0100 Subject: [PATCH 247/754] 9.31.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 36f5605d..45e9ce6f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.30.0", + "version": "9.31.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 2996633c..79c7ddca 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.30.0", + "version": "9.31.0", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 7712ee7f35771f0005d3afa791a7515241b3254d Mon Sep 17 00:00:00 2001 From: Gitoffthelawn Date: Wed, 11 Aug 2021 01:55:47 -0700 Subject: [PATCH 248/754] Improved consistency Changed "or" to "and" because all the other sentence sections use "and". --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ac9b8174..820fdba2 100755 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ #### *The Cyber Swiss Army Knife* -CyberChef is a simple, intuitive web app for carrying out all manner of "cyber" operations within a web browser. These operations include simple encoding like XOR or Base64, more complex encryption like AES, DES and Blowfish, creating binary and hexdumps, compression and decompression of data, calculating hashes and checksums, IPv6 and X.509 parsing, changing character encodings, and much more. +CyberChef is a simple, intuitive web app for carrying out all manner of "cyber" operations within a web browser. These operations include simple encoding like XOR and Base64, more complex encryption like AES, DES and Blowfish, creating binary and hexdumps, compression and decompression of data, calculating hashes and checksums, IPv6 and X.509 parsing, changing character encodings, and much more. The tool is designed to enable both technical and non-technical analysts to manipulate data in complex ways without having to deal with complex tools or algorithms. It was conceived, designed, built and incrementally improved by an analyst in their 10% innovation time over several years. From dd18e529939078b89867297b181a584e8b2cc7da Mon Sep 17 00:00:00 2001 From: n1474335 Date: Wed, 18 Aug 2021 17:22:09 +0100 Subject: [PATCH 249/754] Protobuf operations improved to enable full and partial schema support --- package-lock.json | 87 +++++++- package.json | 1 + src/core/config/Categories.json | 1 + src/core/lib/Protobuf.mjs | 297 ++++++++++++++++++++++++- src/core/operations/ProtobufDecode.mjs | 26 ++- src/core/operations/ProtobufEncode.mjs | 54 +++++ tests/operations/tests/Protobuf.mjs | 276 ++++++++++++++++++++++- 7 files changed, 723 insertions(+), 19 deletions(-) mode change 100755 => 100644 src/core/config/Categories.json create mode 100644 src/core/operations/ProtobufEncode.mjs diff --git a/package-lock.json b/package-lock.json index 45e9ce6f..c822614a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3084,6 +3084,60 @@ "integrity": "sha512-3NsZsJIA/22P3QUyrEDNA2D133H4j224twJrdipXN38dpnIOzAbUDtOwkcJ5pXmn75w7LSQDjA4tO9dm1XlqlA==", "dev": true }, + "@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=" + }, "@testim/chrome-version": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/@testim/chrome-version/-/chrome-version-1.0.7.tgz", @@ -3144,6 +3198,11 @@ "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", "dev": true }, + "@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/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", @@ -3153,8 +3212,7 @@ "@types/node": { "version": "14.14.22", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", - "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==", - "dev": true + "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==" }, "@types/parse-json": { "version": "4.0.0", @@ -10075,6 +10133,11 @@ "loglevel": "^1.4.0" } }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -12228,6 +12291,26 @@ "winston": "2.x" } }, + "protobufjs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", + "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", + "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" + } + }, "proxy-addr": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", diff --git a/package.json b/package.json index 79c7ddca..d8a596f0 100644 --- a/package.json +++ b/package.json @@ -146,6 +146,7 @@ "path": "^0.12.7", "popper.js": "^1.16.1", "process": "^0.11.10", + "protobufjs": "^6.11.2", "qr-image": "^3.2.0", "scryptsy": "^2.1.0", "snackbarjs": "^1.1.0", diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json old mode 100755 new mode 100644 index d04ccb6b..09ee8d15 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -191,6 +191,7 @@ "URL Encode", "URL Decode", "Protobuf Decode", + "Protobuf Encode", "VarInt Encode", "VarInt Decode", "JA3 Fingerprint", diff --git a/src/core/lib/Protobuf.mjs b/src/core/lib/Protobuf.mjs index 0cdf41f2..4f3609ef 100644 --- a/src/core/lib/Protobuf.mjs +++ b/src/core/lib/Protobuf.mjs @@ -1,4 +1,5 @@ import Utils from "../Utils.mjs"; +import protobuf from "protobufjs"; /** * Protobuf lib. Contains functions to decode protobuf serialised @@ -32,9 +33,10 @@ class Protobuf { this.MSB = 0x80; this.VALUE = 0x7f; - // Declare offset and length + // Declare offset, length, and field type object this.offset = 0; this.LENGTH = data.length; + this.fieldTypes = {}; } // Public Functions @@ -76,15 +78,281 @@ class Protobuf { return pb._varInt(); } + /** + * Encode input JSON according to the given schema + * + * @param {Object} input + * @param {Object []} args + * @returns {Object} + */ + static encode(input, args) { + this.updateProtoRoot(args[0]); + if (!this.mainMessageName) { + throw new Error("Schema Error: Schema not defined"); + } + const message = this.parsedProto.root.nested[this.mainMessageName]; + + // Convert input into instance of message, and verify instance + input = message.fromObject(input); + const error = message.verify(input); + if (error) { + throw new Error("Input Error: " + error); + } + // Encode input + const output = message.encode(input).finish(); + return new Uint8Array(output).buffer; + } + /** * Parse Protobuf data * * @param {byteArray} input * @returns {Object} */ - static decode(input) { + static decode(input, args) { + this.updateProtoRoot(args[0]); + this.showUnknownFields = args[1]; + this.showTypes = args[2]; + return this.mergeDecodes(input); + } + + /** + * Update the parsedProto, throw parsing errors + * + * @param {string} protoText + */ + static updateProtoRoot(protoText) { + try { + this.parsedProto = protobuf.parse(protoText); + if (this.parsedProto.package) { + this.parsedProto.root = this.parsedProto.root.nested[this.parsedProto.package]; + } + this.updateMainMessageName(); + } catch (error) { + throw new Error("Schema " + error); + } + } + + /** + * Set mainMessageName to the first instance of a message defined in the schema that is not a submessage + * + */ + static updateMainMessageName() { + const messageNames = []; + const fieldTypes = []; + this.parsedProto.root.nestedArray.forEach(block => { + if (block.constructor.name === "Type") { + messageNames.push(block.name); + this.parsedProto.root.nested[block.name].fieldsArray.forEach(field => { + fieldTypes.push(field.type); + }); + } + }); + + if (messageNames.length === 0) { + this.mainMessageName = null; + } else { + for (const name of messageNames) { + if (!fieldTypes.includes(name)) { + this.mainMessageName = name; + break; + } + } + this.mainMessageName = messageNames[0]; + } + } + + /** + * Decode input using Protobufjs package and raw methods, compare, and merge results + * + * @param {byteArray} input + * @returns {Object} + */ + static mergeDecodes(input) { const pb = new Protobuf(input); - return pb._parse(); + let rawDecode = pb._parse(); + let message; + + if (this.showTypes) { + rawDecode = this.showRawTypes(rawDecode, pb.fieldTypes); + this.parsedProto.root = this.appendTypesToFieldNames(this.parsedProto.root); + } + + try { + message = this.parsedProto.root.nested[this.mainMessageName]; + const packageDecode = message.toObject(message.decode(input), { + bytes: String, + longs: Number, + enums: String, + defualts: true + }); + const output = {}; + + if (this.showUnknownFields) { + output[message.name] = packageDecode; + output["Unknown Fields"] = this.compareFields(rawDecode, message); + return output; + } else { + return packageDecode; + } + + } catch (error) { + if (message) { + throw new Error("Input " + error); + } else { + return rawDecode; + } + } + } + + /** + * Replace fieldnames with fieldname and type + * + * @param {Object} schemaRoot + * @returns {Object} + */ + static appendTypesToFieldNames(schemaRoot) { + for (const block of schemaRoot.nestedArray) { + if (block.constructor.name === "Type") { + for (const [fieldName, fieldData] of Object.entries(block.fields)) { + schemaRoot.nested[block.name].remove(block.fields[fieldName]); + schemaRoot.nested[block.name].add(new protobuf.Field(`${fieldName} (${fieldData.type})`, fieldData.id, fieldData.type, fieldData.rule)); + } + } + } + return schemaRoot; + } + + /** + * Add field type to field name for fields in the raw decoded output + * + * @param {Object} rawDecode + * @param {Object} fieldTypes + * @returns {Object} + */ + static showRawTypes(rawDecode, fieldTypes) { + for (const [fieldNum, value] of Object.entries(rawDecode)) { + const fieldType = fieldTypes[fieldNum]; + let outputFieldValue; + let outputFieldType; + + // Submessages + if (isNaN(fieldType)) { + outputFieldType = 2; + + // Repeated submessages + if (Array.isArray(value)) { + const fieldInstances = []; + for (const instance of Object.keys(value)) { + if (typeof(value[instance]) !== "string") { + fieldInstances.push(this.showRawTypes(value[instance], fieldType)); + } else { + fieldInstances.push(value[instance]); + } + } + outputFieldValue = fieldInstances; + + // Single submessage + } else { + outputFieldValue = this.showRawTypes(value, fieldType); + } + + // Non-submessage field + } else { + outputFieldType = fieldType; + outputFieldValue = value; + } + + // Substitute fieldNum with field number and type + rawDecode[`field #${fieldNum}: ${this.getTypeInfo(outputFieldType)}`] = outputFieldValue; + delete rawDecode[fieldNum]; + } + return rawDecode; + } + + /** + * Compare raw decode to package decode and return discrepancies + * + * @param rawDecodedMessage + * @param schemaMessage + * @returns {Object} + */ + static compareFields(rawDecodedMessage, schemaMessage) { + // Define message data using raw decode output and schema + const schemaFieldProperties = {}; + const schemaFieldNames = Object.keys(schemaMessage.fields); + schemaFieldNames.forEach(field => schemaFieldProperties[schemaMessage.fields[field].id] = field); + + // Loop over each field present in the raw decode output + for (const fieldName in rawDecodedMessage) { + let fieldId; + if (isNaN(fieldName)) { + fieldId = fieldName.match(/^field #(\d+)/)[1]; + } else { + fieldId = fieldName; + } + + // Check if this field is defined in the schema + if (fieldId in schemaFieldProperties) { + const schemaFieldName = schemaFieldProperties[fieldId]; + + // Extract the current field data from the raw decode and schema + const rawFieldData = rawDecodedMessage[fieldName]; + const schemaField = schemaMessage.fields[schemaFieldName]; + + // Check for repeated fields + if (Array.isArray(rawFieldData) && !schemaField.repeated) { + rawDecodedMessage[`(${schemaMessage.name}) ${schemaFieldName} is a repeated field`] = rawFieldData; + } + + // Check for submessage fields + if (schemaField.resolvedType !== null && schemaField.resolvedType.constructor.name === "Type") { + const subMessageType = schemaMessage.fields[schemaFieldName].type; + const schemaSubMessage = this.parsedProto.root.nested[subMessageType]; + const rawSubMessages = rawDecodedMessage[fieldName]; + let rawDecodedSubMessage = {}; + + // Squash multiple submessage instances into one submessage + if (Array.isArray(rawSubMessages)) { + rawSubMessages.forEach(subMessageInstance => { + const instanceFields = Object.entries(subMessageInstance); + instanceFields.forEach(subField => { + rawDecodedSubMessage[subField[0]] = subField[1]; + }); + }); + } else { + rawDecodedSubMessage = rawSubMessages; + } + + // Treat submessage as own message and compare its fields + rawDecodedSubMessage = Protobuf.compareFields(rawDecodedSubMessage, schemaSubMessage); + if (Object.entries(rawDecodedSubMessage).length !== 0) { + rawDecodedMessage[`${schemaFieldName} (${subMessageType}) has missing fields`] = rawDecodedSubMessage; + } + } + delete rawDecodedMessage[fieldName]; + } + } + return rawDecodedMessage; + } + + /** + * Returns wiretype information for input wiretype number + * + * @param {number} wireType + * @returns {string} + */ + static getTypeInfo(wireType) { + switch (wireType) { + case 0: + return "VarInt (e.g. int32, bool)"; + case 1: + return "64-Bit (e.g. fixed64, double)"; + case 2: + return "L-delim (e.g. string, message)"; + case 5: + return "32-Bit (e.g. fixed32, float)"; + } } // Private Class Functions @@ -143,6 +411,11 @@ class Protobuf { const header = this._fieldHeader(); const type = header.type; const key = header.key; + + if (typeof(this.fieldTypes[key]) !== "object") { + this.fieldTypes[key] = type; + } + switch (type) { // varint case 0: @@ -152,7 +425,7 @@ class Protobuf { return { "key": key, "value": this._uint64() }; // length delimited case 2: - return { "key": key, "value": this._lenDelim() }; + return { "key": key, "value": this._lenDelim(key) }; // fixed 32 case 5: return { "key": key, "value": this._uint32() }; @@ -237,10 +510,10 @@ class Protobuf { * @returns {number} */ _uint64() { - // Read off a Uint64 - let num = this.data[this.offset++] * 0x1000000 + (this.data[this.offset++] << 16) + (this.data[this.offset++] << 8) + this.data[this.offset++]; - num = num * 0x100000000 + this.data[this.offset++] * 0x1000000 + (this.data[this.offset++] << 16) + (this.data[this.offset++] << 8) + this.data[this.offset++]; - return num; + // Read off a Uint64 with little-endian + const lowerHalf = this.data[this.offset++] + (this.data[this.offset++] * 0x100) + (this.data[this.offset++] * 0x10000) + this.data[this.offset++] * 0x1000000; + const upperHalf = this.data[this.offset++] + (this.data[this.offset++] * 0x100) + (this.data[this.offset++] * 0x10000) + this.data[this.offset++] * 0x1000000; + return upperHalf * 0x100000000 + lowerHalf; } /** @@ -249,7 +522,7 @@ class Protobuf { * @private * @returns {Object|string} */ - _lenDelim() { + _lenDelim(fieldNum) { // Read off the field length const length = this._varInt(); const fieldBytes = this.data.slice(this.offset, this.offset + length); @@ -258,6 +531,10 @@ class Protobuf { // Attempt to parse as a new Protobuf Object const pbObject = new Protobuf(fieldBytes); field = pbObject._parse(); + + // Set field types object + this.fieldTypes[fieldNum] = {...this.fieldTypes[fieldNum], ...pbObject.fieldTypes}; + } catch (err) { // Otherwise treat as bytes field = Utils.byteArrayToChars(fieldBytes); @@ -276,7 +553,7 @@ class Protobuf { _uint32() { // Use a dataview to read off the integer const dataview = new DataView(new Uint8Array(this.data.slice(this.offset, this.offset + 4)).buffer); - const value = dataview.getUint32(0); + const value = dataview.getUint32(0, true); this.offset += 4; return value; } diff --git a/src/core/operations/ProtobufDecode.mjs b/src/core/operations/ProtobufDecode.mjs index 8470bdb7..fbc16dc4 100644 --- a/src/core/operations/ProtobufDecode.mjs +++ b/src/core/operations/ProtobufDecode.mjs @@ -20,12 +20,30 @@ class ProtobufDecode extends Operation { super(); this.name = "Protobuf Decode"; - this.module = "Default"; - this.description = "Decodes any Protobuf encoded data to a JSON representation of the data using the field number as the field key."; + this.module = "Protobuf"; + this.description = "Decodes any Protobuf encoded data to a JSON representation of the data using the field number as the field key.

If a .proto schema is defined, the encoded data will be decoded with reference to the schema. Only one message instance will be decoded.

Show Unknown Fields
When a schema is used, this option shows fields that are present in the input data but not defined in the schema.

Show Types
Show the type of a field next to its name. For undefined fields, the wiretype and example types are shown instead."; this.infoURL = "https://wikipedia.org/wiki/Protocol_Buffers"; this.inputType = "ArrayBuffer"; this.outputType = "JSON"; - this.args = []; + this.args = [ + { + name: "Schema (.proto text)", + type: "text", + value: "", + rows: 8, + hint: "Drag and drop is enabled on this ingredient" + }, + { + name: "Show Unknown Fields", + type: "boolean", + value: false + }, + { + name: "Show Types", + type: "boolean", + value: false + } + ]; } /** @@ -36,7 +54,7 @@ class ProtobufDecode extends Operation { run(input, args) { input = new Uint8Array(input); try { - return Protobuf.decode(input); + return Protobuf.decode(input, args); } catch (err) { throw new OperationError(err); } diff --git a/src/core/operations/ProtobufEncode.mjs b/src/core/operations/ProtobufEncode.mjs new file mode 100644 index 00000000..eaf4d6c4 --- /dev/null +++ b/src/core/operations/ProtobufEncode.mjs @@ -0,0 +1,54 @@ +/** + * @author GCHQ Contributor [3] + * @copyright Crown Copyright 2021 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Protobuf from "../lib/Protobuf.mjs"; + +/** + * Protobuf Encode operation + */ +class ProtobufEncode extends Operation { + + /** + * ProtobufEncode constructor + */ + constructor() { + super(); + + this.name = "Protobuf Encode"; + this.module = "Protobuf"; + this.description = "Encodes a valid JSON object into a protobuf byte array using the input .proto schema."; + this.infoURL = "https://developers.google.com/protocol-buffers/docs/encoding"; + this.inputType = "JSON"; + this.outputType = "ArrayBuffer"; + this.args = [ + { + name: "Schema (.proto text)", + type: "text", + value: "", + rows: 8, + hint: "Drag and drop is enabled on this ingredient" + } + ]; + } + + /** + * @param {Object} input + * @param {Object[]} args + * @returns {ArrayBuffer} + */ + run(input, args) { + try { + return Protobuf.encode(input, args); + } catch (error) { + throw new OperationError(error); + } + } + +} + +export default ProtobufEncode; diff --git a/tests/operations/tests/Protobuf.mjs b/tests/operations/tests/Protobuf.mjs index 0bdd6b19..17adfd88 100644 --- a/tests/operations/tests/Protobuf.mjs +++ b/tests/operations/tests/Protobuf.mjs @@ -10,10 +10,10 @@ import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { - name: "Protobuf Decode", + name: "Protobuf Decode: no schema", input: "0d1c0000001203596f751a024d65202b2a0a0a066162633132331200", expectedOutput: JSON.stringify({ - "1": 469762048, + "1": 28, "2": "You", "3": "Me", "4": 43, @@ -29,7 +29,277 @@ TestRegister.addTests([ }, { "op": "Protobuf Decode", - "args": [] + "args": ["", false, false] + } + ] + }, + { + name: "Protobuf Decode: partial schema, no unknown fields", + input: "0d1c0000001203596f751a024d65202b2a0a0a066162633132331200", + expectedOutput: JSON.stringify({ + "Apple": [ + 28 + ], + "Banana": "You", + "Carrot": [ + "Me" + ] + }, null, 4), + recipeConfig: [ + { + "op": "From Hex", + "args": ["Auto"] + }, + { + "op": "Protobuf Decode", + "args": [ + `message Test { + repeated fixed32 Apple = 1; + optional string Banana = 2; + repeated string Carrot = 3; + }`, + false, + false + ] + } + ] + }, + { + name: "Protobuf Decode: partial schema, show unknown fields", + input: "0d1c0000001203596f751a024d65202b2a0a0a066162633132331200", + expectedOutput: JSON.stringify({ + "Test": { + "Apple": [ + 28 + ], + "Banana": "You", + "Carrot": [ + "Me" + ] + }, + "Unknown Fields": { + "4": 43, + "5": { + "1": "abc123", + "2": {} + } + } + }, null, 4), + recipeConfig: [ + { + "op": "From Hex", + "args": ["Auto"] + }, + { + "op": "Protobuf Decode", + "args": [ + `message Test { + repeated fixed32 Apple = 1; + optional string Banana = 2; + repeated string Carrot = 3; + }`, + true, + false + ] + } + ] + }, + { + name: "Protobuf Decode: full schema, no unknown fields", + input: "0d1c0000001203596f751a024d65202b2a0a0a06616263313233120031ff00000000000000", + expectedOutput: JSON.stringify({ + "Apple": [ + 28 + ], + "Banana": "You", + "Carrot": [ + "Me" + ], + "Date": 43, + "Elderberry": { + "Fig": "abc123", + "Grape": {} + }, + "Huckleberry": 255 + }, null, 4), + recipeConfig: [ + { + "op": "From Hex", + "args": ["Auto"] + }, + { + "op": "Protobuf Decode", + "args": [ + `message Test { + repeated fixed32 Apple = 1; + optional string Banana = 2; + repeated string Carrot = 3; + optional int32 Date = 4; + optional subTest Elderberry = 5; + optional fixed64 Huckleberry = 6; + } + message subTest { + optional string Fig = 1; + optional subSubTest Grape = 2; + } + message subSubTest {}`, + false, + false + ] + } + ] + }, + { + name: "Protobuf Decode: partial schema, show unknown fields, show types", + input: "0d1c0000001203596f751a024d65202b2a0a0a06616263313233120031ba32a96cc10200003801", + expectedOutput: JSON.stringify({ + "Test": { + "Banana (string)": "You", + "Carrot (string)": [ + "Me" + ], + "Date (int32)": 43, + "Imbe (Options)": "Option1" + }, + "Unknown Fields": { + "field #1: 32-Bit (e.g. fixed32, float)": 28, + "field #5: L-delim (e.g. string, message)": { + "field #1: L-delim (e.g. string, message)": "abc123", + "field #2: L-delim (e.g. string, message)": {} + }, + "field #6: 64-Bit (e.g. fixed64, double)": 3029774971578 + } + }, null, 4), + recipeConfig: [ + { + "op": "From Hex", + "args": ["Auto"] + }, + { + "op": "Protobuf Decode", + "args": [ + `message Test { + optional string Banana = 2; + repeated string Carrot = 3; + optional int32 Date = 4; + optional Options Imbe = 7; + } + message subTest { + optional string Fig = 1; + optional subSubTest Grape = 2; + } + message subSubTest {} + enum Options { + Option0 = 0; + Option1 = 1; + Option2 = 2; + }`, + true, + true + ] + } + ] + }, + { + name: "Protobuf Encode", + input: JSON.stringify({ + "Apple": [ + 28 + ], + "Banana": "You", + "Carrot": [ + "Me" + ], + "Date": 43, + "Elderberry": { + "Fig": "abc123", + "Grape": {} + }, + "Huckleberry": [3029774971578], + "Imbe": 1 + }, null, 4), + expectedOutput: "0d1c0000001203596f751a024d65202b2a0a0a06616263313233120031ba32a96cc10200003801", + recipeConfig: [ + { + "op": "Protobuf Encode", + "args": [ + `message Test { + repeated fixed32 Apple = 1; + optional string Banana = 2; + repeated string Carrot = 3; + optional int32 Date = 4; + optional subTest Elderberry = 5; + repeated fixed64 Huckleberry = 6; + optional Options Imbe = 7; + } + message subTest { + optional string Fig = 1; + optional subSubTest Grape = 2; + } + message subSubTest {} + enum Options { + Option0 = 0; + Option1 = 1; + Option2 = 2; + }` + ] + }, + { + "op": "To Hex", + "args": [ + "None", + 0 + ] + } + ] + }, + { + name: "Protobuf Encode: incomplete schema", + input: JSON.stringify({ + "Apple": [ + 28 + ], + "Banana": "You", + "Carrot": [ + "Me" + ], + "Date": 43, + "Elderberry": { + "Fig": "abc123", + "Grape": {} + }, + "Huckleberry": [3029774971578], + "Imbe": 1 + }, null, 4), + expectedOutput: "1203596f75202b2a0a0a06616263313233120031ba32a96cc1020000", + recipeConfig: [ + { + "op": "Protobuf Encode", + "args": [ + `message Test { + optional string Banana = 2; + optional int32 Date = 4; + optional subTest Elderberry = 5; + repeated fixed64 Huckleberry = 6; + } + message subTest { + optional string Fig = 1; + optional subSubTest Grape = 2; + } + message subSubTest {} + enum Options { + Option0 = 0; + Option1 = 1; + Option2 = 2; + }` + ] + }, + { + "op": "To Hex", + "args": [ + "None", + 0 + ] } ] }, From 9ea21af61fef6bc98c8be6eb0d40a817a6eb70ef Mon Sep 17 00:00:00 2001 From: n1474335 Date: Wed, 18 Aug 2021 17:23:38 +0100 Subject: [PATCH 250/754] Updated CHANGELOG --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 55a9465e..1a006740 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ All major and minor version changes will be documented in this file. Details of ## Details +### [9.32.0] - 2021-08-18 +- 'Protobuf Encode' operation added and decode operation modified to allow decoding with full and partial schemas [@n1474335] | [dd18e52] + ### [9.31.0] - 2021-08-10 - 'HASSH Client Fingerprint' and 'HASSH Server Fingerprint' operations added [@n1474335] | [e9ca4dc] @@ -268,6 +271,7 @@ All major and minor version changes will be documented in this file. Details of +[9.32.0]: https://github.com/gchq/CyberChef/releases/tag/v9.32.0 [9.31.0]: https://github.com/gchq/CyberChef/releases/tag/v9.31.0 [9.30.0]: https://github.com/gchq/CyberChef/releases/tag/v9.30.0 [9.29.0]: https://github.com/gchq/CyberChef/releases/tag/v9.29.0 @@ -385,6 +389,7 @@ All major and minor version changes will be documented in this file. Details of [9a33498]: https://github.com/gchq/CyberChef/commit/9a33498fed26a8df9c9f35f39a78a174bf50a513 [289a417]: https://github.com/gchq/CyberChef/commit/289a417dfb5923de5e1694354ec42a08d9395bfe [e9ca4dc]: https://github.com/gchq/CyberChef/commit/e9ca4dc9caf98f33fd986431cd400c88082a42b8 +[dd18e52]: https://github.com/gchq/CyberChef/commit/dd18e529939078b89867297b181a584e8b2cc7da [#95]: https://github.com/gchq/CyberChef/pull/299 [#173]: https://github.com/gchq/CyberChef/pull/173 From 7492b874cf00583db5ad739ed338f43226141430 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Wed, 18 Aug 2021 17:23:43 +0100 Subject: [PATCH 251/754] 9.32.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index c822614a..6e10f4ad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.31.0", + "version": "9.32.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index d8a596f0..3eb29a45 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.31.0", + "version": "9.32.0", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 649016bc85cc1fb5494e31002b6c81123cfc3e97 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Thu, 19 Aug 2021 12:06:26 +0100 Subject: [PATCH 252/754] Updated dependencies --- package-lock.json | 5253 ++++++++++++++++----------------------------- package.json | 96 +- 2 files changed, 1888 insertions(+), 3461 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6e10f4ad..3de8a3c0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,237 +5,79 @@ "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", "dev": true, "requires": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.14.5" } }, "@babel/compat-data": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.13.tgz", - "integrity": "sha512-U/hshG5R+SIoW7HVWIdmy1cB7s3ki+r3FpyEZiCgpi4tFgPnX/vynY80ZGSASOIrUM6O7VxOgCZgdt7h97bUGg==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", + "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", "dev": true }, "@babel/core": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.16.tgz", - "integrity": "sha512-t/hHIB504wWceOeaOoONOhu+gX+hpjfeN6YRBT209X/4sibZQfSF1I0HFRRlBe97UZZosGx5XwUg1ZgNbelmNw==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz", + "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==", "dev": true, "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.12.15", - "@babel/helper-module-transforms": "^7.12.13", - "@babel/helpers": "^7.12.13", - "@babel/parser": "^7.12.16", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.12.13", - "@babel/types": "^7.12.13", + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.0", + "@babel/helper-module-transforms": "^7.15.0", + "@babel/helpers": "^7.14.8", + "@babel/parser": "^7.15.0", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", + "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", - "lodash": "^4.17.19", - "semver": "^5.4.1", + "semver": "^6.3.0", "source-map": "^0.5.0" }, "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/generator": { - "version": "7.12.15", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", - "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", - "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", - "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==", - "dev": true - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/traverse": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", - "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "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.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { "ms": "2.1.2" } }, - "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 - }, - "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.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "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 }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "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 - }, - "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/generator": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.10.tgz", - "integrity": "sha512-6mCdfhWgmqLdtTkhXjnIz0LcdVCd26wS2JXRtj2XY0u5klDsXBREA/pG5NVOuVnF2LUrBGNFtQkIqqTbblg0ww==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz", + "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==", "dev": true, "requires": { - "@babel/types": "^7.12.10", + "@babel/types": "^7.15.0", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, @@ -255,1338 +97,286 @@ } }, "@babel/helper-annotate-as-pure": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", - "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", + "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", "dev": true, "requires": { - "@babel/types": "^7.12.13" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.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/types": "^7.14.5" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", - "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", + "integrity": "sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.12.13", - "@babel/types": "^7.12.13" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.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/helper-explode-assignable-expression": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/helper-compilation-targets": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.16.tgz", - "integrity": "sha512-dBHNEEaZx7F3KoUYqagIhRIeqyyuI65xMndMZ3WwGwEBI609I4TleYQHcrS627vbKyNTXqShoN+fvYD9HuQxAg==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz", + "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==", "dev": true, "requires": { - "@babel/compat-data": "^7.12.13", - "@babel/helper-validator-option": "^7.12.16", - "browserslist": "^4.14.5", - "semver": "^5.5.0" + "@babel/compat-data": "^7.15.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.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 + } } }, "@babel/helper-create-class-features-plugin": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.16.tgz", - "integrity": "sha512-KbSEj8l9zYkMVHpQqM3wJNxS1d9h3U9vm/uE5tpjMbaj3lTp+0noe3KPsV5dSD9jxKnf9jO9Ip9FX5PKNZCKow==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.0.tgz", + "integrity": "sha512-MdmDXgvTIi4heDVX/e9EFfeGpugqm9fobBVg/iioE8kueXrOHdRDe36FAY7SnE9xXLVeYCoJR/gdrBEIHRC83Q==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-member-expression-to-functions": "^7.12.16", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-replace-supers": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", - "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", - "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==", - "dev": true - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "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.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" - } - }, - "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" - } - }, - "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-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-member-expression-to-functions": "^7.15.0", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-replace-supers": "^7.15.0", + "@babel/helper-split-export-declaration": "^7.14.5" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.16.tgz", - "integrity": "sha512-jAcQ1biDYZBdaAxB4yg46/XirgX7jBDiMHDbwYQOgtViLBXGxJpZQ24jutmBqAIB/q+AwB6j+NbBXjKxEY8vqg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", + "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-annotate-as-pure": "^7.14.5", "regexpu-core": "^4.7.1" } }, - "@babel/helper-explode-assignable-expression": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.13.tgz", - "integrity": "sha512-5loeRNvMo9mx1dA/d6yNi+YiKziJZFylZnCo1nmFF4qPU4yJ14abhWESuSMQSlQxWdxdOFzxXjk/PpfudTtYyw==", + "@babel/helper-define-polyfill-provider": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", + "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", "dev": true, "requires": { - "@babel/types": "^7.12.13" + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" }, "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" + "ms": "2.1.2" } }, - "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=", + "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 + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, + "@babel/helper-explode-assignable-expression": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz", + "integrity": "sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", + "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", + "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", "dev": true, "requires": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.14.5" } }, "@babel/helper-hoist-variables": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.12.13.tgz", - "integrity": "sha512-KSC5XSj5HreRhYQtZ3cnSnQwDzgnbdUDEFsxkN0m6Q3WrCRt72xrnZ8+h+pX7YxM7hr87zIO3a/v5p/H3TrnVw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", + "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", "dev": true, "requires": { - "@babel/types": "^7.12.13" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.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/types": "^7.14.5" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.16.tgz", - "integrity": "sha512-zYoZC1uvebBFmj1wFAlXwt35JLEgecefATtKp20xalwEK8vHAixLBXTGxNrVGEmTT+gzOThUgr8UEdgtalc1BQ==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz", + "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==", "dev": true, "requires": { - "@babel/types": "^7.12.13" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.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/types": "^7.15.0" } }, "@babel/helper-module-imports": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", - "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", + "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", "dev": true, "requires": { - "@babel/types": "^7.12.13" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.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/types": "^7.14.5" } }, "@babel/helper-module-transforms": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz", - "integrity": "sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz", + "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-replace-supers": "^7.12.13", - "@babel/helper-simple-access": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/helper-validator-identifier": "^7.12.11", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.12.13", - "@babel/types": "^7.12.13", - "lodash": "^4.17.19" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/generator": { - "version": "7.12.15", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", - "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", - "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", - "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==", - "dev": true - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/traverse": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", - "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "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.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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 - }, - "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.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "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 - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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/helper-module-imports": "^7.14.5", + "@babel/helper-replace-supers": "^7.15.0", + "@babel/helper-simple-access": "^7.14.8", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.9", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0" } }, "@babel/helper-optimise-call-expression": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", - "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", + "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", "dev": true, "requires": { - "@babel/types": "^7.12.13" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.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/types": "^7.14.5" } }, "@babel/helper-plugin-utils": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", "dev": true }, "@babel/helper-remap-async-to-generator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.13.tgz", - "integrity": "sha512-Qa6PU9vNcj1NZacZZI1Mvwt+gXDH6CTfgAkSjeRMLE8HxtDK76+YDId6NQR+z7Rgd5arhD2cIbS74r0SxD6PDA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz", + "integrity": "sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-wrap-function": "^7.12.13", - "@babel/types": "^7.12.13" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.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/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-wrap-function": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/helper-replace-supers": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", - "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz", + "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.12.13", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.12.13", - "@babel/types": "^7.12.13" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/generator": { - "version": "7.12.15", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", - "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", - "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", - "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==", - "dev": true - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/traverse": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", - "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "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.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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 - }, - "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.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "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 - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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/helper-member-expression-to-functions": "^7.15.0", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0" } }, "@babel/helper-simple-access": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", - "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", + "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", "dev": true, "requires": { - "@babel/types": "^7.12.13" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.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/types": "^7.14.8" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz", + "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==", "dev": true, "requires": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.14.5" } }, "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", + "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", "dev": true, "requires": { - "@babel/types": "^7.11.0" + "@babel/types": "^7.14.5" } }, "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", + "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", "dev": true }, "@babel/helper-validator-option": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.16.tgz", - "integrity": "sha512-uCgsDBPUQDvzr11ePPo4TVEocxj8RXjUVSC/Y8N1YpVAI/XDdUwGJu78xmlGhTxj2ntaWM7n9LQdRtyhOzT2YQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", "dev": true }, "@babel/helper-wrap-function": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.13.tgz", - "integrity": "sha512-t0aZFEmBJ1LojdtJnhOaQEVejnzYhyjWHSsNSNo8vOYRbAJNh6r6GQF7pd36SqG7OKGbn+AewVQ/0IfYfIuGdw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz", + "integrity": "sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.12.13", - "@babel/types": "^7.12.13" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/generator": { - "version": "7.12.15", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", - "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", - "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", - "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==", - "dev": true - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/traverse": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", - "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "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.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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 - }, - "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.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "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 - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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/helper-function-name": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/helpers": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.13.tgz", - "integrity": "sha512-oohVzLRZ3GQEk4Cjhfs9YkJA4TdIDTObdBEZGrd6F/T0GPSnuV6l22eMcxlvcvzVIPH3VTtxbseudM1zIE+rPQ==", + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz", + "integrity": "sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==", "dev": true, "requires": { - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.12.13", - "@babel/types": "^7.12.13" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/generator": { - "version": "7.12.15", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", - "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", - "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", - "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==", - "dev": true - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/traverse": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", - "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "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.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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 - }, - "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.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "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 - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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/template": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0" } }, "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.14.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -1629,142 +419,178 @@ } }, "@babel/parser": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", - "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz", + "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==", "dev": true }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.13.tgz", - "integrity": "sha512-1KH46Hx4WqP77f978+5Ye/VUbuwQld2hph70yaw2hXS2v7ER2f3nlpNMu909HO2rbvP0NKLlMVDPh9KXklVMhA==", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-remap-async-to-generator": "^7.12.13", - "@babel/plugin-syntax-async-generators": "^7.8.0" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.9.tgz", + "integrity": "sha512-d1lnh+ZnKrFKwtTYdw320+sQWCTwgkB9fmUhNXRADA4akR6wLjaruSGnIEUjpt9HCOwTr4ynFTKu19b7rFRpmw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.13.tgz", - "integrity": "sha512-8SCJ0Ddrpwv4T7Gwb33EmW1V9PY5lggTO+A8WjyIwxrSHDUyBw4MtF96ifn1n8H806YlxbVCoKXbbmzD6RD+cA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", + "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz", + "integrity": "sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.16.tgz", - "integrity": "sha512-yiDkYFapVxNOCcBfLnsb/qdsliroM+vc3LHiZwS4gh7pFjo5Xq3BDhYBNn3H3ao+hWPvqeeTdU+s+FIvokov+w==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", + "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", - "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", + "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.13.tgz", - "integrity": "sha512-v9eEi4GiORDg8x+Dmi5r8ibOe0VXoKDeNPYcTTxdGN4eOWikrJfDJCJrr1l5gKGvsNyGJbrfMftC2dTL6oz7pg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", + "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/plugin-syntax-json-strings": "^7.8.0" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.13.tgz", - "integrity": "sha512-fqmiD3Lz7jVdK6kabeSr1PZlWSUVqSitmHEe3Z00dtGTKieWnX9beafvavc32kjORa5Bai4QNHgFDwWJP+WtSQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", + "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.13.tgz", - "integrity": "sha512-Qoxpy+OxhDBI5kRqliJFAl4uWXk3Bn24WeFstPH0iLymFehSAUR8MHpqU7njyXv/qbo7oN6yTy5bfCmXdKpo1Q==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", + "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz", - "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", + "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.13.tgz", - "integrity": "sha512-WvA1okB/0OS/N3Ldb3sziSrXg6sRphsBgqiccfcQq7woEn5wQLNX82Oc4PlaFcdwcWHuQXAtb8ftbS8Fbsg/sg==", + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz", + "integrity": "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.13" + "@babel/compat-data": "^7.14.7", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.14.5" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.13.tgz", - "integrity": "sha512-9+MIm6msl9sHWg58NvqpNpLtuFbmpFYk37x8kgnGzAHvX35E1FyAwSUt5hIkSoWJFSAH+iwU8bJ4fcD1zKXOzg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", + "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.16.tgz", - "integrity": "sha512-O3ohPwOhkwji5Mckb7F/PJpJVJY3DpPsrt/F0Bk40+QMk9QpAIqeGusHWqu/mYqsM8oBa6TziL/2mbERWsUZjg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.13.tgz", - "integrity": "sha512-sV0V57uUwpauixvR7s2o75LmwJI6JECwm5oPUY5beZB1nBl2i37hc7CJGqB5G+58fur5Y6ugvl3LRONk5x34rg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", + "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", - "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", + "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-syntax-async-generators": { @@ -1785,6 +611,15 @@ "@babel/helper-plugin-utils": "^7.12.13" } }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, "@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", @@ -1866,593 +701,364 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", - "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.13.tgz", - "integrity": "sha512-tBtuN6qtCTd+iHzVZVOMNp+L04iIJBpqkdY42tWbmjIT5wvR2kx7gxMBsyhQtFzHwBbyGi9h8J8r9HgnOpQHxg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", + "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.13.tgz", - "integrity": "sha512-psM9QHcHaDr+HZpRuJcE1PXESuGWSCcbiGFFhhwfzdbTxaGDVzuVtdNYliAwcRo3GFg0Bc8MmI+AvIGYIJG04A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", + "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-remap-async-to-generator": "^7.12.13" + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", - "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", + "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz", - "integrity": "sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==", + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz", + "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-classes": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.13.tgz", - "integrity": "sha512-cqZlMlhCC1rVnxE5ZGMtIb896ijL90xppMiuWXcwcOAuFczynpd3KYemb91XFFPi3wJSe/OcrX9lXoowatkkxA==", + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.9.tgz", + "integrity": "sha512-NfZpTcxU3foGWbl4wxmZ35mTsYJy8oQocbeIMoDAGGFarAmSQlL+LWMkDx/tj6pNotpbX3rltIA4dprgAPOq5A==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-replace-supers": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", "globals": "^11.1.0" }, "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", - "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", - "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==", - "dev": true - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "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.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" - } - }, "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 - }, - "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" - } - }, - "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/plugin-transform-computed-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.13.tgz", - "integrity": "sha512-dDfuROUPGK1mTtLKyDPUavmj2b6kFu82SmgpztBFEO974KMjJT+Ytj3/oWsTUMBmgPcp9J5Pc1SlcAYRpJ2hRA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", + "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-destructuring": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.13.tgz", - "integrity": "sha512-Dn83KykIFzjhA3FDPA1z4N+yfF3btDGhjnJwxIj0T43tP0flCujnU8fKgEkf0C1biIpSv9NZegPBQ1J6jYkwvQ==", + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", + "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", - "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", + "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", - "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", + "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", - "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", + "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-for-of": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.13.tgz", - "integrity": "sha512-xCbdgSzXYmHGyVX3+BsQjcd4hv4vA/FDy7Kc8eOpzKmBBPEOTurt0w5fCRQaGl+GSBORKgJdstQ1rHl4jbNseQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz", + "integrity": "sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", - "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", + "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", - "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", - "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==", - "dev": true - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "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.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" - } - }, - "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" - } - }, - "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-function-name": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", - "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", + "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", - "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", + "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.13.tgz", - "integrity": "sha512-JHLOU0o81m5UqG0Ulz/fPC68/v+UTuGTWaZBUwpEk1fYQ1D9LfKV6MPn4ttJKqRo5Lm460fkzjLTL4EHvCprvA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", + "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.13.tgz", - "integrity": "sha512-OGQoeVXVi1259HjuoDnsQMlMkT9UkZT9TpXAsqWplS/M0N1g3TJAn/ByOCeQu7mfjc5WpSsRU+jV1Hd89ts0kQ==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.0.tgz", + "integrity": "sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-module-transforms": "^7.15.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.14.8", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.13.tgz", - "integrity": "sha512-aHfVjhZ8QekaNF/5aNdStCGzwTbU7SI5hUybBKlMzqIMC7w7Ho8hx5a4R/DkTHfRfLwHGGxSpFt9BfxKCoXKoA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz", + "integrity": "sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.12.13", - "@babel/helper-module-transforms": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-validator-identifier": "^7.12.11", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - } } }, "@babel/plugin-transform-modules-umd": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.13.tgz", - "integrity": "sha512-BgZndyABRML4z6ibpi7Z98m4EVLFI9tVsZDADC14AElFaNHHBcJIovflJ6wtCqFxwy2YJ1tJhGRsr0yLPKoN+w==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", + "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", - "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz", + "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.14.5" } }, "@babel/plugin-transform-new-target": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", - "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", + "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-object-super": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", - "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", + "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-replace-supers": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5" } }, "@babel/plugin-transform-parameters": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.13.tgz", - "integrity": "sha512-e7QqwZalNiBRHCpJg/P8s/VJeSRYgmtWySs1JwvfwPqhBbiWfOcHDKdeAi6oAyIimoKWBlwc8oTgbZHdhCoVZA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", + "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-property-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", - "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", + "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-regenerator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz", - "integrity": "sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", + "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", "dev": true, "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", - "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", + "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-runtime": { - "version": "7.12.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.15.tgz", - "integrity": "sha512-OwptMSRnRWJo+tJ9v9wgAf72ydXWfYSXWhnQjZing8nGZSDFqU1MBleKM3+DriKkcbv7RagA8gVeB0A1PNlNow==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.15.0.tgz", + "integrity": "sha512-sfHYkLGjhzWTq6xsuQ01oEsUYjkHRux9fW1iUA68dC7Qd8BS1Unq4aZ8itmQp95zUzIcyR2EbNMTzAicFj+guw==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13", - "semver": "^5.5.1" + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "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 + } } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", - "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", + "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-spread": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.13.tgz", - "integrity": "sha512-dUCrqPIowjqk5pXsx1zPftSq4sT0aCeZVAxhdgs3AMgyaDmoUT0G+5h3Dzja27t76aUEIJWlFgPJqJ/d4dbTtg==", + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz", + "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", - "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", + "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-template-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.13.tgz", - "integrity": "sha512-arIKlWYUgmNsF28EyfmiQHJLJFlAJNYkuQO10jL46ggjBpeb2re1P9K9YGxNJB45BqTbaslVysXDYm/g3sN/Qg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", + "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", - "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", + "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", - "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", + "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", - "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", + "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/polyfill": { @@ -2472,100 +1078,90 @@ } }, "@babel/preset-env": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.16.tgz", - "integrity": "sha512-BXCAXy8RE/TzX416pD2hsVdkWo0G+tYd16pwnRV4Sc0fRwTLRS/Ssv8G5RLXUGQv7g4FG7TXkdDJxCjQ5I+Zjg==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.0.tgz", + "integrity": "sha512-FhEpCNFCcWW3iZLg0L2NPE9UerdtsCR6ZcsGHUX6Om6kbCQeL5QZDqFDmeNHC6/fy6UH3jEge7K4qG5uC9In0Q==", "dev": true, "requires": { - "@babel/compat-data": "^7.12.13", - "@babel/helper-compilation-targets": "^7.12.16", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-validator-option": "^7.12.16", - "@babel/plugin-proposal-async-generator-functions": "^7.12.13", - "@babel/plugin-proposal-class-properties": "^7.12.13", - "@babel/plugin-proposal-dynamic-import": "^7.12.16", - "@babel/plugin-proposal-export-namespace-from": "^7.12.13", - "@babel/plugin-proposal-json-strings": "^7.12.13", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.13", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.13", - "@babel/plugin-proposal-numeric-separator": "^7.12.13", - "@babel/plugin-proposal-object-rest-spread": "^7.12.13", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.13", - "@babel/plugin-proposal-optional-chaining": "^7.12.16", - "@babel/plugin-proposal-private-methods": "^7.12.13", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", - "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/compat-data": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-async-generator-functions": "^7.14.9", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.14.5", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.14.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.14.5", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.13", - "@babel/plugin-transform-arrow-functions": "^7.12.13", - "@babel/plugin-transform-async-to-generator": "^7.12.13", - "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.12.13", - "@babel/plugin-transform-classes": "^7.12.13", - "@babel/plugin-transform-computed-properties": "^7.12.13", - "@babel/plugin-transform-destructuring": "^7.12.13", - "@babel/plugin-transform-dotall-regex": "^7.12.13", - "@babel/plugin-transform-duplicate-keys": "^7.12.13", - "@babel/plugin-transform-exponentiation-operator": "^7.12.13", - "@babel/plugin-transform-for-of": "^7.12.13", - "@babel/plugin-transform-function-name": "^7.12.13", - "@babel/plugin-transform-literals": "^7.12.13", - "@babel/plugin-transform-member-expression-literals": "^7.12.13", - "@babel/plugin-transform-modules-amd": "^7.12.13", - "@babel/plugin-transform-modules-commonjs": "^7.12.13", - "@babel/plugin-transform-modules-systemjs": "^7.12.13", - "@babel/plugin-transform-modules-umd": "^7.12.13", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", - "@babel/plugin-transform-new-target": "^7.12.13", - "@babel/plugin-transform-object-super": "^7.12.13", - "@babel/plugin-transform-parameters": "^7.12.13", - "@babel/plugin-transform-property-literals": "^7.12.13", - "@babel/plugin-transform-regenerator": "^7.12.13", - "@babel/plugin-transform-reserved-words": "^7.12.13", - "@babel/plugin-transform-shorthand-properties": "^7.12.13", - "@babel/plugin-transform-spread": "^7.12.13", - "@babel/plugin-transform-sticky-regex": "^7.12.13", - "@babel/plugin-transform-template-literals": "^7.12.13", - "@babel/plugin-transform-typeof-symbol": "^7.12.13", - "@babel/plugin-transform-unicode-escapes": "^7.12.13", - "@babel/plugin-transform-unicode-regex": "^7.12.13", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.13", - "core-js-compat": "^3.8.0", - "semver": "^5.5.0" + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.14.5", + "@babel/plugin-transform-classes": "^7.14.9", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.7", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.14.5", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.15.0", + "@babel/plugin-transform-modules-systemjs": "^7.14.5", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.14.5", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.15.0", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.16.0", + "semver": "^6.3.0" }, "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.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=", + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } @@ -2584,54 +1180,54 @@ } }, "@babel/runtime": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.13.tgz", - "integrity": "sha512-8+3UMPBrjFa/6TtKi/7sehPKqfAm4g6K+YQjyyFOLUTxzOngcRZTlAVY8sc2CORJYqdHQY8gRPHmn+qo15rCBw==", + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz", + "integrity": "sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==", "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/runtime-corejs3": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.12.13.tgz", - "integrity": "sha512-8fSpqYRETHATtNitsCXq8QQbKJP31/KnDl2Wz2Vtui9nKzjss2ysuZtyVsWjBtvkeEFo346gkwjYPab1hvrXkQ==", + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.15.3.tgz", + "integrity": "sha512-30A3lP+sRL6ml8uhoJSs+8jwpKzbw8CqBvDc1laeptxPm5FahumJxirigcbD2qTs71Sonvj1cyZB0OKGAmxQ+A==", "requires": { - "core-js-pure": "^3.0.0", + "core-js-pure": "^3.16.0", "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/traverse": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.10.tgz", - "integrity": "sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz", + "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.10", - "@babel/types": "^7.12.10", + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.0", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.15.0", + "@babel/types": "^7.15.0", "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" + "globals": "^11.1.0" }, "dependencies": { "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { "ms": "2.1.2" @@ -2652,13 +1248,12 @@ } }, "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", + "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", + "@babel/helper-validator-identifier": "^7.14.9", "to-fast-properties": "^2.0.0" }, "dependencies": { @@ -2671,39 +1266,38 @@ } }, "@eslint/eslintrc": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", - "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.1.1", "espree": "^7.3.0", - "globals": "^12.1.0", + "globals": "^13.9.0", "ignore": "^4.0.6", "import-fresh": "^3.2.1", "js-yaml": "^3.13.1", - "lodash": "^4.17.20", "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" }, "dependencies": { "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { "ms": "2.1.2" } }, "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", + "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", "dev": true, "requires": { - "type-fest": "^0.8.1" + "type-fest": "^0.20.2" } }, "ignore": { @@ -2720,6 +1314,40 @@ } } }, + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "dependencies": { + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + } + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", + "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "dev": true + }, "@jimp/bmp": { "version": "0.16.1", "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.16.1.tgz", @@ -3053,35 +1681,35 @@ } }, "@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", - "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.3", + "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true }, "@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", - "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.3", + "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "@polka/url": { - "version": "1.0.0-next.11", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.11.tgz", - "integrity": "sha512-3NsZsJIA/22P3QUyrEDNA2D133H4j224twJrdipXN38dpnIOzAbUDtOwkcJ5pXmn75w7LSQDjA4tO9dm1XlqlA==", + "version": "1.0.0-next.17", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.17.tgz", + "integrity": "sha512-0p1rCgM3LLbAdwBnc7gqgnvjHg9KpbhcSphergHShlkWz8EdPawoMJ3/VbezI0mGC5eKCDzMaPgF9Yca6cKvrg==", "dev": true }, "@protobufjs/aspromise": { @@ -3151,9 +1779,9 @@ "dev": true }, "@types/eslint": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.6.tgz", - "integrity": "sha512-I+1sYH+NPQ3/tVqCeUSBwTE/0heyvtXqpIopUUArlBm0Kpocb8FbMa3AZ/ASKIFpN3rnEx932TTXDbt9OXsNDw==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz", + "integrity": "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==", "dev": true, "requires": { "@types/estree": "*", @@ -3161,9 +1789,9 @@ } }, "@types/eslint-scope": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", - "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==", "dev": true, "requires": { "@types/eslint": "*", @@ -3171,15 +1799,15 @@ } }, "@types/estree": { - "version": "0.0.46", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz", - "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==", + "version": "0.0.50", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", + "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", "dev": true }, "@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", "dev": true, "requires": { "@types/minimatch": "*", @@ -3187,15 +1815,15 @@ } }, "@types/html-minifier-terser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", - "integrity": "sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz", + "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==", "dev": true }, "@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", "dev": true }, "@types/long": { @@ -3204,15 +1832,15 @@ "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" }, "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", "dev": true }, "@types/node": { - "version": "14.14.22", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", - "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==" + "version": "16.6.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.6.2.tgz", + "integrity": "sha512-LSw8TZt12ZudbpHc6EkIyDM3nHVWKYrAvGy6EAJfNfjusbwnThqjqxUKKRwuV3iWYeW/LYMzNgaq3MaLffQ2xA==" }, "@types/parse-json": { "version": "4.0.0", @@ -3221,9 +1849,9 @@ "dev": true }, "@types/sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-dqYdvN7Sbw8QT/0Ci5rhjE4/iCMJEM0Y9rHpCu+gGXD9Lwbz28t6HI2yegsB6BoV1sShRMU6lAmAcgRjmFy7LA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.3.tgz", + "integrity": "sha512-+QSw6Tqvs/KQpZX8DvIl3hZSjNFLW/OqE5nlyHXtTwODaJvioN2rOWpBNEWZp2HZUFhOh+VohmJku/WxEXU2XA==", "dev": true, "requires": { "@types/node": "*" @@ -3240,148 +1868,148 @@ } }, "@webassemblyjs/ast": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz", - "integrity": "sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", "dev": true, "requires": { - "@webassemblyjs/helper-numbers": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0" + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz", - "integrity": "sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", "dev": true }, "@webassemblyjs/helper-api-error": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz", - "integrity": "sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz", - "integrity": "sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", "dev": true }, "@webassemblyjs/helper-numbers": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz", - "integrity": "sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", "dev": true, "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.0", - "@webassemblyjs/helper-api-error": "1.11.0", + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", "@xtuc/long": "4.2.2" } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz", - "integrity": "sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz", - "integrity": "sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" } }, "@webassemblyjs/ieee754": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz", - "integrity": "sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.0.tgz", - "integrity": "sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", "dev": true, "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.0.tgz", - "integrity": "sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz", - "integrity": "sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/helper-wasm-section": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0", - "@webassemblyjs/wasm-opt": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0", - "@webassemblyjs/wast-printer": "1.11.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" } }, "@webassemblyjs/wasm-gen": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz", - "integrity": "sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/ieee754": "1.11.0", - "@webassemblyjs/leb128": "1.11.0", - "@webassemblyjs/utf8": "1.11.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, "@webassemblyjs/wasm-opt": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz", - "integrity": "sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" } }, "@webassemblyjs/wasm-parser": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz", - "integrity": "sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-api-error": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/ieee754": "1.11.0", - "@webassemblyjs/leb128": "1.11.0", - "@webassemblyjs/utf8": "1.11.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, "@webassemblyjs/wast-printer": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz", - "integrity": "sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/ast": "1.11.1", "@xtuc/long": "4.2.2" } }, @@ -3419,16 +2047,22 @@ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, + "acorn-import-assertions": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz", + "integrity": "sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA==", + "dev": true + }, "acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true }, "acorn-walk": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.0.2.tgz", - "integrity": "sha512-+bpA9MJsHdZ4bgfDcpk0ozQyhhVct7rzOmO0s1IIr0AGGgKBljss8n2zp11rRP2wid5VGeh04CgeKzgat5/25A==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.1.1.tgz", + "integrity": "sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w==", "dev": true }, "agent-base": { @@ -3586,6 +2220,12 @@ } } }, + "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-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -3697,9 +2337,9 @@ } }, "arg": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.0.tgz", - "integrity": "sha512-4P8Zm2H+BRS+c/xX1LrHw0qKpEhdlZjLCgWy+d78T9vqa2Z2SiD2wMrYuWIAFy5IZUD7nnNXroRttz+0RzlrzQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz", + "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==", "dev": true }, "argparse": { @@ -3799,9 +2439,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" } } }, @@ -3865,9 +2505,9 @@ "dev": true }, "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.1.tgz", + "integrity": "sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg==", "dev": true }, "async-each": { @@ -3901,23 +2541,23 @@ "dev": true }, "autoprefixer": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.2.4.tgz", - "integrity": "sha512-DCCdUQiMD+P/as8m3XkeTUkUKuuRqLGcwD0nll7wevhqoJfMRpJlkFd1+MQh1pvupjiQuip42lc/VFvfUTMSKw==", + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.1.tgz", + "integrity": "sha512-L8AmtKzdiRyYg7BUXJTzigmhbQRCXFKz6SA1Lqo0+AR2FBbQ4aTAPFSDlOutnFkjhiz8my4agGXog1xlMjPJ6A==", "dev": true, "requires": { - "browserslist": "^4.16.1", - "caniuse-lite": "^1.0.30001181", - "colorette": "^1.2.1", - "fraction.js": "^4.0.13", + "browserslist": "^4.16.6", + "caniuse-lite": "^1.0.30001243", + "colorette": "^1.2.2", + "fraction.js": "^4.1.1", "normalize-range": "^0.1.2", "postcss-value-parser": "^4.1.0" } }, "avsc": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/avsc/-/avsc-5.5.3.tgz", - "integrity": "sha512-LaBbmBsus1mpK+6i99AF57/tUP8/wAj9+ZZm/5HGNIWN0dUZWUEp4/o79pAiRz49Mdb3PskltbCFD3w115TdZQ==" + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/avsc/-/avsc-5.7.3.tgz", + "integrity": "sha512-uUbetCWczQHbsKyX1C99XpQHBM8SWfovvaZhPIj23/1uV7SQf0WeRZbiLpw0JZm+LHTChfNgrLfDJOVoU2kU+A==" }, "aws-sign2": { "version": "0.7.0", @@ -3993,6 +2633,44 @@ "object.assign": "^4.1.0" } }, + "babel-plugin-polyfill-corejs2": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", + "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.2", + "semver": "^6.1.1" + }, + "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 + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz", + "integrity": "sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.14.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", + "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.2" + } + }, "babel-plugin-transform-builtin-extend": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/babel-plugin-transform-builtin-extend/-/babel-plugin-transform-builtin-extend-1.1.2.tgz", @@ -4068,10 +2746,9 @@ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" }, "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "base": { "version": "0.11.2", @@ -4203,12 +2880,21 @@ "optional": true, "requires": { "file-uri-to-path": "1.0.0" + }, + "dependencies": { + "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 + } } }, "blakejs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz", - "integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.1.tgz", + "integrity": "sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg==" }, "bluebird": { "version": "3.7.2", @@ -4216,6 +2902,11 @@ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, + "blueimp-load-image": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/blueimp-load-image/-/blueimp-load-image-3.0.0.tgz", + "integrity": "sha512-Q9rFbd4ZUNvzSFmRXx9MoG0RwWwJeMjjEUbG7WIOJgUg22Jgkow0wL5b35B6qwiBscxACW9OHdrP5s2vQ3x8DQ==" + }, "bmp-js": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", @@ -4227,9 +2918,9 @@ "integrity": "sha512-7TvGbqbZb6lDzsBtNz1VkdXXV0BVmZKPPViPmo2IpvwaryF7P+QKYKACyVkwo2mZPr2CpFiz7EtgPEcc3o/JFQ==" }, "bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" }, "body": { "version": "5.1.0", @@ -4344,12 +3035,12 @@ "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==" }, "bootstrap-colorpicker": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/bootstrap-colorpicker/-/bootstrap-colorpicker-3.2.0.tgz", - "integrity": "sha512-twW93EFLf4MzZ/st+MkfdLCWEEA7r43WPlPnGckzm3Lj2FsbmVS/qgJH2c9IcmO3re5Q1320NO9bhuViwHR9Qw==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/bootstrap-colorpicker/-/bootstrap-colorpicker-3.4.0.tgz", + "integrity": "sha512-7vA0hvLrat3ptobEKlT9+6amzBUJcDAoh6hJRQY/AD+5dVZYXXf1ivRfrTwmuwiVLJo9rZwM8YB4lYzp6agzqg==", "requires": { "bootstrap": ">=4.0", - "jquery": ">=2.1.0", + "jquery": ">=2.2", "popper.js": ">=1.10" } }, @@ -4362,7 +3053,6 @@ "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" @@ -4456,22 +3146,22 @@ } }, "browserslist": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", - "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "version": "4.16.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.8.tgz", + "integrity": "sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001181", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.649", + "caniuse-lite": "^1.0.30001251", + "colorette": "^1.3.0", + "electron-to-chromium": "^1.3.811", "escalade": "^3.1.1", - "node-releases": "^1.1.70" + "node-releases": "^1.1.75" } }, "bson": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/bson/-/bson-4.2.2.tgz", - "integrity": "sha512-9fX257PVHAUpiRGmY3356RVWKQxLA73BgjA/x5MGuJkTEMeG7yzjuBrsiFB67EXRJnFVKrbJY9t/M+oElKYktQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/bson/-/bson-4.4.1.tgz", + "integrity": "sha512-Uu4OCZa0jouQJCKOk1EmmyqtdWAP5HVLru4lQxTwzJzxT+sJ13lVpEZU/MATDxtHiekWMAL84oQY3Xn1LpJVSg==", "requires": { "buffer": "^5.6.0" }, @@ -4513,9 +3203,9 @@ "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" }, "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==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "buffer-indexof": { "version": "1.1.1", @@ -4557,12 +3247,12 @@ } }, "call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", - "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "requires": { "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" + "get-intrinsic": "^1.0.2" } }, "callsites": { @@ -4582,9 +3272,9 @@ } }, "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, "camelcase-keys": { @@ -4606,9 +3296,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001181", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001181.tgz", - "integrity": "sha512-m5ul/ARCX50JB8BSNM+oiPmQrR5UmngaQ3QThTTp5HcIIQGP/nPBs82BYLE+tigzm3VW+F4BJIhUyaVtEweelQ==", + "version": "1.0.30001251", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001251.tgz", + "integrity": "sha512-HOe1r+9VkU4TFmnU70z+r7OLmtR+/chB1rdcJUeQlAinjEeb0cKL20tlAtOagNZhbrtLnCvV19B4FmF1rgzl6A==", "dev": true }, "caseless": { @@ -4618,12 +3308,12 @@ "dev": true }, "cbor": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.2.0.tgz", - "integrity": "sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.0.1.tgz", + "integrity": "sha512-l4ghwqioCyuAaD3LvY4ONwv8NMuERz62xjbMHGdWBqERJPygVmoFER1b4+VS6iW0rXwoVGuKZPPPTofwWOg3YQ==", "requires": { - "bignumber.js": "^9.0.1", - "nofilter": "^1.0.4" + "bignumber.js": "^9.0.0", + "nofilter": "^1.0.3" } }, "chai-nightwatch": { @@ -4744,6 +3434,12 @@ } } }, + "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-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -4781,26 +3477,15 @@ "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" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true }, "chromedriver": { - "version": "92.0.0", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-92.0.0.tgz", - "integrity": "sha512-IdJ5n5jLL6tCsGQF/fQHF2gDEhVzoYIqktUn6hE/BSsXlCcyDTi45fQbhTEhZlmshM8+BpnRtPuIT5DRbxNqKg==", + "version": "92.0.1", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-92.0.1.tgz", + "integrity": "sha512-LptlDVCs1GgyFNVbRoHzzy948JDVzTgGiVPXjNj385qXKQP3hjAVBIgyvb/Hco0xSEW8fjwJfsm1eQRmu6t4pQ==", "dev": true, "requires": { "@testim/chrome-version": "^1.0.7", @@ -4954,13 +3639,9 @@ "dev": true }, "codepage": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.14.0.tgz", - "integrity": "sha1-jL4lSBMjVZ19MHVxsP/5HnodL5k=", - "requires": { - "commander": "~2.14.1", - "exit-on-epipe": "~1.0.1" - } + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", + "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==" }, "collection-visit": { "version": "1.0.0", @@ -4988,16 +3669,15 @@ "dev": true }, "colorette": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz", + "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==", "dev": true }, "colors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" }, "combined-stream": { "version": "1.0.8", @@ -5009,9 +3689,9 @@ } }, "commander": { - "version": "2.14.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz", - "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==" + "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==" }, "commondir": { "version": "1.0.1", @@ -5066,8 +3746,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=" }, "connect": { "version": "3.7.0", @@ -5129,9 +3808,9 @@ "dev": true }, "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==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "dev": true, "requires": { "safe-buffer": "~5.1.1" @@ -5164,30 +3843,27 @@ "dev": true }, "copy-webpack-plugin": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-7.0.0.tgz", - "integrity": "sha512-SLjQNa5iE3BoCP76ESU9qYo9ZkEWtXoZxDurHoqPchAFRblJ9g96xTeC560UXBMre1Nx6ixIIUfiY3VcjpJw3g==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.1.tgz", + "integrity": "sha512-14gHKKdYIxF84jCEgPgYXCPpldbwpxxLbCmA7LReY7gvbaT555DgeBWBgBZM116tv/fO6RRJrsivBqRyRlukhw==", "dev": true, "requires": { - "fast-glob": "^3.2.4", - "glob-parent": "^5.1.1", - "globby": "^11.0.1", - "loader-utils": "^2.0.0", + "fast-glob": "^3.2.5", + "glob-parent": "^6.0.0", + "globby": "^11.0.3", "normalize-path": "^3.0.0", - "p-limit": "^3.0.2", + "p-limit": "^3.1.0", "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1" + "serialize-javascript": "^6.0.0" }, "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "glob-parent": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.1.tgz", + "integrity": "sha512-kEVjS71mQazDBHKcsq4E9u/vUzaLcw1A8EtUeydawvIWQCJM0qQ08G1H7/XTjFUulla6XQiDOG6MXSaG0HDKog==", "dev": true, "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "is-glob": "^4.0.1" } }, "p-limit": { @@ -5200,12 +3876,12 @@ } }, "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { - "@types/json-schema": "^7.0.6", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } @@ -5213,17 +3889,17 @@ } }, "core-js": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.3.tgz", - "integrity": "sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q==" + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.2.tgz", + "integrity": "sha512-P0KPukO6OjMpjBtHSceAZEWlDD1M2Cpzpg6dBbrjFqFhBHe/BwhxaP820xKOjRn/lZRQirrCusIpLS/n2sgXLQ==" }, "core-js-compat": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.3.tgz", - "integrity": "sha512-1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog==", + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.16.2.tgz", + "integrity": "sha512-4lUshXtBXsdmp8cDWh6KKiHUg40AjiuPD3bOWkNVsr1xkAhpUqCjaZ8lB1bKx9Gb5fXcbRbFJ4f4qpRIRTuJqQ==", "dev": true, "requires": { - "browserslist": "^4.16.1", + "browserslist": "^4.16.7", "semver": "7.0.0" }, "dependencies": { @@ -5236,9 +3912,9 @@ } }, "core-js-pure": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.8.3.tgz", - "integrity": "sha512-V5qQZVAr9K0xu7jXg1M7qTEwuxUgqr7dUOezGaNa7i+Xn9oXAU/d1fzqD9ObuwpVQOaorO5s70ckyi1woP9lVA==" + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.16.2.tgz", + "integrity": "sha512-oxKe64UH049mJqrKkynWp6Vu0Rlm/BTXO/bJZuN2mmR3RtOFNepLlSWDd1eo16PzHpQAoNG97rLU1V/YxesJjw==" }, "core-util-is": { "version": "1.0.2", @@ -5283,9 +3959,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" } } }, @@ -5349,28 +4025,26 @@ } }, "crypto-js": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.0.0.tgz", - "integrity": "sha512-bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg==" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" }, "css-loader": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.0.2.tgz", - "integrity": "sha512-gbkBigdcHbmNvZ1Cg6aV6qh6k9N6XOr8YWzISLQGrwk2mgOH8LLrizhkxbDhQtaLtktyKHD4970S0xwz5btfTA==", + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", + "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", "dev": true, "requires": { - "camelcase": "^6.2.0", - "cssesc": "^3.0.0", "icss-utils": "^5.1.0", "loader-utils": "^2.0.0", - "postcss": "^8.2.4", + "postcss": "^8.2.15", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.1.0", "schema-utils": "^3.0.0", - "semver": "^7.3.4" + "semver": "^7.3.5" }, "dependencies": { "loader-utils": { @@ -5385,20 +4059,20 @@ } }, "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { - "@types/json-schema": "^7.0.6", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -5407,21 +4081,22 @@ } }, "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", "dev": true, "requires": { "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" } }, "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", + "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==", "dev": true }, "cssesc": { @@ -5488,17 +4163,17 @@ } }, "d3-array": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.11.0.tgz", - "integrity": "sha512-26clcwmHQEdsLv34oNKq5Ia9tQ26Y/4HqS3dQzF42QBUqymZJ+9PORcN1G52bt37NsL2ABoX4lvyYZc+A9Y0zw==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", "requires": { "internmap": "^1.0.0" } }, "d3-axis": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-2.0.0.tgz", - "integrity": "sha512-9nzB0uePtb+u9+dWir+HTuEAKJOEUYJoEwbJPsZ1B4K3iZUgzJcSENQ05Nj7S4CIfbZZ8/jQGoUzGKFznBhiiQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-2.1.0.tgz", + "integrity": "sha512-z/G2TQMyuf0X3qP+Mh+2PimoJD41VOCjViJzT0BHeL/+JQAofkiWZbWxlwFGb1N8EN+Cl/CW+MUKbVzr1689Cw==" }, "d3-brush": { "version": "2.1.0", @@ -5594,11 +4269,11 @@ "integrity": "sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA==" }, "d3-geo": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-2.0.1.tgz", - "integrity": "sha512-M6yzGbFRfxzNrVhxDJXzJqSLQ90q1cCyb3EWFZ1LF4eWOBYxFypw7I/NFVBNXKNqxv1bqLathhYvdJ6DC+th3A==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-2.0.2.tgz", + "integrity": "sha512-8pM1WGMLGFuhq9S+FpPURxic+gKzjluCD/CHTuUF3mXMeiCo0i6R0tO1s4+GArRFde96SLcW/kOFRjoAosPsFA==", "requires": { - "d3-array": ">=2.5" + "d3-array": "^2.5.0" } }, "d3-hexbin": { @@ -5640,14 +4315,14 @@ "integrity": "sha512-0D9P8TRj6qDAtHhRQn6EfdOtHMfsUWanl3yb/84C4DqpZ+VsgfI5iTVRNRbELCfNvRfpMr8OrqqUTQ6ANGCijw==" }, "d3-scale": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-3.2.3.tgz", - "integrity": "sha512-8E37oWEmEzj57bHcnjPVOBS3n4jqakOeuv1EDdQSiSrYnMCBdMd3nc4HtKk7uia8DUHcY/CGuJ42xxgtEYrX0g==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-3.3.0.tgz", + "integrity": "sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==", "requires": { "d3-array": "^2.3.0", "d3-format": "1 - 2", "d3-interpolate": "1.2.0 - 2", - "d3-time": "1 - 2", + "d3-time": "^2.1.1", "d3-time-format": "2 - 3" } }, @@ -5666,17 +4341,20 @@ "integrity": "sha512-XoGGqhLUN/W14NmaqcO/bb1nqjDAw5WtSYb2X8wiuQWvSZUsUVYsOSkOybUrNvcBjaywBdYPy03eXHMXjk9nZA==" }, "d3-shape": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-2.0.0.tgz", - "integrity": "sha512-djpGlA779ua+rImicYyyjnOjeubyhql1Jyn1HK0bTyawuH76UQRWXd+pftr67H6Fa8hSwetkgb/0id3agKWykw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-2.1.0.tgz", + "integrity": "sha512-PnjUqfM2PpskbSLTJvAzp2Wv4CZsnAgTfcVRTwW03QR3MkXF8Uo7B1y/lWkAsmbKwuecto++4NlsYcvYpXpTHA==", "requires": { "d3-path": "1 - 2" } }, "d3-time": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-2.0.0.tgz", - "integrity": "sha512-2mvhstTFcMvwStWd9Tj3e6CEqtOivtD8AUiHT8ido/xmzrI9ijrUUihZ6nHuf/vsScRBonagOdj0Vv+SEL5G3Q==" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-2.1.1.tgz", + "integrity": "sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ==", + "requires": { + "d3-array": "2" + } }, "d3-time-format": { "version": "3.0.0", @@ -5961,9 +4639,9 @@ "dev": true }, "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true }, "didyoumean": { @@ -5988,9 +4666,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" } } }, @@ -6010,9 +4688,9 @@ "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==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", "dev": true, "requires": { "ip": "^1.1.0", @@ -6047,21 +4725,14 @@ } }, "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", "dev": true, "requires": { "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", - "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", - "dev": true - } } }, "dom-walk": { @@ -6070,28 +4741,29 @@ "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" }, "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", "dev": true }, "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", + "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", "dev": true, "requires": { - "domelementtype": "1" + "domelementtype": "^2.2.0" } }, "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz", + "integrity": "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==", "dev": true, "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" } }, "dot-case": { @@ -6194,29 +4866,29 @@ } }, "electron-to-chromium": { - "version": "1.3.649", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.649.tgz", - "integrity": "sha512-ojGDupQ3UMkvPWcTICe4JYe17+o9OLiFMPoduoR72Zp2ILt1mRVeqnxBEd6s/ptekrnsFU+0A4lStfBe/wyG/A==", + "version": "1.3.812", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.812.tgz", + "integrity": "sha512-7KiUHsKAWtSrjVoTSzxQ0nPLr/a+qoxNZwkwd9LkylTOgOXSVXkQbpIVT0WAUQcI5gXq3SwOTCrK+WfINHOXQg==", "dev": true }, "elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", + "bn.js": "^4.11.9", + "brorand": "^1.1.0", "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" + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" } } }, @@ -6248,9 +4920,9 @@ } }, "enhanced-resolve": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz", - "integrity": "sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==", + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz", + "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -6272,9 +4944,9 @@ "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" }, "env-paths": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", - "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==", + "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": { @@ -6311,33 +4983,41 @@ } }, "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "version": "1.18.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.5.tgz", + "integrity": "sha512-DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA==", + "dev": true, "requires": { + "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.3", + "is-string": "^1.0.6", + "object-inspect": "^1.11.0", "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" } }, "es-module-lexer": { - "version": "0.3.26", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.3.26.tgz", - "integrity": "sha512-Va0Q/xqtrss45hWzP8CZJwzGSZJjDM5/MJRE3IXXnUCcVLElR9BRaE9F62BopysASyc4nM3uwhSW7FFB9nlWAA==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz", + "integrity": "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==", "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", @@ -6364,9 +5044,9 @@ "integrity": "sha1-84kl8jyz4+jObNqP93T867sJDN4=" }, "es6-promisify": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.1.1.tgz", - "integrity": "sha512-HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg==" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-7.0.0.tgz", + "integrity": "sha512-ginqzK3J90Rd4/Yz7qRrqUeIpe3TwSXTPPZtPne7tGBPeAaQiU8qt4fpKApnxHcq1AwtUdHVg5P77x/yrggG8Q==" }, "escalade": { "version": "3.1.1", @@ -6398,29 +5078,32 @@ } }, "eslint": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.20.0.tgz", - "integrity": "sha512-qGi0CTcOGP2OtCQBgWZlQjcTuP0XkIpYFj25XtRTQSHC+umNnp7UMshr2G8SLsRFYDdAPFeHOsiteadmMH02Yw==", + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", "dev": true, "requires": { "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.3.0", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.0.1", "doctrine": "^3.0.0", "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", "eslint-scope": "^5.1.1", "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "espree": "^7.3.1", "esquery": "^1.4.0", "esutils": "^2.0.2", - "file-entry-cache": "^6.0.0", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -6428,7 +5111,7 @@ "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.20", + "lodash.merge": "^4.6.2", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", @@ -6437,7 +5120,7 @@ "semver": "^7.2.1", "strip-ansi": "^6.0.0", "strip-json-comments": "^3.1.0", - "table": "^6.0.4", + "table": "^6.0.9", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, @@ -6467,9 +5150,9 @@ } }, "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -6492,27 +5175,33 @@ "dev": true }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { "ms": "2.1.2" } }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, "eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true }, "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", + "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", "dev": true, "requires": { - "type-fest": "^0.8.1" + "type-fest": "^0.20.2" } }, "has-flag": { @@ -6570,9 +5259,9 @@ "dev": true }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -6714,9 +5403,9 @@ "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==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", + "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", "dev": true, "requires": { "original": "^1.0.0" @@ -6811,11 +5500,6 @@ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true }, - "exit-on-epipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", - "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==" - }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -6861,9 +5545,9 @@ } }, "exports-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-2.0.0.tgz", - "integrity": "sha512-k/VFrVEUmotfkk8vZ+njG5NEXpr5Ee+BonV+AYINV2hNo3o+/UB8nEuCUQk2k6IyWIoobmXoTFO0igxrQcMV4Q==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-3.0.0.tgz", + "integrity": "sha512-b23Yg5SKR63ZvikGrQgfGgwd40MDehaYb7vOXgD7C0fMV04wS8U1I4f7n1j1wEhtQNKUqgdFox/ol2rOruOpOA==", "dev": true, "requires": { "source-map": "^0.6.1" @@ -7079,17 +5763,16 @@ "dev": true }, "fast-glob": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", - "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", + "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" + "micromatch": "^4.0.4" } }, "fast-json-stable-stringify": { @@ -7104,9 +5787,9 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "fastq": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz", - "integrity": "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz", + "integrity": "sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -7131,9 +5814,9 @@ } }, "file-entry-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", - "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "requires": { "flat-cache": "^3.0.4" @@ -7161,12 +5844,12 @@ } }, "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { - "@types/json-schema": "^7.0.6", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } @@ -7190,11 +5873,10 @@ "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==" }, "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 + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz", + "integrity": "sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==", + "dev": true }, "filelist": { "version": "1.0.2", @@ -7309,15 +5991,15 @@ } }, "flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", + "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", "dev": true }, "follow-redirects": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz", - "integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==", + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.2.tgz", + "integrity": "sha512-yLR6WaE2lbF0x4K2qE2p9PEXKLDjUjnR/xmjS3wHAYxtlsI9MLLBJUZirAHKzUZDGLxje7w/cXR49WOUo4rbsA==", "dev": true }, "for-in": { @@ -7353,15 +6035,15 @@ } }, "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true }, "fraction.js": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.0.13.tgz", - "integrity": "sha512-E1fz2Xs9ltlUp+qbiyx9wmt2n9dRzPsS11Jtdb8D2o+cC7wr9xkkKsVKJuBX0ST+LVS+LhLO+SbLJNtfWcJvXA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz", + "integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==", "dev": true }, "fragment-cache": { @@ -7402,8 +6084,7 @@ "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.13", @@ -7539,9 +6220,9 @@ "dev": true }, "get-intrinsic": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", - "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -7586,12 +6267,6 @@ "ms": "2.1.2" } }, - "file-uri-to-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz", - "integrity": "sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==", - "dev": true - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -7607,9 +6282,9 @@ "dev": true }, "getobject": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", - "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.2.tgz", + "integrity": "sha512-2zblDBaFcb3rB4rF77XVnuINOE2h2k/OnqXAiy0IrTxUfV1iFp3la33oAQVY9pCpWU268WFYVt2t71hlMuLsOg==", "dev": true }, "getpass": { @@ -7631,10 +6306,9 @@ } }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -7645,9 +6319,9 @@ } }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "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" @@ -7709,9 +6383,9 @@ "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" }, "globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", "dev": true, "requires": { "array-union": "^2.1.0", @@ -7723,9 +6397,9 @@ } }, "globule": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz", - "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.3.tgz", + "integrity": "sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg==", "dev": true, "requires": { "glob": "~7.1.1", @@ -7734,9 +6408,9 @@ } }, "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", "dev": true }, "growl": { @@ -7746,9 +6420,9 @@ "dev": true }, "grunt": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.3.0.tgz", - "integrity": "sha512-6ILlMXv11/4cxuhSMfSU+SfvbxrPuqZrAtLN64+tZpQ3DAKfSQPQHRbTjSbdtxfyQhGZPtN0bDZJ/LdCM5WXXA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.4.1.tgz", + "integrity": "sha512-ZXIYXTsAVrA7sM+jZxjQdrBOAg7DyMUplOMhTaspMRExei+fD0BTwdWXnn0W5SXqhb/Q/nlkzXclSi3IH55PIA==", "dev": true, "requires": { "dateformat": "~3.0.3", @@ -7756,10 +6430,10 @@ "exit": "~0.1.2", "findup-sync": "~0.3.0", "glob": "~7.1.6", - "grunt-cli": "~1.3.2", - "grunt-known-options": "~1.1.0", + "grunt-cli": "~1.4.2", + "grunt-known-options": "~2.0.0", "grunt-legacy-log": "~3.0.0", - "grunt-legacy-util": "~2.0.0", + "grunt-legacy-util": "~2.0.1", "iconv-lite": "~0.4.13", "js-yaml": "~3.14.0", "minimatch": "~3.0.4", @@ -7769,16 +6443,16 @@ }, "dependencies": { "grunt-cli": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz", - "integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz", + "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==", "dev": true, "requires": { - "grunt-known-options": "~1.1.0", + "grunt-known-options": "~2.0.0", "interpret": "~1.1.0", - "liftoff": "~2.5.0", + "liftup": "~3.0.1", "nopt": "~4.0.1", - "v8flags": "~3.1.1" + "v8flags": "~3.2.0" }, "dependencies": { "nopt": { @@ -7820,14 +6494,6 @@ "async": "^3.1.0", "indent-string": "^4.0.0", "pad-stream": "^2.0.0" - }, - "dependencies": { - "async": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", - "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==", - "dev": true - } } }, "grunt-contrib-clean": { @@ -7875,14 +6541,6 @@ "portscanner": "^2.2.0", "serve-index": "^1.9.1", "serve-static": "^1.14.1" - }, - "dependencies": { - "async": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", - "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==", - "dev": true - } } }, "grunt-contrib-copy": { @@ -7938,9 +6596,9 @@ } }, "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -7986,9 +6644,9 @@ "dev": true }, "grunt-known-options": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz", - "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-2.0.0.tgz", + "integrity": "sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==", "dev": true }, "grunt-legacy-log": { @@ -8031,9 +6689,9 @@ } }, "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -8073,29 +6731,18 @@ } }, "grunt-legacy-util": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.0.tgz", - "integrity": "sha512-ZEmYFB44bblwPE2oz3q3ygfF6hseQja9tx8I3UZIwbUik32FMWewA+d1qSFicMFB+8dNXDkh35HcDCWlpRsGlA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz", + "integrity": "sha512-2bQiD4fzXqX8rhNdXkAywCadeqiPiay0oQny77wA2F3WF4grPJXCvAcyoWUJV+po/b15glGkxuSiQCK299UC2w==", "dev": true, "requires": { - "async": "~1.5.2", - "exit": "~0.1.1", - "getobject": "~0.1.0", + "async": "~3.2.0", + "exit": "~0.1.2", + "getobject": "~1.0.0", "hooker": "~0.2.3", - "lodash": "~4.17.20", + "lodash": "~4.17.21", "underscore.string": "~3.3.5", - "which": "~1.3.0" - }, - "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } + "which": "~2.0.2" } }, "grunt-retro": { @@ -8105,9 +6752,9 @@ "dev": true }, "grunt-webpack": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/grunt-webpack/-/grunt-webpack-4.0.2.tgz", - "integrity": "sha512-rrqb9SRlY69jEJuCglelB7IvGrI7lRpdfH2GXpFlIOGPRTTtlSxYMU4Fjg8FHaC6ilnMbW5jd55Ff1lR5OibCA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/grunt-webpack/-/grunt-webpack-4.0.3.tgz", + "integrity": "sha512-hRnTf7y9pe4K+M/AKUJFgHykZeyIOUHhZSMVD0/jF/uXphMCen7txPIz8IOnJoa6bX0JrpoueOwo7FgS/OtC2Q==", "dev": true, "requires": { "deep-for-each": "^3.0.0", @@ -8184,9 +6831,17 @@ "dev": true }, "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } }, "has-unicode": { "version": "2.0.1", @@ -8215,6 +6870,12 @@ "kind-of": "^4.0.0" }, "dependencies": { + "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-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -8272,9 +6933,9 @@ "dev": true }, "highlight.js": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.6.0.tgz", - "integrity": "sha512-8mlRcn5vk/r4+QcqerapwBYTe+iPL5ih6xrNylxrnBdHQiijDETfXX7VIxC3UiCRiINBJfANBAsPzAvRQj8RpQ==" + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.2.0.tgz", + "integrity": "sha512-JOySjtOEcyG8s4MLR2MNbLUyaXqUunmSnL2kdV/KuGJOmHZuAR5xC54Ko7goAXBWNhf09Vy3B+U7vR62UZ/0iw==" }, "hmac-drbg": { "version": "1.0.1", @@ -8302,9 +6963,9 @@ "dev": true }, "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "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 }, "hpack.js": { @@ -8400,52 +7061,28 @@ } }, "html-webpack-plugin": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.1.0.tgz", - "integrity": "sha512-2axkp+2NHmvHUWrKe1dY4LyM3WatQEdFChr42OY7R/Ad7f0AQzaKscGCcqN/FtQBxo8rdfJP7M3RMFDttqok3g==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.3.2.tgz", + "integrity": "sha512-HvB33boVNCz2lTyBsSiMffsJ+m0YLIQ+pskblXgN9fnjS1BgEcuAfdInfXfGrkdXV406k9FiDi86eVCDBgJOyQ==", "dev": true, "requires": { "@types/html-minifier-terser": "^5.0.0", "html-minifier-terser": "^5.0.1", - "loader-utils": "^2.0.0", - "lodash": "^4.17.20", - "pretty-error": "^2.1.1", + "lodash": "^4.17.21", + "pretty-error": "^3.0.4", "tapable": "^2.0.0" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - } } }, "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", "dev": true, "requires": { - "domelementtype": "^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": { - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true - } + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" } }, "http-deceiver": { @@ -8481,9 +7118,9 @@ } }, "http-parser-js": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz", - "integrity": "sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", "dev": true }, "http-proxy": { @@ -8589,6 +7226,12 @@ } } }, + "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-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -8811,27 +7454,13 @@ } }, "imports-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-2.0.0.tgz", - "integrity": "sha512-ZwEx0GfsJ1QckGqHSS1uu1sjpUgT3AYFOr3nT07dVnfeyc/bOICSw48067hr0u7DW8TZVzNVvdnvA62U9lG8nQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-3.0.0.tgz", + "integrity": "sha512-PhDB+rxpc95/1cM8ehxWAcuDIDi3eXhqHhax09iyUeAYBJ2bT6QbBp7aDj8IfU9Ns+2l1K226GhoWVAU823CTA==", "dev": true, "requires": { - "loader-utils": "^2.0.0", "source-map": "^0.6.1", "strip-comments": "^2.0.1" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - } } }, "imurmurhash": { @@ -8846,17 +7475,10 @@ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "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" @@ -8883,10 +7505,21 @@ "ipaddr.js": "^1.9.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" + } + }, "internmap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.0.tgz", - "integrity": "sha512-SdoDWwNOTE2n4JWUsLn4KXZGuZPjPF9yyOGc8bnfWnBQh7BD/l80rzSznKc/r4Y0aQ7z3RTk9X+tV4tHBpu+dA==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==" }, "interpret": { "version": "1.1.0", @@ -8945,6 +7578,12 @@ "kind-of": "^3.0.2" }, "dependencies": { + "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 + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -8957,11 +7596,12 @@ } }, "is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "requires": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, "is-arrayish": { @@ -8971,10 +7611,13 @@ "dev": true }, "is-bigint": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", - "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", - "dev": true + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } }, "is-binary-path": { "version": "1.0.1", @@ -8986,52 +7629,31 @@ } }, "is-boolean-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", - "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", + "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" - }, - "dependencies": { - "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" - } - }, - "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" - } - } + "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==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", "dev": true }, "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" + "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-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", + "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", "dev": true, "requires": { "has": "^1.0.3" @@ -9046,6 +7668,12 @@ "kind-of": "^3.0.2" }, "dependencies": { + "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 + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -9058,9 +7686,12 @@ } }, "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==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } }, "is-descriptor": { "version": "0.1.6", @@ -9152,10 +7783,13 @@ } }, "is-number-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", - "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", - "dev": true + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", + "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } }, "is-path-cwd": { "version": "2.2.0", @@ -9199,11 +7833,12 @@ } }, "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "requires": { - "has-symbols": "^1.0.1" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, "is-relative": { @@ -9222,17 +7857,21 @@ "dev": true }, "is-string": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", - "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", - "dev": true + "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.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "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.1" + "has-symbols": "^1.0.2" } }, "is-typedarray": { @@ -9358,14 +7997,14 @@ } }, "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.6.tgz", + "integrity": "sha512-qupxcj/dRuA3xHPMUd40gr2EaAurFbkwzOh7wfPaeE9id7hyjURRQoqNfHifHK3XjJU6YJJUQKILGUnwGPEOCA==", "dev": true, "requires": { "@types/node": "*", "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "supports-color": "^8.0.0" }, "dependencies": { "has-flag": { @@ -9375,9 +8014,9 @@ "dev": true }, "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -9397,15 +8036,27 @@ "regenerator-runtime": "^0.13.3" } }, + "jpeg-autorotate": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/jpeg-autorotate/-/jpeg-autorotate-7.1.1.tgz", + "integrity": "sha512-ewTZTG/QWOM0D5h/yKcQ3QgyrnQYsr3qmcS+bqoAwgQAY1KBa31aJ+q+FlElaxo/rSYqfF1ixf+8EIgluBkgTg==", + "requires": { + "colors": "^1.4.0", + "glob": "^7.1.6", + "jpeg-js": "^0.4.2", + "piexifjs": "^1.0.6", + "yargs-parser": "^20.2.1" + } + }, "jpeg-js": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.2.tgz", "integrity": "sha512-+az2gi/hvex7eLTMTlbRLOhH6P6WFdk2ITI8HJsaH2VqYO0I594zXSYEP+tf4FW+8Cy68ScDXoAsQdyQanv3sw==" }, "jquery": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz", - "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==" + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", + "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" }, "js-base64": { "version": "2.6.4", @@ -9503,9 +8154,9 @@ "dev": true }, "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dev": true, "requires": { "minimist": "^1.2.5" @@ -9574,14 +8225,14 @@ } }, "jsqr": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsqr/-/jsqr-1.3.1.tgz", - "integrity": "sha512-zCTP6Qd/WwjrpuHFkJuXc5opRdKprUr7eI7+JCCtcetThJt45qptu82MWQ+eET+FtDrMo7+BYjo3iD0XIq1L9Q==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jsqr/-/jsqr-1.4.0.tgz", + "integrity": "sha512-dxLob7q65Xg2DvstYkRpkYtmKm2sPJ9oFhrhmudT1dZvNFFTlroai3AWSpLey/w5vMcLBXRgOJsbXpdN9HzU/A==" }, "jsrsasign": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.3.0.tgz", - "integrity": "sha512-irDIKKFW++EAELgP3fjFi5/Fn0XEyfuQTTgpbeFwCGkV6tRIYZl3uraRea2HTXWCstcSZuDaCbdAhU1n+075Bg==" + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.4.0.tgz", + "integrity": "sha512-C8qLhiAssh/b74KJpGhWuFGG9cFhJqMCVuuHXRibb3Z5vPuAW0ue0jUirpoExCdpdhv4nD3sZ1DAwJURYJTm9g==" }, "jszip": { "version": "2.5.0", @@ -9648,9 +8299,9 @@ } }, "keybase-nacl": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/keybase-nacl/-/keybase-nacl-1.1.3.tgz", - "integrity": "sha512-Dv3rSzS3a/7aaI7X+3dMd8UlnHJkPTLtFAvhs2eNIpMiDff3Wy4QuGbMzvWipWup0z6mME/RdtlVslQABrOn6w==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/keybase-nacl/-/keybase-nacl-1.1.4.tgz", + "integrity": "sha512-7TFyWLq42CQs7JES9arR+Vnv/eMk5D6JT1Y8samrEA5ff3FOmaiRcXIVrwJQd3KJduxmSjgAjdkXlQK7Q437xQ==", "requires": { "iced-runtime": "^1.0.2", "tweetnacl": "^0.13.1", @@ -9694,145 +8345,33 @@ "resolved": "https://registry.npmjs.org/libyara-wasm/-/libyara-wasm-1.1.0.tgz", "integrity": "sha512-MI2C4v8JxPN46l3VPWK66HApLPO4rx7n4rGioaSOfbIZikTJIuvI+eRPPnW3K2BXzrOHYj5sMl/RoLlKbXtiLw==" }, - "liftoff": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", - "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", + "liftup": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz", + "integrity": "sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==", "dev": true, "requires": { - "extend": "^3.0.0", - "findup-sync": "^2.0.0", - "fined": "^1.0.1", - "flagged-respawn": "^1.0.0", + "extend": "^3.0.2", + "findup-sync": "^4.0.0", + "fined": "^1.2.0", + "flagged-respawn": "^1.0.1", "is-plain-object": "^2.0.4", - "object.map": "^1.0.0", - "rechoir": "^0.6.2", - "resolve": "^1.1.7" + "object.map": "^1.0.1", + "rechoir": "^0.7.0", + "resolve": "^1.19.0" }, "dependencies": { - "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" - } - } - } - }, - "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" - } - } - } - }, "findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", "dev": true, "requires": { "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", "resolve-dir": "^1.0.1" } - }, - "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" - } - }, - "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" - } - } - } - }, - "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" - } - }, - "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" - } } } }, @@ -10003,6 +8542,18 @@ "lodash._isiterateecall": "^3.0.0" } }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.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", @@ -10079,6 +8630,12 @@ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, "log-symbols": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", @@ -10222,9 +8779,9 @@ } }, "markdown-it": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.0.4.tgz", - "integrity": "sha512-34RwOXZT8kyuOJy25oJNJoulO8L0bTHYWXcdZBYZqFnjIy3NgjeoM3FmPXIOFQ26/lSHYMr8oc62B6adxXcb3Q==", + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.2.0.tgz", + "integrity": "sha512-Wjws+uCrVQRqOoJvze4HCqkKl1AsSh95iFAeQDwnyfxM09divCBSXlDR1uTvyUP3Grzpn4Ru8GeCxYPM8vkCQg==", "requires": { "argparse": "^2.0.1", "entities": "~2.1.0", @@ -10339,13 +8896,13 @@ "dev": true }, "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "dev": true, "requires": { "braces": "^3.0.1", - "picomatch": "^2.0.5" + "picomatch": "^2.2.3" } }, "miller-rabin": { @@ -10358,9 +8915,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" } } }, @@ -10370,18 +8927,18 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", + "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", "dev": true }, "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "version": "2.1.32", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", + "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", "dev": true, "requires": { - "mime-db": "1.44.0" + "mime-db": "1.49.0" } }, "mimic-fn": { @@ -10421,12 +8978,12 @@ } }, "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { - "@types/json-schema": "^7.0.6", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } @@ -10447,7 +9004,6 @@ "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" } @@ -10680,6 +9236,16 @@ "requires": { "isexe": "^2.0.0" } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } }, @@ -10745,15 +9311,15 @@ "dev": true }, "nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", "dev": true }, "nanoid": { - "version": "3.1.20", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", - "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", + "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==", "dev": true }, "nanomatch": { @@ -10817,9 +9383,9 @@ "dev": true }, "nightwatch": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-1.7.7.tgz", - "integrity": "sha512-yKMiIQCRCqGcMbULENSbQt1fX3SRoKlswt7EuMphTUkODkFGFtasba9eGoWnLyiHl5ZAA9JFhO1DVn+IanbGYA==", + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-1.7.8.tgz", + "integrity": "sha512-GTY2VoPU2EuoBUB+mz5tAjeEWRQmuT54Il2lOUTmpv87D7cO8fXaadrxSHwl2YDX9rDFvNZovqwiKBtk3/5R6w==", "dev": true, "requires": { "assertion-error": "^1.1.0", @@ -10925,9 +9491,9 @@ } }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -10999,9 +9565,9 @@ "integrity": "sha1-9WH0WyszY1K4KXbFHMoRR9U5N/U=" }, "node-releases": { - "version": "1.1.70", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", - "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==", + "version": "1.1.75", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz", + "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==", "dev": true }, "node-sass": { @@ -11106,12 +9672,12 @@ } }, "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==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", + "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", "dev": true, "requires": { - "boolbase": "~1.0.0" + "boolbase": "^1.0.0" } }, "number-is-nan": { @@ -11157,6 +9723,12 @@ "is-descriptor": "^0.1.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 + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -11169,16 +9741,17 @@ } }, "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "dev": true }, "object-is": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz", - "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", "requires": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3" } }, @@ -11200,6 +9773,7 @@ "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", @@ -11228,111 +9802,6 @@ "call-bind": "^1.0.2", "define-properties": "^1.1.3", "es-abstract": "^1.18.0-next.2" - }, - "dependencies": { - "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" - } - }, - "es-abstract": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", - "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.3", - "is-string": "^1.0.6", - "object-inspect": "^1.10.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - }, - "dependencies": { - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "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" - } - }, - "is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", - "dev": true - }, - "is-regex": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", - "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.2" - }, - "dependencies": { - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true - } - } - }, - "object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", - "dev": true - }, - "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - } } }, "object.map": { @@ -11384,7 +9853,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -11827,9 +10295,9 @@ } }, "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==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.4.tgz", + "integrity": "sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==" }, "parse-json": { "version": "2.2.0", @@ -11892,8 +10360,7 @@ "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", @@ -11908,9 +10375,9 @@ "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==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-root": { @@ -11941,9 +10408,9 @@ "dev": true }, "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "requires": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -11979,11 +10446,16 @@ "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==" }, "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", "dev": true }, + "piexifjs": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/piexifjs/-/piexifjs-1.0.6.tgz", + "integrity": "sha512-0wVyH0cKohzBQ5Gi2V1BuxYpxWfxF3cSqfFXfPIpl5tl9XLS5z4ogqhUCD20AbHi0h9aJkqXNJnkVev6gwh2ag==" + }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -12097,74 +10569,31 @@ "dev": true }, "postcss": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.6.tgz", - "integrity": "sha512-xpB8qYxgPuly166AGlpRjUdEYtmOWx2iCwGmrv4vqZL9YPVviDVPZPRXxnXr6xPZOdxQ9lp3ZBFCRgWJ7LE3Sg==", + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz", + "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==", "dev": true, "requires": { - "colorette": "^1.2.1", - "nanoid": "^3.1.20", - "source-map": "^0.6.1" + "colorette": "^1.2.2", + "nanoid": "^3.1.23", + "source-map-js": "^0.6.2" } }, "postcss-css-variables": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/postcss-css-variables/-/postcss-css-variables-0.17.0.tgz", - "integrity": "sha512-/ZpFnJgksNOrQA72b3DKhExYh+0e2P5nEc3aPZ62G7JLmdDjWRFv3k/q4LxV7uzXFnmvkhXRbdVIiH5tKgfFNA==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/postcss-css-variables/-/postcss-css-variables-0.18.0.tgz", + "integrity": "sha512-lYS802gHbzn1GI+lXvy9MYIYDuGnl1WB4FTKoqMQqJ3Mab09A7a/1wZvGTkCEZJTM8mSbIyb1mJYn8f0aPye0Q==", "dev": true, "requires": { "balanced-match": "^1.0.0", "escape-string-regexp": "^1.0.3", - "extend": "^3.0.1", - "postcss": "^6.0.8" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "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" - } - } + "extend": "^3.0.1" } }, "postcss-import": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.0.tgz", - "integrity": "sha512-gFDDzXhqr9ELmnLHgCC3TbGfA6Dm/YMb/UN8/f7Uuq4fL7VTk2vOIj6hwINEwbokEmp123bLD7a5m+E+KIetRg==", + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.2.tgz", + "integrity": "sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g==", "dev": true, "requires": { "postcss-value-parser": "^4.0.0", @@ -12173,20 +10602,20 @@ } }, "postcss-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-5.0.0.tgz", - "integrity": "sha512-bOvyWP5VHCJbThbv7wrBwCBc3DsVpyCfd+k/wHOL3wTAMMHmSSfNts90EADf8bHa6I810ird1JBEKmBRgJu3cg==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.1.1.tgz", + "integrity": "sha512-lBmJMvRh1D40dqpWKr9Rpygwxn8M74U9uaCSeYGNKLGInbk9mXBt1ultHf2dH9Ghk6Ue4UXlXWwGMH9QdUJ5ug==", "dev": true, "requires": { "cosmiconfig": "^7.0.0", "klona": "^2.0.4", - "semver": "^7.3.4" + "semver": "^7.3.5" }, "dependencies": { "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -12230,14 +10659,12 @@ } }, "postcss-selector-parser": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", - "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", "dev": true, "requires": { "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", "util-deprecate": "^1.0.2" } }, @@ -12253,13 +10680,13 @@ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" }, "pretty-error": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", - "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-3.0.4.tgz", + "integrity": "sha512-ytLFLfv1So4AO1UkoBF6GXQgJRaKbiSiGFICaOPNwQ3CMvBvXpLRubeQWyPGnsbV/t9ml9qto6IeCsho0aEvwQ==", "dev": true, "requires": { "lodash": "^4.17.20", - "renderkid": "^2.0.4" + "renderkid": "^2.0.6" } }, "process": { @@ -12312,12 +10739,12 @@ } }, "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, "requires": { - "forwarded": "~0.1.2", + "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, @@ -12401,9 +10828,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" } } }, @@ -12457,10 +10884,13 @@ "integrity": "sha1-n6gpW+rlDEoUnPn5CaHbRkqGcug=" }, "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 + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", + "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } }, "querystring": { "version": "0.2.0", @@ -12474,6 +10904,12 @@ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -12661,6 +11097,12 @@ } } }, + "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-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -12745,12 +11187,12 @@ } }, "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", "dev": true, "requires": { - "resolve": "^1.1.6" + "resolve": "^1.9.0" } }, "redent": { @@ -12790,9 +11232,9 @@ } }, "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" }, "regenerator-transform": { "version": "0.14.5", @@ -12814,18 +11256,18 @@ } }, "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==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } }, "regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true }, "regexpu-core": { @@ -12849,9 +11291,9 @@ "dev": true }, "regjsparser": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.7.tgz", - "integrity": "sha512-ib77G0uxsA2ovgiYbCVGx4Pv3PSttAx2vIwidqQzbL2U5S4Q+j00HdSAneSBuyVcMvEnTXMjiGgB+DlXozVhpQ==", + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", + "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -12878,22 +11320,22 @@ "dev": true }, "renderkid": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz", - "integrity": "sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", "dev": true, "requires": { - "css-select": "^2.0.2", - "dom-converter": "^0.2", - "htmlparser2": "^3.10.1", - "lodash": "^4.17.20", - "strip-ansi": "^3.0.0" + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" } }, "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "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": { @@ -12937,6 +11379,14 @@ "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" + }, + "dependencies": { + "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 + } } }, "request-promise": { @@ -12985,12 +11435,12 @@ "dev": true }, "resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, "requires": { - "is-core-module": "^2.1.0", + "is-core-module": "^2.2.0", "path-parse": "^1.0.6" } }, @@ -13085,10 +11535,13 @@ } }, "run-parallel": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", - "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", - "dev": true + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } }, "rw": { "version": "1.3.3", @@ -13133,9 +11586,9 @@ } }, "sass-loader": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-11.0.1.tgz", - "integrity": "sha512-Vp1LcP4slTsTNLEiDkTcm8zGN/XYYrZz2BZybQbliWA8eXveqA/AxsEjllQTpJbg2MzCsx/qNO48sHdZtOaxTw==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.1.0.tgz", + "integrity": "sha512-FVJZ9kxVRYNZTIe2xhw93n3xJNYZADr+q69/s98l9nTCrWASo+DR2Ot0s5xTKQDDEosUkatsGeHxcH4QBp5bSg==", "dev": true, "requires": { "klona": "^2.0.4", @@ -13191,9 +11644,9 @@ "dev": true }, "selfsigned": { - "version": "1.10.8", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", - "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", + "version": "1.10.11", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", + "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", "dev": true, "requires": { "node-forge": "^0.10.0" @@ -13259,9 +11712,9 @@ } }, "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -13365,6 +11818,17 @@ "integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM=", "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.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", @@ -13372,40 +11836,40 @@ "dev": true }, "sirv": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.11.tgz", - "integrity": "sha512-SR36i3/LSWja7AJNRBz4fF/Xjpn7lQFI30tZ434dIy+bitLYSP+ZEenHg36i23V2SGEz+kqjksg0uOGZ5LPiqg==", + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.14.tgz", + "integrity": "sha512-czTFDFjK9lXj0u9mJ3OmJoXFztoilYS+NdRPcJoT182w44wSEkHSiO7A2517GLJ8wKM4GjCm2OXE66Dhngbzjg==", "dev": true, "requires": { - "@polka/url": "^1.0.0-next.9", + "@polka/url": "^1.0.0-next.17", "mime": "^2.3.1", "totalist": "^1.0.0" }, "dependencies": { "mime": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", - "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", "dev": true } } }, "sitemap": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-6.3.6.tgz", - "integrity": "sha512-L+gSUOJrUuXP3XHnJ0VcV0rmBImwm0aVmJb0YGoafG7YcIblNdRs9vKpeyFXlcbY2S8x6e+kMpNlty6lqdBopg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.0.0.tgz", + "integrity": "sha512-Ud0jrRQO2k7fEtPAM+cQkBKoMvxQyPKNXKDLn8tRVHxRCsdDQ2JZvw+aZ5IRYYQVAV9iGxEar6boTwZzev+x3g==", "dev": true, "requires": { - "@types/node": "^14.14.25", + "@types/node": "^15.0.1", "@types/sax": "^1.2.1", "arg": "^5.0.0", "sax": "^1.2.4" }, "dependencies": { "@types/node": { - "version": "14.14.27", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.27.tgz", - "integrity": "sha512-Ecfmo4YDQPwuqTCl1yBxLV5ihKfRlkBmzUEDcfIRvDxOTGQEeikr317Ln7Gcv0tjA8dVgKI3rniqW2G1OyKDng==", + "version": "15.14.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.8.tgz", + "integrity": "sha512-+ZjmmoGV7WBwhzNh/GkwehB7uyXn9HFwzQUfj9pbyR8eFAq20Qguoh93sPbWzzhsbhTme6YE92/iJ54Z0WRH7A==", "dev": true } } @@ -13454,9 +11918,9 @@ } }, "smart-buffer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", - "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", "dev": true }, "snackbarjs": { @@ -13566,6 +12030,12 @@ "kind-of": "^3.2.0" }, "dependencies": { + "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 + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -13589,9 +12059,9 @@ }, "dependencies": { "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==", + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" @@ -13600,9 +12070,9 @@ } }, "sockjs-client": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", - "integrity": "sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz", + "integrity": "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==", "dev": true, "requires": { "debug": "^3.2.6", @@ -13610,7 +12080,7 @@ "faye-websocket": "^0.11.3", "inherits": "^2.0.4", "json3": "^3.3.3", - "url-parse": "^1.4.7" + "url-parse": "^1.5.1" }, "dependencies": { "debug": { @@ -13623,9 +12093,9 @@ } }, "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==", + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" @@ -13678,9 +12148,9 @@ } }, "sortablejs": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.13.0.tgz", - "integrity": "sha512-RBJirPY0spWCrU5yCmWM1eFs/XgX2J5c6b275/YyxFRgnzPhKl/TDeU2hNR8Dt7ITq66NRPM4UlOt+e5O4CFHg==" + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz", + "integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==" }, "source-list-map": { "version": "2.0.1", @@ -13693,6 +12163,12 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, + "source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", + "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", + "dev": true + }, "source-map-resolve": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", @@ -13716,9 +12192,9 @@ } }, "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=", + "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": { @@ -13748,9 +12224,9 @@ } }, "spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz", + "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==", "dev": true }, "spdy": { @@ -13767,9 +12243,9 @@ }, "dependencies": { "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { "ms": "2.1.2" @@ -13798,9 +12274,9 @@ }, "dependencies": { "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { "ms": "2.1.2" @@ -13824,9 +12300,9 @@ } }, "split.js": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/split.js/-/split.js-1.6.2.tgz", - "integrity": "sha512-72C7zcQePzlmWqPOKkB2Ro0sUmnWSx+qEWXjLJKk6Qp4jAkFRz1hJgJb+ay6ZQyz/Aw9r8N/PZiCEKbPVpFoDQ==" + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/split.js/-/split.js-1.6.4.tgz", + "integrity": "sha512-kYmQZprRJrF1IOjg/E+gdBEsKFv5kbgUE6RJVJZvrIzTOK/IHzKSqIeiJnWs7IP5D9TnpTQ2CbanuDuIWcyDUQ==" }, "split2": { "version": "2.2.0", @@ -13844,9 +12320,9 @@ "dev": true }, "ssdeep.js": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/ssdeep.js/-/ssdeep.js-0.0.2.tgz", - "integrity": "sha1-mItJTQ3JwxkAX9rJZj1jOO/tHyI=" + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/ssdeep.js/-/ssdeep.js-0.0.3.tgz", + "integrity": "sha512-QXKADMuEsOmRYGlB9JvrulcF5NLAjAvYLg3qDHUrEEilUFLKoL4fUQDw1s7hF+mOL96jwcdyXpnmCqyNu7Wm3Q==" }, "sshpk": { "version": "1.16.1", @@ -14002,9 +12478,9 @@ "dev": true }, "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -14030,20 +12506,22 @@ } }, "string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, "requires": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3" } }, "string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, "requires": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3" } }, @@ -14100,38 +12578,10 @@ "dev": true }, "style-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", - "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.2.1.tgz", + "integrity": "sha512-1k9ZosJCRFaRbY6hH49JFlRB0fVSbmnyq1iTPjNxUmGVjBNEmwrrHPenhlp+Lgo51BojHSf6pl2FcqYaN3PfVg==", + "dev": true }, "supports-color": { "version": "2.0.0", @@ -14162,21 +12612,23 @@ } }, "table": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", - "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", + "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", "dev": true, "requires": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" }, "dependencies": { "ajv": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.1.0.tgz", - "integrity": "sha512-svS9uILze/cXbH0z2myCK2Brqprx/+JJYK5pHicT/GQiBfzzhUVAIT6MwqJg8y4xV/zoGsUeuPuwtoiKSGE15g==", + "version": "8.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", + "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -14185,11 +12637,26 @@ "uri-js": "^4.2.2" } }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, "json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } } } }, @@ -14200,9 +12667,9 @@ "dev": true }, "tar": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.5.tgz", - "integrity": "sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.10.tgz", + "integrity": "sha512-kvvfiVvjGMxeUNB6MyYv5z7vhfFRwbwCXJAeL0/lnbrttBVqcMOnpHUf0X42LrPMR8mMpgapkJMchFH4FSHzNA==", "dev": true, "requires": { "chownr": "^2.0.0", @@ -14249,20 +12716,15 @@ } }, "terser": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.0.tgz", - "integrity": "sha512-vyqLMoqadC1uR0vywqOZzriDYzgEkNJFK4q9GeyOBHIbiECHiWLKcWfbQWAUaPfxkjDhapSlZB9f7fkMrvkVjA==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz", + "integrity": "sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==", "requires": { "commander": "^2.20.0", "source-map": "~0.7.2", "source-map-support": "~0.5.19" }, "dependencies": { - "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==" - }, "source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", @@ -14271,17 +12733,17 @@ } }, "terser-webpack-plugin": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz", - "integrity": "sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz", + "integrity": "sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA==", "dev": true, "requires": { - "jest-worker": "^26.6.2", + "jest-worker": "^27.0.2", "p-limit": "^3.1.0", "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", + "serialize-javascript": "^6.0.0", "source-map": "^0.6.1", - "terser": "^5.5.1" + "terser": "^5.7.0" }, "dependencies": { "p-limit": { @@ -14294,12 +12756,12 @@ } }, "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { - "@types/json-schema": "^7.0.6", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } @@ -14307,15 +12769,17 @@ } }, "tesseract.js": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tesseract.js/-/tesseract.js-2.1.1.tgz", - "integrity": "sha512-utg0A8UzT1KwBvZf+UMGmM8LU6izeol6yIem0Z44+7Qqd/YWgRVQ99XOG18ApTOXX48lGE++PDwlcZYkv0ygRQ==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/tesseract.js/-/tesseract.js-2.1.5.tgz", + "integrity": "sha512-7CIS3SWr7TXpeaH9+HS7iUtVbCfPFYOO3p6rkRAkdtsOtrbz6496x59na6SCbFAIaZulQxy8BjwSu3qL3AoDRg==", "requires": { + "blueimp-load-image": "^3.0.0", "bmp-js": "^0.1.0", "file-type": "^12.4.1", "idb-keyval": "^3.2.0", "is-electron": "^2.2.0", "is-url": "^1.2.4", + "jpeg-autorotate": "^7.1.1", "node-fetch": "^2.6.0", "opencollective-postinstall": "^2.0.2", "regenerator-runtime": "^0.13.3", @@ -14459,6 +12923,12 @@ "kind-of": "^3.0.2" }, "dependencies": { + "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 + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -14542,9 +13012,9 @@ } }, "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", "dev": true }, "tunnel-agent": { @@ -14576,9 +13046,9 @@ "dev": true }, "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, "type-is": { @@ -14592,9 +13062,9 @@ } }, "ua-parser-js": { - "version": "0.7.24", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.24.tgz", - "integrity": "sha512-yo+miGzQx5gakzVK3QFfN0/L9uVhosXBBO7qmnk7c2iw1IhL212wfA3zbnI54B0obGwC/5NWub/iT9sReMx+Fw==" + "version": "0.7.28", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz", + "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==" }, "uc.micro": { "version": "1.0.6", @@ -14602,9 +13072,9 @@ "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" }, "uglify-js": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.1.tgz", - "integrity": "sha512-o8lHP20KjIiQe5b/67Rh68xEGRrc2SRsCuuoYclXXoC74AfSRGblU1HKzJWH3HxPZ+Ort85fWHpSX7KwBUC9CQ==" + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.1.tgz", + "integrity": "sha512-JhS3hmcVaXlp/xSo3PKY5R0JqKs5M3IV+exdLHW99qKvKivPO4Z8qbej6mte17SOPqAOVMjt/XGgWacnFSzM3g==" }, "uint64be": { "version": "1.0.1", @@ -14627,14 +13097,6 @@ "has-bigints": "^1.0.1", "has-symbols": "^1.0.2", "which-boxed-primitive": "^1.0.2" - }, - "dependencies": { - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true - } } }, "unc-path-regex": { @@ -14698,12 +13160,6 @@ "set-value": "^2.0.1" } }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -14768,9 +13224,9 @@ "dev": true }, "uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "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" @@ -14823,12 +13279,12 @@ } }, "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { - "@types/json-schema": "^7.0.6", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } @@ -14836,9 +13292,9 @@ } }, "url-parse": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", - "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz", + "integrity": "sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==", "dev": true, "requires": { "querystringify": "^2.1.1", @@ -14940,15 +13396,15 @@ "dev": true }, "v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, "v8flags": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz", - "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", "dev": true, "requires": { "homedir-polyfill": "^1.0.1" @@ -14987,9 +13443,9 @@ "integrity": "sha512-2ozZEFfmVvQcHWoHLNuiKlUfDKlhh4KGsy54U0UrlLMR1SO+XKAIDqBxtBwHgNrekurlJwE8A9K6L49T78ZQ9Q==" }, "watchpack": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz", - "integrity": "sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", + "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -15015,22 +13471,23 @@ } }, "webpack": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.22.0.tgz", - "integrity": "sha512-xqlb6r9RUXda/d9iA6P7YRTP1ChWeP50TEESKMMNIg0u8/Rb66zN9YJJO7oYgJTRyFyYi43NVC5feG45FSO1vQ==", + "version": "5.51.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.51.0.tgz", + "integrity": "sha512-oySQoKUuf5r0JaPIYi8q90c/GmU9fGdSbZ0cAjFq3OWx57wniRTWvta1T9t+e5WZ6H6mHrxksNatkqfIEuTWGg==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.46", - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/wasm-edit": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0", - "acorn": "^8.0.4", + "@types/estree": "^0.0.50", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.7.0", - "es-module-lexer": "^0.3.26", - "eslint-scope": "^5.1.1", + "enhanced-resolve": "^5.8.0", + "es-module-lexer": "^0.7.1", + "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.4", @@ -15038,52 +13495,48 @@ "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", + "schema-utils": "^3.1.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.1", - "watchpack": "^2.0.0", - "webpack-sources": "^2.1.1" + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.2.0", + "webpack-sources": "^3.2.0" }, "dependencies": { "acorn": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.5.tgz", - "integrity": "sha512-v+DieK/HJkJOpFBETDJioequtc3PfxsWMaxIdIwujtF7FEV/MAyDQLlm6/zPvr7Mix07mLh6ccVwIsloceodlg==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", + "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", "dev": true }, "events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true }, "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { - "@types/json-schema": "^7.0.6", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } }, "webpack-sources": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", - "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", - "dev": true, - "requires": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - } + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.0.tgz", + "integrity": "sha512-fahN08Et7P9trej8xz/Z7eRu8ltyiygEo/hnRi9KqBUs80KeDcnf96ZJo++ewWd84fEf3xSX9bp4ZS9hbw0OBw==", + "dev": true } } }, "webpack-bundle-analyzer": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.0.tgz", - "integrity": "sha512-9DhNa+aXpqdHk8LkLPTBU/dMfl84Y+WE2+KnfI6rSpNRNVKa0VGLjPd2pjFubDeqnWmulFggxmWBxhfJXZnR0g==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz", + "integrity": "sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ==", "dev": true, "requires": { "acorn": "^8.0.4", @@ -15098,9 +13551,9 @@ }, "dependencies": { "acorn": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.5.tgz", - "integrity": "sha512-v+DieK/HJkJOpFBETDJioequtc3PfxsWMaxIdIwujtF7FEV/MAyDQLlm6/zPvr7Mix07mLh6ccVwIsloceodlg==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", + "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", "dev": true }, "ansi-styles": { @@ -15113,9 +13566,9 @@ } }, "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -15157,6 +13610,12 @@ "requires": { "has-flag": "^4.0.0" } + }, + "ws": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", + "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==", + "dev": true } } }, @@ -15174,9 +13633,9 @@ }, "dependencies": { "mime": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", - "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", "dev": true } } @@ -15232,9 +13691,9 @@ } }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { "ms": "2.1.2" @@ -15339,9 +13798,9 @@ } }, "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", "dev": true, "requires": { "async-limiter": "~1.0.0" @@ -15453,25 +13912,6 @@ "dev": true } } - }, - "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" - }, - "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 - } - } } } }, @@ -15600,12 +14040,12 @@ } }, "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { - "@types/json-schema": "^7.0.6", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } @@ -15675,14 +14115,26 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "ws": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", - "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==", - "dev": true + "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" + }, + "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 + } + } }, "xhr": { "version": "2.6.0", @@ -15725,11 +14177,11 @@ "integrity": "sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw==" }, "xregexp": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-5.0.1.tgz", - "integrity": "sha512-flG0ykxHQLOfF886GpnY26WQkj4/RmcxYvoVcSFbg+1lPMdnXEPoTKuLzw1olKnJ+o2Wc1+RCD1oktV4bYzVlQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-5.1.0.tgz", + "integrity": "sha512-PynwUWtXnSZr8tpQlDPMZfPTyv78EYuA4oI959ukxcQ0a9O/lvndLVKy5wpImzzA26eMxpZmnAXJYiQA13AtWA==", "requires": { - "@babel/runtime-corejs3": "^7.12.1" + "@babel/runtime-corejs3": "^7.14.9" } }, "xtend": { @@ -15738,9 +14190,9 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "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": { @@ -15750,9 +14202,9 @@ "dev": true }, "yaml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true }, "yargs": { @@ -15779,12 +14231,6 @@ "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 - }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", @@ -15864,22 +14310,9 @@ } }, "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - } - } + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" }, "yargs-unparser": { "version": "1.6.0", @@ -15900,12 +14333,6 @@ "requires": { "is-buffer": "~2.0.3" } - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true } } }, diff --git a/package.json b/package.json index 3eb29a45..dfc52766 100644 --- a/package.json +++ b/package.json @@ -36,22 +36,22 @@ "node >= 10" ], "devDependencies": { - "@babel/core": "^7.12.16", - "@babel/plugin-transform-runtime": "^7.12.15", - "@babel/preset-env": "^7.12.16", - "autoprefixer": "^10.2.4", + "@babel/core": "^7.15.0", + "@babel/plugin-transform-runtime": "^7.15.0", + "@babel/preset-env": "^7.15.0", + "autoprefixer": "^10.3.1", "babel-eslint": "^10.1.0", "babel-loader": "^8.2.2", "babel-plugin-dynamic-import-node": "^2.3.3", - "chromedriver": "^92.0.0", + "chromedriver": "^92.0.1", "cli-progress": "^3.9.0", "colors": "^1.4.0", - "copy-webpack-plugin": "^7.0.0", - "css-loader": "^5.0.2", - "eslint": "^7.20.0", - "exports-loader": "^2.0.0", + "copy-webpack-plugin": "^9.0.1", + "css-loader": "5.2.7", + "eslint": "^7.32.0", + "exports-loader": "^3.0.0", "file-loader": "^6.2.0", - "grunt": "^1.3.0", + "grunt": "^1.4.1", "grunt-chmod": "~1.1.1", "grunt-concurrent": "^3.0.0", "grunt-contrib-clean": "~2.0.0", @@ -60,56 +60,56 @@ "grunt-contrib-watch": "^1.1.0", "grunt-eslint": "^23.0.0", "grunt-exec": "~3.0.0", - "grunt-webpack": "^4.0.2", + "grunt-webpack": "^4.0.3", "grunt-zip": "^0.18.2", - "html-webpack-plugin": "^5.1.0", - "imports-loader": "^2.0.0", - "mini-css-extract-plugin": "^1.3.7", - "nightwatch": "^1.7.7", + "html-webpack-plugin": "^5.3.2", + "imports-loader": "^3.0.0", + "mini-css-extract-plugin": "1.3.7", + "nightwatch": "^1.7.8", "node-sass": "^5.0.0", - "postcss": "^8.2.6", - "postcss-css-variables": "^0.17.0", - "postcss-import": "^14.0.0", - "postcss-loader": "^5.0.0", + "postcss": "^8.3.6", + "postcss-css-variables": "^0.18.0", + "postcss-import": "^14.0.2", + "postcss-loader": "^6.1.1", "prompt": "^1.1.0", - "sass-loader": "^11.0.1", - "sitemap": "^6.3.6", - "style-loader": "^2.0.0", + "sass-loader": "^12.1.0", + "sitemap": "^7.0.0", + "style-loader": "^3.2.1", "svg-url-loader": "^7.1.1", "url-loader": "^4.1.1", - "webpack": "^5.22.0", - "webpack-bundle-analyzer": "^4.4.0", - "webpack-dev-server": "^3.11.2", + "webpack": "^5.51.0", + "webpack-bundle-analyzer": "^4.4.2", + "webpack-dev-server": "3.11.2", "webpack-node-externals": "^3.0.0", "worker-loader": "^3.0.8" }, "dependencies": { "@babel/polyfill": "^7.12.1", - "@babel/runtime": "^7.12.13", + "@babel/runtime": "^7.15.3", "arrive": "^2.4.1", - "avsc": "^5.5.3", + "avsc": "^5.7.3", "babel-plugin-transform-builtin-extend": "1.1.2", "bcryptjs": "^2.4.3", "bignumber.js": "^9.0.1", - "blakejs": "^1.1.0", + "blakejs": "^1.1.1", "bootstrap": "4.6.0", - "bootstrap-colorpicker": "^3.2.0", + "bootstrap-colorpicker": "^3.4.0", "bootstrap-material-design": "^4.1.3", "browserify-zlib": "^0.2.0", - "bson": "^4.2.2", + "bson": "^4.4.1", "buffer": "^6.0.3", - "cbor": "^5.0.1", + "cbor": "5.0.1", "chi-squared": "^1.1.0", - "codepage": "^1.14.0", - "core-js": "^3.8.3", + "codepage": "^1.15.0", + "core-js": "^3.16.2", "crypto-api": "^0.8.5", "crypto-browserify": "^3.12.0", - "crypto-js": "^4.0.0", + "crypto-js": "^4.1.1", "ctph.js": "0.0.5", - "d3": "^6.5.0", + "d3": "6.5.0", "d3-hexbin": "^0.2.2", "diff": "^5.0.0", - "es6-promisify": "^6.1.1", + "es6-promisify": "^7.0.0", "escodegen": "^2.0.0", "esm": "^3.2.25", "esprima": "^4.0.1", @@ -117,23 +117,23 @@ "file-saver": "^2.0.5", "flat": "^5.0.2", "geodesy": "1.1.3", - "highlight.js": "^10.6.0", + "highlight.js": "^11.2.0", "jimp": "^0.16.1", - "jquery": "3.5.1", + "jquery": "3.6.0", "js-crc": "^0.2.0", "js-sha3": "^0.8.0", "jsesc": "^3.0.2", "jsonpath": "^1.1.1", "jsonwebtoken": "^8.5.1", - "jsqr": "^1.3.1", - "jsrsasign": "^10.3.0", + "jsqr": "^1.4.0", + "jsrsasign": "^10.4.0", "kbpgp": "2.1.15", "libbzip2-wasm": "0.0.4", "libyara-wasm": "^1.1.0", "lodash": "^4.17.21", "loglevel": "^1.7.1", "loglevel-message-prefix": "^3.0.0", - "markdown-it": "^12.0.4", + "markdown-it": "^12.2.0", "moment": "^2.29.1", "moment-timezone": "^0.5.33", "ngeohash": "^0.6.3", @@ -150,19 +150,19 @@ "qr-image": "^3.2.0", "scryptsy": "^2.1.0", "snackbarjs": "^1.1.0", - "sortablejs": "^1.13.0", - "split.js": "^1.6.2", - "ssdeep.js": "0.0.2", + "sortablejs": "^1.14.0", + "split.js": "^1.6.4", + "ssdeep.js": "0.0.3", "stream-browserify": "^3.0.0", - "terser": "^5.6.0", - "tesseract.js": "2.1.1", - "ua-parser-js": "^0.7.24", + "terser": "^5.7.1", + "tesseract.js": "2.1.5", + "ua-parser-js": "^0.7.28", "unorm": "^1.6.0", "utf8": "^3.0.0", "vkbeautify": "^0.99.3", "xmldom": "^0.6.0", "xpath": "0.0.32", - "xregexp": "^5.0.1", + "xregexp": "^5.1.0", "zlibjs": "^0.3.1" }, "scripts": { From 05bfa9158d1d75f1ebdfaf6cc5ccc623072422dd Mon Sep 17 00:00:00 2001 From: n1474335 Date: Thu, 19 Aug 2021 12:06:30 +0100 Subject: [PATCH 253/754] 9.32.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3de8a3c0..c8b347e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.32.0", + "version": "9.32.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index dfc52766..e4a795ec 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.32.0", + "version": "9.32.1", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From f831ec6b7e00641e9f72b30c682af2bfcb672637 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Thu, 26 Aug 2021 16:51:42 +0100 Subject: [PATCH 254/754] Fixed issues in Protobuf parsing --- src/core/lib/Protobuf.mjs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/core/lib/Protobuf.mjs b/src/core/lib/Protobuf.mjs index 4f3609ef..135933ca 100644 --- a/src/core/lib/Protobuf.mjs +++ b/src/core/lib/Protobuf.mjs @@ -141,7 +141,7 @@ class Protobuf { const messageNames = []; const fieldTypes = []; this.parsedProto.root.nestedArray.forEach(block => { - if (block.constructor.name === "Type") { + if (block instanceof protobuf.Type) { messageNames.push(block.name); this.parsedProto.root.nested[block.name].fieldsArray.forEach(field => { fieldTypes.push(field.type); @@ -152,12 +152,12 @@ class Protobuf { if (messageNames.length === 0) { this.mainMessageName = null; } else { - for (const name of messageNames) { - if (!fieldTypes.includes(name)) { - this.mainMessageName = name; - break; - } - } + // for (const name of messageNames) { + // if (!fieldTypes.includes(name)) { + // this.mainMessageName = name; + // break; + // } + // } this.mainMessageName = messageNames[0]; } } @@ -213,7 +213,7 @@ class Protobuf { */ static appendTypesToFieldNames(schemaRoot) { for (const block of schemaRoot.nestedArray) { - if (block.constructor.name === "Type") { + if (block instanceof protobuf.Type) { for (const [fieldName, fieldData] of Object.entries(block.fields)) { schemaRoot.nested[block.name].remove(block.fields[fieldName]); schemaRoot.nested[block.name].add(new protobuf.Field(`${fieldName} (${fieldData.type})`, fieldData.id, fieldData.type, fieldData.rule)); @@ -306,7 +306,7 @@ class Protobuf { } // Check for submessage fields - if (schemaField.resolvedType !== null && schemaField.resolvedType.constructor.name === "Type") { + if (schemaField.resolvedType instanceof protobuf.Type) { const subMessageType = schemaMessage.fields[schemaFieldName].type; const schemaSubMessage = this.parsedProto.root.nested[subMessageType]; const rawSubMessages = rawDecodedMessage[fieldName]; From 84011371b7c9ffd89ff7311a72b2c2d80c5b23bd Mon Sep 17 00:00:00 2001 From: n1474335 Date: Thu, 26 Aug 2021 16:51:50 +0100 Subject: [PATCH 255/754] 9.32.2 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index c8b347e6..a3b439c7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.32.1", + "version": "9.32.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index e4a795ec..d34aa392 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.32.1", + "version": "9.32.2", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From c423de545fd0d27aabe21e32c2a5d09ec5c8ed47 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 3 Sep 2021 14:58:48 +0100 Subject: [PATCH 256/754] Switch XOR input and output differential logic. Fixes #1155 --- src/core/lib/BitwiseOp.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/lib/BitwiseOp.mjs b/src/core/lib/BitwiseOp.mjs index fe33c812..516a816b 100644 --- a/src/core/lib/BitwiseOp.mjs +++ b/src/core/lib/BitwiseOp.mjs @@ -34,10 +34,10 @@ export function bitOp (input, key, func, nullPreserving, scheme) { !(nullPreserving && (o === 0 || o === k))) { switch (scheme) { case "Input differential": - key[i % key.length] = x; + key[i % key.length] = o; break; case "Output differential": - key[i % key.length] = o; + key[i % key.length] = x; break; } } From ae1b12c1208365eefa9f556ba91f0cebfdf28857 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 3 Sep 2021 14:58:53 +0100 Subject: [PATCH 257/754] 9.32.3 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index a3b439c7..6fa9016e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.32.2", + "version": "9.32.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index d34aa392..78a8696b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.32.2", + "version": "9.32.3", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 83c67750381a367ecbcd68d3c6a904019292f85a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= Date: Fri, 17 Sep 2021 08:43:29 +0200 Subject: [PATCH 258/754] Support json modules This is need for builds on Node/NPM 16 --- Gruntfile.js | 12 ++++++------ package.json | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 224c9211..1a11546a 100755 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -349,15 +349,15 @@ module.exports = function (grunt) { command: "git gc --prune=now --aggressive" }, sitemap: { - command: "node --experimental-modules --no-warnings --no-deprecation src/web/static/sitemap.mjs > build/prod/sitemap.xml", + command: "node --experimental-modules --experimental-json-modules --no-warnings --no-deprecation src/web/static/sitemap.mjs > build/prod/sitemap.xml", sync: true }, generateConfig: { command: chainCommands([ "echo '\n--- Regenerating config files. ---'", "echo [] > src/core/config/OperationConfig.json", - "node --experimental-modules --no-warnings --no-deprecation src/core/config/scripts/generateOpsIndex.mjs", - "node --experimental-modules --no-warnings --no-deprecation src/core/config/scripts/generateConfig.mjs", + "node --experimental-modules --experimental-json-modules --no-warnings --no-deprecation src/core/config/scripts/generateOpsIndex.mjs", + "node --experimental-modules --experimental-json-modules --no-warnings --no-deprecation src/core/config/scripts/generateConfig.mjs", "echo '--- Config scripts finished. ---\n'" ]), sync: true @@ -365,7 +365,7 @@ module.exports = function (grunt) { generateNodeIndex: { command: chainCommands([ "echo '\n--- Regenerating node index ---'", - "node --experimental-modules --no-warnings --no-deprecation src/node/config/scripts/generateNodeIndex.mjs", + "node --experimental-modules --experimental-json-modules --no-warnings --no-deprecation src/node/config/scripts/generateNodeIndex.mjs", "echo '--- Node index generated. ---\n'" ]), sync: true @@ -400,14 +400,14 @@ module.exports = function (grunt) { testESMNodeConsumer: { command: chainCommands([ `cd ${nodeConsumerTestPath}`, - "node --no-warnings --experimental-modules esm-consumer.mjs", + "node --no-warnings --experimental-modules --experimental-json-modules esm-consumer.mjs", ]), stdout: false, }, testESMDeepImportNodeConsumer: { command: chainCommands([ `cd ${nodeConsumerTestPath}`, - "node --no-warnings --experimental-modules esm-deep-import-consumer.mjs", + "node --no-warnings --experimental-modules --experimental-json-modules esm-deep-import-consumer.mjs", ]), stdout: false, }, diff --git a/package.json b/package.json index 78a8696b..7747b913 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "imports-loader": "^3.0.0", "mini-css-extract-plugin": "1.3.7", "nightwatch": "^1.7.8", - "node-sass": "^5.0.0", + "node-sass": "^6.0.0", "postcss": "^8.3.6", "postcss-css-variables": "^0.18.0", "postcss-import": "^14.0.2", @@ -169,13 +169,13 @@ "start": "npx grunt dev", "build": "npx grunt prod", "repl": "node src/node/repl.js", - "test": "npx grunt configTests && node --experimental-modules --no-warnings --no-deprecation tests/node/index.mjs && node --experimental-modules --no-warnings --no-deprecation tests/operations/index.mjs", + "test": "npx grunt configTests && node --experimental-modules --experimental-json-modules --no-warnings --no-deprecation tests/node/index.mjs && node --experimental-modules --experimental-json-modules --no-warnings --no-deprecation tests/operations/index.mjs", "test-node-consumer": "npx grunt testnodeconsumer", "testui": "npx grunt testui", "testuidev": "npx nightwatch --env=dev", "lint": "npx grunt lint", "postinstall": "npx grunt exec:fixCryptoApiImports", - "newop": "node --experimental-modules src/core/config/scripts/newOperation.mjs", + "newop": "node --experimental-modules --experimental-json-modules src/core/config/scripts/newOperation.mjs", "getheapsize": "node -e 'console.log(`node heap limit = ${require(\"v8\").getHeapStatistics().heap_size_limit / (1024 * 1024)} Mb`)'", "setheapsize": "export NODE_OPTIONS=--max_old_space_size=2048" } From cfc29ef8216beb2da74ef2d19faecbf7936face2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= Date: Fri, 17 Sep 2021 08:46:43 +0200 Subject: [PATCH 259/754] Always use mjs imports This is needed for Node/NPM 16 compat --- src/core/errors/index.mjs | 2 +- src/node/config/scripts/generateNodeIndex.mjs | 4 ++-- tests/node/tests/operations.mjs | 2 +- tests/operations/tests/AvroToJSON.mjs | 2 +- tests/operations/tests/BaconCipher.mjs | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/core/errors/index.mjs b/src/core/errors/index.mjs index b27affc2..6d96acb0 100644 --- a/src/core/errors/index.mjs +++ b/src/core/errors/index.mjs @@ -1,6 +1,6 @@ import OperationError from "./OperationError.mjs"; import DishError from "./DishError.mjs"; -import ExcludedOperationError from "./ExcludedOperationError"; +import ExcludedOperationError from "./ExcludedOperationError.mjs"; export { OperationError, diff --git a/src/node/config/scripts/generateNodeIndex.mjs b/src/node/config/scripts/generateNodeIndex.mjs index 13c9a842..4e16fbeb 100644 --- a/src/node/config/scripts/generateNodeIndex.mjs +++ b/src/node/config/scripts/generateNodeIndex.mjs @@ -41,7 +41,7 @@ let code = `/** import NodeDish from "./NodeDish.mjs"; import { _wrap, help, bake, _explainExcludedFunction } from "./api.mjs"; import File from "./File.mjs"; -import { OperationError, DishError, ExcludedOperationError } from "../core/errors/index"; +import { OperationError, DishError, ExcludedOperationError } from "../core/errors/index.mjs"; import { // import as core_ to avoid name clashes after wrap. `; @@ -52,7 +52,7 @@ includedOperations.forEach((op) => { }); code +=` -} from "../core/operations/index"; +} from "../core/operations/index.mjs"; global.File = File; diff --git a/tests/node/tests/operations.mjs b/tests/node/tests/operations.mjs index 52748167..d02de6e7 100644 --- a/tests/node/tests/operations.mjs +++ b/tests/node/tests/operations.mjs @@ -32,7 +32,7 @@ import { CSSMinify, toBase64, toHex -} from "../../../src/node/index"; +} from "../../../src/node/index.mjs"; import chef from "../../../src/node/index.mjs"; import TestRegister from "../../lib/TestRegister.mjs"; import File from "../../../src/node/File.mjs"; diff --git a/tests/operations/tests/AvroToJSON.mjs b/tests/operations/tests/AvroToJSON.mjs index 045abddb..b823cbfc 100644 --- a/tests/operations/tests/AvroToJSON.mjs +++ b/tests/operations/tests/AvroToJSON.mjs @@ -6,7 +6,7 @@ * @license Apache-2.0 */ -import TestRegister from "../../lib/TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/BaconCipher.mjs b/tests/operations/tests/BaconCipher.mjs index 8833b584..90e5ee64 100644 --- a/tests/operations/tests/BaconCipher.mjs +++ b/tests/operations/tests/BaconCipher.mjs @@ -5,8 +5,8 @@ * @copyright Karsten Silkenbäumer 2019 * @license Apache-2.0 */ -import TestRegister from "../../lib/TestRegister"; -import { BACON_ALPHABETS, BACON_TRANSLATIONS } from "../../../src/core/lib/Bacon"; +import TestRegister from "../../lib/TestRegister.mjs"; +import { BACON_ALPHABETS, BACON_TRANSLATIONS } from "../../../src/core/lib/Bacon.mjs"; const alphabets = Object.keys(BACON_ALPHABETS); const translations = BACON_TRANSLATIONS; From a7cdb095d23c3af402d02a347fe8fd2b1ede0d0b Mon Sep 17 00:00:00 2001 From: MikeCAT Date: Mon, 4 Oct 2021 22:39:16 +0900 Subject: [PATCH 260/754] Added input validation to fromBase64() --- src/core/lib/Base64.mjs | 45 ++++++++++++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 10 deletions(-) diff --git a/src/core/lib/Base64.mjs b/src/core/lib/Base64.mjs index d9452575..c96e579e 100644 --- a/src/core/lib/Base64.mjs +++ b/src/core/lib/Base64.mjs @@ -95,6 +95,7 @@ export function fromBase64(data, alphabet="A-Za-z0-9+/=", returnType="string", r const output = []; let chr1, chr2, chr3, + encChr1, encChr2, encChr3, encChr4, enc1, enc2, enc3, enc4, i = 0; @@ -103,15 +104,39 @@ export function fromBase64(data, alphabet="A-Za-z0-9+/=", returnType="string", r data = data.replace(re, ""); } - while (i < data.length) { - enc1 = alphabet.indexOf(data.charAt(i++)); - enc2 = alphabet.indexOf(data.charAt(i++) || "="); - enc3 = alphabet.indexOf(data.charAt(i++) || "="); - enc4 = alphabet.indexOf(data.charAt(i++) || "="); + if (data.length % 4 === 1) { + throw new OperationError(`Invalid Base64 input length (${data.length}): it won't be 4n+1`); + } - enc2 = enc2 === -1 ? 64 : enc2; - enc3 = enc3 === -1 ? 64 : enc3; - enc4 = enc4 === -1 ? 64 : enc4; + if (alphabet.length === 65) { + const pad = alphabet.charAt(64); + const padPos = data.indexOf(pad); + if (padPos >= 0) { + // padding character should appear only at the end of the input + // there should be only one or two padding character(s) if it exists + if (padPos < data.length - 2 || data.charAt(data.length - 1) !== pad) { + throw new OperationError("Invalid Base64 input: padding character misused"); + } + if (data.length % 4 !== 0) { + throw new OperationError("Invalid Base64 input: padded not to multiple of 4"); + } + } + } + + while (i < data.length) { + encChr1 = data.charAt(i++); + encChr2 = data.charAt(i++); + encChr3 = data.charAt(i++); + encChr4 = data.charAt(i++); + + enc1 = alphabet.indexOf(encChr1); + enc2 = alphabet.indexOf(encChr2); + enc3 = alphabet.indexOf(encChr3); + enc4 = alphabet.indexOf(encChr4); + + if (enc1 < 0 || enc2 < 0 || enc3 < 0 || enc4 < 0) { + throw new OperationError("Invalid Base64 input: contains non-alphabet char(s)"); + } chr1 = (enc1 << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); @@ -119,10 +144,10 @@ export function fromBase64(data, alphabet="A-Za-z0-9+/=", returnType="string", r output.push(chr1); - if (enc3 !== 64) { + if (encChr3 !== "" && enc3 !== 64) { output.push(chr2); } - if (enc4 !== 64) { + if (encChr4 !== "" && enc4 !== 64) { output.push(chr3); } } From e8f91316ffd280715a3e90177a5b04068689883d Mon Sep 17 00:00:00 2001 From: MikeCAT Date: Wed, 20 Oct 2021 21:28:48 +0900 Subject: [PATCH 261/754] Added ROT13/47 Brute Force --- src/core/config/Categories.json | 2 + src/core/operations/ROT13BruteForce.mjs | 102 ++++++++++++++++++++++++ src/core/operations/ROT47BruteForce.mjs | 82 +++++++++++++++++++ 3 files changed, 186 insertions(+) create mode 100644 src/core/operations/ROT13BruteForce.mjs create mode 100644 src/core/operations/ROT47BruteForce.mjs diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 09ee8d15..1369267a 100644 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -82,7 +82,9 @@ "RC4", "RC4 Drop", "ROT13", + "ROT13 Brute Force", "ROT47", + "ROT47 Brute Force", "XOR", "XOR Brute Force", "Vigenère Encode", diff --git a/src/core/operations/ROT13BruteForce.mjs b/src/core/operations/ROT13BruteForce.mjs new file mode 100644 index 00000000..bdf9d40a --- /dev/null +++ b/src/core/operations/ROT13BruteForce.mjs @@ -0,0 +1,102 @@ +/** + * @author MikeCAT + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; + +/** + * ROT13 Brute Force operation. + */ +class ROT13BruteForce extends Operation { + + /** + * ROT13BruteForce constructor + */ + constructor() { + super(); + + this.name = "ROT13 Brute Force"; + this.module = "Default"; + this.description = "Try all meaningful amounts for ROT13.

Optionally you can enter your known plaintext (crib) to filter the result."; + this.infoURL = "https://wikipedia.org/wiki/ROT13"; + this.inputType = "byteArray"; + this.outputType = "string"; + this.args = [ + { + name: "Rotate lower case chars", + type: "boolean", + value: true + }, + { + name: "Rotate upper case chars", + type: "boolean", + value: true + }, + { + name: "Rotate numbers", + type: "boolean", + value: false + }, + { + "name": "Sample length", + "type": "number", + "value": 100 + }, + { + "name": "Sample offset", + "type": "number", + "value": 0 + }, + { + "name": "Print amount", + "type": "boolean", + "value": true + }, + { + "name": "Crib (known plaintext string)", + "type": "string", + "value": "" + } + ]; + } + + /** + * @param {byteArray} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const [rotateLower, rotateUpper, rotateNum, sampleLength, sampleOffset, printAmount, crib] = args; + const sample = input.slice(sampleOffset, sampleOffset + sampleLength); + const cribLower = crib.toLowerCase(); + const lowerStart = "a".charCodeAt(0), upperStart = "A".charCodeAt(0), numStart = "0".charCodeAt(0); + const result = []; + for (let amount = 1; amount < 26; amount++) { + const rotated = sample.slice(); + for (let i = 0; i < rotated.length; i++) { + if (rotateLower && lowerStart <= rotated[i] && rotated[i] < lowerStart + 26) { + rotated[i] = (rotated[i] - lowerStart + amount) % 26 + lowerStart; + } else if (rotateUpper && upperStart <= rotated[i] && rotated[i] < upperStart + 26) { + rotated[i] = (rotated[i] - upperStart + amount) % 26 + upperStart; + } else if (rotateNum && numStart <= rotated[i] && rotated[i] < numStart + 10) { + rotated[i] = (rotated[i] - numStart + amount) % 10 + numStart; + } + } + const rotatedString = Utils.byteArrayToUtf8(rotated); + if (rotatedString.toLowerCase().indexOf(cribLower) >= 0) { + const rotatedStringPrintable = Utils.printable(rotatedString, false); + if (printAmount) { + const amountStr = "Amount = " + (" " + amount).slice(-2) + ": "; + result.push(amountStr + rotatedStringPrintable); + } else { + result.push(rotatedStringPrintable); + } + } + } + return result.join("\n"); + } +} + +export default ROT13BruteForce; diff --git a/src/core/operations/ROT47BruteForce.mjs b/src/core/operations/ROT47BruteForce.mjs new file mode 100644 index 00000000..5fce5259 --- /dev/null +++ b/src/core/operations/ROT47BruteForce.mjs @@ -0,0 +1,82 @@ +/** + * @author MikeCAT + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; + +/** + * ROT47 Brute Force operation. + */ +class ROT47BruteForce extends Operation { + + /** + * ROT47BruteForce constructor + */ + constructor() { + super(); + + this.name = "ROT47 Brute Force"; + this.module = "Default"; + this.description = "Try all meaningful amounts for ROT47.

Optionally you can enter your known plaintext (crib) to filter the result."; + this.infoURL = "https://wikipedia.org/wiki/ROT13#Variants"; + this.inputType = "byteArray"; + this.outputType = "string"; + this.args = [ + { + "name": "Sample length", + "type": "number", + "value": 100 + }, + { + "name": "Sample offset", + "type": "number", + "value": 0 + }, + { + "name": "Print amount", + "type": "boolean", + "value": true + }, + { + "name": "Crib (known plaintext string)", + "type": "string", + "value": "" + } + ]; + } + + /** + * @param {byteArray} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const [sampleLength, sampleOffset, printAmount, crib] = args; + const sample = input.slice(sampleOffset, sampleOffset + sampleLength); + const cribLower = crib.toLowerCase(); + const result = []; + for (let amount = 1; amount < 94; amount++) { + const rotated = sample.slice(); + for (let i = 0; i < rotated.length; i++) { + if (33 <= rotated[i] && rotated[i] <= 126) { + rotated[i] = (rotated[i] - 33 + amount) % 94 + 33; + } + } + const rotatedString = Utils.byteArrayToUtf8(rotated); + if (rotatedString.toLowerCase().indexOf(cribLower) >= 0) { + const rotatedStringPrintable = Utils.printable(rotatedString, false); + if (printAmount) { + const amountStr = "Amount = " + (" " + amount).slice(-2) + ": "; + result.push(amountStr + rotatedStringPrintable); + } else { + result.push(rotatedStringPrintable); + } + } + } + return result.join("\n"); + } +} + +export default ROT47BruteForce; From f630c499d5bac3606e57ab65a2585223648b653b Mon Sep 17 00:00:00 2001 From: Wingless-Archangel Date: Fri, 29 Oct 2021 14:41:35 +0200 Subject: [PATCH 262/754] Update .gitignore add .node-version file for supporting [nodeenv](https://github.com/ekalinin/nodeenv) --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 40682646..3b7449c4 100755 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,4 @@ src/node/config/OperationConfig.json src/node/index.mjs **/*.DS_Store tests/browser/output/* - +.node-version From d2174725a95feaaa7f49140eaa64c94e6e3a3e09 Mon Sep 17 00:00:00 2001 From: Alex Chambers_Jones Date: Fri, 29 Oct 2021 17:59:02 +0100 Subject: [PATCH 263/754] Fixed reflected XSS described in issue 1265 --- src/core/lib/Charts.mjs | 3 ++- src/core/operations/ScatterChart.mjs | 2 +- src/core/operations/SeriesChart.mjs | 5 ++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/core/lib/Charts.mjs b/src/core/lib/Charts.mjs index 93bf32f6..6cb63f60 100644 --- a/src/core/lib/Charts.mjs +++ b/src/core/lib/Charts.mjs @@ -6,6 +6,7 @@ */ import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; /** * @constant @@ -128,7 +129,7 @@ export function getScatterValuesWithColour(input, recordDelimiter, fieldDelimite if (Number.isNaN(x)) throw new OperationError("Values must be numbers in base 10."); if (Number.isNaN(y)) throw new OperationError("Values must be numbers in base 10."); - return [x, y, colour]; + return [x, y, Utils.escapeHtml(colour)]; }); return { headings, values }; diff --git a/src/core/operations/ScatterChart.mjs b/src/core/operations/ScatterChart.mjs index fe15f610..fc0caf03 100644 --- a/src/core/operations/ScatterChart.mjs +++ b/src/core/operations/ScatterChart.mjs @@ -87,7 +87,7 @@ class ScatterChart extends Operation { const recordDelimiter = Utils.charRep(args[0]), fieldDelimiter = Utils.charRep(args[1]), columnHeadingsAreIncluded = args[2], - fillColour = args[5], + fillColour = Utils.escapeHtml(args[5]), radius = args[6], colourInInput = args[7], dimension = 500; diff --git a/src/core/operations/SeriesChart.mjs b/src/core/operations/SeriesChart.mjs index 7a21953e..85979703 100644 --- a/src/core/operations/SeriesChart.mjs +++ b/src/core/operations/SeriesChart.mjs @@ -72,7 +72,10 @@ class SeriesChart extends Operation { fieldDelimiter = Utils.charRep(args[1]), xLabel = args[2], pipRadius = args[3], - seriesColours = args[4].split(","), + // Escape HTML from all colours to prevent reflected XSS. See https://github.com/gchq/CyberChef/issues/1265 + seriesColours = args[4].split(",").map((colour) => { + return Utils.escapeHtml(colour) + }), svgWidth = 500, interSeriesPadding = 20, xAxisHeight = 50, From 671ae6558fbf773d72bb7519fde7ce1ce203c514 Mon Sep 17 00:00:00 2001 From: Peter Jacobs Date: Fri, 29 Oct 2021 01:31:55 -0500 Subject: [PATCH 264/754] Added 'LZString Decompress' and 'LZString Compress' operations --- package-lock.json | 23 +++++---- package.json | 1 + src/core/config/Categories.json | 4 +- src/core/lib/LZString.mjs | 21 ++++++++ src/core/operations/LZStringCompress.mjs | 55 +++++++++++++++++++++ src/core/operations/LZStringDecompress.mjs | 56 ++++++++++++++++++++++ tests/operations/index.mjs | 1 + tests/operations/tests/LZString.mjs | 33 +++++++++++++ 8 files changed, 184 insertions(+), 10 deletions(-) create mode 100644 src/core/lib/LZString.mjs create mode 100644 src/core/operations/LZStringCompress.mjs create mode 100644 src/core/operations/LZStringDecompress.mjs create mode 100644 tests/operations/tests/LZString.mjs diff --git a/package-lock.json b/package-lock.json index 6fa9016e..d579a3d9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2295,9 +2295,9 @@ "dev": true }, "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "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", @@ -8731,6 +8731,11 @@ "yallist": "^4.0.0" } }, + "lz-string": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", + "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=" + }, "make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -9014,9 +9019,9 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz", + "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==", "dev": true, "requires": { "yallist": "^4.0.0" @@ -12667,9 +12672,9 @@ "dev": true }, "tar": { - "version": "6.1.10", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.10.tgz", - "integrity": "sha512-kvvfiVvjGMxeUNB6MyYv5z7vhfFRwbwCXJAeL0/lnbrttBVqcMOnpHUf0X42LrPMR8mMpgapkJMchFH4FSHzNA==", + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", "dev": true, "requires": { "chownr": "^2.0.0", diff --git a/package.json b/package.json index 78a8696b..cf4ceba6 100644 --- a/package.json +++ b/package.json @@ -133,6 +133,7 @@ "lodash": "^4.17.21", "loglevel": "^1.7.1", "loglevel-message-prefix": "^3.0.0", + "lz-string": "^1.4.4", "markdown-it": "^12.2.0", "moment": "^2.29.1", "moment-timezone": "^0.5.33", diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 09ee8d15..fcd4f6af 100644 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -313,7 +313,9 @@ "Bzip2 Decompress", "Bzip2 Compress", "Tar", - "Untar" + "Untar", + "LZString Compress", + "LZString Decompress" ] }, { diff --git a/src/core/lib/LZString.mjs b/src/core/lib/LZString.mjs new file mode 100644 index 00000000..c4919a87 --- /dev/null +++ b/src/core/lib/LZString.mjs @@ -0,0 +1,21 @@ +/** + * lz-string exports. + * + * @author crespyl [peter@crespyl.net] + * @copyright Peter Jacobs 2021 + * @license Apache-2.0 + */ + +import LZString from "lz-string"; + +export const COMPRESSION_OUTPUT_FORMATS = ["default", "UTF16", "Base64"]; +export const COMPRESSION_FUNCTIONS = { + "default": LZString.compress, + "UTF16": LZString.compressToUTF16, + "Base64": LZString.compressToBase64, +}; +export const DECOMPRESSION_FUNCTIONS = { + "default": LZString.decompress, + "UTF16": LZString.decompressFromUTF16, + "Base64": LZString.decompressFromBase64, +}; diff --git a/src/core/operations/LZStringCompress.mjs b/src/core/operations/LZStringCompress.mjs new file mode 100644 index 00000000..11d5710a --- /dev/null +++ b/src/core/operations/LZStringCompress.mjs @@ -0,0 +1,55 @@ +/** + * @author crespyl [peter@crespyl.net] + * @copyright Peter Jacobs 2021 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; + +import {COMPRESSION_OUTPUT_FORMATS, COMPRESSION_FUNCTIONS} from "../lib/LZString.mjs"; + +/** + * LZString Compress operation + */ +class LZStringCompress extends Operation { + + /** + * LZStringCompress constructor + */ + constructor() { + super(); + + this.name = "LZString Compress"; + this.module = "Compression"; + this.description = "Compress the input with lz-string."; + this.infoURL = "https://pieroxy.net/blog/pages/lz-string/index.html"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + name: "Compression Format", + type: "option", + defaultIndex: 0, + value: COMPRESSION_OUTPUT_FORMATS + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const compress = COMPRESSION_FUNCTIONS[args[0]]; + if (compress) { + return compress(input); + } else { + throw new OperationError("Unable to find compression function"); + } + } + +} + +export default LZStringCompress; diff --git a/src/core/operations/LZStringDecompress.mjs b/src/core/operations/LZStringDecompress.mjs new file mode 100644 index 00000000..87d0d85b --- /dev/null +++ b/src/core/operations/LZStringDecompress.mjs @@ -0,0 +1,56 @@ +/** + * @author crespyl [peter@crespyl.net] + * @copyright Peter Jacobs 2021 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; + +import {COMPRESSION_OUTPUT_FORMATS, DECOMPRESSION_FUNCTIONS} from "../lib/LZString.mjs"; + +/** + * LZString Decompress operation + */ +class LZStringDecompress extends Operation { + + /** + * LZStringDecompress constructor + */ + constructor() { + super(); + + this.name = "LZString Decompress"; + this.module = "Compression"; + this.description = "Decompresses data that was compressed with lz-string."; + this.infoURL = "https://pieroxy.net/blog/pages/lz-string/index.html"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + name: "Compression Format", + type: "option", + defaultIndex: 0, + value: COMPRESSION_OUTPUT_FORMATS + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const decompress = DECOMPRESSION_FUNCTIONS[args[0]]; + if (decompress) { + return decompress(input); + } else { + throw new OperationError("Unable to find decompression function"); + } + } + + +} + +export default LZStringDecompress; diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index 9add20b9..27f0fbb6 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -107,6 +107,7 @@ import "./tests/CBORDecode.mjs"; import "./tests/JA3Fingerprint.mjs"; import "./tests/JA3SFingerprint.mjs"; import "./tests/HASSH.mjs"; +import "./tests/LZString.mjs"; // Cannot test operations that use the File type yet diff --git a/tests/operations/tests/LZString.mjs b/tests/operations/tests/LZString.mjs new file mode 100644 index 00000000..69e47bdd --- /dev/null +++ b/tests/operations/tests/LZString.mjs @@ -0,0 +1,33 @@ +/** + * LZString tests. + * + * @author crespyl [peter@crespyl.net] + * @copyright Peter Jacobs 2021 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "LZString Compress To Base64", + input: "hello world", + expectedOutput: "BYUwNmD2AEDukCcwBMg=", + recipeConfig: [ + { + "op": "LZString Compress", + "args": ["Base64"] + } + ], + }, + { + name: "LZString Decompress From Base64", + input: "BYUwNmD2AEDukCcwBMg=", + expectedOutput: "hello world", + recipeConfig: [ + { + "op": "LZString Decompress", + "args": ["Base64"] + } + ], + } +]); From 1dbcd2ac8499bf37e6e12aef698e01c86f0d61e0 Mon Sep 17 00:00:00 2001 From: CPlusSharp Date: Sun, 7 Nov 2021 11:21:17 +0100 Subject: [PATCH 265/754] PEMtoHex: Support arbitrary PEMs previous implementation only supported some PEMs (e.g. Certificate) the new implementation is more general, it just extracts the base64 between header and footer and decodes that to hex --- src/core/operations/PEMToHex.mjs | 33 ++-- tests/operations/index.mjs | 1 + tests/operations/tests/PEMtoHex.mjs | 294 ++++++++++++++++++++++++++++ 3 files changed, 317 insertions(+), 11 deletions(-) create mode 100644 tests/operations/tests/PEMtoHex.mjs diff --git a/src/core/operations/PEMToHex.mjs b/src/core/operations/PEMToHex.mjs index 095e2c56..575f6f77 100644 --- a/src/core/operations/PEMToHex.mjs +++ b/src/core/operations/PEMToHex.mjs @@ -1,11 +1,14 @@ /** * @author n1474335 [n1474335@gmail.com] + * @author cplussharp * @copyright Crown Copyright 2016 * @license Apache-2.0 */ -import r from "jsrsasign"; +import {fromBase64} from "../lib/Base64.mjs"; import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; /** * PEM to Hex operation @@ -33,17 +36,25 @@ class PEMToHex extends Operation { * @returns {string} */ run(input, args) { - if (input.indexOf("-----BEGIN") < 0) { - // Add header so that the KEYUTIL function works - input = "-----BEGIN CERTIFICATE-----" + input; + let output = ""; + let match; + const regex = /-----BEGIN ([A-Z][A-Z ]+[A-Z])-----/g; + while ((match = regex.exec(input)) !== null) { + // find corresponding end tag + const indexBase64 = match.index + match[0].length; + const footer = `-----END ${match[1]}-----`; + const indexFooter = input.indexOf(footer, indexBase64); + if (indexFooter === -1) { + throw new OperationError(`PEM footer '${footer}' not found`); + } + + // decode base64 content + const base64 = input.substring(indexBase64, indexFooter); + const bytes = fromBase64(base64, "A-Za-z0-9+/=", "byteArray", true); + const hex = bytes.map(b => Utils.hex(b)).join(""); + output += hex; } - if (input.indexOf("-----END") < 0) { - // Add footer so that the KEYUTIL function works - input = input + "-----END CERTIFICATE-----"; - } - const cert = new r.X509(); - cert.readCertPEM(input); - return cert.hex; + return output; } } diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index 9add20b9..fede1441 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -66,6 +66,7 @@ import "./tests/PGP.mjs"; import "./tests/PHP.mjs"; import "./tests/ParseIPRange.mjs"; import "./tests/ParseQRCode.mjs"; +import "./tests/PEMtoHex.mjs"; import "./tests/PowerSet.mjs"; import "./tests/Regex.mjs"; import "./tests/Register.mjs"; diff --git a/tests/operations/tests/PEMtoHex.mjs b/tests/operations/tests/PEMtoHex.mjs new file mode 100644 index 00000000..7929bfdd --- /dev/null +++ b/tests/operations/tests/PEMtoHex.mjs @@ -0,0 +1,294 @@ +/** + * Test PEMtoHex with different inputs + * + * @author cplussharp + * + * @license Apache-2.0 + */ + +import TestRegister from "../../lib/TestRegister.mjs"; + +/** RSA 2048bit key pair as PKCS1 and PKCS8 and as certificate */ +const PEMS_RSA_PRIVATE_KEY_PKCS1 = `-----BEGIN RSA PRIVATE KEY----- +MIIEogIBAAKCAQEA5WykLKHiBAhmZh5WhocgpQQqZjdrApuRxRT21SJZx6Ce+Oz2 +V17/heozu5LEz63jCxW1NrBckzl/Ys8p9LeqYTu6x/LbKloTjfEWxlzXnzUSqn9J +HIxmmJQzjXp9X1D99Tj+NWpRGEIiCFE7JfDhe2KnMGVDDg6kfCLokDdLo256LeQ4 +CEkViwY6d+at4xDlIHwvZZmG4Smk56eHhvQE3I8sSAzgoLMBamQ5m3MbiULAYtxs +kCpCfjFxrL6Ziaaj7HZoneF40R30KCI9ygF8vkzxLwe3t5Y4XgHL9TYQm1+BDnin +upIB/zTeO1ygBGA66m6zpmkmuG7d8HXIducz+wIDAQABAoIBACQu3jWr0lmQeZXh +cwQEi8F6xrUYSGhA4NyUUdmLcV1ql6fqt29QLDySk1Yh76hRZF17LvlRF0ig6NZM +lfFihhyPrwWZ57bmPe9E9rKSMe+KD0eUi5NVEVk/BmJpzxwZSfRC6NTDz8Zjp7po +FUwGkYlEJdocHlc5N/fcCZG1Jti/Z1AsZIjO6r6S0O7neC7icECBKHUyWa8/yE1N +++TVyMV+z53Ad1PC+SHMGDlbqJAM3o4wAzD/FAIzyVo6GSnnC+bFdgMtIwtwgYTH +rbr8M8j5fqAHTqNJeblqt/5KHEj2VVsIsHIuQ6lv4llESEqmH+N5KE4O33U7/Wmj +y/+VGAECgYEA9ysROHXOx1ofh3tI/r2C2FUan6/AAe4dc+8E4jMGI5T4xeqYHTRV +l1yS+ZKIxqclIoAmd6SJ7Nx2GdQ55MmokZdZRqsFN1flFOZw2kFH/I0zQZXdOjF+ +sf5Lu0FfcTw3VJhJ/YU3CVdlgdP4ekHbaJVFW5i/pTUf5vNs6AGBGxsCgYEA7Z9D +0qnF6GhxA8lJfwnyuktYnwIQoXE6Xp26/NZD7t7HzxHDf43LQxmTk+mDP/yIQHwb +xIx2NE/ncNxlUMl/g1PkJbKVkB8tdIZrLyiT4lebeqgT72Q07IsxRl/GHOr7CfN0 +61OBRCe44IlOtaNAZk4zWwuAwAYx+G8ifuOJ+KECgYBP5NvsJChyx+7pHDC8JwXk +Z53zgBvQg+eBUgGCHHwfhEflsa75wbDo/EOF6JfNnrmiLUpB4i2zIpAKSU9tZMHY +TdPNw/orqX2jA9n2sqNSP1ISIR8hcF5Dqq9QGBGByLUZ4yAHksf3fQiSrrHi0ubZ +J2cD9Jv+Cu4E+Sp61AGngQKBgHmuTPTbq1TP5s+hi9laJsnvO3pxfEKv0MwSyWYf +8rmnq3oGBq6S1buOpVvhAC0MDFm5NB76Lq2rHUFWGyu7g2ik1PfY823SCVzaWJjV +lqUZZ6zv1QWJsvBOdvUqpjC4w8TcvsqjAFb+YFXa+ktZRekdsn607UFn6r7laizA +KC8BAoGAZty7sIGMt1gDaoIjySgOox8x7AlY3QUyNQC5N8KW3MZ8KLC5UBtjhqLy +wYOJr+/1R/7ibiHrKkIE/dmg5QN1iS5tZmFvyLwJ+nHQZObFrlcKtpr+1lekQY/m +ly6YJFk3yj2nhYzt8eVXBX2lCoLG1gsrbpXvUfIGJ53L9m1mVAo= +-----END RSA PRIVATE KEY-----`; + +const PEMS_RSA_PRIVATE_KEY_PKCS8 = `-----BEGIN PRIVATE KEY----- +MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDlbKQsoeIECGZm +HlaGhyClBCpmN2sCm5HFFPbVIlnHoJ747PZXXv+F6jO7ksTPreMLFbU2sFyTOX9i +zyn0t6phO7rH8tsqWhON8RbGXNefNRKqf0kcjGaYlDONen1fUP31OP41alEYQiII +UTsl8OF7YqcwZUMODqR8IuiQN0ujbnot5DgISRWLBjp35q3jEOUgfC9lmYbhKaTn +p4eG9ATcjyxIDOCgswFqZDmbcxuJQsBi3GyQKkJ+MXGsvpmJpqPsdmid4XjRHfQo +Ij3KAXy+TPEvB7e3ljheAcv1NhCbX4EOeKe6kgH/NN47XKAEYDrqbrOmaSa4bt3w +dch25zP7AgMBAAECggEAJC7eNavSWZB5leFzBASLwXrGtRhIaEDg3JRR2YtxXWqX +p+q3b1AsPJKTViHvqFFkXXsu+VEXSKDo1kyV8WKGHI+vBZnntuY970T2spIx74oP +R5SLk1URWT8GYmnPHBlJ9ELo1MPPxmOnumgVTAaRiUQl2hweVzk399wJkbUm2L9n +UCxkiM7qvpLQ7ud4LuJwQIEodTJZrz/ITU375NXIxX7PncB3U8L5IcwYOVuokAze +jjADMP8UAjPJWjoZKecL5sV2Ay0jC3CBhMetuvwzyPl+oAdOo0l5uWq3/kocSPZV +Wwiwci5DqW/iWURISqYf43koTg7fdTv9aaPL/5UYAQKBgQD3KxE4dc7HWh+He0j+ +vYLYVRqfr8AB7h1z7wTiMwYjlPjF6pgdNFWXXJL5kojGpyUigCZ3pIns3HYZ1Dnk +yaiRl1lGqwU3V+UU5nDaQUf8jTNBld06MX6x/ku7QV9xPDdUmEn9hTcJV2WB0/h6 +QdtolUVbmL+lNR/m82zoAYEbGwKBgQDtn0PSqcXoaHEDyUl/CfK6S1ifAhChcTpe +nbr81kPu3sfPEcN/jctDGZOT6YM//IhAfBvEjHY0T+dw3GVQyX+DU+QlspWQHy10 +hmsvKJPiV5t6qBPvZDTsizFGX8Yc6vsJ83TrU4FEJ7jgiU61o0BmTjNbC4DABjH4 +byJ+44n4oQKBgE/k2+wkKHLH7ukcMLwnBeRnnfOAG9CD54FSAYIcfB+ER+WxrvnB +sOj8Q4Xol82euaItSkHiLbMikApJT21kwdhN083D+iupfaMD2fayo1I/UhIhHyFw +XkOqr1AYEYHItRnjIAeSx/d9CJKuseLS5tknZwP0m/4K7gT5KnrUAaeBAoGAea5M +9NurVM/mz6GL2Vomye87enF8Qq/QzBLJZh/yuaeregYGrpLVu46lW+EALQwMWbk0 +HvourasdQVYbK7uDaKTU99jzbdIJXNpYmNWWpRlnrO/VBYmy8E529SqmMLjDxNy+ +yqMAVv5gVdr6S1lF6R2yfrTtQWfqvuVqLMAoLwECgYBm3LuwgYy3WANqgiPJKA6j +HzHsCVjdBTI1ALk3wpbcxnwosLlQG2OGovLBg4mv7/VH/uJuIesqQgT92aDlA3WJ +Lm1mYW/IvAn6cdBk5sWuVwq2mv7WV6RBj+aXLpgkWTfKPaeFjO3x5VcFfaUKgsbW +Cytule9R8gYnncv2bWZUCg== +-----END PRIVATE KEY-----`; + +const PEMS_RSA_PUBLIC_KEY_PKCS1 = `-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA5WykLKHiBAhmZh5WhocgpQQqZjdrApuRxRT21SJZx6Ce+Oz2V17/ +heozu5LEz63jCxW1NrBckzl/Ys8p9LeqYTu6x/LbKloTjfEWxlzXnzUSqn9JHIxm +mJQzjXp9X1D99Tj+NWpRGEIiCFE7JfDhe2KnMGVDDg6kfCLokDdLo256LeQ4CEkV +iwY6d+at4xDlIHwvZZmG4Smk56eHhvQE3I8sSAzgoLMBamQ5m3MbiULAYtxskCpC +fjFxrL6Ziaaj7HZoneF40R30KCI9ygF8vkzxLwe3t5Y4XgHL9TYQm1+BDninupIB +/zTeO1ygBGA66m6zpmkmuG7d8HXIducz+wIDAQAB +-----END RSA PUBLIC KEY-----`; + +const PEMS_RSA_PUBLIC_KEY_PKCS8 = `-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5WykLKHiBAhmZh5Whocg +pQQqZjdrApuRxRT21SJZx6Ce+Oz2V17/heozu5LEz63jCxW1NrBckzl/Ys8p9Leq +YTu6x/LbKloTjfEWxlzXnzUSqn9JHIxmmJQzjXp9X1D99Tj+NWpRGEIiCFE7JfDh +e2KnMGVDDg6kfCLokDdLo256LeQ4CEkViwY6d+at4xDlIHwvZZmG4Smk56eHhvQE +3I8sSAzgoLMBamQ5m3MbiULAYtxskCpCfjFxrL6Ziaaj7HZoneF40R30KCI9ygF8 +vkzxLwe3t5Y4XgHL9TYQm1+BDninupIB/zTeO1ygBGA66m6zpmkmuG7d8HXIducz ++wIDAQAB +-----END PUBLIC KEY-----`; + +const PEMS_RSA_CERT = `-----BEGIN CERTIFICATE----- +MIIDGzCCAgOgAwIBAgIUROs52CB3BsvEVLOCtALalnJG8tEwDQYJKoZIhvcNAQEL +BQAwHTEbMBkGA1UEAwwSUlNBIDIwNDggUHVibGljS2V5MB4XDTIxMDQxMzIxMDE0 +OVoXDTMxMDQxMTIxMDE0OVowHTEbMBkGA1UEAwwSUlNBIDIwNDggUHVibGljS2V5 +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5WykLKHiBAhmZh5Whocg +pQQqZjdrApuRxRT21SJZx6Ce+Oz2V17/heozu5LEz63jCxW1NrBckzl/Ys8p9Leq +YTu6x/LbKloTjfEWxlzXnzUSqn9JHIxmmJQzjXp9X1D99Tj+NWpRGEIiCFE7JfDh +e2KnMGVDDg6kfCLokDdLo256LeQ4CEkViwY6d+at4xDlIHwvZZmG4Smk56eHhvQE +3I8sSAzgoLMBamQ5m3MbiULAYtxskCpCfjFxrL6Ziaaj7HZoneF40R30KCI9ygF8 +vkzxLwe3t5Y4XgHL9TYQm1+BDninupIB/zTeO1ygBGA66m6zpmkmuG7d8HXIducz ++wIDAQABo1MwUTAdBgNVHQ4EFgQUcRhRB6H5JqlDHbymwqydW2/EAt8wHwYDVR0j +BBgwFoAUcRhRB6H5JqlDHbymwqydW2/EAt8wDwYDVR0TAQH/BAUwAwEB/zANBgkq +hkiG9w0BAQsFAAOCAQEALXBmDizTp/Uz4M2A4nCl0AVclrXEk+YjAKqZnvtj44Gs +CUcpxtcXu64ppsSYCwawvzIm6B2Mdmib422aInH0e0oNrn8cRzC144Hjnzxguamj +LyZXnH/0wN9SAjqCKt++urH9wbRMIl0v+g4CWjGyY+eYkMmd1UMQvdCCCv6RVm56 +7dBCijJIHg23JbgPJD72JCluXtTYWllv3duSwuWeYHo5EftU456pDcztkgn9XwFk +PFGnHLmbjpSzjE7u29qCjwHl3CiUsjfUlYFl/mf27oDXPqaWqPYv3fWH3H3ymiZQ +cqptUF4hDtPkaNkKWFmlljChN92o8g/jrv4DVDgJzQ== +-----END CERTIFICATE-----`; + +/** EC P-256 key pair and certificate */ +const PEMS_EC_P256_PRIVATE_KEY = `-----BEGIN EC PRIVATE KEY----- +MHcCAQEEIIhdQxQIcMnCHD3X4WqNv+VgycWmFoEZpRl9X0+dT9uHoAoGCCqGSM49 +AwEHoUQDQgAEFLQcBbzDweo6af4k3k0gKWMNWOZVn8+9hH2rv4DKKYZ7E1z64LBt +PnB1gMz++HDKySr2ozD3/46dIbQMXUZKpw== +-----END EC PRIVATE KEY-----`; + +const PEMS_EC_P256_PRIVATE_KEY_PKCS8 = `-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgiF1DFAhwycIcPdfh +ao2/5WDJxaYWgRmlGX1fT51P24ehRANCAAQUtBwFvMPB6jpp/iTeTSApYw1Y5lWf +z72Efau/gMophnsTXPrgsG0+cHWAzP74cMrJKvajMPf/jp0htAxdRkqn +-----END PRIVATE KEY-----`; + +const PEMS_EC_P256_PUBLIC_KEY = `-----BEGIN PUBLIC KEY----- +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEFLQcBbzDweo6af4k3k0gKWMNWOZV +n8+9hH2rv4DKKYZ7E1z64LBtPnB1gMz++HDKySr2ozD3/46dIbQMXUZKpw== +-----END PUBLIC KEY-----`; + +const PEMS_FOO = `-----BEGIN FOO----- +Rk9P +-----END FOO-----`; +const PEMS_BAR = `-----BEGIN BAR----- +QkFS +-----END BAR-----`; + +TestRegister.addTests([ + { + name: "PEMtoHex: Nothing", + input: "", + expectedOutput: "", + recipeConfig: [ + { + "op": "PEM to Hex", + "args": [] + } + ] + }, + { + name: "PEMtoHex: No footer", + input: PEMS_RSA_PRIVATE_KEY_PKCS1.substr(0, 200), + expectedOutput: "PEM footer '-----END RSA PRIVATE KEY-----' not found", + recipeConfig: [ + { + "op": "PEM to Hex", + "args": [] + } + ] + }, + { + name: "PEMtoHex: Multiple PEMs", + input: PEMS_FOO + '\n' + PEMS_BAR, + expectedOutput: "FOOBAR", + recipeConfig: [ + { + "op": "PEM to Hex", + "args": [] + }, + { + "op": "From Hex", + "args": ["None"] + } + ] + }, + { + name: "PEMtoHex: Single line PEM", + input: PEMS_FOO.replace(/(\n|\r)/gm,""), + expectedOutput: "FOO", + recipeConfig: [ + { + "op": "PEM to Hex", + "args": [] + }, + { + "op": "From Hex", + "args": ["None"] + } + ] + }, + { + name: "PEMtoHex: EC P-256 Private Key", + input: PEMS_EC_P256_PRIVATE_KEY, + expectedOutput: "30770201010420885d43140870c9c21c3dd7e16a8dbfe560c9c5a6168119a5197d5f4f9d4fdb87a00a06082a8648ce3d030107a1440342000414b41c05bcc3c1ea3a69fe24de4d2029630d58e6559fcfbd847dabbf80ca29867b135cfae0b06d3e707580ccfef870cac92af6a330f7ff8e9d21b40c5d464aa7", + recipeConfig: [ + { + "op": "PEM to Hex", + "args": [] + } + ] + }, + { + name: "PEMtoHex: EC P-256 Private Key PKCS8", + input: PEMS_EC_P256_PRIVATE_KEY_PKCS8, + expectedOutput: "308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b0201010420885d43140870c9c21c3dd7e16a8dbfe560c9c5a6168119a5197d5f4f9d4fdb87a1440342000414b41c05bcc3c1ea3a69fe24de4d2029630d58e6559fcfbd847dabbf80ca29867b135cfae0b06d3e707580ccfef870cac92af6a330f7ff8e9d21b40c5d464aa7", + recipeConfig: [ + { + "op": "PEM to Hex", + "args": [] + } + ] + }, + { + name: "PEMtoHex: EC P-256 Public Key", + input: PEMS_EC_P256_PUBLIC_KEY, + expectedOutput: "3059301306072a8648ce3d020106082a8648ce3d0301070342000414b41c05bcc3c1ea3a69fe24de4d2029630d58e6559fcfbd847dabbf80ca29867b135cfae0b06d3e707580ccfef870cac92af6a330f7ff8e9d21b40c5d464aa7", + recipeConfig: [ + { + "op": "PEM to Hex", + "args": [] + } + ] + }, + { + name: "PEMtoHex: RSA Private Key PKCS1", + input: PEMS_RSA_PRIVATE_KEY_PKCS1, + expectedOutput: "fb49bd96ffc5d1351a35d773921fac03", + recipeConfig: [ + { + "op": "PEM to Hex", + "args": [] + }, + { + "op": "MD5", + "args": [] + } + ] + }, + { + name: "PEMtoHex: RSA Private Key PKCS8", + input: PEMS_RSA_PRIVATE_KEY_PKCS8, + expectedOutput: "23086d03633689fee64680c3c24409eb", + recipeConfig: [ + { + "op": "PEM to Hex", + "args": [] + }, + { + "op": "MD5", + "args": [] + } + ] + }, + { + name: "PEMtoHex: RSA Public Key PKCS1", + input: PEMS_RSA_PUBLIC_KEY_PKCS1, + expectedOutput: "5fc3f1f6c5d5806760b12eaad0c0292c", + recipeConfig: [ + { + "op": "PEM to Hex", + "args": [] + }, + { + "op": "MD5", + "args": [] + } + ] + }, + { + name: "PEMtoHex: RSA Public Key PKCS8", + input: PEMS_RSA_PUBLIC_KEY_PKCS8, + expectedOutput: "30fbe8e9495d591232affebdd6206ea6", + recipeConfig: [ + { + "op": "PEM to Hex", + "args": [] + }, + { + "op": "MD5", + "args": [] + } + ] + }, + { + name: "PEMtoHex: Certificate", + input: PEMS_RSA_CERT, + expectedOutput: "6694d8ca4a0ceb84c3951d25dc05ec6e", + recipeConfig: [ + { + "op": "PEM to Hex", + "args": [] + }, + { + "op": "MD5", + "args": [] + } + ] + } +]); From 6017578964d900452e9e28e12300c0c0abf8b56f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= Date: Sat, 11 Sep 2021 17:03:59 +0200 Subject: [PATCH 266/754] Add Base45 operations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #1219 Co-developed-by: Cyril Delétré --- src/core/Utils.mjs | 24 +++++++ src/core/config/Categories.json | 2 + src/core/operations/FromBase45.mjs | 78 ++++++++++++++++++++++ src/core/operations/ToBase45.mjs | 74 +++++++++++++++++++++ tests/operations/index.mjs | 1 + tests/operations/tests/Base45.mjs | 101 +++++++++++++++++++++++++++++ 6 files changed, 280 insertions(+) create mode 100644 src/core/operations/FromBase45.mjs create mode 100644 src/core/operations/ToBase45.mjs create mode 100644 tests/operations/tests/Base45.mjs diff --git a/src/core/Utils.mjs b/src/core/Utils.mjs index ed29ceba..c775aea2 100755 --- a/src/core/Utils.mjs +++ b/src/core/Utils.mjs @@ -1206,6 +1206,30 @@ class Utils { }[token]; } + /** + * Iterate object in chunks of given size. + * + * @param {Iterable} iterable + * @param {number} chunksize + */ + static* chunked(iterable, chunksize) { + const iterator = iterable[Symbol.iterator](); + while (true) { + const res = []; + for (let i = 0; i < chunksize; i++) { + const next = iterator.next(); + if (next.done) { + break; + } + res.push(next.value); + } + if (res.length) { + yield res; + } else { + return; + } + } + } } /** diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 09ee8d15..2cb9ab0f 100644 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -20,6 +20,8 @@ "From Octal", "To Base32", "From Base32", + "To Base45", + "From Base45", "To Base58", "From Base58", "To Base62", diff --git a/src/core/operations/FromBase45.mjs b/src/core/operations/FromBase45.mjs new file mode 100644 index 00000000..8e78ed0c --- /dev/null +++ b/src/core/operations/FromBase45.mjs @@ -0,0 +1,78 @@ +/** + * @author Thomas Weißschuh [thomas@t-8ch.de] + * @copyright Crown Copyright 2021 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; + + +/** + * From Base45 operation + */ +class FromBase45 extends Operation { + + /** + * FromBase45 constructor + */ + constructor() { + super(); + + this.name = "From Base45"; + this.module = "Default"; + this.description = "Base45 is a notation for encoding arbitrary byte data using a restricted set of symbols that can be conveniently used by humans and processed by computers. The high number base results in shorter strings than with the decimal or hexadecimal system. Base45 is optimized for usage with QR codes."; + this.infoURL = "https://wikipedia.org/wiki/List_of_numeral_systems"; + this.inputType = "string"; + this.outputType = "byteArray"; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {byteArray} + */ + run(input, args) { + const alphabet = Utils.expandAlphRange("0-9A-Z $%*+-./:").join(""); + if (!input) return []; + + const res = []; + + for (const triple of Utils.chunked(input, 3)) { + triple.reverse(); + let b = 0; + for (const c of triple) { + const idx = alphabet.indexOf(c); + if (idx === -1) { + throw new OperationError(`Character not in alphabet: '${c}'`); + } + b *= 45; + b += idx; + } + + if (b > 65535) { + throw new OperationError(`Triplet too large: '${triple.join("")}'`); + } + + if (triple.length > 2) { + /** + * The last triple may only have 2 bytes so we push the MSB when we got 3 bytes + * Pushing MSB + */ + res.push(b >> 8); + } + + /** + * Pushing LSB + */ + res.push(b & 0xff); + + } + + return res; + } + +} + +export default FromBase45; diff --git a/src/core/operations/ToBase45.mjs b/src/core/operations/ToBase45.mjs new file mode 100644 index 00000000..019c3dd9 --- /dev/null +++ b/src/core/operations/ToBase45.mjs @@ -0,0 +1,74 @@ +/** + * @author Thomas Weißschuh [thomas@t-8ch.de] + * @copyright Crown Copyright 2021 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; + +/** + * To Base45 operation + */ +class ToBase45 extends Operation { + + /** + * ToBase45 constructor + */ + constructor() { + super(); + + this.name = "To Base45"; + this.module = "Default"; + this.description = "Base45 is a notation for encoding arbitrary byte data using a restricted set of symbols that can be conveniently used by humans and processed by computers. The high number base results in shorter strings than with the decimal or hexadecimal system. Base45 is optimized for usage with QR codes."; + this.infoURL = "https://wikipedia.org/wiki/List_of_numeral_systems"; + this.inputType = "ArrayBuffer"; + this.outputType = "string"; + this.args = [ + { + name: "Alphabet", + type: "string", + value: "0-9A-Za-z" + } + ]; + } + + /** + * @param {ArrayBuffer} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const alphabet = Utils.expandAlphRange("0-9A-Z $%*+-./:").join(""); + input = new Uint8Array(input); + if (!input) return ""; + + const res = []; + + for (const pair of Utils.chunked(input, 2)) { + let b = 0; + for (const e of pair) { + b *= 256; + b += e; + } + + let chars = 0; + do { + res.push(alphabet[b % 45]); + chars++; + b = Math.floor(b / 45); + } while (b > 0); + + if (chars < 2) { + res.push("0"); + } + } + + + return res.join(""); + + } + +} + +export default ToBase45; diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index 9add20b9..75fe6ef9 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -20,6 +20,7 @@ import TestRegister from "../lib/TestRegister.mjs"; import "./tests/BCD.mjs"; import "./tests/BSON.mjs"; import "./tests/BaconCipher.mjs"; +import "./tests/Base45.mjs"; import "./tests/Base58.mjs"; import "./tests/Base64.mjs"; import "./tests/Base62.mjs"; diff --git a/tests/operations/tests/Base45.mjs b/tests/operations/tests/Base45.mjs new file mode 100644 index 00000000..1e821c6d --- /dev/null +++ b/tests/operations/tests/Base45.mjs @@ -0,0 +1,101 @@ +/** + * Base45 tests. + * + * @author Thomas Weißschuh [thomas@t-8ch.de] + * + * @copyright Crown Copyright 2021 + * @license Apache-2.0 + */ + +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "To Base45: nothing", + input: "", + expectedOutput: "", + recipeConfig: [ + { + op: "To Base45", + args: [], + }, + ], + }, + { + name: "To Base45: Spec encoding example 1", + input: "AB", + expectedOutput: "BB8", + recipeConfig: [ + { + op: "To Base45", + args: [], + }, + ], + }, + { + name: "To Base45: Spec encoding example 2", + input: "Hello!!", + expectedOutput: "%69 VD92EX0", + recipeConfig: [ + { + op: "To Base45", + args: [], + }, + ], + }, + { + name: "To Base45: Spec encoding example 3", + input: "base-45", + expectedOutput: "UJCLQE7W581", + recipeConfig: [ + { + op: "To Base45", + args: [], + }, + ], + }, + { + name: "From Base45: nothing", + input: "", + expectedOutput: "", + recipeConfig: [ + { + op: "From Base45", + args: [], + }, + ], + }, + { + name: "From Base45: Spec decoding example 1", + input: "QED8WEX0", + expectedOutput: "ietf!", + recipeConfig: [ + { + op: "From Base45", + args: [], + }, + ], + }, + { + name: "From Base45: Invalid character", + input: "!", + expectedOutput: "Character not in alphabet: '!'", + recipeConfig: [ + { + op: "From Base45", + args: [], + }, + ], + }, + { + name: "From Base45: Invalid triplet value", + input: "ZZZ", + expectedOutput: "Triplet too large: 'ZZZ'", + recipeConfig: [ + { + op: "From Base45", + args: [], + }, + ], + }, +]); From 7db1f394731c803c0b7f3c9c1555dc8b9bdf710e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= Date: Fri, 17 Sep 2021 08:32:08 +0200 Subject: [PATCH 267/754] base45: Implement highlighting --- src/core/lib/Base45.mjs | 27 +++++++++++++++++++++++++++ src/core/operations/FromBase45.mjs | 7 +++++-- src/core/operations/ToBase45.mjs | 7 +++++-- 3 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 src/core/lib/Base45.mjs diff --git a/src/core/lib/Base45.mjs b/src/core/lib/Base45.mjs new file mode 100644 index 00000000..d3e279fa --- /dev/null +++ b/src/core/lib/Base45.mjs @@ -0,0 +1,27 @@ +/** + * Base45 resources. + * + * @author Thomas Weißschuh [thomas@t-8ch.de] + * @copyright Crown Copyright 2021 + * @license Apache-2.0 + */ + +/** + * Highlight to Base45 + */ +export function highlightToBase45(pos, args) { + pos[0].start = Math.floor(pos[0].start / 2) * 3; + pos[0].end = Math.ceil(pos[0].end / 2) * 3; + return pos; +} + +/** + * Highlight from Base45 + */ +export function highlightFromBase45(pos, args) { + pos[0].start = Math.floor(pos[0].start / 3) * 2; + pos[0].end = Math.ceil(pos[0].end / 3) * 2; + return pos; +} + +export const ALPHABET = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:"; diff --git a/src/core/operations/FromBase45.mjs b/src/core/operations/FromBase45.mjs index 8e78ed0c..890d35d6 100644 --- a/src/core/operations/FromBase45.mjs +++ b/src/core/operations/FromBase45.mjs @@ -4,6 +4,7 @@ * @license Apache-2.0 */ +import {ALPHABET, highlightToBase45, highlightFromBase45} from "../lib/Base45.mjs"; import Operation from "../Operation.mjs"; import OperationError from "../errors/OperationError.mjs"; import Utils from "../Utils.mjs"; @@ -26,6 +27,9 @@ class FromBase45 extends Operation { this.infoURL = "https://wikipedia.org/wiki/List_of_numeral_systems"; this.inputType = "string"; this.outputType = "byteArray"; + + this.highlight = highlightFromBase45; + this.highlightReverse = highlightToBase45; } /** @@ -34,7 +38,6 @@ class FromBase45 extends Operation { * @returns {byteArray} */ run(input, args) { - const alphabet = Utils.expandAlphRange("0-9A-Z $%*+-./:").join(""); if (!input) return []; const res = []; @@ -43,7 +46,7 @@ class FromBase45 extends Operation { triple.reverse(); let b = 0; for (const c of triple) { - const idx = alphabet.indexOf(c); + const idx = ALPHABET.indexOf(c); if (idx === -1) { throw new OperationError(`Character not in alphabet: '${c}'`); } diff --git a/src/core/operations/ToBase45.mjs b/src/core/operations/ToBase45.mjs index 019c3dd9..d7455dca 100644 --- a/src/core/operations/ToBase45.mjs +++ b/src/core/operations/ToBase45.mjs @@ -4,6 +4,7 @@ * @license Apache-2.0 */ +import {ALPHABET, highlightToBase45, highlightFromBase45} from "../lib/Base45.mjs"; import Operation from "../Operation.mjs"; import Utils from "../Utils.mjs"; @@ -31,6 +32,9 @@ class ToBase45 extends Operation { value: "0-9A-Za-z" } ]; + + this.highlight = highlightToBase45; + this.highlightReverse = highlightFromBase45; } /** @@ -39,7 +43,6 @@ class ToBase45 extends Operation { * @returns {string} */ run(input, args) { - const alphabet = Utils.expandAlphRange("0-9A-Z $%*+-./:").join(""); input = new Uint8Array(input); if (!input) return ""; @@ -54,7 +57,7 @@ class ToBase45 extends Operation { let chars = 0; do { - res.push(alphabet[b % 45]); + res.push(ALPHABET[b % 45]); chars++; b = Math.floor(b / 45); } while (b > 0); From b7a978505f8ea4f4d98dc5f166875db80bef0d8e Mon Sep 17 00:00:00 2001 From: CPlusSharp Date: Wed, 17 Nov 2021 20:19:42 +0100 Subject: [PATCH 268/754] PEMToHex: add magic check so it gets found --- src/core/operations/PEMToHex.mjs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/core/operations/PEMToHex.mjs b/src/core/operations/PEMToHex.mjs index 575f6f77..1c42d6a9 100644 --- a/src/core/operations/PEMToHex.mjs +++ b/src/core/operations/PEMToHex.mjs @@ -28,6 +28,12 @@ class PEMToHex extends Operation { this.inputType = "string"; this.outputType = "string"; this.args = []; + this.checks = [ + { + "pattern": "----BEGIN ([A-Z][A-Z ]+[A-Z])-----", + "args": [] + } + ]; } /** From 291c55befd739f2337228513547d6e16014621bc Mon Sep 17 00:00:00 2001 From: ElJeffe Date: Tue, 14 Dec 2021 08:47:55 -0500 Subject: [PATCH 269/754] Spelling Someone noticed this in another project that includes CyberChef --- src/web/stylesheets/layout/_io.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/web/stylesheets/layout/_io.css b/src/web/stylesheets/layout/_io.css index 2c8be70e..293a7bc4 100755 --- a/src/web/stylesheets/layout/_io.css +++ b/src/web/stylesheets/layout/_io.css @@ -303,7 +303,7 @@ #stale-indicator { opacity: 1; - visibility: visibile; + visibility: visible; transition: margin 0s, opacity 0.3s; margin-left: 5px; cursor: help; @@ -316,7 +316,7 @@ #magic { opacity: 1; - visibility: visibile; + visibility: visible; transition: margin 0s 0.3s, opacity 0.3s 0.3s, visibility 0.3s 0.3s; margin-left: 5px; margin-bottom: 5px; From 2574a63975ecced6e066ae673a986ad87394b7db Mon Sep 17 00:00:00 2001 From: Michael Rowley Date: Wed, 29 Dec 2021 19:32:39 +0000 Subject: [PATCH 270/754] Minor adjustments --- src/core/lib/Binary.mjs | 26 ++++++++++++---------- src/core/operations/ToUpperCase.mjs | 34 ++++++++++++++--------------- 2 files changed, 31 insertions(+), 29 deletions(-) diff --git a/src/core/lib/Binary.mjs b/src/core/lib/Binary.mjs index dc63fc58..56db4c2a 100644 --- a/src/core/lib/Binary.mjs +++ b/src/core/lib/Binary.mjs @@ -19,27 +19,29 @@ import OperationError from "../errors/OperationError.mjs"; * @returns {string} * * @example - * // returns "00010000 00100000 00110000" + * // returns "00001010 00010100 00011110" * toBinary([10,20,30]); * - * // returns "00010000 00100000 00110000" - * toBinary([10,20,30], ":"); + * // returns "00001010:00010100:00011110" + * toBinary([10,20,30], "Colon"); + * + * // returns "1010:10100:11110" + * toBinary([10,20,30], "Colon", 0); */ export function toBinary(data, delim="Space", padding=8) { - if (!data) return ""; + if (!data) throw new OperationError("Empty input data enocuntered"); delim = Utils.charRep(delim); let output = ""; - for (let i = 0; i < data.length; i++) { - output += data[i].toString(2).padStart(padding, "0") + delim; + output += data[i].toString(2).padStart(padding, "0"); + if (i !== data.length - 1) output += delim; } - if (delim.length) { - return output.slice(0, -delim.length); - } else { - return output; + // Remove the delimiter from the end of the string. + output = output.slice(0, -delim.length); } + return output; } @@ -53,10 +55,10 @@ export function toBinary(data, delim="Space", padding=8) { * * @example * // returns [10,20,30] - * fromBinary("00010000 00100000 00110000"); + * fromBinary("00001010 00010100 00011110"); * * // returns [10,20,30] - * fromBinary("00010000:00100000:00110000", "Colon"); + * fromBinary("00001010:00010100:00011110", "Colon"); */ export function fromBinary(data, delim="Space", byteLen=8) { if (byteLen < 1 || Math.round(byteLen) !== byteLen) diff --git a/src/core/operations/ToUpperCase.mjs b/src/core/operations/ToUpperCase.mjs index 0bc9b5a9..eb0e315a 100644 --- a/src/core/operations/ToUpperCase.mjs +++ b/src/core/operations/ToUpperCase.mjs @@ -38,23 +38,23 @@ class ToUpperCase extends Operation { */ run(input, args) { const scope = args[0]; - - switch (scope) { - case "Word": - return input.replace(/(\b\w)/gi, function(m) { - return m.toUpperCase(); - }); - case "Sentence": - return input.replace(/(?:\.|^)\s*(\b\w)/gi, function(m) { - return m.toUpperCase(); - }); - case "Paragraph": - return input.replace(/(?:\n|^)\s*(\b\w)/gi, function(m) { - return m.toUpperCase(); - }); - case "All": /* falls through */ - default: - return input.toUpperCase(); + if (scope === "All") { + return input.toUpperCase(); + } + const scopeRegex = { + "Word": /(\b\w)/gi, + "Sentence": /(?:\.|^)\s*(\b\w)/gi, + "Paragraph": /(?:\n|^)\s*(\b\w)/gi + }[ scope ]; + if (scopeRegex !== undefined) { + // Use the regexes to capitalize the input. + return input.replace(scopeRegex, function(m) { + return m.toUpperCase(); + }); + } + else { + // The selected scope was invalid. + throw new OperationError("Unrecognized capitalization scope"); } } From ed542582f96541dd90fde52e4f0f07a9b6427ca6 Mon Sep 17 00:00:00 2001 From: Michael Rowley Date: Wed, 29 Dec 2021 19:59:48 +0000 Subject: [PATCH 271/754] Added more error-handling to ToUpperCase() --- src/core/operations/ToUpperCase.mjs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/core/operations/ToUpperCase.mjs b/src/core/operations/ToUpperCase.mjs index eb0e315a..08ffce87 100644 --- a/src/core/operations/ToUpperCase.mjs +++ b/src/core/operations/ToUpperCase.mjs @@ -37,6 +37,9 @@ class ToUpperCase extends Operation { * @returns {string} */ run(input, args) { + if (!args || args.length === 0) { + throw new OperationException("No capitalization scope was provided."); + } const scope = args[0]; if (scope === "All") { return input.toUpperCase(); From 578a61d33122d935557777b4dea38a6a27789a56 Mon Sep 17 00:00:00 2001 From: Robin Scholtes Date: Mon, 17 Jan 2022 23:37:24 +1300 Subject: [PATCH 272/754] add cetacean cipher encoder and decoder operations, tests. Update .gitignore to exclude idea generated files --- .gitignore | 3 + src/core/config/Categories.json | 2 + src/core/operations/CetaceanCipherDecode.mjs | 64 +++++++++++++++++++ src/core/operations/CetaceanCipherEncode.mjs | 54 ++++++++++++++++ tests/operations/index.mjs | 2 + .../operations/tests/CetaceanCipherDecode.mjs | 22 +++++++ .../operations/tests/CetaceanCipherEncode.mjs | 22 +++++++ 7 files changed, 169 insertions(+) create mode 100644 src/core/operations/CetaceanCipherDecode.mjs create mode 100644 src/core/operations/CetaceanCipherEncode.mjs create mode 100644 tests/operations/tests/CetaceanCipherDecode.mjs create mode 100644 tests/operations/tests/CetaceanCipherEncode.mjs diff --git a/.gitignore b/.gitignore index 40682646..a2aa99a3 100755 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,6 @@ src/node/index.mjs **/*.DS_Store tests/browser/output/* +# ide +.idea +*.iml diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 09ee8d15..8f05d4c9 100644 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -75,6 +75,8 @@ "Blowfish Decrypt", "DES Encrypt", "DES Decrypt", + "Cetacean Cipher Encode", + "Cetacean Cipher Decode", "Triple DES Encrypt", "Triple DES Decrypt", "RC2 Encrypt", diff --git a/src/core/operations/CetaceanCipherDecode.mjs b/src/core/operations/CetaceanCipherDecode.mjs new file mode 100644 index 00000000..a79b98c5 --- /dev/null +++ b/src/core/operations/CetaceanCipherDecode.mjs @@ -0,0 +1,64 @@ +/** + * @author dolphinOnKeys [robin@weird.io] + * @copyright Crown Copyright 2022 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; + +/** + * Cetacean Cipher Decode operation + */ +class CetaceanCipherDecode extends Operation { + + /** + * CetaceanCipherDecode constructor + */ + constructor() { + super(); + + this.name = "Cetacean Cipher Decode"; + this.module = "Ciphers"; + this.description = "Decode Cetacean Cipher input.

e.g. EEEEEEEEEeeEeEEEEEEEEEEEEeeEeEEe becomes hi"; + this.infoURL = ""; + this.inputType = "string"; + this.outputType = "string"; + + this.checks = [ + { + pattern: "^(?:[eE]{16,})(?: [eE]{16,})*$", + flags: "", + args: [] + } + ] + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const binaryArray = []; + for ( const char of input ) { + if ( char === ' ' ) { + binaryArray.push(...[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 ]); + } else { + binaryArray.push( char === 'e' ? 1 : 0 ); + } + } + + const byteArray = []; + + for ( let i = 0; i < binaryArray.length; i += 16 ) { + byteArray.push(binaryArray.slice(i, i + 16).join('')) + } + + return byteArray.map( byte => + String.fromCharCode(parseInt( byte , 2 ) + ) + ).join(''); + } +} + +export default CetaceanCipherDecode; diff --git a/src/core/operations/CetaceanCipherEncode.mjs b/src/core/operations/CetaceanCipherEncode.mjs new file mode 100644 index 00000000..e32e4f81 --- /dev/null +++ b/src/core/operations/CetaceanCipherEncode.mjs @@ -0,0 +1,54 @@ +/** + * @author dolphinOnKeys [robin@weird.io] + * @copyright Crown Copyright 2022 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; + +/** + * Cetacean Cipher Encode operation + */ +class CetaceanCipherEncode extends Operation { + + /** + * CetaceanCipherEncode constructor + */ + constructor() { + super(); + + this.name = "Cetacean Cipher Encode"; + this.module = "Ciphers"; + this.description = "Converts any input into Cetacean Cipher.

e.g. hi becomes EEEEEEEEEeeEeEEEEEEEEEEEEeeEeEEe\""; + this.infoURL = ""; + this.inputType = "string"; + this.outputType = "string"; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + let result = []; + let charArray = input.split(''); + + charArray.map( ( character ) => { + if ( character === ' ' ) { + result.push( character ); + } else { + const binaryArray = this.encodeToBinary( character ).split(''); + result.push( binaryArray.map(( str ) => str === '1' ? 'e' : 'E' ).join('')); + } + }); + + return result.join(''); + } + + encodeToBinary( char, padding = 16 ) { + return char.charCodeAt(0).toString(2).padStart( padding, '0'); + } +} + +export default CetaceanCipherEncode; diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index 9add20b9..5200e3a1 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -26,6 +26,8 @@ import "./tests/Base62.mjs"; import "./tests/BitwiseOp.mjs"; import "./tests/ByteRepr.mjs"; import "./tests/CartesianProduct.mjs"; +import "./tests/CetaceanCipherEncode.mjs"; +import "./tests/CetaceanCipherDecode.mjs"; import "./tests/CharEnc.mjs"; import "./tests/ChangeIPFormat.mjs"; import "./tests/Charts.mjs"; diff --git a/tests/operations/tests/CetaceanCipherDecode.mjs b/tests/operations/tests/CetaceanCipherDecode.mjs new file mode 100644 index 00000000..e834dc1e --- /dev/null +++ b/tests/operations/tests/CetaceanCipherDecode.mjs @@ -0,0 +1,22 @@ +/** + * CetaceanCipher Encode tests + * + * @author dolphinOnKeys + * @copyright Crown Copyright 2022 + * @licence Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "Cetacean Cipher Decode", + input: "EEEEEEEEEeeEEEEe EEEEEEEEEeeEEEeE EEEEEEEEEeeEEEee EEeeEEEEEeeEEeee", + expectedOutput: "a b c で", + recipeConfig: [ + { + op: "Cetacean Cipher Decode", + args: [] + }, + ], + } +]); diff --git a/tests/operations/tests/CetaceanCipherEncode.mjs b/tests/operations/tests/CetaceanCipherEncode.mjs new file mode 100644 index 00000000..bef76388 --- /dev/null +++ b/tests/operations/tests/CetaceanCipherEncode.mjs @@ -0,0 +1,22 @@ +/** + * CetaceanCipher Encode tests + * + * @author dolphinOnKeys + * @copyright Crown Copyright 2022 + * @licence Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "Cetacean Cipher Encode", + input: "a b c で", + expectedOutput: "EEEEEEEEEeeEEEEe EEEEEEEEEeeEEEeE EEEEEEEEEeeEEEee EEeeEEEEEeeEEeee", + recipeConfig: [ + { + op: "Cetacean Cipher Encode", + args: [] + }, + ], + } +]); From 590462e2e4d5a61563ac7f8fe0b506f0bbb1bc92 Mon Sep 17 00:00:00 2001 From: Adam K Dean Date: Tue, 18 Jan 2022 22:07:59 +0000 Subject: [PATCH 273/754] Fixed Crown Copyright link Closes #1310 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ac9b8174..3b89fbdb 100755 --- a/README.md +++ b/README.md @@ -106,7 +106,7 @@ An installation walkthrough, how-to guides for adding new operations and themes, ## Licencing -CyberChef is released under the [Apache 2.0 Licence](https://www.apache.org/licenses/LICENSE-2.0) and is covered by [Crown Copyright](https://www.nationalarchives.gov.uk/information-management/re-using-public-sector-information/copyright-and-re-use/crown-copyright/). +CyberChef is released under the [Apache 2.0 Licence](https://www.apache.org/licenses/LICENSE-2.0) and is covered by [Crown Copyright](https://www.nationalarchives.gov.uk/information-management/re-using-public-sector-information/uk-government-licensing-framework/crown-copyright/). [1]: https://gchq.github.io/CyberChef From f6f12fc1937e016d32acec0dc04ab19d731d3e02 Mon Sep 17 00:00:00 2001 From: John L Date: Thu, 27 Jan 2022 17:18:31 +0000 Subject: [PATCH 274/754] chromedriver update --- package-lock.json | 18845 +++++++++++++++++++++++++++++++++++++++++++- package.json | 2 +- 2 files changed, 18620 insertions(+), 227 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6fa9016e..4b8579b6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,18390 @@ { "name": "cyberchef", "version": "9.32.3", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "cyberchef", + "version": "9.32.3", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@babel/polyfill": "^7.12.1", + "@babel/runtime": "^7.15.3", + "arrive": "^2.4.1", + "avsc": "^5.7.3", + "babel-plugin-transform-builtin-extend": "1.1.2", + "bcryptjs": "^2.4.3", + "bignumber.js": "^9.0.1", + "blakejs": "^1.1.1", + "bootstrap": "4.6.0", + "bootstrap-colorpicker": "^3.4.0", + "bootstrap-material-design": "^4.1.3", + "browserify-zlib": "^0.2.0", + "bson": "^4.4.1", + "buffer": "^6.0.3", + "cbor": "5.0.1", + "chi-squared": "^1.1.0", + "codepage": "^1.15.0", + "core-js": "^3.16.2", + "crypto-api": "^0.8.5", + "crypto-browserify": "^3.12.0", + "crypto-js": "^4.1.1", + "ctph.js": "0.0.5", + "d3": "6.5.0", + "d3-hexbin": "^0.2.2", + "diff": "^5.0.0", + "es6-promisify": "^7.0.0", + "escodegen": "^2.0.0", + "esm": "^3.2.25", + "esprima": "^4.0.1", + "exif-parser": "^0.1.12", + "file-saver": "^2.0.5", + "flat": "^5.0.2", + "geodesy": "1.1.3", + "highlight.js": "^11.2.0", + "jimp": "^0.16.1", + "jquery": "3.6.0", + "js-crc": "^0.2.0", + "js-sha3": "^0.8.0", + "jsesc": "^3.0.2", + "jsonpath": "^1.1.1", + "jsonwebtoken": "^8.5.1", + "jsqr": "^1.4.0", + "jsrsasign": "^10.4.0", + "kbpgp": "2.1.15", + "libbzip2-wasm": "0.0.4", + "libyara-wasm": "^1.1.0", + "lodash": "^4.17.21", + "loglevel": "^1.7.1", + "loglevel-message-prefix": "^3.0.0", + "markdown-it": "^12.2.0", + "moment": "^2.29.1", + "moment-timezone": "^0.5.33", + "ngeohash": "^0.6.3", + "node-forge": "^0.10.0", + "node-md6": "^0.1.0", + "nodom": "^2.4.0", + "notepack.io": "^2.3.0", + "nwmatcher": "^1.4.4", + "otp": "0.1.3", + "path": "^0.12.7", + "popper.js": "^1.16.1", + "process": "^0.11.10", + "protobufjs": "^6.11.2", + "qr-image": "^3.2.0", + "scryptsy": "^2.1.0", + "snackbarjs": "^1.1.0", + "sortablejs": "^1.14.0", + "split.js": "^1.6.4", + "ssdeep.js": "0.0.3", + "stream-browserify": "^3.0.0", + "terser": "^5.7.1", + "tesseract.js": "2.1.5", + "ua-parser-js": "^0.7.28", + "unorm": "^1.6.0", + "utf8": "^3.0.0", + "vkbeautify": "^0.99.3", + "xmldom": "^0.6.0", + "xpath": "0.0.32", + "xregexp": "^5.1.0", + "zlibjs": "^0.3.1" + }, + "devDependencies": { + "@babel/core": "^7.15.0", + "@babel/plugin-transform-runtime": "^7.15.0", + "@babel/preset-env": "^7.15.0", + "autoprefixer": "^10.3.1", + "babel-eslint": "^10.1.0", + "babel-loader": "^8.2.2", + "babel-plugin-dynamic-import-node": "^2.3.3", + "chromedriver": "^97.0.1", + "cli-progress": "^3.9.0", + "colors": "^1.4.0", + "copy-webpack-plugin": "^9.0.1", + "css-loader": "5.2.7", + "eslint": "^7.32.0", + "exports-loader": "^3.0.0", + "file-loader": "^6.2.0", + "grunt": "^1.4.1", + "grunt-chmod": "~1.1.1", + "grunt-concurrent": "^3.0.0", + "grunt-contrib-clean": "~2.0.0", + "grunt-contrib-connect": "^3.0.0", + "grunt-contrib-copy": "~1.0.0", + "grunt-contrib-watch": "^1.1.0", + "grunt-eslint": "^23.0.0", + "grunt-exec": "~3.0.0", + "grunt-webpack": "^4.0.3", + "grunt-zip": "^0.18.2", + "html-webpack-plugin": "^5.3.2", + "imports-loader": "^3.0.0", + "mini-css-extract-plugin": "1.3.7", + "nightwatch": "^1.7.8", + "node-sass": "^6.0.0", + "postcss": "^8.3.6", + "postcss-css-variables": "^0.18.0", + "postcss-import": "^14.0.2", + "postcss-loader": "^6.1.1", + "prompt": "^1.1.0", + "sass-loader": "^12.1.0", + "sitemap": "^7.0.0", + "style-loader": "^3.2.1", + "svg-url-loader": "^7.1.1", + "url-loader": "^4.1.1", + "webpack": "^5.51.0", + "webpack-bundle-analyzer": "^4.4.2", + "webpack-dev-server": "3.11.2", + "webpack-node-externals": "^3.0.0", + "worker-loader": "^3.0.8" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", + "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz", + "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.0", + "@babel/helper-module-transforms": "^7.15.0", + "@babel/helpers": "^7.14.8", + "@babel/parser": "^7.15.0", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "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/core/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/@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/generator": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz", + "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.15.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "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-annotate-as-pure": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", + "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", + "integrity": "sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz", + "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.15.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/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/@babel/helper-create-class-features-plugin": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.0.tgz", + "integrity": "sha512-MdmDXgvTIi4heDVX/e9EFfeGpugqm9fobBVg/iioE8kueXrOHdRDe36FAY7SnE9xXLVeYCoJR/gdrBEIHRC83Q==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-member-expression-to-functions": "^7.15.0", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-replace-supers": "^7.15.0", + "@babel/helper-split-export-declaration": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", + "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "regexpu-core": "^4.7.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", + "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/helper-define-polyfill-provider/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/helper-define-polyfill-provider/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/@babel/helper-explode-assignable-expression": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz", + "integrity": "sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", + "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", + "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", + "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz", + "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.15.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", + "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz", + "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-replace-supers": "^7.15.0", + "@babel/helper-simple-access": "^7.14.8", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.9", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", + "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz", + "integrity": "sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-wrap-function": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz", + "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==", + "dev": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.15.0", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", + "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz", + "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", + "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", + "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz", + "integrity": "sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz", + "integrity": "sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==", + "dev": true, + "dependencies": { + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.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/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.15.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz", + "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.9.tgz", + "integrity": "sha512-d1lnh+ZnKrFKwtTYdw320+sQWCTwgkB9fmUhNXRADA4akR6wLjaruSGnIEUjpt9HCOwTr4ynFTKu19b7rFRpmw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", + "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz", + "integrity": "sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", + "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", + "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", + "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", + "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", + "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", + "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz", + "integrity": "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.14.7", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", + "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", + "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", + "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", + "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", + "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", + "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz", + "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.9.tgz", + "integrity": "sha512-NfZpTcxU3foGWbl4wxmZ35mTsYJy8oQocbeIMoDAGGFarAmSQlL+LWMkDx/tj6pNotpbX3rltIA4dprgAPOq5A==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes/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/plugin-transform-computed-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", + "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", + "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", + "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", + "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", + "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz", + "integrity": "sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", + "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", + "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", + "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", + "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.0.tgz", + "integrity": "sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.15.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.14.8", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz", + "integrity": "sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", + "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz", + "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", + "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", + "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", + "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", + "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", + "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", + "dev": true, + "dependencies": { + "regenerator-transform": "^0.14.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", + "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.15.0.tgz", + "integrity": "sha512-sfHYkLGjhzWTq6xsuQ01oEsUYjkHRux9fW1iUA68dC7Qd8BS1Unq4aZ8itmQp95zUzIcyR2EbNMTzAicFj+guw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/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/@babel/plugin-transform-shorthand-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", + "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz", + "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", + "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", + "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", + "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", + "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", + "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/polyfill": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz", + "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==", + "deprecated": "🚨 This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information.", + "dependencies": { + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.4" + } + }, + "node_modules/@babel/polyfill/node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.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.", + "hasInstallScript": true + }, + "node_modules/@babel/preset-env": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.0.tgz", + "integrity": "sha512-FhEpCNFCcWW3iZLg0L2NPE9UerdtsCR6ZcsGHUX6Om6kbCQeL5QZDqFDmeNHC6/fy6UH3jEge7K4qG5uC9In0Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-async-generator-functions": "^7.14.9", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.14.5", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.14.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.14.5", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.14.5", + "@babel/plugin-transform-classes": "^7.14.9", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.7", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.14.5", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.15.0", + "@babel/plugin-transform-modules-systemjs": "^7.14.5", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.14.5", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.15.0", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.16.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/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/@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz", + "integrity": "sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.15.3.tgz", + "integrity": "sha512-30A3lP+sRL6ml8uhoJSs+8jwpKzbw8CqBvDc1laeptxPm5FahumJxirigcbD2qTs71Sonvj1cyZB0OKGAmxQ+A==", + "dependencies": { + "core-js-pure": "^3.16.0", + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz", + "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.0", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.15.0", + "@babel/types": "^7.15.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "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.15.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", + "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.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/@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", + "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/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/eslintrc/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/@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@humanwhocodes/config-array/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/@humanwhocodes/object-schema": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", + "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "dev": true + }, + "node_modules/@jimp/bmp": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.16.1.tgz", + "integrity": "sha512-iwyNYQeBawrdg/f24x3pQ5rEx+/GwjZcCXd3Kgc+ZUd+Ivia7sIqBsOnDaMZdKCBPlfW364ekexnlOqyVa0NWg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1", + "bmp-js": "^0.1.0" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/core": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.16.1.tgz", + "integrity": "sha512-la7kQia31V6kQ4q1kI/uLimu8FXx7imWVajDGtwUG8fzePLWDFJyZl0fdIXVCL1JW2nBcRHidUot6jvlRDi2+g==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1", + "any-base": "^1.1.0", + "buffer": "^5.2.0", + "exif-parser": "^0.1.12", + "file-type": "^9.0.0", + "load-bmfont": "^1.3.1", + "mkdirp": "^0.5.1", + "phin": "^2.9.1", + "pixelmatch": "^4.0.2", + "tinycolor2": "^1.4.1" + } + }, + "node_modules/@jimp/core/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/@jimp/custom": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.16.1.tgz", + "integrity": "sha512-DNUAHNSiUI/j9hmbatD6WN/EBIyeq4AO0frl5ETtt51VN1SvE4t4v83ZA/V6ikxEf3hxLju4tQ5Pc3zmZkN/3A==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/core": "^0.16.1" + } + }, + "node_modules/@jimp/gif": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.16.1.tgz", + "integrity": "sha512-r/1+GzIW1D5zrP4tNrfW+3y4vqD935WBXSc8X/wm23QTY9aJO9Lw6PEdzpYCEY+SOklIFKaJYUAq/Nvgm/9ryw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1", + "gifwrap": "^0.9.2", + "omggif": "^1.0.9" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/jpeg": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.16.1.tgz", + "integrity": "sha512-8352zrdlCCLFdZ/J+JjBslDvml+fS3Z8gttdml0We759PnnZGqrnPRhkOEOJbNUlE+dD4ckLeIe6NPxlS/7U+w==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1", + "jpeg-js": "0.4.2" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-blit": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.16.1.tgz", + "integrity": "sha512-fKFNARm32RoLSokJ8WZXHHH2CGzz6ire2n1Jh6u+XQLhk9TweT1DcLHIXwQMh8oR12KgjbgsMGvrMVlVknmOAg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-blur": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.16.1.tgz", + "integrity": "sha512-1WhuLGGj9MypFKRcPvmW45ht7nXkOKu+lg3n2VBzIB7r4kKNVchuI59bXaCYQumOLEqVK7JdB4glaDAbCQCLyw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-circle": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.16.1.tgz", + "integrity": "sha512-JK7yi1CIU7/XL8hdahjcbGA3V7c+F+Iw+mhMQhLEi7Q0tCnZ69YJBTamMiNg3fWPVfMuvWJJKOBRVpwNTuaZRg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-color": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.16.1.tgz", + "integrity": "sha512-9yQttBAO5SEFj7S6nJK54f+1BnuBG4c28q+iyzm1JjtnehjqMg6Ljw4gCSDCvoCQ3jBSYHN66pmwTV74SU1B7A==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1", + "tinycolor2": "^1.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-contain": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.16.1.tgz", + "integrity": "sha512-44F3dUIjBDHN+Ym/vEfg+jtjMjAqd2uw9nssN67/n4FdpuZUVs7E7wadKY1RRNuJO+WgcD5aDQcsvurXMETQTg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5", + "@jimp/plugin-scale": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-cover": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.16.1.tgz", + "integrity": "sha512-YztWCIldBAVo0zxcQXR+a/uk3/TtYnpKU2CanOPJ7baIuDlWPsG+YE4xTsswZZc12H9Kl7CiziEbDtvF9kwA/Q==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-crop": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5", + "@jimp/plugin-scale": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-crop": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.16.1.tgz", + "integrity": "sha512-UQdva9oQzCVadkyo3T5Tv2CUZbf0klm2cD4cWMlASuTOYgaGaFHhT9st+kmfvXjKL8q3STkBu/zUPV6PbuV3ew==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-displace": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.16.1.tgz", + "integrity": "sha512-iVAWuz2+G6Heu8gVZksUz+4hQYpR4R0R/RtBzpWEl8ItBe7O6QjORAkhxzg+WdYLL2A/Yd4ekTpvK0/qW8hTVw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-dither": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.16.1.tgz", + "integrity": "sha512-tADKVd+HDC9EhJRUDwMvzBXPz4GLoU6s5P7xkVq46tskExYSptgj5713J5Thj3NMgH9Rsqu22jNg1H/7tr3V9Q==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-fisheye": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.16.1.tgz", + "integrity": "sha512-BWHnc5hVobviTyIRHhIy9VxI1ACf4CeSuCfURB6JZm87YuyvgQh5aX5UDKtOz/3haMHXBLP61ZBxlNpMD8CG4A==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-flip": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.16.1.tgz", + "integrity": "sha512-KdxTf0zErfZ8DyHkImDTnQBuHby+a5YFdoKI/G3GpBl3qxLBvC+PWkS2F/iN3H7wszP7/TKxTEvWL927pypT0w==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-rotate": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-gaussian": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.16.1.tgz", + "integrity": "sha512-u9n4wjskh3N1mSqketbL6tVcLU2S5TEaFPR40K6TDv4phPLZALi1Of7reUmYpVm8mBDHt1I6kGhuCJiWvzfGyg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-invert": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.16.1.tgz", + "integrity": "sha512-2DKuyVXANH8WDpW9NG+PYFbehzJfweZszFYyxcaewaPLN0GxvxVLOGOPP1NuUTcHkOdMFbE0nHDuB7f+sYF/2w==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-mask": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.16.1.tgz", + "integrity": "sha512-snfiqHlVuj4bSFS0v96vo2PpqCDMe4JB+O++sMo5jF5mvGcGL6AIeLo8cYqPNpdO6BZpBJ8MY5El0Veckhr39Q==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-normalize": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.16.1.tgz", + "integrity": "sha512-dOQfIOvGLKDKXPU8xXWzaUeB0nvkosHw6Xg1WhS1Z5Q0PazByhaxOQkSKgUryNN/H+X7UdbDvlyh/yHf3ITRaw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-print": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.16.1.tgz", + "integrity": "sha512-ceWgYN40jbN4cWRxixym+csyVymvrryuKBQ+zoIvN5iE6OyS+2d7Mn4zlNgumSczb9GGyZZESIgVcBDA1ezq0Q==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1", + "load-bmfont": "^1.4.0" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-resize": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.16.1.tgz", + "integrity": "sha512-u4JBLdRI7dargC04p2Ha24kofQBk3vhaf0q8FwSYgnCRwxfvh2RxvhJZk9H7Q91JZp6wgjz/SjvEAYjGCEgAwQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-rotate": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.16.1.tgz", + "integrity": "sha512-ZUU415gDQ0VjYutmVgAYYxC9Og9ixu2jAGMCU54mSMfuIlmohYfwARQmI7h4QB84M76c9hVLdONWjuo+rip/zg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5", + "@jimp/plugin-crop": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-scale": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.16.1.tgz", + "integrity": "sha512-jM2QlgThIDIc4rcyughD5O7sOYezxdafg/2Xtd1csfK3z6fba3asxDwthqPZAgitrLgiKBDp6XfzC07Y/CefUw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-shadow": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.16.1.tgz", + "integrity": "sha512-MeD2Is17oKzXLnsphAa1sDstTu6nxscugxAEk3ji0GV1FohCvpHBcec0nAq6/czg4WzqfDts+fcPfC79qWmqrA==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blur": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-threshold": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.16.1.tgz", + "integrity": "sha512-iGW8U/wiCSR0+6syrPioVGoSzQFt4Z91SsCRbgNKTAk7D+XQv6OI78jvvYg4o0c2FOlwGhqz147HZV5utoSLxA==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-color": ">=0.8.0", + "@jimp/plugin-resize": ">=0.8.0" + } + }, + "node_modules/@jimp/plugins": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.16.1.tgz", + "integrity": "sha512-c+lCqa25b+4q6mJZSetlxhMoYuiltyS+ValLzdwK/47+aYsq+kcJNl+TuxIEKf59yr9+5rkbpsPkZHLF/V7FFA==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/plugin-blit": "^0.16.1", + "@jimp/plugin-blur": "^0.16.1", + "@jimp/plugin-circle": "^0.16.1", + "@jimp/plugin-color": "^0.16.1", + "@jimp/plugin-contain": "^0.16.1", + "@jimp/plugin-cover": "^0.16.1", + "@jimp/plugin-crop": "^0.16.1", + "@jimp/plugin-displace": "^0.16.1", + "@jimp/plugin-dither": "^0.16.1", + "@jimp/plugin-fisheye": "^0.16.1", + "@jimp/plugin-flip": "^0.16.1", + "@jimp/plugin-gaussian": "^0.16.1", + "@jimp/plugin-invert": "^0.16.1", + "@jimp/plugin-mask": "^0.16.1", + "@jimp/plugin-normalize": "^0.16.1", + "@jimp/plugin-print": "^0.16.1", + "@jimp/plugin-resize": "^0.16.1", + "@jimp/plugin-rotate": "^0.16.1", + "@jimp/plugin-scale": "^0.16.1", + "@jimp/plugin-shadow": "^0.16.1", + "@jimp/plugin-threshold": "^0.16.1", + "timm": "^1.6.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/png": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.16.1.tgz", + "integrity": "sha512-iyWoCxEBTW0OUWWn6SveD4LePW89kO7ZOy5sCfYeDM/oTPLpR8iMIGvZpZUz1b8kvzFr27vPst4E5rJhGjwsdw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1", + "pngjs": "^3.3.3" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/tiff": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.16.1.tgz", + "integrity": "sha512-3K3+xpJS79RmSkAvFMgqY5dhSB+/sxhwTFA9f4AVHUK0oKW+u6r52Z1L0tMXHnpbAdR9EJ+xaAl2D4x19XShkQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "utif": "^2.0.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/types": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.16.1.tgz", + "integrity": "sha512-g1w/+NfWqiVW4CaXSJyD28JQqZtm2eyKMWPhBBDCJN9nLCN12/Az0WFF3JUAktzdsEC2KRN2AqB1a2oMZBNgSQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/bmp": "^0.16.1", + "@jimp/gif": "^0.16.1", + "@jimp/jpeg": "^0.16.1", + "@jimp/png": "^0.16.1", + "@jimp/tiff": "^0.16.1", + "timm": "^1.6.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/utils": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.16.1.tgz", + "integrity": "sha512-8fULQjB0x4LzUSiSYG6ZtQl355sZjxbv8r9PPAuYHzS9sGiSHJQavNqK/nKnpDsVkU88/vRGcE7t3nMU0dEnVw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "regenerator-runtime": "^0.13.3" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.17", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.17.tgz", + "integrity": "sha512-0p1rCgM3LLbAdwBnc7gqgnvjHg9KpbhcSphergHShlkWz8EdPawoMJ3/VbezI0mGC5eKCDzMaPgF9Yca6cKvrg==", + "dev": true + }, + "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/@testim/chrome-version": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@testim/chrome-version/-/chrome-version-1.1.2.tgz", + "integrity": "sha512-1c4ZOETSRpI0iBfIFUqU4KqwBAB2lHUAlBjZz/YqOHqwM9dTTzjV6Km0ZkiEiSCx/tLr1BtESIKyWWMww+RUqw==", + "dev": true + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/eslint": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz", + "integrity": "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "0.0.50", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", + "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", + "dev": true + }, + "node_modules/@types/glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", + "dev": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz", + "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "dev": true + }, + "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/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": "16.6.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.6.2.tgz", + "integrity": "sha512-LSw8TZt12ZudbpHc6EkIyDM3nHVWKYrAvGy6EAJfNfjusbwnThqjqxUKKRwuV3iWYeW/LYMzNgaq3MaLffQ2xA==" + }, + "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/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/sax": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.3.tgz", + "integrity": "sha512-+QSw6Tqvs/KQpZX8DvIl3hZSjNFLW/OqE5nlyHXtTwODaJvioN2rOWpBNEWZp2HZUFhOh+VohmJku/WxEXU2XA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yauzl": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", + "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@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/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.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": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz", + "integrity": "sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.1.1.tgz", + "integrity": "sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agent-base/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/agent-base/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/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "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/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.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/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": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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/any-base": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz", + "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" + }, + "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/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/anymatch/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/anymatch/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/anymatch/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/anymatch/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/anymatch/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/anymatch/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/anymatch/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/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/anymatch/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/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "node_modules/are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "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/arg": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz", + "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "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-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "dev": true, + "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-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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/arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/arrive": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/arrive/-/arrive-2.4.1.tgz", + "integrity": "sha1-VkyH8gvAm4DeeBEk2UMWlQBLgCA=" + }, + "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": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dev": true, + "dependencies": { + "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/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "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/ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "dev": true, + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.1.tgz", + "integrity": "sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg==", + "dev": true + }, + "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-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true, + "engines": { + "node": "*" + } + }, + "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/autoprefixer": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.1.tgz", + "integrity": "sha512-L8AmtKzdiRyYg7BUXJTzigmhbQRCXFKz6SA1Lqo0+AR2FBbQ4aTAPFSDlOutnFkjhiz8my4agGXog1xlMjPJ6A==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-lite": "^1.0.30001243", + "colorette": "^1.2.2", + "fraction.js": "^4.1.1", + "normalize-range": "^0.1.2", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/avsc": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/avsc/-/avsc-5.7.3.tgz", + "integrity": "sha512-uUbetCWczQHbsKyX1C99XpQHBM8SWfovvaZhPIj23/1uV7SQf0WeRZbiLpw0JZm+LHTChfNgrLfDJOVoU2kU+A==", + "engines": { + "node": ">=0.11" + } + }, + "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.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "node_modules/axios": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", + "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.14.4" + } + }, + "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=", + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", + "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.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "eslint": ">= 4.12.1" + } + }, + "node_modules/babel-loader": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", + "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", + "dev": true, + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.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=", + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", + "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.2", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/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/babel-plugin-polyfill-corejs3": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz", + "integrity": "sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.14.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", + "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.2.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-transform-builtin-extend": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-builtin-extend/-/babel-plugin-transform-builtin-extend-1.1.2.tgz", + "integrity": "sha1-Xpb+z1i4+h7XTvytiEdbKvPJEW4=", + "dependencies": { + "babel-runtime": "^6.2.0", + "babel-template": "^6.3.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=", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-runtime/node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.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.", + "hasInstallScript": true + }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "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=", + "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=", + "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=", + "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==", + "bin": { + "babylon": "bin/babylon.js" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "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.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "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/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dev": true, + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/basic-auth/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/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/bcrypt-pbkdf/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/bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=" + }, + "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/bignumber.js": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", + "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==", + "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/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/bindings/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/blakejs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.1.tgz", + "integrity": "sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg==" + }, + "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/blueimp-load-image": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/blueimp-load-image/-/blueimp-load-image-3.0.0.tgz", + "integrity": "sha512-Q9rFbd4ZUNvzSFmRXx9MoG0RwWwJeMjjEUbG7WIOJgUg22Jgkow0wL5b35B6qwiBscxACW9OHdrP5s2vQ3x8DQ==" + }, + "node_modules/bmp-js": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", + "integrity": "sha1-4Fpj95amwf8l9Hcex62twUjAcjM=" + }, + "node_modules/bn": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bn/-/bn-1.0.5.tgz", + "integrity": "sha512-7TvGbqbZb6lDzsBtNz1VkdXXV0BVmZKPPViPmo2IpvwaryF7P+QKYKACyVkwo2mZPr2CpFiz7EtgPEcc3o/JFQ==" + }, + "node_modules/bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + }, + "node_modules/body": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", + "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", + "dev": true, + "dependencies": { + "continuable-cache": "^0.3.1", + "error": "^7.0.0", + "raw-body": "~1.1.0", + "safe-json-parse": "~1.0.1" + } + }, + "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/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/body-parser/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/body-parser/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/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/body-parser/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/body-parser/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/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/bootstrap": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz", + "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + }, + "peerDependencies": { + "jquery": "1.9.1 - 3", + "popper.js": "^1.16.1" + } + }, + "node_modules/bootstrap-colorpicker": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/bootstrap-colorpicker/-/bootstrap-colorpicker-3.4.0.tgz", + "integrity": "sha512-7vA0hvLrat3ptobEKlT9+6amzBUJcDAoh6hJRQY/AD+5dVZYXXf1ivRfrTwmuwiVLJo9rZwM8YB4lYzp6agzqg==", + "dependencies": { + "bootstrap": ">=4.0", + "jquery": ">=2.2", + "popper.js": ">=1.10" + } + }, + "node_modules/bootstrap-material-design": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/bootstrap-material-design/-/bootstrap-material-design-4.1.3.tgz", + "integrity": "sha512-jOB9io76BKLxwF+IAgObFH9f88ityqOiYsQe9Aa8m88h7sSP3eFL1K8ygb0FsYyIiVm194iodg9i4GMOSlLeRA==" + }, + "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": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "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-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dependencies": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "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/browserslist": { + "version": "4.16.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.8.tgz", + "integrity": "sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ==", + "dev": true, + "dependencies": { + "caniuse-lite": "^1.0.30001251", + "colorette": "^1.3.0", + "electron-to-chromium": "^1.3.811", + "escalade": "^3.1.1", + "node-releases": "^1.1.75" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/bson": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/bson/-/bson-4.4.1.tgz", + "integrity": "sha512-Uu4OCZa0jouQJCKOk1EmmyqtdWAP5HVLru4lQxTwzJzxT+sJ13lVpEZU/MATDxtHiekWMAL84oQY3Xn1LpJVSg==", + "dependencies": { + "buffer": "^5.6.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/bson/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true, + "engines": { + "node": "*" + } + }, + "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-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + }, + "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==" + }, + "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/bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz", + "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=", + "dev": true + }, + "node_modules/bzip-deflate": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bzip-deflate/-/bzip-deflate-1.0.0.tgz", + "integrity": "sha1-sC2wB+83vrzCk4Skssb08PTHlsk=" + }, + "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==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "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/caniuse-lite": { + "version": "1.0.30001251", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001251.tgz", + "integrity": "sha512-HOe1r+9VkU4TFmnU70z+r7OLmtR+/chB1rdcJUeQlAinjEeb0cKL20tlAtOagNZhbrtLnCvV19B4FmF1rgzl6A==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "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/cbor": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.0.1.tgz", + "integrity": "sha512-l4ghwqioCyuAaD3LvY4ONwv8NMuERz62xjbMHGdWBqERJPygVmoFER1b4+VS6iW0rXwoVGuKZPPPTofwWOg3YQ==", + "dependencies": { + "bignumber.js": "^9.0.0", + "nofilter": "^1.0.3" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/chai-nightwatch": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.4.0.tgz", + "integrity": "sha512-1xw74vR02XiHzo4wQfHqme2nqYPIzYnK5s3DMST7UW8FIHDWD7qplg+DTJ5FIPcmWiGYX/Re0CzvOcZQKJm1Uw==", + "dev": true, + "dependencies": { + "assertion-error": "1.0.0", + "deep-eql": "0.1.3" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/chai-nightwatch/node_modules/assertion-error": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz", + "integrity": "sha1-x/hUOP3UZrx8oWq5DIFRN5el0js=", + "dev": true, + "engines": { + "node": "*" + } + }, + "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/chi-squared": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/chi-squared/-/chi-squared-1.1.0.tgz", + "integrity": "sha1-iShlz/qOCnIPkhv8nGNcGawqNG0=", + "dependencies": { + "gamma": "^1.0.0" + } + }, + "node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less 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/chokidar/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/chokidar/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/chokidar/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/chokidar/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/chokidar/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/chokidar/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/chokidar/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/chokidar/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/chokidar/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/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/chromedriver": { + "version": "97.0.2", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-97.0.2.tgz", + "integrity": "sha512-sOAfKCR3WsHvmKedZoWa+3tBVGdPtxq4zKxgKZCoJ2c924olBTW4Bnha6SHl93Yo7+QqsNn6ZpAC0ojhutacAg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@testim/chrome-version": "^1.1.2", + "axios": "^0.24.0", + "del": "^6.0.0", + "extract-zip": "^2.0.1", + "https-proxy-agent": "^5.0.0", + "proxy-from-env": "^1.1.0", + "tcp-port-used": "^1.0.1" + }, + "bin": { + "chromedriver": "bin/chromedriver" + }, + "engines": { + "node": ">=10" + } + }, + "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/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/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/clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-progress": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.9.0.tgz", + "integrity": "sha512-g7rLWfhAo/7pF+a/STFH/xPyosaL1zgADhI0OM83hl3c7S43iGvJWEAV2QuDOnQ8i6EMBj/u4+NTd0d5L+4JfA==", + "dev": true, + "dependencies": { + "colors": "^1.1.2", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-spinners": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", + "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/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/cliui/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/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": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "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/codepage": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", + "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==", + "engines": { + "node": ">=0.8" + } + }, + "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/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/colorette": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz", + "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==", + "dev": true + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "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/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/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/compression/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/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/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "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/connect-livereload": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.6.1.tgz", + "integrity": "sha512-3R0kMOdL7CjJpU66fzAkCe6HNtd3AavCS4m+uW4KtJjrdGPT0SQEZieAYd+cm+lJoBznNQ4lqipYWkhBMgk00g==", + "dev": true, + "engines": { + "node": "*" + } + }, + "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": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "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-disposition/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/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/continuable-cache": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz", + "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/convert-source-map/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/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-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": "9.0.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.1.tgz", + "integrity": "sha512-14gHKKdYIxF84jCEgPgYXCPpldbwpxxLbCmA7LReY7gvbaT555DgeBWBgBZM116tv/fO6RRJrsivBqRyRlukhw==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.5", + "glob-parent": "^6.0.0", + "globby": "^11.0.3", + "normalize-path": "^3.0.0", + "p-limit": "^3.1.0", + "schema-utils": "^3.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.1.tgz", + "integrity": "sha512-kEVjS71mQazDBHKcsq4E9u/vUzaLcw1A8EtUeydawvIWQCJM0qQ08G1H7/XTjFUulla6XQiDOG6MXSaG0HDKog==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/core-js": { + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.2.tgz", + "integrity": "sha512-P0KPukO6OjMpjBtHSceAZEWlDD1M2Cpzpg6dBbrjFqFhBHe/BwhxaP820xKOjRn/lZRQirrCusIpLS/n2sgXLQ==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.16.2.tgz", + "integrity": "sha512-4lUshXtBXsdmp8cDWh6KKiHUg40AjiuPD3bOWkNVsr1xkAhpUqCjaZ8lB1bKx9Gb5fXcbRbFJ4f4qpRIRTuJqQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.7", + "semver": "7.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/core-js-pure": { + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.16.2.tgz", + "integrity": "sha512-oxKe64UH049mJqrKkynWp6Vu0Rlm/BTXO/bJZuN2mmR3RtOFNepLlSWDd1eo16PzHpQAoNG97rLU1V/YxesJjw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-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": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "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": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-api": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/crypto-api/-/crypto-api-0.8.5.tgz", + "integrity": "sha512-kcif7fCeYZpUsA3Y1VidFrK4HRf2Lsx9X4cnl7pauTXjgnXfEjaTyUGxzIBJ6DZwEPgX/VyKkhAeBV+vXHwX2Q==" + }, + "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/crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" + }, + "node_modules/css-loader": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", + "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", + "dev": true, + "dependencies": { + "icss-utils": "^5.1.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.27.0 || ^5.0.0" + } + }, + "node_modules/css-loader/node_modules/loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/css-loader/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-select": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", + "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ctph.js": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/ctph.js/-/ctph.js-0.0.5.tgz", + "integrity": "sha1-F+xd3R2+aPFRvj1EbPGNRhuV8uc=" + }, + "node_modules/cycle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", + "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/d3": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-6.5.0.tgz", + "integrity": "sha512-gr7FoRecKtBkBxelTeGVYERRTPgjPFLh2rOBisHdbXe3RIrVLjCo7COZYMSeFeiwVPOHDtxAGJlvN7XssNAIcg==", + "dependencies": { + "d3-array": "2", + "d3-axis": "2", + "d3-brush": "2", + "d3-chord": "2", + "d3-color": "2", + "d3-contour": "2", + "d3-delaunay": "5", + "d3-dispatch": "2", + "d3-drag": "2", + "d3-dsv": "2", + "d3-ease": "2", + "d3-fetch": "2", + "d3-force": "2", + "d3-format": "2", + "d3-geo": "2", + "d3-hierarchy": "2", + "d3-interpolate": "2", + "d3-path": "2", + "d3-polygon": "2", + "d3-quadtree": "2", + "d3-random": "2", + "d3-scale": "3", + "d3-scale-chromatic": "2", + "d3-selection": "2", + "d3-shape": "2", + "d3-time": "2", + "d3-time-format": "3", + "d3-timer": "2", + "d3-transition": "2", + "d3-zoom": "2" + } + }, + "node_modules/d3-array": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", + "dependencies": { + "internmap": "^1.0.0" + } + }, + "node_modules/d3-axis": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-2.1.0.tgz", + "integrity": "sha512-z/G2TQMyuf0X3qP+Mh+2PimoJD41VOCjViJzT0BHeL/+JQAofkiWZbWxlwFGb1N8EN+Cl/CW+MUKbVzr1689Cw==" + }, + "node_modules/d3-brush": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-2.1.0.tgz", + "integrity": "sha512-cHLLAFatBATyIKqZOkk/mDHUbzne2B3ZwxkzMHvFTCZCmLaXDpZRihQSn8UNXTkGD/3lb/W2sQz0etAftmHMJQ==", + "dependencies": { + "d3-dispatch": "1 - 2", + "d3-drag": "2", + "d3-interpolate": "1 - 2", + "d3-selection": "2", + "d3-transition": "2" + } + }, + "node_modules/d3-chord": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-2.0.0.tgz", + "integrity": "sha512-D5PZb7EDsRNdGU4SsjQyKhja8Zgu+SHZfUSO5Ls8Wsn+jsAKUUGkcshLxMg9HDFxG3KqavGWaWkJ8EpU8ojuig==", + "dependencies": { + "d3-path": "1 - 2" + } + }, + "node_modules/d3-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-2.0.0.tgz", + "integrity": "sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ==" + }, + "node_modules/d3-contour": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-2.0.0.tgz", + "integrity": "sha512-9unAtvIaNk06UwqBmvsdHX7CZ+NPDZnn8TtNH1myW93pWJkhsV25JcgnYAu0Ck5Veb1DHiCv++Ic5uvJ+h50JA==", + "dependencies": { + "d3-array": "2" + } + }, + "node_modules/d3-delaunay": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-5.3.0.tgz", + "integrity": "sha512-amALSrOllWVLaHTnDLHwMIiz0d1bBu9gZXd1FiLfXf8sHcX9jrcj81TVZOqD4UX7MgBZZ07c8GxzEgBpJqc74w==", + "dependencies": { + "delaunator": "4" + } + }, + "node_modules/d3-dispatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-2.0.0.tgz", + "integrity": "sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA==" + }, + "node_modules/d3-drag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-2.0.0.tgz", + "integrity": "sha512-g9y9WbMnF5uqB9qKqwIIa/921RYWzlUDv9Jl1/yONQwxbOfszAWTCm8u7HOTgJgRDXiRZN56cHT9pd24dmXs8w==", + "dependencies": { + "d3-dispatch": "1 - 2", + "d3-selection": "2" + } + }, + "node_modules/d3-dsv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-2.0.0.tgz", + "integrity": "sha512-E+Pn8UJYx9mViuIUkoc93gJGGYut6mSDKy2+XaPwccwkRGlR+LO97L2VCCRjQivTwLHkSnAJG7yo00BWY6QM+w==", + "dependencies": { + "commander": "2", + "iconv-lite": "0.4", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json", + "csv2tsv": "bin/dsv2dsv", + "dsv2dsv": "bin/dsv2dsv", + "dsv2json": "bin/dsv2json", + "json2csv": "bin/json2dsv", + "json2dsv": "bin/json2dsv", + "json2tsv": "bin/json2dsv", + "tsv2csv": "bin/dsv2dsv", + "tsv2json": "bin/dsv2json" + } + }, + "node_modules/d3-ease": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-2.0.0.tgz", + "integrity": "sha512-68/n9JWarxXkOWMshcT5IcjbB+agblQUaIsbnXmrzejn2O82n3p2A9R2zEB9HIEFWKFwPAEDDN8gR0VdSAyyAQ==" + }, + "node_modules/d3-fetch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-2.0.0.tgz", + "integrity": "sha512-TkYv/hjXgCryBeNKiclrwqZH7Nb+GaOwo3Neg24ZVWA3MKB+Rd+BY84Nh6tmNEMcjUik1CSUWjXYndmeO6F7sw==", + "dependencies": { + "d3-dsv": "1 - 2" + } + }, + "node_modules/d3-force": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-2.1.1.tgz", + "integrity": "sha512-nAuHEzBqMvpFVMf9OX75d00OxvOXdxY+xECIXjW6Gv8BRrXu6gAWbv/9XKrvfJ5i5DCokDW7RYE50LRoK092ew==", + "dependencies": { + "d3-dispatch": "1 - 2", + "d3-quadtree": "1 - 2", + "d3-timer": "1 - 2" + } + }, + "node_modules/d3-format": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-2.0.0.tgz", + "integrity": "sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA==" + }, + "node_modules/d3-geo": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-2.0.2.tgz", + "integrity": "sha512-8pM1WGMLGFuhq9S+FpPURxic+gKzjluCD/CHTuUF3mXMeiCo0i6R0tO1s4+GArRFde96SLcW/kOFRjoAosPsFA==", + "dependencies": { + "d3-array": "^2.5.0" + } + }, + "node_modules/d3-hexbin": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/d3-hexbin/-/d3-hexbin-0.2.2.tgz", + "integrity": "sha1-nFg32s/UcasFM3qeke8Qv8T5iDE=" + }, + "node_modules/d3-hierarchy": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-2.0.0.tgz", + "integrity": "sha512-SwIdqM3HxQX2214EG9GTjgmCc/mbSx4mQBn+DuEETubhOw6/U3fmnji4uCVrmzOydMHSO1nZle5gh6HB/wdOzw==" + }, + "node_modules/d3-interpolate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-2.0.1.tgz", + "integrity": "sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ==", + "dependencies": { + "d3-color": "1 - 2" + } + }, + "node_modules/d3-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-2.0.0.tgz", + "integrity": "sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA==" + }, + "node_modules/d3-polygon": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-2.0.0.tgz", + "integrity": "sha512-MsexrCK38cTGermELs0cO1d79DcTsQRN7IWMJKczD/2kBjzNXxLUWP33qRF6VDpiLV/4EI4r6Gs0DAWQkE8pSQ==" + }, + "node_modules/d3-quadtree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-2.0.0.tgz", + "integrity": "sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw==" + }, + "node_modules/d3-random": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-2.2.2.tgz", + "integrity": "sha512-0D9P8TRj6qDAtHhRQn6EfdOtHMfsUWanl3yb/84C4DqpZ+VsgfI5iTVRNRbELCfNvRfpMr8OrqqUTQ6ANGCijw==" + }, + "node_modules/d3-scale": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-3.3.0.tgz", + "integrity": "sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==", + "dependencies": { + "d3-array": "^2.3.0", + "d3-format": "1 - 2", + "d3-interpolate": "1.2.0 - 2", + "d3-time": "^2.1.1", + "d3-time-format": "2 - 3" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-2.0.0.tgz", + "integrity": "sha512-LLqy7dJSL8yDy7NRmf6xSlsFZ6zYvJ4BcWFE4zBrOPnQERv9zj24ohnXKRbyi9YHnYV+HN1oEO3iFK971/gkzA==", + "dependencies": { + "d3-color": "1 - 2", + "d3-interpolate": "1 - 2" + } + }, + "node_modules/d3-selection": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-2.0.0.tgz", + "integrity": "sha512-XoGGqhLUN/W14NmaqcO/bb1nqjDAw5WtSYb2X8wiuQWvSZUsUVYsOSkOybUrNvcBjaywBdYPy03eXHMXjk9nZA==" + }, + "node_modules/d3-shape": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-2.1.0.tgz", + "integrity": "sha512-PnjUqfM2PpskbSLTJvAzp2Wv4CZsnAgTfcVRTwW03QR3MkXF8Uo7B1y/lWkAsmbKwuecto++4NlsYcvYpXpTHA==", + "dependencies": { + "d3-path": "1 - 2" + } + }, + "node_modules/d3-time": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-2.1.1.tgz", + "integrity": "sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ==", + "dependencies": { + "d3-array": "2" + } + }, + "node_modules/d3-time-format": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-3.0.0.tgz", + "integrity": "sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag==", + "dependencies": { + "d3-time": "1 - 2" + } + }, + "node_modules/d3-timer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-2.0.0.tgz", + "integrity": "sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA==" + }, + "node_modules/d3-transition": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-2.0.0.tgz", + "integrity": "sha512-42ltAGgJesfQE3u9LuuBHNbGrI/AJjNL2OAUdclE70UE6Vy239GCBEYD38uBPoLeNsOhFStGpPI0BAOV+HMxog==", + "dependencies": { + "d3-color": "1 - 2", + "d3-dispatch": "1 - 2", + "d3-ease": "1 - 2", + "d3-interpolate": "1 - 2", + "d3-timer": "1 - 2" + }, + "peerDependencies": { + "d3-selection": "2" + } + }, + "node_modules/d3-zoom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-2.0.0.tgz", + "integrity": "sha512-fFg7aoaEm9/jf+qfstak0IYpnesZLiMX6GZvXtUSdv8RH2o4E2qeelgdU09eKS6wGuiGMfcnMI0nTIqWzRHGpw==", + "dependencies": { + "d3-dispatch": "1 - 2", + "d3-drag": "2", + "d3-interpolate": "1 - 2", + "d3-selection": "2", + "d3-transition": "2" + } + }, + "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/data-uri-to-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz", + "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "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": "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/decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "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": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "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-eql": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", + "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", + "dev": true, + "dependencies": { + "type-detect": "0.1.1" + }, + "engines": { + "node": "*" + } + }, + "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==", + "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-for-each": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/deep-for-each/-/deep-for-each-3.0.0.tgz", + "integrity": "sha512-pPN+0f8jlnNP+z90qqOdxGghJU5XM6oBDhvAR+qdQzjCg5pk/7VPPvKK1GqoXEFkHza6ZS+Otzzvmr0g3VUaKw==", + "dev": true, + "dependencies": { + "lodash.isplainobject": "^4.0.6" + } + }, + "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/default-gateway/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/defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + } + }, + "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==", + "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/degenerator": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-2.2.0.tgz", + "integrity": "sha512-aiQcQowF01RxFI4ZLFMpzyotbQonhNpBao6dkI8JPk5a+hmSjR5ErHp2CQySmQe8os3VBqLCIh87nDBgZXvsmg==", + "dev": true, + "dependencies": { + "ast-types": "^0.13.2", + "escodegen": "^1.8.1", + "esprima": "^4.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/degenerator/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/degenerator/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/del": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", + "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "dev": true, + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delaunator": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-4.0.1.tgz", + "integrity": "sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==" + }, + "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/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "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-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "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/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "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-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + }, + "node_modules/domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", + "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz", + "integrity": "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dotenv": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", + "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "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/ejs": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", + "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", + "dev": true, + "dependencies": { + "jake": "^10.6.1" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.3.812", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.812.tgz", + "integrity": "sha512-7KiUHsKAWtSrjVoTSzxQ0nPLr/a+qoxNZwkwd9LkylTOgOXSVXkQbpIVT0WAUQcI5gXq3SwOTCrK+WfINHOXQg==", + "dev": true + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz", + "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/error/-/error-7.2.1.tgz", + "integrity": "sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==", + "dev": true, + "dependencies": { + "string-template": "~0.2.1" + } + }, + "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.18.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.5.tgz", + "integrity": "sha512-DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.3", + "is-string": "^1.0.6", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-module-lexer": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz", + "integrity": "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==", + "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-object-assign": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", + "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=" + }, + "node_modules/es6-polyfills": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es6-polyfills/-/es6-polyfills-2.0.0.tgz", + "integrity": "sha1-fzWP04jYyIjQDPyaHuqJ+XFoOTE=", + "deprecated": "Use @natlibfi/es6-polyfills instead", + "dependencies": { + "es6-object-assign": "^1.0.3", + "es6-promise-polyfill": "^1.2.0" + } + }, + "node_modules/es6-promise-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es6-promise-polyfill/-/es6-promise-polyfill-1.2.0.tgz", + "integrity": "sha1-84kl8jyz4+jObNqP93T867sJDN4=" + }, + "node_modules/es6-promisify": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-7.0.0.tgz", + "integrity": "sha512-ginqzK3J90Rd4/Yz7qRrqUeIpe3TwSXTPPZtPne7tGBPeAaQiU8qt4fpKApnxHcq1AwtUdHVg5P77x/yrggG8Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-scope/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/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/eslint/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", + "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/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/eslint/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.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==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "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/eventemitter2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", + "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", + "dev": true + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "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/eventsource": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", + "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", + "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/execa/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/execa/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/execa/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/execa/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/exif-parser": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", + "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=" + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "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-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/exports-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-3.0.0.tgz", + "integrity": "sha512-b23Yg5SKR63ZvikGrQgfGgwd40MDehaYb7vOXgD7C0fMV04wS8U1I4f7n1j1wEhtQNKUqgdFox/ol2rOruOpOA==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.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/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/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/express/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/express/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/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/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": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extract-zip/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/extract-zip/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/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/eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", + "dev": true, + "engines": { + "node": "> 0.1.90" + } + }, + "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": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "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/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/fastq": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz", + "integrity": "sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "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/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" + }, + "node_modules/file-sync-cmp": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz", + "integrity": "sha1-peeo/7+kk7Q7kju9TKiaU7Y7YSs=", + "dev": true + }, + "node_modules/file-type": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz", + "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/file-uri-to-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz", + "integrity": "sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/filelist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", + "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==", + "dev": true, + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "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/findup-sync": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", + "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", + "dev": true, + "dependencies": { + "glob": "~5.0.0" + }, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/findup-sync/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/fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", + "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.14.7", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", + "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": 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=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "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.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz", + "integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "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/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": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "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.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "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" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/ftp": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", + "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", + "dev": true, + "dependencies": { + "readable-stream": "1.1.x", + "xregexp": "2.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ftp/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "node_modules/ftp/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/ftp/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=", + "dev": true + }, + "node_modules/ftp/node_modules/xregexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", + "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=", + "dev": true, + "engines": { + "node": "*" + } + }, + "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/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/gamma": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gamma/-/gamma-1.0.0.tgz", + "integrity": "sha1-mDwck5/iPZMnAVhXEeHZpDDLdMs=" + }, + "node_modules/gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "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/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/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/gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "dependencies": { + "globule": "^1.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/geodesy": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/geodesy/-/geodesy-1.1.3.tgz", + "integrity": "sha512-H/0XSd1KjKZGZ2YGZcOYzRyY/foYAawwTEumNSo+YUwf+u5d4CfvBRg2i2Qimrx9yUEjWR8hLvMnhghuVFN0Zg==" + }, + "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==", + "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-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": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-uri": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-3.0.2.tgz", + "integrity": "sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "data-uri-to-buffer": "3", + "debug": "4", + "file-uri-to-path": "2", + "fs-extra": "^8.1.0", + "ftp": "^0.3.10" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/get-uri/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/get-uri/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/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/getobject": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.2.tgz", + "integrity": "sha512-2zblDBaFcb3rB4rF77XVnuINOE2h2k/OnqXAiy0IrTxUfV1iFp3la33oAQVY9pCpWU268WFYVt2t71hlMuLsOg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "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/gifwrap": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.9.2.tgz", + "integrity": "sha512-fcIswrPaiCDAyO8xnWvHSZdWChjKXUanKKpAiWWJ/UTkEi/aYKn5+90e7DE820zbEaVR9CE2y4z9bzhQijZ0BA==", + "dependencies": { + "image-q": "^1.1.1", + "omggif": "^1.0.10" + } + }, + "node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "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": "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.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dependencies": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-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/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globule": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.3.tgz", + "integrity": "sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg==", + "dev": true, + "dependencies": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "dev": true + }, + "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/grunt": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.4.1.tgz", + "integrity": "sha512-ZXIYXTsAVrA7sM+jZxjQdrBOAg7DyMUplOMhTaspMRExei+fD0BTwdWXnn0W5SXqhb/Q/nlkzXclSi3IH55PIA==", + "dev": true, + "dependencies": { + "dateformat": "~3.0.3", + "eventemitter2": "~0.4.13", + "exit": "~0.1.2", + "findup-sync": "~0.3.0", + "glob": "~7.1.6", + "grunt-cli": "~1.4.2", + "grunt-known-options": "~2.0.0", + "grunt-legacy-log": "~3.0.0", + "grunt-legacy-util": "~2.0.1", + "iconv-lite": "~0.4.13", + "js-yaml": "~3.14.0", + "minimatch": "~3.0.4", + "mkdirp": "~1.0.4", + "nopt": "~3.0.6", + "rimraf": "~3.0.2" + }, + "bin": { + "grunt": "bin/grunt" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/grunt-chmod": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/grunt-chmod/-/grunt-chmod-1.1.1.tgz", + "integrity": "sha1-0YZcWoTn7Zrv5Qn/v1KQ+XoleEA=", + "dev": true, + "dependencies": { + "shelljs": "^0.5.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/grunt-concurrent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/grunt-concurrent/-/grunt-concurrent-3.0.0.tgz", + "integrity": "sha512-AgXtjUJESHEGeGX8neL3nmXBTHSj1QC48ABQ3ng2/vjuSBpDD8gKcVHSlXP71pFkIR8TQHf+eomOx6OSYSgfrA==", + "dev": true, + "dependencies": { + "arrify": "^2.0.1", + "async": "^3.1.0", + "indent-string": "^4.0.0", + "pad-stream": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "grunt": ">=1" + } + }, + "node_modules/grunt-contrib-clean": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-2.0.0.tgz", + "integrity": "sha512-g5ZD3ORk6gMa5ugZosLDQl3dZO7cI3R14U75hTM+dVLVxdMNJCPVmwf9OUt4v4eWgpKKWWoVK9DZc1amJp4nQw==", + "dev": true, + "dependencies": { + "async": "^2.6.1", + "rimraf": "^2.6.2" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "grunt": ">=0.4.5" + } + }, + "node_modules/grunt-contrib-clean/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/grunt-contrib-clean/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/grunt-contrib-connect": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-3.0.0.tgz", + "integrity": "sha512-L1GXk6PqDP/meX0IOX1MByBvOph6h8Pvx4/iBIYD7dpokVCAAQPR/IIV1jkTONEM09xig/Y8/y3R9Fqc8U3HSA==", + "dev": true, + "dependencies": { + "async": "^3.2.0", + "connect": "^3.7.0", + "connect-livereload": "^0.6.1", + "morgan": "^1.10.0", + "node-http2": "^4.0.1", + "opn": "^6.0.0", + "portscanner": "^2.2.0", + "serve-index": "^1.9.1", + "serve-static": "^1.14.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/grunt-contrib-copy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz", + "integrity": "sha1-cGDGWB6QS4qw0A8HbgqPbj58NXM=", + "dev": true, + "dependencies": { + "chalk": "^1.1.1", + "file-sync-cmp": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grunt-contrib-watch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.1.0.tgz", + "integrity": "sha512-yGweN+0DW5yM+oo58fRu/XIRrPcn3r4tQx+nL7eMRwjpvk+rQY6R8o94BPK0i2UhTg9FN21hS+m8vR8v9vXfeg==", + "dev": true, + "dependencies": { + "async": "^2.6.0", + "gaze": "^1.1.0", + "lodash": "^4.17.10", + "tiny-lr": "^1.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grunt-contrib-watch/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/grunt-eslint": { + "version": "23.0.0", + "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-23.0.0.tgz", + "integrity": "sha512-QqHSAiGF08EVD7YlD4OSRWuLRaDvpsRdTptwy9WaxUXE+03mCLVA/lEaR6SHWehF7oUwIqCEjaNONeeeWlB4LQ==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "eslint": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + }, + "peerDependencies": { + "grunt": ">=1" + } + }, + "node_modules/grunt-eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/grunt-eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/grunt-eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/grunt-eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/grunt-eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/grunt-eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/grunt-exec": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/grunt-exec/-/grunt-exec-3.0.0.tgz", + "integrity": "sha512-cgAlreXf3muSYS5LzW0Cc4xHK03BjFOYk0MqCQ/MZ3k1Xz2GU7D+IAJg4UKicxpO+XdONJdx/NJ6kpy2wI+uHg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + }, + "peerDependencies": { + "grunt": ">=0.4" + } + }, + "node_modules/grunt-known-options": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-2.0.0.tgz", + "integrity": "sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grunt-legacy-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz", + "integrity": "sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==", + "dev": true, + "dependencies": { + "colors": "~1.1.2", + "grunt-legacy-log-utils": "~2.1.0", + "hooker": "~0.2.3", + "lodash": "~4.17.19" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/grunt-legacy-log-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz", + "integrity": "sha512-lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw==", + "dev": true, + "dependencies": { + "chalk": "~4.1.0", + "lodash": "~4.17.19" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/grunt-legacy-log-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/grunt-legacy-log-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/grunt-legacy-log-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/grunt-legacy-log-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/grunt-legacy-log-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/grunt-legacy-log-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/grunt-legacy-log/node_modules/colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/grunt-legacy-util": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz", + "integrity": "sha512-2bQiD4fzXqX8rhNdXkAywCadeqiPiay0oQny77wA2F3WF4grPJXCvAcyoWUJV+po/b15glGkxuSiQCK299UC2w==", + "dev": true, + "dependencies": { + "async": "~3.2.0", + "exit": "~0.1.2", + "getobject": "~1.0.0", + "hooker": "~0.2.3", + "lodash": "~4.17.21", + "underscore.string": "~3.3.5", + "which": "~2.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/grunt-retro": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/grunt-retro/-/grunt-retro-0.6.4.tgz", + "integrity": "sha1-8mqEj2pHl6X/foUOYCIMDea+jnI=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/grunt-webpack": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/grunt-webpack/-/grunt-webpack-4.0.3.tgz", + "integrity": "sha512-hRnTf7y9pe4K+M/AKUJFgHykZeyIOUHhZSMVD0/jF/uXphMCen7txPIz8IOnJoa6bX0JrpoueOwo7FgS/OtC2Q==", + "dev": true, + "dependencies": { + "deep-for-each": "^3.0.0", + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/grunt-zip": { + "version": "0.18.2", + "resolved": "https://registry.npmjs.org/grunt-zip/-/grunt-zip-0.18.2.tgz", + "integrity": "sha512-9o0Fmft+7C9jBqqqQRAbon1Qaz4HHqHpNrDmrWVQy9nxC9/q8budlx+J6y9ZaCs3ioAKIJl7lfXWqoOJCMnXcQ==", + "dev": true, + "dependencies": { + "grunt-retro": "~0.6.0", + "jszip": "~2.5.0" + }, + "bin": { + "grunt-zip": "bin/grunt-zip" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/grunt/node_modules/grunt-cli": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz", + "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==", + "dev": true, + "dependencies": { + "grunt-known-options": "~2.0.0", + "interpret": "~1.1.0", + "liftup": "~3.0.1", + "nopt": "~4.0.1", + "v8flags": "~3.2.0" + }, + "bin": { + "grunt": "bin/grunt" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/grunt/node_modules/grunt-cli/node_modules/nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "dev": true, + "dependencies": { + "abbrev": "1", + "osenv": "^0.1.4" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/grunt/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dev": true, + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "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": "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==", + "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=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "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": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "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==", + "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": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "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/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/has-values/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/has-values/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/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.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "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/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/highlight.js": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.2.0.tgz", + "integrity": "sha512-JOySjtOEcyG8s4MLR2MNbLUyaXqUunmSnL2kdV/KuGJOmHZuAR5xC54Ko7goAXBWNhf09Vy3B+U7vR62UZ/0iw==", + "engines": { + "node": ">=12.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/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hooker": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", + "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=", + "dev": true, + "engines": { + "node": "*" + } + }, + "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/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/hpack.js/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/hpack.js/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/hpack.js/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/html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", + "dev": true + }, + "node_modules/html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", + "dev": true, + "dependencies": { + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/html-minifier-terser/node_modules/terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "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/html-minifier-terser/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==", + "dev": true + }, + "node_modules/html-webpack-plugin": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.3.2.tgz", + "integrity": "sha512-HvB33boVNCz2lTyBsSiMffsJ+m0YLIQ+pskblXgN9fnjS1BgEcuAfdInfXfGrkdXV406k9FiDi86eVCDBgJOyQ==", + "dev": true, + "dependencies": { + "@types/html-minifier-terser": "^5.0.0", + "html-minifier-terser": "^5.0.1", + "lodash": "^4.17.21", + "pretty-error": "^3.0.4", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "webpack": "^5.20.0" + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/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-errors/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/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.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-agent/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/http-proxy-agent/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/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/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/http-proxy-middleware/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/http-proxy-middleware/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/http-proxy-middleware/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/http-proxy-middleware/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/http-proxy-middleware/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/http-proxy-middleware/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/http-proxy-middleware/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/http-proxy-middleware/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/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": "0.0.1", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", + "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=", + "dev": true + }, + "node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/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/i": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz", + "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0=", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/iced-error": { + "version": "0.0.13", + "resolved": "https://registry.npmjs.org/iced-error/-/iced-error-0.0.13.tgz", + "integrity": "sha512-yEEaG8QfyyRL0SsbNNDw3rVgTyqwHFMCuV6jDvD43f/2shmdaFXkqvFLGhDlsYNSolzYHwVLM/CrXt9GygYopA==" + }, + "node_modules/iced-lock": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/iced-lock/-/iced-lock-1.1.0.tgz", + "integrity": "sha1-YRbvHKs6zW5rEIk7snumIv0/3nI=", + "dependencies": { + "iced-runtime": "^1.0.0" + } + }, + "node_modules/iced-runtime": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/iced-runtime/-/iced-runtime-1.0.4.tgz", + "integrity": "sha512-rgiJXNF6ZgF2Clh/TKUlBDW3q51YPDJUXmxGQXx1b8tbZpVpTn+1RX9q1sjNkujXIIaVxZByQzPHHORg7KV51g==" + }, + "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==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/idb-keyval": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-3.2.0.tgz", + "integrity": "sha512-slx8Q6oywCCSfKgPgL0sEsXtPVnSbTLWpyiDcu6msHOyKOLari1TD1qocXVCft80umnkk3/Qqh3lwoFt8T/BPQ==" + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "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/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-q": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/image-q/-/image-q-1.1.1.tgz", + "integrity": "sha1-/IQJlmRGC5DKhi2TALa/u7+/gFY=", + "engines": { + "node": ">=0.9.0" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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-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/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/import-local/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imports-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-3.0.0.tgz", + "integrity": "sha512-PhDB+rxpc95/1cM8ehxWAcuDIDi3eXhqHhax09iyUeAYBJ2bT6QbBp7aDj8IfU9Ns+2l1K226GhoWVAU823CTA==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1", + "strip-comments": "^2.0.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.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/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/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.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "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/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/internmap": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==" + }, + "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/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.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": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "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=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/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-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.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "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-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-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "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.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": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "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" + } + ], + "engines": { + "node": ">=4" + } + }, + "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-core-module": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", + "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "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=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/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-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.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "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==", + "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-electron": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.0.tgz", + "integrity": "sha512-SpMppC2XR3YdxSzczXReBjqs2zGscWQpBIKqwXYBFic0ERaxNVgwLCHwOLZeESfdJQjX0RDvrJ1lBXX2ij+G1Q==" + }, + "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-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" + }, + "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-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-like": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz", + "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==", + "dev": true, + "dependencies": { + "lodash.isfinite": "^3.3.2" + } + }, + "node_modules/is-number-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", + "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-in-cwd/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-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "dependencies": { + "is-unc-path": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-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.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-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-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-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" + }, + "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.7", + "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.7.tgz", + "integrity": "sha512-4vBQoURAXC6hnLFxD4VW7uc04XiwTTl/8ydYJxKvPwkWQrSjInkuM5VZVg6BGr1/natq69zDuvO9lGpLClJqvA==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "ip-regex": "^4.1.0", + "is-url": "^1.2.4" + }, + "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/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/jake": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", + "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==", + "dev": true, + "dependencies": { + "async": "0.9.x", + "chalk": "^2.4.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jake/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/jake/node_modules/async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + }, + "node_modules/jake/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/jake/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/jest-worker": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.6.tgz", + "integrity": "sha512-qupxcj/dRuA3xHPMUd40gr2EaAurFbkwzOh7wfPaeE9id7hyjURRQoqNfHifHK3XjJU6YJJUQKILGUnwGPEOCA==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jimp": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.16.1.tgz", + "integrity": "sha512-+EKVxbR36Td7Hfd23wKGIeEyHbxShZDX6L8uJkgVW3ESA9GiTEPK08tG1XI2r/0w5Ch0HyJF5kPqF9K7EmGjaw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/custom": "^0.16.1", + "@jimp/plugins": "^0.16.1", + "@jimp/types": "^0.16.1", + "regenerator-runtime": "^0.13.3" + } + }, + "node_modules/jpeg-autorotate": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/jpeg-autorotate/-/jpeg-autorotate-7.1.1.tgz", + "integrity": "sha512-ewTZTG/QWOM0D5h/yKcQ3QgyrnQYsr3qmcS+bqoAwgQAY1KBa31aJ+q+FlElaxo/rSYqfF1ixf+8EIgluBkgTg==", + "dependencies": { + "colors": "^1.4.0", + "glob": "^7.1.6", + "jpeg-js": "^0.4.2", + "piexifjs": "^1.0.6", + "yargs-parser": "^20.2.1" + }, + "bin": { + "jpeg-autorotate": "src/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jpeg-js": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.2.tgz", + "integrity": "sha512-+az2gi/hvex7eLTMTlbRLOhH6P6WFdk2ITI8HJsaH2VqYO0I594zXSYEP+tf4FW+8Cy68ScDXoAsQdyQanv3sw==" + }, + "node_modules/jquery": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", + "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" + }, + "node_modules/js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", + "dev": true + }, + "node_modules/js-crc": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/js-crc/-/js-crc-0.2.0.tgz", + "integrity": "sha1-9yxcdhgXa/91zIEqHO2949jraDk=" + }, + "node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "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=" + }, + "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/js-yaml/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/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "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.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-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.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "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/jsonpath": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", + "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", + "dependencies": { + "esprima": "1.2.2", + "static-eval": "2.0.2", + "underscore": "1.12.1" + } + }, + "node_modules/jsonpath/node_modules/esprima": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", + "integrity": "sha1-dqD9Zvz+FU/SkmZ9wmQBl1CxZXs=", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=4", + "npm": ">=1.4.28" + } + }, + "node_modules/jsonwebtoken/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "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/jsqr": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jsqr/-/jsqr-1.4.0.tgz", + "integrity": "sha512-dxLob7q65Xg2DvstYkRpkYtmKm2sPJ9oFhrhmudT1dZvNFFTlroai3AWSpLey/w5vMcLBXRgOJsbXpdN9HzU/A==" + }, + "node_modules/jsrsasign": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.4.0.tgz", + "integrity": "sha512-C8qLhiAssh/b74KJpGhWuFGG9cFhJqMCVuuHXRibb3Z5vPuAW0ue0jUirpoExCdpdhv4nD3sZ1DAwJURYJTm9g==", + "funding": { + "url": "https://github.com/kjur/jsrsasign#donations" + } + }, + "node_modules/jszip": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-2.5.0.tgz", + "integrity": "sha1-dET9hVHd8+XacZj+oMkbyDCMwnQ=", + "dev": true, + "dependencies": { + "pako": "~0.2.5" + } + }, + "node_modules/jszip/node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", + "dev": true + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/kbpgp": { + "version": "2.1.15", + "resolved": "https://registry.npmjs.org/kbpgp/-/kbpgp-2.1.15.tgz", + "integrity": "sha512-iFdQT+m2Mi2DB14kEFydF2joNe9x3E2VZCGZUt7UXsiZnQx5TtSl4KofP7EPtjHvf7weCxNKlEPSYiiCNMZ2jA==", + "dependencies": { + "bn": "^1.0.5", + "bzip-deflate": "^1.0.0", + "deep-equal": "^1.1.0", + "iced-error": "0.0.13", + "iced-lock": "^1.0.2", + "iced-runtime": "^1.0.4", + "keybase-ecurve": "^1.0.1", + "keybase-nacl": "^1.1.2", + "minimist": "^1.2.0", + "pgp-utils": "0.0.35", + "purepack": "^1.0.5", + "triplesec": "^4.0.3", + "tweetnacl": "^0.13.1" + } + }, + "node_modules/keybase-ecurve": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/keybase-ecurve/-/keybase-ecurve-1.0.1.tgz", + "integrity": "sha512-2GlVxDsNF+52LtYjgFsjoKuN7MQQgiVeR4HRdJxLuN8fm4mf4stGKPUjDJjky15c/98UsZseLjp7Ih5X0Sy1jQ==", + "dependencies": { + "bn": "^1.0.4" + } + }, + "node_modules/keybase-nacl": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/keybase-nacl/-/keybase-nacl-1.1.4.tgz", + "integrity": "sha512-7TFyWLq42CQs7JES9arR+Vnv/eMk5D6JT1Y8samrEA5ff3FOmaiRcXIVrwJQd3KJduxmSjgAjdkXlQK7Q437xQ==", + "dependencies": { + "iced-runtime": "^1.0.2", + "tweetnacl": "^0.13.1", + "uint64be": "^1.0.1" + } + }, + "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.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/klona": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", + "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "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/libbzip2-wasm": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/libbzip2-wasm/-/libbzip2-wasm-0.0.4.tgz", + "integrity": "sha512-RqscTx95+RTKhFAyjedsboR0Lmo3zd8//EuRwQXkdWmsCwYlzarVRaiYg6kS1O8m10MCQkGdrnlK9L4eAmZUwA==" + }, + "node_modules/libyara-wasm": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/libyara-wasm/-/libyara-wasm-1.1.0.tgz", + "integrity": "sha512-MI2C4v8JxPN46l3VPWK66HApLPO4rx7n4rGioaSOfbIZikTJIuvI+eRPPnW3K2BXzrOHYj5sMl/RoLlKbXtiLw==" + }, + "node_modules/liftup": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz", + "integrity": "sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==", + "dev": true, + "dependencies": { + "extend": "^3.0.2", + "findup-sync": "^4.0.0", + "fined": "^1.2.0", + "flagged-respawn": "^1.0.1", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.1", + "rechoir": "^0.7.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/liftup/node_modules/findup-sync": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "node_modules/linkify-it": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.2.tgz", + "integrity": "sha512-gDBO4aHNZS6coiZCKVhSNh43F9ioIL4JwRjLZPkoLIY4yZFwg264Y5lu2x6rb1Js42Gh6Yqm2f6L2AJcnkzinQ==", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/livereload-js": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz", + "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==", + "dev": true + }, + "node_modules/load-bmfont": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz", + "integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==", + "dependencies": { + "buffer-equal": "0.0.1", + "mime": "^1.3.4", + "parse-bmfont-ascii": "^1.0.3", + "parse-bmfont-binary": "^1.0.5", + "parse-bmfont-xml": "^1.1.4", + "phin": "^2.9.1", + "xhr": "^2.0.1", + "xtend": "^4.0.0" + } + }, + "node_modules/loader-runner": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/loader-utils/node_modules/json5": { + "version": "1.0.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/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/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash._arraycopy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz", + "integrity": "sha1-due3wfH7klRzdIeKVi7Qaj5Q9uE=", + "dev": true + }, + "node_modules/lodash._arrayeach": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz", + "integrity": "sha1-urFWsqkNPxu9XGU0AzSeXlkz754=", + "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._baseclone": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz", + "integrity": "sha1-MDUZv2OT/n5C802LYw73eU41Qrc=", + "dev": true, + "dependencies": { + "lodash._arraycopy": "^3.0.0", + "lodash._arrayeach": "^3.0.0", + "lodash._baseassign": "^3.0.0", + "lodash._basefor": "^3.0.0", + "lodash.isarray": "^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._basefor": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz", + "integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=", + "dev": true + }, + "node_modules/lodash._bindcallback": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", + "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=", + "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.clone": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-3.0.3.tgz", + "integrity": "sha1-hGiMc9MrWpDKJWFpY/GJJSqZcEM=", + "dev": true, + "dependencies": { + "lodash._baseclone": "^3.0.0", + "lodash._bindcallback": "^3.0.0", + "lodash._isiterateecall": "^3.0.0" + } + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "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.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.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + }, + "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.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + }, + "node_modules/lodash.isfinite": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", + "integrity": "sha1-+4m2WpqAKBgz8LdHizpRBPiY67M=", + "dev": true + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + }, + "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=" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "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/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, + "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.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/log-symbols/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/loglevel": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", + "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/loglevel" + } + }, + "node_modules/loglevel-message-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/loglevel-message-prefix/-/loglevel-message-prefix-3.0.0.tgz", + "integrity": "sha1-ER/bltlPlh2PyLiqv7ZrBqw+dq0=", + "deprecated": "Use @natlibfi/loglevel-message-prefix instead", + "dependencies": { + "es6-polyfills": "^2.0.0", + "loglevel": "^1.4.0" + } + }, + "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/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==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, + "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/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/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/make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-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-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": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/markdown-it": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.2.0.tgz", + "integrity": "sha512-Wjws+uCrVQRqOoJvze4HCqkKl1AsSh95iFAeQDwnyfxM09divCBSXlDR1uTvyUP3Grzpn4Ru8GeCxYPM8vkCQg==", + "dependencies": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "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=" + }, + "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/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/memory-fs/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/memory-fs/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/memory-fs/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/meow": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "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/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/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-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "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/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/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "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/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", + "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.32", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", + "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "dev": true, + "dependencies": { + "mime-db": "1.49.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/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/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/mini-css-extract-plugin": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.7.tgz", + "integrity": "sha512-NDyOUqdfKVIfWTludTcZ6JDOMsIdWgyTEECYbfvZszPpkMRyQLvukqtLr92tfukPQxVZNCKb8TkOilFBvS5RIw==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "webpack-sources": "^1.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.4.0 || ^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "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.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "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/minimist-options/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/minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "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.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dependencies": { + "minimist": "^1.2.5" + }, + "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": "6.2.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.3.tgz", + "integrity": "sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==", + "dev": true, + "dependencies": { + "ansi-colors": "3.2.3", + "browser-stdout": "1.3.1", + "debug": "3.2.6", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "find-up": "3.0.0", + "glob": "7.1.3", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "3.13.1", + "log-symbols": "2.2.0", + "minimatch": "3.0.4", + "mkdirp": "0.5.4", + "ms": "2.1.1", + "node-environment-flags": "1.0.5", + "object.assign": "4.1.0", + "strip-json-comments": "2.0.1", + "supports-color": "6.0.0", + "which": "1.3.1", + "wide-align": "1.1.3", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "1.6.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/mocha/node_modules/ansi-colors": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/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/mocha/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/mocha/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/mocha/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/mocha/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/mocha/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/mocha/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/mocha/node_modules/mkdirp": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", + "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", + "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": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mocha/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/mocha/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/mocha/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/mocha/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/mocha/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/mocha/node_modules/supports-color": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", + "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/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/mocha/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", + "engines": { + "node": "*" + } + }, + "node_modules/moment-timezone": { + "version": "0.5.33", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.33.tgz", + "integrity": "sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==", + "dependencies": { + "moment": ">= 2.9.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/more-entropy": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/more-entropy/-/more-entropy-0.0.7.tgz", + "integrity": "sha1-Z7/G96hvJvvDeqyD/UbYjGHRCbU=", + "dependencies": { + "iced-runtime": ">=0.0.1" + } + }, + "node_modules/morgan": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", + "dev": true, + "dependencies": { + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.2" + }, + "engines": { + "node": ">= 0.8.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/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", + "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "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/ncp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-1.0.1.tgz", + "integrity": "sha1-0VNn5cuHQyuhF9K/gP30Wuz7QkY=", + "dev": true, + "bin": { + "ncp": "bin/ncp" + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/ngeohash": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/ngeohash/-/ngeohash-0.6.3.tgz", + "integrity": "sha512-kltF0cOxgx1AbmVzKxYZaoB0aj7mOxZeHaerEtQV0YaqnkXNq26WWqMmJ6lTqShYxVRWZ/mwvvTrNeOwdslWiw==", + "engines": { + "node": ">=v0.2.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/nightwatch": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-1.7.8.tgz", + "integrity": "sha512-GTY2VoPU2EuoBUB+mz5tAjeEWRQmuT54Il2lOUTmpv87D7cO8fXaadrxSHwl2YDX9rDFvNZovqwiKBtk3/5R6w==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "chai-nightwatch": "^0.4.0", + "ci-info": "^2.0.0", + "didyoumean": "^1.2.1", + "dotenv": "7.0.0", + "ejs": "^3.1.6", + "envinfo": "^7.5.1", + "lodash.clone": "3.0.3", + "lodash.defaultsdeep": "^4.6.1", + "lodash.merge": "^4.6.2", + "minimatch": "3.0.4", + "minimist": "^1.2.5", + "mkpath": "1.0.0", + "mocha": "6.2.3", + "ora": "^4.0.3", + "proxy-agent": "^4.0.1", + "request": "^2.88.2", + "request-promise": "^4.2.5", + "semver": "^6.3.0", + "strip-ansi": "^6.0.0" + }, + "bin": { + "nightwatch": "bin/nightwatch" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "chromedriver": "*", + "geckodriver": "*" + }, + "peerDependenciesMeta": { + "chromedriver": { + "optional": true + }, + "geckodriver": { + "optional": true + } + } + }, + "node_modules/nightwatch/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/nightwatch/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/nightwatch/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-environment-flags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", + "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", + "dev": true, + "dependencies": { + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + } + }, + "node_modules/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/node-gyp": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", + "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.3", + "nopt": "^5.0.0", + "npmlog": "^4.1.2", + "request": "^2.88.2", + "rimraf": "^3.0.2", + "semver": "^7.3.2", + "tar": "^6.0.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/node-gyp/node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/node-gyp/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-http2": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/node-http2/-/node-http2-4.0.1.tgz", + "integrity": "sha1-Fk/1O13SLITwrxQrh3xerraAmVk=", + "dev": true, + "dependencies": { + "assert": "1.4.1", + "events": "1.1.1", + "https-browserify": "0.0.1", + "setimmediate": "^1.0.5", + "stream-browserify": "2.0.1", + "timers-browserify": "2.0.2", + "url": "^0.11.0", + "websocket-stream": "^5.0.1" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/node-http2/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/node-http2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/node-http2/node_modules/stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "dev": true, + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/node-http2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/node-md6": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/node-md6/-/node-md6-0.1.0.tgz", + "integrity": "sha1-9WH0WyszY1K4KXbFHMoRR9U5N/U=" + }, + "node_modules/node-releases": { + "version": "1.1.75", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz", + "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==", + "dev": true + }, + "node_modules/node-sass": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-6.0.1.tgz", + "integrity": "sha512-f+Rbqt92Ful9gX0cGtdYwjTrWAaGURgaK5rZCWOgCNyGWusFYHhbqCCBoFBeat+HKETOU02AyTxNhJV0YZf2jQ==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^7.0.3", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "lodash": "^4.17.15", + "meow": "^9.0.0", + "nan": "^2.13.2", + "node-gyp": "^7.1.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "2.2.5", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "bin": { + "node-sass": "bin/node-sass" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/nodom": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/nodom/-/nodom-2.4.0.tgz", + "integrity": "sha512-qhfYgpoCSi37HLiViMlf94YqMQdvk3n3arI1uGbAWZK9NKCYRSI42W8lATeGloYGLYxb8us1C5rTvtsXjwdWQg==" + }, + "node_modules/nofilter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz", + "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "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/normalize-package-data/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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/notepack.io": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/notepack.io/-/notepack.io-2.3.0.tgz", + "integrity": "sha512-9RiFDxeydHsWOqdthRUck2Kd4UW2NzVd2xxOulZiQ9mvge6ElsHXLpwD3HEJyql6sFEnEn/eMO7HSdS0M5mWkA==" + }, + "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/npm-run-path/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/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/nth-check": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", + "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "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==" + }, + "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/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/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.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "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=", + "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.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "dependencies": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", + "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "dev": true, + "dependencies": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "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": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "node_modules/omggif": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz", + "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==" + }, + "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=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opencollective-postinstall": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", + "bin": { + "opencollective-postinstall": "index.js" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/opn": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-6.0.0.tgz", + "integrity": "sha512-I9PKfIZC+e4RXZ/qr1RhgyCnGgYX0UEIlXgWnCOVACIvFgaC9rz6Won7xbdhoHrd8IIhV7YEpHjreNUNkqCGkQ==", + "deprecated": "The package has been renamed to `open`", + "dev": true, + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "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/ora": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", + "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.2.0", + "is-interactive": "^1.0.0", + "log-symbols": "^3.0.0", + "mute-stream": "0.0.8", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/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/ora/node_modules/log-symbols/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/ora/node_modules/log-symbols/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/ora/node_modules/log-symbols/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/ora/node_modules/log-symbols/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/ora/node_modules/log-symbols/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/ora/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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-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-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/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/otp": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/otp/-/otp-0.1.3.tgz", + "integrity": "sha1-wle/JdL5Anr3esUiabPBQmjSvWs=", + "dependencies": { + "thirty-two": "^0.0.2" + } + }, + "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": "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": "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/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-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/pac-proxy-agent": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-4.1.0.tgz", + "integrity": "sha512-ejNgYm2HTXSIYX9eFlkvqFp8hyJ374uDf0Zq5YUAifiSh1D6fo+iBivQZirGvVv8dCYUsLhmLBRhlAYvBKI5+Q==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4", + "get-uri": "3", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "5", + "pac-resolver": "^4.1.0", + "raw-body": "^2.2.0", + "socks-proxy-agent": "5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pac-proxy-agent/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/pac-proxy-agent/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/pac-proxy-agent/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/pac-proxy-agent/node_modules/http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/pac-proxy-agent/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/pac-proxy-agent/node_modules/raw-body": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", + "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", + "dev": true, + "dependencies": { + "bytes": "3.1.0", + "http-errors": "1.7.3", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pac-proxy-agent/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/pac-resolver": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-4.2.0.tgz", + "integrity": "sha512-rPACZdUyuxT5Io/gFKUeeZFfE5T7ve7cAkE5TUZRRfuKP0u5Hocwe48X7ZEm6mYB+bTB0Qf+xlVlA/RM/i6RCQ==", + "dev": true, + "dependencies": { + "degenerator": "^2.2.0", + "ip": "^1.1.5", + "netmask": "^2.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pad-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pad-stream/-/pad-stream-2.0.0.tgz", + "integrity": "sha1-O+vzTNpJWXISpmny/kF9ZGp8ulY=", + "dev": true, + "dependencies": { + "pumpify": "^1.3.3", + "split2": "^2.1.1", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "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.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/parse-bmfont-ascii": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", + "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=" + }, + "node_modules/parse-bmfont-binary": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", + "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=" + }, + "node_modules/parse-bmfont-xml": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz", + "integrity": "sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==", + "dependencies": { + "xml-parse-from-string": "^1.0.0", + "xml2js": "^0.4.5" + } + }, + "node_modules/parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "dependencies": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/parse-headers": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.4.tgz", + "integrity": "sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==" + }, + "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/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/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "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": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", + "dependencies": { + "process": "^0.11.1", + "util": "^0.10.3" + } + }, + "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": "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/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": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "dependencies": { + "path-root-regex": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "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/pgp-utils": { + "version": "0.0.35", + "resolved": "https://registry.npmjs.org/pgp-utils/-/pgp-utils-0.0.35.tgz", + "integrity": "sha512-gCT6EbSTgljgycVa5qGpfRITaLOLbIKsEVRTdsNRgmLMAJpuJNNdrTn/95r8IWo9rFLlccfmGMJXkG9nVDwmrA==", + "dependencies": { + "iced-error": ">=0.0.8", + "iced-runtime": ">=0.0.1" + } + }, + "node_modules/phin": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz", + "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==" + }, + "node_modules/picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/piexifjs": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/piexifjs/-/piexifjs-1.0.6.tgz", + "integrity": "sha512-0wVyH0cKohzBQ5Gi2V1BuxYpxWfxF3cSqfFXfPIpl5tl9XLS5z4ogqhUCD20AbHi0h9aJkqXNJnkVev6gwh2ag==" + }, + "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=", + "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/pixelmatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", + "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=", + "dependencies": { + "pngjs": "^3.0.0" + }, + "bin": { + "pixelmatch": "bin/pixelmatch" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", + "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "dev": true, + "dependencies": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "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.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/portfinder/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/portscanner": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz", + "integrity": "sha512-IFroCz/59Lqa2uBvzK3bKDbDDIEaAY8XJ1jFxcLWTqosrsc32//P4VuSB2vZXoHiHqOmx8B5L5hnKOxL/7FlPw==", + "dev": true, + "dependencies": { + "async": "^2.6.0", + "is-number-like": "^1.0.3" + }, + "engines": { + "node": ">=0.4", + "npm": ">=1.0.0" + } + }, + "node_modules/portscanner/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/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": "8.3.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz", + "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==", + "dev": true, + "dependencies": { + "colorette": "^1.2.2", + "nanoid": "^3.1.23", + "source-map-js": "^0.6.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-css-variables": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/postcss-css-variables/-/postcss-css-variables-0.18.0.tgz", + "integrity": "sha512-lYS802gHbzn1GI+lXvy9MYIYDuGnl1WB4FTKoqMQqJ3Mab09A7a/1wZvGTkCEZJTM8mSbIyb1mJYn8f0aPye0Q==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "escape-string-regexp": "^1.0.3", + "extend": "^3.0.1" + }, + "peerDependencies": { + "postcss": "^8.2.6" + } + }, + "node_modules/postcss-import": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.2.tgz", + "integrity": "sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-loader": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.1.1.tgz", + "integrity": "sha512-lBmJMvRh1D40dqpWKr9Rpygwxn8M74U9uaCSeYGNKLGInbk9mXBt1ultHf2dH9Ghk6Ue4UXlXWwGMH9QdUJ5ug==", + "dev": true, + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.4", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-loader/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "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/pretty-error": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-3.0.4.tgz", + "integrity": "sha512-ytLFLfv1So4AO1UkoBF6GXQgJRaKbiSiGFICaOPNwQ3CMvBvXpLRubeQWyPGnsbV/t9ml9qto6IeCsho0aEvwQ==", + "dev": true, + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^2.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": "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": "1.1.8", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/prompt": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/prompt/-/prompt-1.1.0.tgz", + "integrity": "sha512-ec1vUPXCplDBDUVD8uPa3XGA+OzLrO40Vxv3F1uxoiZGkZhdctlK2JotcHq5X6ExjocDOGwGdCSXloGNyU5L1Q==", + "dev": true, + "dependencies": { + "colors": "^1.1.2", + "read": "1.0.x", + "revalidator": "0.1.x", + "utile": "0.3.x", + "winston": "2.x" + }, + "engines": { + "node": ">= 0.6.6" + } + }, + "node_modules/protobufjs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", + "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", + "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/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-4.0.1.tgz", + "integrity": "sha512-ODnQnW2jc/FUVwHHuaZEfN5otg/fMbvMxz9nMSUQfJ9JU7q2SZvSULSsjLloVgJOiv9yhc8GlNMKc4GkFmcVEA==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.0", + "debug": "4", + "http-proxy-agent": "^4.0.0", + "https-proxy-agent": "^5.0.0", + "lru-cache": "^5.1.1", + "pac-proxy-agent": "^4.1.0", + "proxy-from-env": "^1.0.0", + "socks-proxy-agent": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/proxy-agent/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/proxy-agent/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/proxy-agent/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/proxy-agent/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/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "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/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/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/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "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/purepack": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/purepack/-/purepack-1.0.6.tgz", + "integrity": "sha512-L/e3qq/3m/TrYtINo2aBB98oz6w8VHGyFy+arSKwPMZDUNNw2OaQxYnZO6UIZZw2OnRl2qkxGmuSOEfsuHXJdA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/qr-image": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/qr-image/-/qr-image-3.2.0.tgz", + "integrity": "sha1-n6gpW+rlDEoUnPn5CaHbRkqGcug=" + }, + "node_modules/qs": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", + "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "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/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/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": "1.1.7", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz", + "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=", + "dev": true, + "dependencies": { + "bytes": "1", + "string_decoder": "0.10" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/raw-body/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=", + "dev": true + }, + "node_modules/read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", + "dev": true, + "dependencies": { + "mute-stream": "~0.0.4" + }, + "engines": { + "node": ">=0.8" + } + }, + "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-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/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/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/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/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/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/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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "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/readdirp/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/readdirp/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/readdirp/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/readdirp/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/readdirp/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/readdirp/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/readdirp/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/readdirp/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/readdirp/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/readdirp/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/readdirp/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/readdirp/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/rechoir": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "dev": true, + "dependencies": { + "resolve": "^1.9.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/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/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + }, + "node_modules/regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "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.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", + "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", + "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.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "dev": true, + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" + } + }, + "node_modules/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": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "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-promise": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.6.tgz", + "integrity": "sha512-HCHI3DJJUakkOr8fNoCc73E5nU5bqITjOYFMDrKHYOXWXrgD/SBaC7LjwuPymUprRyuF06UK7hd/lMHkmUXglQ==", + "deprecated": "request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "bluebird": "^3.5.0", + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request/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/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-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "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/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.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "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-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" + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "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/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/revalidator": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", + "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/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-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "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" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" + }, + "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==", + "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-json-parse": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz", + "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=", + "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==" + }, + "node_modules/sass-graph": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", + "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^13.3.2" + }, + "bin": { + "sassgraph": "bin/sassgraph" + } + }, + "node_modules/sass-loader": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.1.0.tgz", + "integrity": "sha512-FVJZ9kxVRYNZTIe2xhw93n3xJNYZADr+q69/s98l9nTCrWASo+DR2Ot0s5xTKQDDEosUkatsGeHxcH4QBp5bSg==", + "dev": true, + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0", + "sass": "^1.3.0", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/scryptsy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-2.1.0.tgz", + "integrity": "sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w==" + }, + "node_modules/scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "dependencies": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + } + }, + "node_modules/scss-tokenizer/node_modules/source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "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.11", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", + "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "dev": true, + "dependencies": { + "node-forge": "^0.10.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/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/send/node_modules/http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "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/send/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/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "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-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==", + "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.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "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/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shelljs": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz", + "integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM=", + "dev": true, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=0.8.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.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "node_modules/sirv": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.14.tgz", + "integrity": "sha512-czTFDFjK9lXj0u9mJ3OmJoXFztoilYS+NdRPcJoT182w44wSEkHSiO7A2517GLJ8wKM4GjCm2OXE66Dhngbzjg==", + "dev": true, + "dependencies": { + "@polka/url": "^1.0.0-next.17", + "mime": "^2.3.1", + "totalist": "^1.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sirv/node_modules/mime": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/sitemap": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.0.0.tgz", + "integrity": "sha512-Ud0jrRQO2k7fEtPAM+cQkBKoMvxQyPKNXKDLn8tRVHxRCsdDQ2JZvw+aZ5IRYYQVAV9iGxEar6boTwZzev+x3g==", + "dev": true, + "dependencies": { + "@types/node": "^15.0.1", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, + "bin": { + "sitemap": "dist/cli.js" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=5.6.0" + } + }, + "node_modules/sitemap/node_modules/@types/node": { + "version": "15.14.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.8.tgz", + "integrity": "sha512-+ZjmmoGV7WBwhzNh/GkwehB7uyXn9HFwzQUfj9pbyR8eFAq20Qguoh93sPbWzzhsbhTme6YE92/iJ54Z0WRH7A==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "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/snackbarjs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/snackbarjs/-/snackbarjs-1.1.0.tgz", + "integrity": "sha1-pont9ExxEEdzvPIhxGk3ZosLvNY=" + }, + "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/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/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/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/sockjs": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "dev": true, + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^3.4.0", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sockjs-client": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz", + "integrity": "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==", + "dev": true, + "dependencies": { + "debug": "^3.2.6", + "eventsource": "^1.0.7", + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.5.1" + } + }, + "node_modules/sockjs-client/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/sockjs-client/node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/sockjs-client/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/sockjs/node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/socks": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz", + "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==", + "dev": true, + "dependencies": { + "ip": "^1.1.5", + "smart-buffer": "^4.1.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz", + "integrity": "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "4", + "socks": "^2.3.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/socks-proxy-agent/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socks-proxy-agent/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/sortablejs": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz", + "integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==" + }, + "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.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-js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", + "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.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/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "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.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "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/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "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/split.js": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/split.js/-/split.js-1.6.4.tgz", + "integrity": "sha512-kYmQZprRJrF1IOjg/E+gdBEsKFv5kbgUE6RJVJZvrIzTOK/IHzKSqIeiJnWs7IP5D9TnpTQ2CbanuDuIWcyDUQ==" + }, + "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/ssdeep.js": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/ssdeep.js/-/ssdeep.js-0.0.3.tgz", + "integrity": "sha512-QXKADMuEsOmRYGlB9JvrulcF5NLAjAvYLg3qDHUrEEilUFLKoL4fUQDw1s7hF+mOL96jwcdyXpnmCqyNu7Wm3Q==" + }, + "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/sshpk/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/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/static-eval": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", + "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", + "dependencies": { + "escodegen": "^1.8.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==", + "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/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/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/stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.1" + } + }, + "node_modules/stdout-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/stdout-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/stdout-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/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "dependencies": { + "inherits": "~2.0.4", + "readable-stream": "^3.5.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/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==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-template": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", + "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=", + "dev": true + }, + "node_modules/string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "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=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "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/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-loader": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.2.1.tgz", + "integrity": "sha512-1k9ZosJCRFaRbY6hH49JFlRB0fVSbmnyq1iTPjNxUmGVjBNEmwrrHPenhlp+Lgo51BojHSf6pl2FcqYaN3PfVg==", + "dev": true, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.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/svg-url-loader": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/svg-url-loader/-/svg-url-loader-7.1.1.tgz", + "integrity": "sha512-NlsMCePODm7FQhU9aEZyGLPx5Xe1QRI1cSEUE6vTq5LJc9l9pStagvXoEIyZ9O3r00w6G3+Wbkimb+SC3DI/Aw==", + "dev": true, + "dependencies": { + "file-loader": "~6.2.0", + "loader-utils": "~2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/svg-url-loader/node_modules/loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/table": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", + "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", + "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/table/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tapable": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.10.tgz", + "integrity": "sha512-kvvfiVvjGMxeUNB6MyYv5z7vhfFRwbwCXJAeL0/lnbrttBVqcMOnpHUf0X42LrPMR8mMpgapkJMchFH4FSHzNA==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tcp-port-used": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz", + "integrity": "sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==", + "dev": true, + "dependencies": { + "debug": "4.3.1", + "is2": "^2.0.6" + } + }, + "node_modules/tcp-port-used/node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "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": "5.7.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz", + "integrity": "sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==", + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz", + "integrity": "sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA==", + "dev": true, + "dependencies": { + "jest-worker": "^27.0.2", + "p-limit": "^3.1.0", + "schema-utils": "^3.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/tesseract.js": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/tesseract.js/-/tesseract.js-2.1.5.tgz", + "integrity": "sha512-7CIS3SWr7TXpeaH9+HS7iUtVbCfPFYOO3p6rkRAkdtsOtrbz6496x59na6SCbFAIaZulQxy8BjwSu3qL3AoDRg==", + "hasInstallScript": true, + "dependencies": { + "blueimp-load-image": "^3.0.0", + "bmp-js": "^0.1.0", + "file-type": "^12.4.1", + "idb-keyval": "^3.2.0", + "is-electron": "^2.2.0", + "is-url": "^1.2.4", + "jpeg-autorotate": "^7.1.1", + "node-fetch": "^2.6.0", + "opencollective-postinstall": "^2.0.2", + "regenerator-runtime": "^0.13.3", + "resolve-url": "^0.2.1", + "tesseract.js-core": "^2.2.0", + "zlibjs": "^0.3.1" + } + }, + "node_modules/tesseract.js-core": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tesseract.js-core/-/tesseract.js-core-2.2.0.tgz", + "integrity": "sha512-a8L+OJTbUipBsEDsJhDPlnLB0TY1MkTZqw5dqUwmiDSjUzwvU7HWLg/2+WDRulKUi4LE+7PnHlaBlW0k+V0U0w==" + }, + "node_modules/tesseract.js/node_modules/file-type": { + "version": "12.4.2", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz", + "integrity": "sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==", + "engines": { + "node": ">=8" + } + }, + "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/thirty-two": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/thirty-two/-/thirty-two-0.0.2.tgz", + "integrity": "sha1-QlPinYywWPBIAmfFaYwOSSflS2o=", + "engines": { + "node": ">=0.2.6" + } + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/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/through2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/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.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.2.tgz", + "integrity": "sha1-q0iDz1l9zVCvIRNJoA+8pWrIa4Y=", + "dev": true, + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/timm": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz", + "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==" + }, + "node_modules/tiny-lr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz", + "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==", + "dev": true, + "dependencies": { + "body": "^5.1.0", + "debug": "^3.1.0", + "faye-websocket": "~0.10.0", + "livereload-js": "^2.3.0", + "object-assign": "^4.1.0", + "qs": "^6.4.0" + } + }, + "node_modules/tiny-lr/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/tiny-lr/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/tinycolor2": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", + "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==", + "engines": { + "node": "*" + } + }, + "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=", + "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=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/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/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": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/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/totalist": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", + "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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/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/triplesec": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/triplesec/-/triplesec-4.0.3.tgz", + "integrity": "sha512-fug70e1nJoCMxsXQJlETisAALohm84vl++IiTTHEqM7Lgqwz62jrlwqOC/gJEAJjO/ByN127sEcioB56HW3wIw==", + "dependencies": { + "iced-error": ">=0.0.9", + "iced-lock": "^1.0.1", + "iced-runtime": "^1.0.2", + "more-entropy": ">=0.0.7", + "progress": "~1.1.2", + "uglify-js": "^3.1.9" + } + }, + "node_modules/true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true, + "dependencies": { + "glob": "^7.1.2" + } + }, + "node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "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.13.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz", + "integrity": "sha1-1ii1bzvMPVrnS6nUwacE3vWrS1Y=" + }, + "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-detect": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", + "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/ua-parser-js": { + "version": "0.7.28", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz", + "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "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==" + }, + "node_modules/uglify-js": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.1.tgz", + "integrity": "sha512-JhS3hmcVaXlp/xSo3PKY5R0JqKs5M3IV+exdLHW99qKvKivPO4Z8qbej6mte17SOPqAOVMjt/XGgWacnFSzM3g==", + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uint64be": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uint64be/-/uint64be-1.0.1.tgz", + "integrity": "sha1-H3FUIC8qG4rzU4cd2mUb80zpPpU=" + }, + "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/unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" + }, + "node_modules/underscore.string": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz", + "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==", + "dev": true, + "dependencies": { + "sprintf-js": "^1.0.3", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": "*" + } + }, + "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.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "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/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/unorm": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz", + "integrity": "sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==", + "engines": { + "node": ">= 0.4.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/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/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-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "file-loader": "*", + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "file-loader": { + "optional": true + } + } + }, + "node_modules/url-loader/node_modules/loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/url-loader/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/url-parse": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz", + "integrity": "sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==", + "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/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/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" + }, + "node_modules/utif": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/utif/-/utif-2.0.1.tgz", + "integrity": "sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==", + "dependencies": { + "pako": "^1.0.5" + } + }, + "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/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "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/utile": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/utile/-/utile-0.3.0.tgz", + "integrity": "sha1-E1LDQOuCDk2N26A5pPv6oy7U7zo=", + "dev": true, + "dependencies": { + "async": "~0.9.0", + "deep-equal": "~0.2.1", + "i": "0.3.x", + "mkdirp": "0.x.x", + "ncp": "1.0.x", + "rimraf": "2.x.x" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/utile/node_modules/async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + }, + "node_modules/utile/node_modules/deep-equal": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.2.tgz", + "integrity": "sha1-hLdFiW80xoTpjyzg5Cq69Du6AX0=", + "dev": true + }, + "node_modules/utile/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/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.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/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/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/vkbeautify": { + "version": "0.99.3", + "resolved": "https://registry.npmjs.org/vkbeautify/-/vkbeautify-0.99.3.tgz", + "integrity": "sha512-2ozZEFfmVvQcHWoHLNuiKlUfDKlhh4KGsy54U0UrlLMR1SO+XKAIDqBxtBwHgNrekurlJwE8A9K6L49T78ZQ9Q==" + }, + "node_modules/watchpack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", + "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.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/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/webpack": { + "version": "5.51.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.51.0.tgz", + "integrity": "sha512-oySQoKUuf5r0JaPIYi8q90c/GmU9fGdSbZ0cAjFq3OWx57wniRTWvta1T9t+e5WZ6H6mHrxksNatkqfIEuTWGg==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.50", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.8.0", + "es-module-lexer": "^0.7.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.2.0", + "webpack-sources": "^3.2.0" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz", + "integrity": "sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ==", + "dev": true, + "dependencies": { + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "chalk": "^4.1.0", + "commander": "^6.2.0", + "gzip-size": "^6.0.0", + "lodash": "^4.17.20", + "opener": "^1.5.2", + "sirv": "^1.0.7", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/acorn": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", + "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/ws": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", + "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "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 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack-dev-server": { + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", + "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", + "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.3.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.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.8", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", + "spdy": "^4.0.2", + "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": "^13.3.2" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 6.11.5" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/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/webpack-dev-server/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/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/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.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/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/webpack-dev-server/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/webpack-dev-server/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/webpack-dev-server/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/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/ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.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-log/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/webpack-node-externals": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", + "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", + "dev": true, + "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/node_modules/acorn": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", + "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack/node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack/node_modules/webpack-sources": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.0.tgz", + "integrity": "sha512-fahN08Et7P9trej8xz/Z7eRu8ltyiygEo/hnRi9KqBUs80KeDcnf96ZJo++ewWd84fEf3xSX9bp4ZS9hbw0OBw==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-stream": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/websocket-stream/-/websocket-stream-5.5.2.tgz", + "integrity": "sha512-8z49MKIHbGk3C4HtuHWDtYX8mYej1wWabjthC/RupM9ngeukU4IWoM46dgth1UOS/T4/IqgEdCDJuMe2039OQQ==", + "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/websocket-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/websocket-stream/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/websocket-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/websocket-stream/node_modules/string_decoder/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/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/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.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/wide-align/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/wide-align/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/wide-align/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/wide-align/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/winston": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.5.tgz", + "integrity": "sha512-TWoamHt5yYvsMarGlGEQE59SbJHqGsZV8/lwC+iCcGeAe0vUaOh+Lv6SYM17ouzC/a/LB1/hz/7sxFBtlu1l4A==", + "dev": true, + "dependencies": { + "async": "~1.0.0", + "colors": "1.0.x", + "cycle": "1.0.x", + "eyes": "0.1.x", + "isstream": "0.1.x", + "stack-trace": "0.0.x" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/winston/node_modules/async": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", + "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=", + "dev": true + }, + "node_modules/winston/node_modules/colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "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-loader": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-3.0.8.tgz", + "integrity": "sha512-XQyQkIFeRVC7f7uRhFdNMe/iJOdO6zxAaR3EWbDp45v3mDhrTi+++oswKNxShUNjPC/1xUp5DB29YKLhFo129g==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/worker-loader/node_modules/loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/worker-loader/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "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/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/wrap-ansi/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/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/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/ws/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/xhr": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", + "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", + "dependencies": { + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/xml-parse-from-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", + "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=" + }, + "node_modules/xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "dependencies": { + "sax": ">=0.6.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==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmldom": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.6.0.tgz", + "integrity": "sha512-iAcin401y58LckRZ0TkI4k0VSM1Qg0KGSc3i8rU+xrxe19A/BN1zHyVSJY7uoutVlaTSzYyk/v5AmkewAP7jtg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/xpath": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.32.tgz", + "integrity": "sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw==", + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/xregexp": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-5.1.0.tgz", + "integrity": "sha512-PynwUWtXnSZr8tpQlDPMZfPTyv78EYuA4oI959ukxcQ0a9O/lvndLVKy5wpImzzA26eMxpZmnAXJYiQA13AtWA==", + "dependencies": { + "@babel/runtime-corejs3": "^7.14.9" + } + }, + "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.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": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "dependencies": { + "cliui": "^5.0.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": "^13.1.2" + } + }, + "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==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", + "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "dev": true, + "dependencies": { + "flat": "^4.1.0", + "lodash": "^4.17.15", + "yargs": "^13.3.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-unparser/node_modules/flat": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", + "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", + "dev": true, + "dependencies": { + "is-buffer": "~2.0.3" + }, + "bin": { + "flat": "cli.js" + } + }, + "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/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/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/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/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-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/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/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": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zlibjs": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/zlibjs/-/zlibjs-0.3.1.tgz", + "integrity": "sha1-UBl+2yihxCymWcyLTmqd3W1ERVQ=", + "engines": { + "node": "*" + } + } + }, "dependencies": { "@babel/code-frame": { "version": "7.14.5", @@ -1767,9 +20149,9 @@ "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" }, "@testim/chrome-version": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@testim/chrome-version/-/chrome-version-1.0.7.tgz", - "integrity": "sha512-8UT/J+xqCYfn3fKtOznAibsHpiuDshCb0fwgWxRazTT19Igp9ovoXMPhXyLD6m3CKQGTMHgqoxaFfMWaL40Rnw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@testim/chrome-version/-/chrome-version-1.1.2.tgz", + "integrity": "sha512-1c4ZOETSRpI0iBfIFUqU4KqwBAB2lHUAlBjZz/YqOHqwM9dTTzjV6Km0ZkiEiSCx/tLr1BtESIKyWWMww+RUqw==", "dev": true }, "@tootallnate/once": { @@ -1837,11 +20219,23 @@ "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": "16.6.2", "resolved": "https://registry.npmjs.org/@types/node/-/node-16.6.2.tgz", "integrity": "sha512-LSw8TZt12ZudbpHc6EkIyDM3nHVWKYrAvGy6EAJfNfjusbwnThqjqxUKKRwuV3iWYeW/LYMzNgaq3MaLffQ2xA==" }, + "@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 + }, "@types/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", @@ -2051,13 +20445,15 @@ "version": "1.7.6", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz", "integrity": "sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA==", - "dev": true + "dev": true, + "requires": {} }, "acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true + "dev": true, + "requires": {} }, "acorn-walk": { "version": "8.1.1", @@ -2117,13 +20513,15 @@ "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 + "dev": true, + "requires": {} }, "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true + "dev": true, + "requires": {} }, "amdefine": { "version": "1.0.1", @@ -2371,12 +20769,6 @@ "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", "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.2", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", @@ -2572,12 +20964,12 @@ "dev": true }, "axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", + "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", "dev": true, "requires": { - "follow-redirects": "^1.10.0" + "follow-redirects": "^1.14.4" } }, "babel-code-frame": { @@ -3032,7 +21424,8 @@ "bootstrap": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz", - "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==" + "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==", + "requires": {} }, "bootstrap-colorpicker": { "version": "3.4.0", @@ -3278,21 +21671,14 @@ "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=", + "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": "^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 - } + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" } }, "caniuse-lite": { @@ -3483,13 +21869,13 @@ "dev": true }, "chromedriver": { - "version": "92.0.1", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-92.0.1.tgz", - "integrity": "sha512-LptlDVCs1GgyFNVbRoHzzy948JDVzTgGiVPXjNj385qXKQP3hjAVBIgyvb/Hco0xSEW8fjwJfsm1eQRmu6t4pQ==", + "version": "97.0.2", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-97.0.2.tgz", + "integrity": "sha512-sOAfKCR3WsHvmKedZoWa+3tBVGdPtxq4zKxgKZCoJ2c924olBTW4Bnha6SHl93Yo7+QqsNn6ZpAC0ojhutacAg==", "dev": true, "requires": { - "@testim/chrome-version": "^1.0.7", - "axios": "^0.21.1", + "@testim/chrome-version": "^1.1.2", + "axios": "^0.24.0", "del": "^6.0.0", "extract-zip": "^2.0.1", "https-proxy-agent": "^5.0.0", @@ -3933,20 +22319,6 @@ "parse-json": "^5.0.0", "path-type": "^4.0.0", "yaml": "^1.10.0" - }, - "dependencies": { - "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" - } - } } }, "create-ecdh": { @@ -4110,15 +22482,6 @@ "resolved": "https://registry.npmjs.org/ctph.js/-/ctph.js-0.0.5.tgz", "integrity": "sha1-F+xd3R2+aPFRvj1EbPGNRhuV8uc=" }, - "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" - } - }, "cycle": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", @@ -4428,6 +22791,24 @@ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "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": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + } + } + }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", @@ -5997,9 +24378,9 @@ "dev": true }, "follow-redirects": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.2.tgz", - "integrity": "sha512-yLR6WaE2lbF0x4K2qE2p9PEXKLDjUjnR/xmjS3wHAYxtlsI9MLLBJUZirAHKzUZDGLxje7w/cXR49WOUo4rbsA==", + "version": "1.14.7", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", + "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==", "dev": true }, "for-in": { @@ -6641,7 +25022,8 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/grunt-exec/-/grunt-exec-3.0.0.tgz", "integrity": "sha512-cgAlreXf3muSYS5LzW0Cc4xHK03BjFOYk0MqCQ/MZ3k1Xz2GU7D+IAJg4UKicxpO+XdONJdx/NJ6kpy2wI+uHg==", - "dev": true + "dev": true, + "requires": {} }, "grunt-known-options": { "version": "2.0.0", @@ -6802,6 +25184,12 @@ "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", @@ -6963,10 +25351,13 @@ "dev": true }, "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 + "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" + } }, "hpack.js": { "version": "2.1.6", @@ -7365,7 +25756,8 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true + "dev": true, + "requires": {} }, "idb-keyval": { "version": "3.2.0", @@ -7729,12 +26121,6 @@ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "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": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -7823,6 +26209,12 @@ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "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": "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", @@ -7894,12 +26286,6 @@ "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" }, - "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", @@ -8410,19 +26796,6 @@ "xtend": "^4.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" - } - }, "loader-runner": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", @@ -8703,16 +27076,6 @@ "js-tokens": "^3.0.0 || ^4.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" - } - }, "lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -8764,9 +27127,9 @@ "dev": true }, "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "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": { @@ -8854,21 +27217,31 @@ } }, "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", "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" + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "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": { + "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 + } } }, "merge-descriptors": { @@ -8955,6 +27328,12 @@ "dom-walk": "^0.1.0" } }, + "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 + }, "mini-css-extract-plugin": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.7.tgz", @@ -9013,6 +27392,25 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, + "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" + }, + "dependencies": { + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + } + } + }, "minipass": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", @@ -9571,9 +27969,9 @@ "dev": true }, "node-sass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-5.0.0.tgz", - "integrity": "sha512-opNgmlu83ZCF792U281Ry7tak9IbVC+AKnXGovcQ8LG8wFaJv6cLnRlc6DIHlmNxWEexB5bZxi9SZ9JyUuOYjw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-6.0.1.tgz", + "integrity": "sha512-f+Rbqt92Ful9gX0cGtdYwjTrWAaGURgaK5rZCWOgCNyGWusFYHhbqCCBoFBeat+HKETOU02AyTxNhJV0YZf2jQ==", "dev": true, "requires": { "async-foreach": "^0.1.3", @@ -9583,8 +27981,7 @@ "get-stdin": "^4.0.1", "glob": "^7.0.3", "lodash": "^4.17.15", - "meow": "^3.7.0", - "mkdirp": "^0.5.1", + "meow": "^9.0.0", "nan": "^2.13.2", "node-gyp": "^7.1.0", "npmlog": "^4.0.0", @@ -9614,15 +28011,26 @@ } }, "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==", + "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": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } } }, "normalize-path": { @@ -10300,12 +28708,15 @@ "integrity": "sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==" }, "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "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": { - "error-ex": "^1.2.0" + "@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" } }, "parse-passwd": { @@ -10627,7 +29038,8 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true + "dev": true, + "requires": {} }, "postcss-modules-local-by-default": { "version": "4.0.0", @@ -10910,6 +29322,12 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, + "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 + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -10970,57 +29388,59 @@ } }, "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" }, "dependencies": { - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "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": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } + }, + "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": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "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": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" }, "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } + "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 } } }, @@ -11196,24 +29616,13 @@ } }, "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - }, - "dependencies": { - "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" - } - } + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" } }, "regenerate": { @@ -11344,15 +29753,6 @@ "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.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -12224,9 +30624,9 @@ } }, "spdx-license-ids": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz", - "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==", + "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 }, "spdy": { @@ -12471,6 +30871,14 @@ "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "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==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, "string-template": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", @@ -12525,14 +30933,6 @@ "define-properties": "^1.1.3" } }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -12541,15 +30941,6 @@ "ansi-regex": "^2.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" - } - }, "strip-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", @@ -12563,12 +30954,12 @@ "dev": true }, "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "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": { - "get-stdin": "^4.0.1" + "min-indent": "^1.0.0" } }, "strip-json-comments": { @@ -12581,7 +30972,8 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.2.1.tgz", "integrity": "sha512-1k9ZosJCRFaRbY6hH49JFlRB0fVSbmnyq1iTPjNxUmGVjBNEmwrrHPenhlp+Lgo51BojHSf6pl2FcqYaN3PfVg==", - "dev": true + "dev": true, + "requires": {} }, "supports-color": { "version": "2.0.0", @@ -12984,9 +31376,9 @@ } }, "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "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 }, "triplesec": { @@ -13615,7 +32007,8 @@ "version": "7.5.3", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==", - "dev": true + "dev": true, + "requires": {} } } }, diff --git a/package.json b/package.json index 7747b913..8e7c1a2a 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "babel-eslint": "^10.1.0", "babel-loader": "^8.2.2", "babel-plugin-dynamic-import-node": "^2.3.3", - "chromedriver": "^92.0.1", + "chromedriver": "^97.0.1", "cli-progress": "^3.9.0", "colors": "^1.4.0", "copy-webpack-plugin": "^9.0.1", From 2991e7d1fe24ecd04b0ab8ecc128f287eca91c19 Mon Sep 17 00:00:00 2001 From: john19696 <57751845+john19696@users.noreply.github.com> Date: Mon, 31 Jan 2022 10:31:19 +0000 Subject: [PATCH 275/754] Update Gruntfile.js add nodeFlags --- Gruntfile.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 1a11546a..5e043f60 100755 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -6,6 +6,8 @@ const BundleAnalyzerPlugin = require("webpack-bundle-analyzer").BundleAnalyzerPl const glob = require("glob"); const path = require("path"); +const nodeFlags = "--experimental-modules --experimental-json-modules --experimental-specifier-resolution=node --no-warnings --no-deprecation"; + /** * Grunt configuration for building the app in various formats. * @@ -356,8 +358,8 @@ module.exports = function (grunt) { command: chainCommands([ "echo '\n--- Regenerating config files. ---'", "echo [] > src/core/config/OperationConfig.json", - "node --experimental-modules --experimental-json-modules --no-warnings --no-deprecation src/core/config/scripts/generateOpsIndex.mjs", - "node --experimental-modules --experimental-json-modules --no-warnings --no-deprecation src/core/config/scripts/generateConfig.mjs", + "node ${nodeFlags} src/core/config/scripts/generateOpsIndex.mjs", + "node ${nodeFlags} src/core/config/scripts/generateConfig.mjs", "echo '--- Config scripts finished. ---\n'" ]), sync: true @@ -365,7 +367,7 @@ module.exports = function (grunt) { generateNodeIndex: { command: chainCommands([ "echo '\n--- Regenerating node index ---'", - "node --experimental-modules --experimental-json-modules --no-warnings --no-deprecation src/node/config/scripts/generateNodeIndex.mjs", + "node ${nodeFlags} src/node/config/scripts/generateNodeIndex.mjs", "echo '--- Node index generated. ---\n'" ]), sync: true @@ -393,21 +395,21 @@ module.exports = function (grunt) { testCJSNodeConsumer: { command: chainCommands([ `cd ${nodeConsumerTestPath}`, - "node --no-warnings cjs-consumer.js", + "node ${nodeFlags} cjs-consumer.js", ]), stdout: false, }, testESMNodeConsumer: { command: chainCommands([ `cd ${nodeConsumerTestPath}`, - "node --no-warnings --experimental-modules --experimental-json-modules esm-consumer.mjs", + "node ${nodeFlags} esm-consumer.mjs", ]), stdout: false, }, testESMDeepImportNodeConsumer: { command: chainCommands([ `cd ${nodeConsumerTestPath}`, - "node --no-warnings --experimental-modules --experimental-json-modules esm-deep-import-consumer.mjs", + "node ${nodeFlags} esm-deep-import-consumer.mjs", ]), stdout: false, }, From 2dbd6478684e4c10b99f6a71dd5f2ee553d7c644 Mon Sep 17 00:00:00 2001 From: John L Date: Mon, 31 Jan 2022 11:39:17 +0000 Subject: [PATCH 276/754] nodeFlags needs quote change --- .nvmrc | 2 +- Gruntfile.js | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.nvmrc b/.nvmrc index 03128968..53d838af 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -lts/dubnium +lts/gallium diff --git a/Gruntfile.js b/Gruntfile.js index 5e043f60..c0e46405 100755 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -351,15 +351,15 @@ module.exports = function (grunt) { command: "git gc --prune=now --aggressive" }, sitemap: { - command: "node --experimental-modules --experimental-json-modules --no-warnings --no-deprecation src/web/static/sitemap.mjs > build/prod/sitemap.xml", + command: `node ${nodeFlags} src/web/static/sitemap.mjs > build/prod/sitemap.xml`, sync: true }, generateConfig: { command: chainCommands([ "echo '\n--- Regenerating config files. ---'", "echo [] > src/core/config/OperationConfig.json", - "node ${nodeFlags} src/core/config/scripts/generateOpsIndex.mjs", - "node ${nodeFlags} src/core/config/scripts/generateConfig.mjs", + `node ${nodeFlags} src/core/config/scripts/generateOpsIndex.mjs`, + `node ${nodeFlags} src/core/config/scripts/generateConfig.mjs`, "echo '--- Config scripts finished. ---\n'" ]), sync: true @@ -367,7 +367,7 @@ module.exports = function (grunt) { generateNodeIndex: { command: chainCommands([ "echo '\n--- Regenerating node index ---'", - "node ${nodeFlags} src/node/config/scripts/generateNodeIndex.mjs", + `node ${nodeFlags} src/node/config/scripts/generateNodeIndex.mjs`, "echo '--- Node index generated. ---\n'" ]), sync: true @@ -395,21 +395,21 @@ module.exports = function (grunt) { testCJSNodeConsumer: { command: chainCommands([ `cd ${nodeConsumerTestPath}`, - "node ${nodeFlags} cjs-consumer.js", + `node ${nodeFlags} cjs-consumer.js`, ]), stdout: false, }, testESMNodeConsumer: { command: chainCommands([ `cd ${nodeConsumerTestPath}`, - "node ${nodeFlags} esm-consumer.mjs", + `node ${nodeFlags} esm-consumer.mjs`, ]), stdout: false, }, testESMDeepImportNodeConsumer: { command: chainCommands([ `cd ${nodeConsumerTestPath}`, - "node ${nodeFlags} esm-deep-import-consumer.mjs", + `node ${nodeFlags} esm-deep-import-consumer.mjs`, ]), stdout: false, }, From bca296ee37e6a86dc3a6b2b36f10265d57121587 Mon Sep 17 00:00:00 2001 From: John L Date: Fri, 4 Feb 2022 11:02:52 +0000 Subject: [PATCH 277/754] GitHub actions update --- .github/workflows/master.yml | 2 +- .github/workflows/pull_requests.yml | 2 +- .github/workflows/releases.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index aff9ecf1..86a1960f 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -14,7 +14,7 @@ jobs: - name: Set node version uses: actions/setup-node@v1 with: - node-version: '10.x' + node-version: '16.x' - name: Install run: | diff --git a/.github/workflows/pull_requests.yml b/.github/workflows/pull_requests.yml index d9552db8..827c1ab5 100644 --- a/.github/workflows/pull_requests.yml +++ b/.github/workflows/pull_requests.yml @@ -13,7 +13,7 @@ jobs: - name: Set node version uses: actions/setup-node@v1 with: - node-version: '10.x' + node-version: '16.x' - name: Install run: | diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index 383ce967..844c6a50 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -14,7 +14,7 @@ jobs: - name: Set node version uses: actions/setup-node@v1 with: - node-version: '10.x' + node-version: '16.x' - name: Install run: | From add745551b0d1ff8e58bc9f05f6f2c157c34cbb6 Mon Sep 17 00:00:00 2001 From: John L Date: Fri, 11 Feb 2022 16:56:58 +0000 Subject: [PATCH 278/754] WIP --- tests/browser/ops.js | 53 +++++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/tests/browser/ops.js b/tests/browser/ops.js index 8d23cabd..8aa5e7ad 100644 --- a/tests/browser/ops.js +++ b/tests/browser/ops.js @@ -6,6 +6,9 @@ * @license Apache-2.0 */ +// import Images from "../operations/samples/Images.mjs"; +const Images = import("../operations/samples/Images.mjs"); + module.exports = { before: browser => { browser @@ -44,42 +47,42 @@ module.exports = { // testOp(browser, "Bifid Cipher Encode", "test input", "test_output"); // testOp(browser, "Bit shift left", "test input", "test_output"); // testOp(browser, "Bit shift right", "test input", "test_output"); - // testOp(browser, "Blowfish Decrypt", "test input", "test_output"); - // testOp(browser, "Blowfish Encrypt", "test input", "test_output"); - // testOp(browser, "Blur Image", "test input", "test_output"); + testOp(browser, "Blowfish Decrypt", "10884e15427dd84ec35204e9c8e921ae", "test_output", [{"option": "Hex", "string": "1234567801234567"}, {"option": "Hex", "string": "0011223344556677"}, "CBC", "Hex", "Raw"]); + testOp(browser, "Blowfish Encrypt", "test input", "f0fadbd1d90d774f714248cf26b96410", [{"option": "Hex", "string": "1234567801234567"}, {"option": "Hex", "string": "0011223344556677"}, "CBC", "Raw", "Hex"]); + testOp(browser, "Blur Image", Images.PNG_HEX, "test_output"); // testOp(browser, "Bombe", "test input", "test_output"); - // testOp(browser, "Bzip2 Compress", "test input", "test_output"); - // testOp(browser, "Bzip2 Decompress", "test input", "test_output"); - // testOp(browser, "CRC-16 Checksum", "test input", "test_output"); - // testOp(browser, "CRC-32 Checksum", "test input", "test_output"); - // testOp(browser, "CRC-8 Checksum", "test input", "test_output"); - // testOp(browser, "CSS Beautify", "test input", "test_output"); - // testOp(browser, "CSS Minify", "test input", "test_output"); - // testOp(browser, "CSS selector", "test input", "test_output"); + testOp(browser, "Bzip2 Compress", "test input", "test_output"); + testOp(browser, "Bzip2 Decompress", "test input", "test_output"); + testOp(browser, "CRC-16 Checksum", "test input", "test_output"); + testOp(browser, "CRC-32 Checksum", "test input", "test_output"); + testOp(browser, "CRC-8 Checksum", "test input", "test_output"); + testOp(browser, "CSS Beautify", "test input", "test_output"); + testOp(browser, "CSS Minify", "test input", "test_output"); + testOp(browser, "CSS selector", "test input", "test_output"); // testOp(browser, "CSV to JSON", "test input", "test_output"); - // testOp(browser, "CTPH", "test input", "test_output"); + testOp(browser, "CTPH", "test input", "test_output"); // testOp(browser, "Cartesian Product", "test input", "test_output"); // testOp(browser, "Change IP format", "test input", "test_output"); - // testOp(browser, "Chi Square", "test input", "test_output"); + testOp(browser, "Chi Square", "test input", "test_output"); // testOp(browser, "CipherSaber2 Decrypt", "test input", "test_output"); // testOp(browser, "CipherSaber2 Encrypt", "test input", "test_output"); // testOp(browser, "Citrix CTX1 Decode", "test input", "test_output"); // testOp(browser, "Citrix CTX1 Encode", "test input", "test_output"); // testOp(browser, "Colossus", "test input", "test_output"); // testOp(browser, "Comment", "test input", "test_output"); - // testOp(browser, "Compare CTPH hashes", "test input", "test_output"); - // testOp(browser, "Compare SSDEEP hashes", "test input", "test_output"); - // testOp(browser, "Conditional Jump", "test input", "test_output"); - // testOp(browser, "Contain Image", "test input", "test_output"); - // testOp(browser, "Convert area", "test input", "test_output"); - // testOp(browser, "Convert co-ordinate format", "test input", "test_output"); - // testOp(browser, "Convert data units", "test input", "test_output"); - // testOp(browser, "Convert distance", "test input", "test_output"); + testOp(browser, "Compare CTPH hashes", "test input", "test_output"); + testOp(browser, "Compare SSDEEP hashes", "test input", "test_output"); + // /testOp(browser, "Conditional Jump", "test input", "test_output"); + testOp(browser, "Contain Image", "test input", "test_output"); + testOp(browser, "Convert area", "test input", "test_output"); + // /testOp(browser, "Convert co-ordinate format", "test input", "test_output"); + testOp(browser, "Convert data units", "test input", "test_output"); + testOp(browser, "Convert distance", "test input", "test_output"); // testOp(browser, "Convert Image Format", "test input", "test_output"); - // testOp(browser, "Convert mass", "test input", "test_output"); - // testOp(browser, "Convert speed", "test input", "test_output"); - // testOp(browser, "Convert to NATO alphabet", "test input", "test_output"); - // testOp(browser, "Count occurrences", "test input", "test_output"); + testOp(browser, "Convert mass", "test input", "test_output"); + testOp(browser, "Convert speed", "test input", "test_output"); + // /testOp(browser, "Convert to NATO alphabet", "test input", "test_output"); + testOp(browser, "Count occurrences", "test input", "test_output"); // testOp(browser, "Cover Image", "test input", "test_output"); // testOp(browser, "Crop Image", "test input", "test_output"); // testOp(browser, "DES Decrypt", "test input", "test_output"); From c962bb79f50bc90fff09f11596824e249758767c Mon Sep 17 00:00:00 2001 From: n1073645 Date: Wed, 23 Mar 2022 09:28:32 +0000 Subject: [PATCH 279/754] Updated Dependencies --- package-lock.json | 217 ++++++++++++++++++++++++++-------------------- package.json | 2 +- 2 files changed, 125 insertions(+), 94 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6fa9016e..1355b2ad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2572,12 +2572,12 @@ "dev": true }, "axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "dev": true, "requires": { - "follow-redirects": "^1.10.0" + "follow-redirects": "^1.14.0" } }, "babel-code-frame": { @@ -3296,9 +3296,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001251", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001251.tgz", - "integrity": "sha512-HOe1r+9VkU4TFmnU70z+r7OLmtR+/chB1rdcJUeQlAinjEeb0cKL20tlAtOagNZhbrtLnCvV19B4FmF1rgzl6A==", + "version": "1.0.30001319", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001319.tgz", + "integrity": "sha512-xjlIAFHucBRSMUo1kb5D4LYgcN1M45qdKP++lhqowDpwJwGkpIRTt5qQqnhxjj1vHcI7nrJxWhCC1ATrCEBTcw==", "dev": true }, "caseless": { @@ -5135,9 +5135,9 @@ } }, "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "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": { @@ -5997,9 +5997,9 @@ "dev": true }, "follow-redirects": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.2.tgz", - "integrity": "sha512-yLR6WaE2lbF0x4K2qE2p9PEXKLDjUjnR/xmjS3wHAYxtlsI9MLLBJUZirAHKzUZDGLxje7w/cXR49WOUo4rbsA==", + "version": "1.14.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", + "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", "dev": true }, "for-in": { @@ -7330,9 +7330,9 @@ } }, "i": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz", - "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0=", + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/i/-/i-0.3.7.tgz", + "integrity": "sha512-FYz4wlXgkQwIPqhzC5TdNMLSE5+GS1IIDJZY/1ZiEPCT2S3COUVZeT5OW4BmW4r5LHLQuOosSwsvnroG9GR59Q==", "dev": true }, "iced-error": { @@ -8123,12 +8123,6 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "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", @@ -8213,15 +8207,23 @@ } }, "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "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.2.3", + "json-schema": "0.4.0", "verror": "1.10.0" + }, + "dependencies": { + "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 + } } }, "jsqr": { @@ -8382,9 +8384,9 @@ "dev": true }, "linkify-it": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.2.tgz", - "integrity": "sha512-gDBO4aHNZS6coiZCKVhSNh43F9ioIL4JwRjLZPkoLIY4yZFwg264Y5lu2x6rb1Js42Gh6Yqm2f6L2AJcnkzinQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", "requires": { "uc.micro": "^1.0.1" } @@ -8779,9 +8781,9 @@ } }, "markdown-it": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.2.0.tgz", - "integrity": "sha512-Wjws+uCrVQRqOoJvze4HCqkKl1AsSh95iFAeQDwnyfxM09divCBSXlDR1uTvyUP3Grzpn4Ru8GeCxYPM8vkCQg==", + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", "requires": { "argparse": "^2.0.1", "entities": "~2.1.0", @@ -9104,6 +9106,12 @@ "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", "dev": true }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -9151,6 +9159,12 @@ "path-is-absolute": "^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 + }, "js-yaml": { "version": "3.13.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", @@ -9213,6 +9227,25 @@ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -9237,6 +9270,15 @@ "isexe": "^2.0.0" } }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, "yargs-parser": { "version": "13.1.2", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", @@ -9317,9 +9359,9 @@ "dev": true }, "nanoid": { - "version": "3.1.25", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", - "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", + "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", "dev": true }, "nanomatch": { @@ -9411,9 +9453,9 @@ }, "dependencies": { "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "semver": { @@ -9454,9 +9496,12 @@ } }, "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } }, "node-forge": { "version": "0.10.0", @@ -9672,9 +9717,9 @@ } }, "nth-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", - "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", "dev": true, "requires": { "boolbase": "^1.0.0" @@ -9916,9 +9961,9 @@ }, "dependencies": { "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "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": { @@ -12489,9 +12534,9 @@ }, "dependencies": { "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "strip-ansi": { @@ -12638,9 +12683,9 @@ } }, "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "json-schema-traverse": { @@ -12983,6 +13028,11 @@ "punycode": "^2.1.1" } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, "trim-newlines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", @@ -13292,9 +13342,9 @@ } }, "url-parse": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz", - "integrity": "sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==", + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, "requires": { "querystringify": "^2.1.1", @@ -13470,6 +13520,11 @@ "defaults": "^1.0.3" } }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, "webpack": { "version": "5.51.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.51.0.tgz", @@ -13915,6 +13970,15 @@ } } }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -13944,45 +14008,12 @@ "dev": true }, "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "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" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "string-width": "^1.0.2 || 2 || 3 || 4" } }, "winston": { diff --git a/package.json b/package.json index 78a8696b..f21e6713 100644 --- a/package.json +++ b/package.json @@ -133,7 +133,7 @@ "lodash": "^4.17.21", "loglevel": "^1.7.1", "loglevel-message-prefix": "^3.0.0", - "markdown-it": "^12.2.0", + "markdown-it": "^12.3.2", "moment": "^2.29.1", "moment-timezone": "^0.5.33", "ngeohash": "^0.6.3", From 2a5cee0bd32c83d0471bea448517e2ca3d17f518 Mon Sep 17 00:00:00 2001 From: n1073645 Date: Wed, 23 Mar 2022 09:31:17 +0000 Subject: [PATCH 280/754] 9.32.4 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1355b2ad..f3f55df5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.32.3", + "version": "9.32.4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index f21e6713..f77e63b5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.32.3", + "version": "9.32.4", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From b09f98fbb440a3dbdb36f6e08be519625dace39f Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 25 Mar 2022 14:59:54 +0000 Subject: [PATCH 281/754] Updated to Node 17 --- .github/workflows/master.yml | 2 +- .github/workflows/pull_requests.yml | 2 +- .github/workflows/releases.yml | 2 +- .nvmrc | 2 +- babel.config.js | 1 + package-lock.json | 2975 +++++++++++++-------------- package.json | 17 +- src/core/ChefWorker.js | 2 +- src/core/Recipe.mjs | 2 +- src/core/lib/Magic.mjs | 2 +- src/node/api.mjs | 2 +- src/web/index.js | 4 +- src/web/static/sitemap.mjs | 2 +- tests/node/tests/Categories.mjs | 4 +- 14 files changed, 1488 insertions(+), 1531 deletions(-) diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 86a1960f..9303ca8c 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -14,7 +14,7 @@ jobs: - name: Set node version uses: actions/setup-node@v1 with: - node-version: '16.x' + node-version: '17.x' - name: Install run: | diff --git a/.github/workflows/pull_requests.yml b/.github/workflows/pull_requests.yml index 827c1ab5..210af0c4 100644 --- a/.github/workflows/pull_requests.yml +++ b/.github/workflows/pull_requests.yml @@ -13,7 +13,7 @@ jobs: - name: Set node version uses: actions/setup-node@v1 with: - node-version: '16.x' + node-version: '17.x' - name: Install run: | diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index 844c6a50..a77f1d0c 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -14,7 +14,7 @@ jobs: - name: Set node version uses: actions/setup-node@v1 with: - node-version: '16.x' + node-version: '17.x' - name: Install run: | diff --git a/.nvmrc b/.nvmrc index 53d838af..cac37d92 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -lts/gallium +17.* \ No newline at end of file diff --git a/babel.config.js b/babel.config.js index 4e9503c4..deab9108 100644 --- a/babel.config.js +++ b/babel.config.js @@ -11,6 +11,7 @@ module.exports = function(api) { ], "plugins": [ "dynamic-import-node", + "@babel/plugin-syntax-import-assertions", [ "babel-plugin-transform-builtin-extend", { "globals": ["Error"] diff --git a/package-lock.json b/package-lock.json index 3bac81b2..8833018f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,17 +1,16 @@ { "name": "cyberchef", "version": "9.32.4", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cyberchef", - "version": "9.32.3", + "version": "9.32.4", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { "@babel/polyfill": "^7.12.1", - "@babel/runtime": "^7.15.3", "arrive": "^2.4.1", "avsc": "^5.7.3", "babel-plugin-transform-builtin-extend": "1.1.2", @@ -27,7 +26,6 @@ "cbor": "5.0.1", "chi-squared": "^1.1.0", "codepage": "^1.15.0", - "core-js": "^3.16.2", "crypto-api": "^0.8.5", "crypto-browserify": "^3.12.0", "crypto-js": "^4.1.1", @@ -59,7 +57,7 @@ "lodash": "^4.17.21", "loglevel": "^1.7.1", "loglevel-message-prefix": "^3.0.0", - "markdown-it": "^12.2.0", + "markdown-it": "^12.3.2", "moment": "^2.29.1", "moment-timezone": "^0.5.33", "ngeohash": "^0.6.3", @@ -92,17 +90,20 @@ "zlibjs": "^0.3.1" }, "devDependencies": { - "@babel/core": "^7.15.0", - "@babel/plugin-transform-runtime": "^7.15.0", - "@babel/preset-env": "^7.15.0", + "@babel/core": "^7.17.8", + "@babel/plugin-syntax-import-assertions": "^7.16.7", + "@babel/plugin-transform-runtime": "^7.17.0", + "@babel/preset-env": "^7.16.11", + "@babel/runtime": "^7.17.8", "autoprefixer": "^10.3.1", "babel-eslint": "^10.1.0", - "babel-loader": "^8.2.2", + "babel-loader": "^8.2.4", "babel-plugin-dynamic-import-node": "^2.3.3", - "chromedriver": "^97.0.1", + "chromedriver": "^99.0.0", "cli-progress": "^3.9.0", "colors": "^1.4.0", "copy-webpack-plugin": "^9.0.1", + "core-js": "^3.21.1", "css-loader": "5.2.7", "eslint": "^7.32.0", "exports-loader": "^3.0.0", @@ -133,55 +134,67 @@ "style-loader": "^3.2.1", "svg-url-loader": "^7.1.1", "url-loader": "^4.1.1", - "webpack": "^5.51.0", + "webpack": "^5.70.0", "webpack-bundle-analyzer": "^4.4.2", "webpack-dev-server": "3.11.2", "webpack-node-externals": "^3.0.0", "worker-loader": "^3.0.8" } }, - "node_modules/@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "node_modules/@ampproject/remapping": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", + "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", "dev": true, "dependencies": { - "@babel/highlight": "^7.14.5" + "@jridgewell/trace-mapping": "^0.3.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "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/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", + "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz", - "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz", + "integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.0", - "@babel/helper-module-transforms": "^7.15.0", - "@babel/helpers": "^7.14.8", - "@babel/parser": "^7.15.0", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0", + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.7", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helpers": "^7.17.8", + "@babel/parser": "^7.17.8", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" + "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" @@ -223,22 +236,13 @@ "semver": "bin/semver.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/generator": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz", - "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz", + "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==", "dev": true, "dependencies": { - "@babel/types": "^7.15.0", + "@babel/types": "^7.17.0", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, @@ -268,39 +272,39 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", - "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", - "integrity": "sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", + "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", "dev": true, "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-explode-assignable-expression": "^7.16.7", + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz", - "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", + "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", + "@babel/compat-data": "^7.17.7", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.17.5", "semver": "^6.3.0" }, "engines": { @@ -320,17 +324,18 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.0.tgz", - "integrity": "sha512-MdmDXgvTIi4heDVX/e9EFfeGpugqm9fobBVg/iioE8kueXrOHdRDe36FAY7SnE9xXLVeYCoJR/gdrBEIHRC83Q==", + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz", + "integrity": "sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-member-expression-to-functions": "^7.15.0", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.0", - "@babel/helper-split-export-declaration": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -340,13 +345,13 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", - "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz", + "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "regexpu-core": "^4.7.1" + "@babel/helper-annotate-as-pure": "^7.16.7", + "regexpu-core": "^5.0.1" }, "engines": { "node": ">=6.9.0" @@ -356,9 +361,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", - "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", + "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.13.0", @@ -375,9 +380,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -406,239 +411,252 @@ "semver": "bin/semver.js" } }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz", - "integrity": "sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==", + "node_modules/@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", + "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", - "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", + "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", "dev": true, "dependencies": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-get-function-arity": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", + "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz", - "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", + "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", "dev": true, "dependencies": { - "@babel/types": "^7.15.0" + "@babel/types": "^7.17.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz", - "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", + "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.0", - "@babel/helper-simple-access": "^7.14.8", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.9", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz", - "integrity": "sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", + "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-wrap-function": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.8", + "@babel/types": "^7.16.8" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz", - "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", + "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", "dev": true, "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.15.0", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", - "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", + "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", "dev": true, "dependencies": { - "@babel/types": "^7.14.8" + "@babel/types": "^7.17.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz", - "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", + "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/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz", - "integrity": "sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", + "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-function-name": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.8", + "@babel/types": "^7.16.8" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz", - "integrity": "sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz", + "integrity": "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==", "dev": true, "dependencies": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -691,9 +709,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz", - "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz", + "integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -702,15 +720,30 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==", + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", + "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", - "@babel/plugin-proposal-optional-chaining": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", + "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -720,13 +753,13 @@ } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.9.tgz", - "integrity": "sha512-d1lnh+ZnKrFKwtTYdw320+sQWCTwgkB9fmUhNXRADA4akR6wLjaruSGnIEUjpt9HCOwTr4ynFTKu19b7rFRpmw==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", + "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8", "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { @@ -737,13 +770,13 @@ } }, "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", - "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", + "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -753,13 +786,13 @@ } }, "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz", - "integrity": "sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==", + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz", + "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.17.6", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { @@ -770,12 +803,12 @@ } }, "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", - "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", + "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { @@ -786,12 +819,12 @@ } }, "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", - "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", + "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { @@ -802,12 +835,12 @@ } }, "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", - "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", + "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { @@ -818,12 +851,12 @@ } }, "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", - "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", + "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -834,12 +867,12 @@ } }, "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", - "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", + "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { @@ -850,12 +883,12 @@ } }, "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", - "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", + "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { @@ -866,16 +899,16 @@ } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz", - "integrity": "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==", + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz", + "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.14.7", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/compat-data": "^7.17.0", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.14.5" + "@babel/plugin-transform-parameters": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -885,12 +918,12 @@ } }, "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", - "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", + "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { @@ -901,13 +934,13 @@ } }, "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", + "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { @@ -918,13 +951,13 @@ } }, "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", - "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", + "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.16.10", + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -934,14 +967,14 @@ } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", + "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -952,13 +985,13 @@ } }, "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", - "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", + "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=4" @@ -1030,6 +1063,21 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.16.7.tgz", + "integrity": "sha512-DoM/wsaMaDXpM2fa+QkZeqqfYs340WTY+boLRiZ7ckqt3PAFt1CdGmMXVniFCcN8RuStim2Z4Co3bIKdWjTXIQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", @@ -1145,12 +1193,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", - "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", + "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1160,14 +1208,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", - "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", + "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5" + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8" }, "engines": { "node": ">=6.9.0" @@ -1177,12 +1225,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", - "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1192,12 +1240,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz", - "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", + "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1207,17 +1255,18 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.9.tgz", - "integrity": "sha512-NfZpTcxU3foGWbl4wxmZ35mTsYJy8oQocbeIMoDAGGFarAmSQlL+LWMkDx/tj6pNotpbX3rltIA4dprgAPOq5A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", + "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", "globals": "^11.1.0" }, "engines": { @@ -1237,12 +1286,12 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", - "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", + "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1252,12 +1301,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", - "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz", + "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1267,13 +1316,13 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", - "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", + "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1283,12 +1332,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", - "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", + "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1298,13 +1347,13 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", - "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", + "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", "dev": true, "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1314,12 +1363,12 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz", - "integrity": "sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", + "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1329,13 +1378,14 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", - "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", + "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1345,12 +1395,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", - "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", + "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1360,12 +1410,12 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", - "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1375,13 +1425,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", - "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", + "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { @@ -1392,14 +1442,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.0.tgz", - "integrity": "sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz", + "integrity": "sha512-ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.15.0", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-simple-access": "^7.14.8", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { @@ -1410,15 +1460,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz", - "integrity": "sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz", + "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==", "dev": true, "dependencies": { - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { @@ -1429,13 +1479,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", - "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", + "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1445,12 +1495,12 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz", - "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", + "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1460,12 +1510,12 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", - "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", + "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1475,13 +1525,13 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", - "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1491,12 +1541,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", - "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", + "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1506,12 +1556,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", - "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1521,9 +1571,9 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", - "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", + "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", "dev": true, "dependencies": { "regenerator-transform": "^0.14.2" @@ -1536,12 +1586,12 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", - "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", + "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1551,16 +1601,16 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.15.0.tgz", - "integrity": "sha512-sfHYkLGjhzWTq6xsuQ01oEsUYjkHRux9fW1iUA68dC7Qd8BS1Unq4aZ8itmQp95zUzIcyR2EbNMTzAicFj+guw==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz", + "integrity": "sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.2", - "babel-plugin-polyfill-regenerator": "^0.2.2", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", "semver": "^6.3.0" }, "engines": { @@ -1580,12 +1630,12 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", - "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", + "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1595,13 +1645,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz", - "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", + "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" }, "engines": { "node": ">=6.9.0" @@ -1611,12 +1661,12 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", - "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", + "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1626,12 +1676,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", - "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", + "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1641,12 +1691,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", - "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", + "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1656,12 +1706,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", - "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", + "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1671,13 +1721,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", - "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", + "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1704,31 +1754,32 @@ "hasInstallScript": true }, "node_modules/@babel/preset-env": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.0.tgz", - "integrity": "sha512-FhEpCNFCcWW3iZLg0L2NPE9UerdtsCR6ZcsGHUX6Om6kbCQeL5QZDqFDmeNHC6/fy6UH3jEge7K4qG5uC9In0Q==", + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", + "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.0", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-async-generator-functions": "^7.14.9", - "@babel/plugin-proposal-class-properties": "^7.14.5", - "@babel/plugin-proposal-class-static-block": "^7.14.5", - "@babel/plugin-proposal-dynamic-import": "^7.14.5", - "@babel/plugin-proposal-export-namespace-from": "^7.14.5", - "@babel/plugin-proposal-json-strings": "^7.14.5", - "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", - "@babel/plugin-proposal-numeric-separator": "^7.14.5", - "@babel/plugin-proposal-object-rest-spread": "^7.14.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", - "@babel/plugin-proposal-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-private-methods": "^7.14.5", - "@babel/plugin-proposal-private-property-in-object": "^7.14.5", - "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "@babel/compat-data": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-async-generator-functions": "^7.16.8", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.16.7", + "@babel/plugin-proposal-json-strings": "^7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-private-methods": "^7.16.11", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", @@ -1743,44 +1794,44 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.14.5", - "@babel/plugin-transform-async-to-generator": "^7.14.5", - "@babel/plugin-transform-block-scoped-functions": "^7.14.5", - "@babel/plugin-transform-block-scoping": "^7.14.5", - "@babel/plugin-transform-classes": "^7.14.9", - "@babel/plugin-transform-computed-properties": "^7.14.5", - "@babel/plugin-transform-destructuring": "^7.14.7", - "@babel/plugin-transform-dotall-regex": "^7.14.5", - "@babel/plugin-transform-duplicate-keys": "^7.14.5", - "@babel/plugin-transform-exponentiation-operator": "^7.14.5", - "@babel/plugin-transform-for-of": "^7.14.5", - "@babel/plugin-transform-function-name": "^7.14.5", - "@babel/plugin-transform-literals": "^7.14.5", - "@babel/plugin-transform-member-expression-literals": "^7.14.5", - "@babel/plugin-transform-modules-amd": "^7.14.5", - "@babel/plugin-transform-modules-commonjs": "^7.15.0", - "@babel/plugin-transform-modules-systemjs": "^7.14.5", - "@babel/plugin-transform-modules-umd": "^7.14.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9", - "@babel/plugin-transform-new-target": "^7.14.5", - "@babel/plugin-transform-object-super": "^7.14.5", - "@babel/plugin-transform-parameters": "^7.14.5", - "@babel/plugin-transform-property-literals": "^7.14.5", - "@babel/plugin-transform-regenerator": "^7.14.5", - "@babel/plugin-transform-reserved-words": "^7.14.5", - "@babel/plugin-transform-shorthand-properties": "^7.14.5", - "@babel/plugin-transform-spread": "^7.14.6", - "@babel/plugin-transform-sticky-regex": "^7.14.5", - "@babel/plugin-transform-template-literals": "^7.14.5", - "@babel/plugin-transform-typeof-symbol": "^7.14.5", - "@babel/plugin-transform-unicode-escapes": "^7.14.5", - "@babel/plugin-transform-unicode-regex": "^7.14.5", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.15.0", - "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.2", - "babel-plugin-polyfill-regenerator": "^0.2.2", - "core-js-compat": "^3.16.0", + "@babel/plugin-transform-arrow-functions": "^7.16.7", + "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.16.7", + "@babel/plugin-transform-classes": "^7.16.7", + "@babel/plugin-transform-computed-properties": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.16.8", + "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-umd": "^7.16.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.16.7", + "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.8", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.20.2", "semver": "^6.3.0" }, "engines": { @@ -1800,9 +1851,9 @@ } }, "node_modules/@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", @@ -1816,9 +1867,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz", - "integrity": "sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.8.tgz", + "integrity": "sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA==", "dependencies": { "regenerator-runtime": "^0.13.4" }, @@ -1839,32 +1890,33 @@ } }, "node_modules/@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz", - "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==", + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz", + "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.0", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.15.0", - "@babel/types": "^7.15.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.3", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.17.3", + "@babel/types": "^7.17.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1905,12 +1957,12 @@ "dev": true }, "node_modules/@babel/types": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", - "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", + "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.14.9", + "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -2480,6 +2532,31 @@ "regenerator-runtime": "^0.13.3" } }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", + "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", + "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz", + "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -2591,9 +2668,9 @@ } }, "node_modules/@types/eslint": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz", - "integrity": "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", + "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", "dev": true, "dependencies": { "@types/estree": "*", @@ -2601,9 +2678,9 @@ } }, "node_modules/@types/eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==", + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", "dev": true, "dependencies": { "@types/eslint": "*", @@ -2611,9 +2688,9 @@ } }, "node_modules/@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", "dev": true }, "node_modules/@types/glob": { @@ -3571,13 +3648,13 @@ } }, "node_modules/babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", - "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.4.tgz", + "integrity": "sha512-8dytA3gcvPPPv4Grjhnt8b5IIiTcq/zeXOPk4iTYI0SVXcsmuGg7JtBRDp8S9X+gJfhQ8ektjXZlDu1Bb33U8A==", "dev": true, "dependencies": { "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", + "loader-utils": "^2.0.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, @@ -3607,13 +3684,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", - "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", + "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", "dev": true, "dependencies": { "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.2", + "@babel/helper-define-polyfill-provider": "^0.3.1", "semver": "^6.1.1" }, "peerDependencies": { @@ -3630,25 +3707,25 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz", - "integrity": "sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", + "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.2.2", - "core-js-compat": "^3.14.0" + "@babel/helper-define-polyfill-provider": "^0.3.1", + "core-js-compat": "^3.21.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", - "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", + "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.2.2" + "@babel/helper-define-polyfill-provider": "^0.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -4192,26 +4269,32 @@ } }, "node_modules/browserslist": { - "version": "4.16.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.8.tgz", - "integrity": "sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ==", + "version": "4.20.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", + "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], "dependencies": { - "caniuse-lite": "^1.0.30001251", - "colorette": "^1.3.0", - "electron-to-chromium": "^1.3.811", + "caniuse-lite": "^1.0.30001317", + "electron-to-chromium": "^1.4.84", "escalade": "^3.1.1", - "node-releases": "^1.1.75" + "node-releases": "^2.0.2", + "picocolors": "^1.0.0" }, "bin": { "browserslist": "cli.js" }, "engines": { "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" } }, "node_modules/bson": { @@ -4398,14 +4481,20 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001251", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001251.tgz", - "integrity": "sha512-HOe1r+9VkU4TFmnU70z+r7OLmtR+/chB1rdcJUeQlAinjEeb0cKL20tlAtOagNZhbrtLnCvV19B4FmF1rgzl6A==", + "version": "1.0.30001320", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz", + "integrity": "sha512-MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA==", "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] }, "node_modules/caseless": { "version": "0.12.0", @@ -4474,7 +4563,7 @@ "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.", + "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", @@ -4625,9 +4714,9 @@ } }, "node_modules/chromedriver": { - "version": "97.0.2", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-97.0.2.tgz", - "integrity": "sha512-sOAfKCR3WsHvmKedZoWa+3tBVGdPtxq4zKxgKZCoJ2c924olBTW4Bnha6SHl93Yo7+QqsNn6ZpAC0ojhutacAg==", + "version": "99.0.0", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-99.0.0.tgz", + "integrity": "sha512-pyB+5LuyZdb7EBPL3i5D5yucZUD+SlkdiUtmpjaEnLd9zAXp+SvD/hP5xF4l/ZmWvUo/1ZLxAI1YBdhazGTpgA==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -5136,9 +5225,10 @@ } }, "node_modules/core-js": { - "version": "3.16.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.2.tgz", - "integrity": "sha512-P0KPukO6OjMpjBtHSceAZEWlDD1M2Cpzpg6dBbrjFqFhBHe/BwhxaP820xKOjRn/lZRQirrCusIpLS/n2sgXLQ==", + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.21.1.tgz", + "integrity": "sha512-FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig==", + "dev": true, "hasInstallScript": true, "funding": { "type": "opencollective", @@ -5146,12 +5236,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.16.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.16.2.tgz", - "integrity": "sha512-4lUshXtBXsdmp8cDWh6KKiHUg40AjiuPD3bOWkNVsr1xkAhpUqCjaZ8lB1bKx9Gb5fXcbRbFJ4f4qpRIRTuJqQ==", + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.1.tgz", + "integrity": "sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g==", "dev": true, "dependencies": { - "browserslist": "^4.16.7", + "browserslist": "^4.19.1", "semver": "7.0.0" }, "funding": { @@ -5312,20 +5402,6 @@ "webpack": "^4.27.0 || ^5.0.0" } }, - "node_modules/css-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, "node_modules/css-loader/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -6288,9 +6364,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.3.812", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.812.tgz", - "integrity": "sha512-7KiUHsKAWtSrjVoTSzxQ0nPLr/a+qoxNZwkwd9LkylTOgOXSVXkQbpIVT0WAUQcI5gXq3SwOTCrK+WfINHOXQg==", + "version": "1.4.93", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.93.tgz", + "integrity": "sha512-ywq9Pc5Gwwpv7NG767CtoU8xF3aAUQJjH9//Wy3MBCg4w5JSLbJUq2L8IsCdzPMjvSgxuue9WcVaTOyyxCL0aQ==", "dev": true }, "node_modules/elliptic": { @@ -6346,9 +6422,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz", - "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==", + "version": "5.9.2", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz", + "integrity": "sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -6461,9 +6537,9 @@ } }, "node_modules/es-module-lexer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz", - "integrity": "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", "dev": true }, "node_modules/es-to-primitive": { @@ -7546,20 +7622,6 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/file-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, "node_modules/file-loader/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -8295,9 +8357,9 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, "node_modules/growl": { @@ -10881,29 +10943,17 @@ } }, "node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "dev": true, "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "json5": "^2.1.2" }, "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": ">=8.9.0" } }, "node_modules/locate-path": { @@ -11273,9 +11323,9 @@ } }, "node_modules/markdown-it": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.2.0.tgz", - "integrity": "sha512-Wjws+uCrVQRqOoJvze4HCqkKl1AsSh95iFAeQDwnyfxM09divCBSXlDR1uTvyUP3Grzpn4Ru8GeCxYPM8vkCQg==", + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", "dependencies": { "argparse": "^2.0.1", "entities": "~2.1.0", @@ -11528,20 +11578,6 @@ "webpack": "^4.4.0 || ^5.0.0" } }, - "node_modules/mini-css-extract-plugin/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -12301,9 +12337,9 @@ "integrity": "sha1-9WH0WyszY1K4KXbFHMoRR9U5N/U=" }, "node_modules/node-releases": { - "version": "1.1.75", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz", - "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", + "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==", "dev": true }, "node_modules/node-sass": { @@ -13444,6 +13480,12 @@ "resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz", "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==" }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, "node_modules/picomatch": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", @@ -14416,12 +14458,12 @@ "dev": true }, "node_modules/regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", "dev": true, "dependencies": { - "regenerate": "^1.4.0" + "regenerate": "^1.4.2" }, "engines": { "node": ">=4" @@ -14482,32 +14524,32 @@ } }, "node_modules/regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", + "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", "dev": true, "dependencies": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", "dev": true }, "node_modules/regjsparser": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", - "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", "dev": true, "dependencies": { "jsesc": "~0.5.0" @@ -16145,20 +16187,6 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/svg-url-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, "node_modules/table": { "version": "6.7.1", "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", @@ -16802,40 +16830,40 @@ } }, "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==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "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==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, "dependencies": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", "dev": true, "engines": { "node": ">=4" @@ -16993,20 +17021,6 @@ } } }, - "node_modules/url-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, "node_modules/url-loader/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -17204,9 +17218,9 @@ "integrity": "sha512-2ozZEFfmVvQcHWoHLNuiKlUfDKlhh4KGsy54U0UrlLMR1SO+XKAIDqBxtBwHgNrekurlJwE8A9K6L49T78ZQ9Q==" }, "node_modules/watchpack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", - "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", + "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -17235,13 +17249,13 @@ } }, "node_modules/webpack": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.51.0.tgz", - "integrity": "sha512-oySQoKUuf5r0JaPIYi8q90c/GmU9fGdSbZ0cAjFq3OWx57wniRTWvta1T9t+e5WZ6H6mHrxksNatkqfIEuTWGg==", + "version": "5.70.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", + "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==", "dev": true, "dependencies": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", @@ -17249,12 +17263,12 @@ "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.0", - "es-module-lexer": "^0.7.1", + "enhanced-resolve": "^5.9.2", + "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.4", + "graceful-fs": "^4.2.9", "json-parse-better-errors": "^1.0.2", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", @@ -17262,8 +17276,8 @@ "schema-utils": "^3.1.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.2.0", - "webpack-sources": "^3.2.0" + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" }, "bin": { "webpack": "bin/webpack.js" @@ -17747,9 +17761,9 @@ } }, "node_modules/webpack/node_modules/webpack-sources": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.0.tgz", - "integrity": "sha512-fahN08Et7P9trej8xz/Z7eRu8ltyiygEo/hnRi9KqBUs80KeDcnf96ZJo++ewWd84fEf3xSX9bp4ZS9hbw0OBw==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, "engines": { "node": ">=10.13.0" @@ -17977,20 +17991,6 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/worker-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, "node_modules/worker-loader/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -18386,42 +18386,51 @@ } }, "dependencies": { - "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "@ampproject/remapping": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", + "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", "dev": true, "requires": { - "@babel/highlight": "^7.14.5" + "@jridgewell/trace-mapping": "^0.3.0" + } + }, + "@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/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", + "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==", "dev": true }, "@babel/core": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz", - "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz", + "integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==", "dev": true, "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.0", - "@babel/helper-module-transforms": "^7.15.0", - "@babel/helpers": "^7.14.8", - "@babel/parser": "^7.15.0", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0", + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.7", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helpers": "^7.17.8", + "@babel/parser": "^7.17.8", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" + "semver": "^6.3.0" }, "dependencies": { "debug": { @@ -18444,22 +18453,16 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "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/generator": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz", - "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz", + "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==", "dev": true, "requires": { - "@babel/types": "^7.15.0", + "@babel/types": "^7.17.0", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, @@ -18479,33 +18482,33 @@ } }, "@babel/helper-annotate-as-pure": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", - "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", - "integrity": "sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", + "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-explode-assignable-expression": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/helper-compilation-targets": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz", - "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", + "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", "dev": true, "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", + "@babel/compat-data": "^7.17.7", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.17.5", "semver": "^6.3.0" }, "dependencies": { @@ -18518,33 +18521,34 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.0.tgz", - "integrity": "sha512-MdmDXgvTIi4heDVX/e9EFfeGpugqm9fobBVg/iioE8kueXrOHdRDe36FAY7SnE9xXLVeYCoJR/gdrBEIHRC83Q==", + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz", + "integrity": "sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-member-expression-to-functions": "^7.15.0", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.0", - "@babel/helper-split-export-declaration": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", - "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz", + "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "regexpu-core": "^4.7.1" + "@babel/helper-annotate-as-pure": "^7.16.7", + "regexpu-core": "^5.0.1" } }, "@babel/helper-define-polyfill-provider": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", - "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", + "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.13.0", @@ -18558,9 +18562,9 @@ }, "dependencies": { "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -18580,185 +18584,195 @@ } } }, - "@babel/helper-explode-assignable-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz", - "integrity": "sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==", + "@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", + "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" } }, "@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", - "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", + "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-get-function-arity": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", + "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" } }, "@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz", - "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", + "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", "dev": true, "requires": { - "@babel/types": "^7.15.0" + "@babel/types": "^7.17.0" } }, "@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" } }, "@babel/helper-module-transforms": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz", - "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", + "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.0", - "@babel/helper-simple-access": "^7.14.8", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.9", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0" } }, "@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" } }, "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", "dev": true }, "@babel/helper-remap-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz", - "integrity": "sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", + "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-wrap-function": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.8", + "@babel/types": "^7.16.8" } }, "@babel/helper-replace-supers": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz", - "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", + "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.0", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/helper-simple-access": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", - "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", + "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", "dev": true, "requires": { - "@babel/types": "^7.14.8" + "@babel/types": "^7.17.0" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz", - "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.0" } }, "@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" } }, "@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", + "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/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", "dev": true }, "@babel/helper-wrap-function": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz", - "integrity": "sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", + "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-function-name": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.8", + "@babel/types": "^7.16.8" } }, "@babel/helpers": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz", - "integrity": "sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz", + "integrity": "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==", "dev": true, "requires": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0" } }, "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -18801,178 +18815,187 @@ } }, "@babel/parser": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz", - "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz", + "integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==", "dev": true }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", + "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", - "@babel/plugin-proposal-optional-chaining": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", + "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.7" } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.9.tgz", - "integrity": "sha512-d1lnh+ZnKrFKwtTYdw320+sQWCTwgkB9fmUhNXRADA4akR6wLjaruSGnIEUjpt9HCOwTr4ynFTKu19b7rFRpmw==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", + "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", - "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", + "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-proposal-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz", - "integrity": "sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==", + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz", + "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.17.6", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", - "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", + "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-proposal-export-namespace-from": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", - "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", + "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", - "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", + "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", - "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", + "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", - "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", + "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", - "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", + "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz", - "integrity": "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==", + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz", + "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==", "dev": true, "requires": { - "@babel/compat-data": "^7.14.7", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/compat-data": "^7.17.0", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.14.5" + "@babel/plugin-transform-parameters": "^7.16.7" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", - "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", + "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", + "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", - "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", + "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.16.10", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-proposal-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", + "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", - "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", + "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-syntax-async-generators": { @@ -19020,6 +19043,15 @@ "@babel/helper-plugin-utils": "^7.8.3" } }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.16.7.tgz", + "integrity": "sha512-DoM/wsaMaDXpM2fa+QkZeqqfYs340WTY+boLRiZ7ckqt3PAFt1CdGmMXVniFCcN8RuStim2Z4Co3bIKdWjTXIQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, "@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", @@ -19102,55 +19134,56 @@ } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", - "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", + "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", - "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", + "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5" + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", - "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz", - "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", + "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-classes": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.9.tgz", - "integrity": "sha512-NfZpTcxU3foGWbl4wxmZ35mTsYJy8oQocbeIMoDAGGFarAmSQlL+LWMkDx/tj6pNotpbX3rltIA4dprgAPOq5A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", + "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", "globals": "^11.1.0" }, "dependencies": { @@ -19163,210 +19196,211 @@ } }, "@babel/plugin-transform-computed-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", - "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", + "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-destructuring": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", - "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz", + "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", - "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", + "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", - "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", + "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", - "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", + "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-for-of": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz", - "integrity": "sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", + "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", - "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", + "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", - "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", + "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", - "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", - "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", + "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.0.tgz", - "integrity": "sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz", + "integrity": "sha512-ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.15.0", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-simple-access": "^7.14.8", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz", - "integrity": "sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz", + "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", - "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", + "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz", - "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", + "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.16.7" } }, "@babel/plugin-transform-new-target": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", - "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", + "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-object-super": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", - "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" } }, "@babel/plugin-transform-parameters": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", - "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", + "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-property-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", - "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-regenerator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", - "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", + "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", "dev": true, "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", - "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", + "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-runtime": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.15.0.tgz", - "integrity": "sha512-sfHYkLGjhzWTq6xsuQ01oEsUYjkHRux9fW1iUA68dC7Qd8BS1Unq4aZ8itmQp95zUzIcyR2EbNMTzAicFj+guw==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz", + "integrity": "sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.2", - "babel-plugin-polyfill-regenerator": "^0.2.2", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", "semver": "^6.3.0" }, "dependencies": { @@ -19379,68 +19413,68 @@ } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", - "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", + "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-spread": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz", - "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", + "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", - "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", + "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-template-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", - "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", + "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", - "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", + "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", - "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", + "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", - "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", + "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/polyfill": { @@ -19460,31 +19494,32 @@ } }, "@babel/preset-env": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.0.tgz", - "integrity": "sha512-FhEpCNFCcWW3iZLg0L2NPE9UerdtsCR6ZcsGHUX6Om6kbCQeL5QZDqFDmeNHC6/fy6UH3jEge7K4qG5uC9In0Q==", + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", + "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", "dev": true, "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.0", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-async-generator-functions": "^7.14.9", - "@babel/plugin-proposal-class-properties": "^7.14.5", - "@babel/plugin-proposal-class-static-block": "^7.14.5", - "@babel/plugin-proposal-dynamic-import": "^7.14.5", - "@babel/plugin-proposal-export-namespace-from": "^7.14.5", - "@babel/plugin-proposal-json-strings": "^7.14.5", - "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", - "@babel/plugin-proposal-numeric-separator": "^7.14.5", - "@babel/plugin-proposal-object-rest-spread": "^7.14.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", - "@babel/plugin-proposal-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-private-methods": "^7.14.5", - "@babel/plugin-proposal-private-property-in-object": "^7.14.5", - "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "@babel/compat-data": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-async-generator-functions": "^7.16.8", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.16.7", + "@babel/plugin-proposal-json-strings": "^7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-private-methods": "^7.16.11", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", @@ -19499,44 +19534,44 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.14.5", - "@babel/plugin-transform-async-to-generator": "^7.14.5", - "@babel/plugin-transform-block-scoped-functions": "^7.14.5", - "@babel/plugin-transform-block-scoping": "^7.14.5", - "@babel/plugin-transform-classes": "^7.14.9", - "@babel/plugin-transform-computed-properties": "^7.14.5", - "@babel/plugin-transform-destructuring": "^7.14.7", - "@babel/plugin-transform-dotall-regex": "^7.14.5", - "@babel/plugin-transform-duplicate-keys": "^7.14.5", - "@babel/plugin-transform-exponentiation-operator": "^7.14.5", - "@babel/plugin-transform-for-of": "^7.14.5", - "@babel/plugin-transform-function-name": "^7.14.5", - "@babel/plugin-transform-literals": "^7.14.5", - "@babel/plugin-transform-member-expression-literals": "^7.14.5", - "@babel/plugin-transform-modules-amd": "^7.14.5", - "@babel/plugin-transform-modules-commonjs": "^7.15.0", - "@babel/plugin-transform-modules-systemjs": "^7.14.5", - "@babel/plugin-transform-modules-umd": "^7.14.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9", - "@babel/plugin-transform-new-target": "^7.14.5", - "@babel/plugin-transform-object-super": "^7.14.5", - "@babel/plugin-transform-parameters": "^7.14.5", - "@babel/plugin-transform-property-literals": "^7.14.5", - "@babel/plugin-transform-regenerator": "^7.14.5", - "@babel/plugin-transform-reserved-words": "^7.14.5", - "@babel/plugin-transform-shorthand-properties": "^7.14.5", - "@babel/plugin-transform-spread": "^7.14.6", - "@babel/plugin-transform-sticky-regex": "^7.14.5", - "@babel/plugin-transform-template-literals": "^7.14.5", - "@babel/plugin-transform-typeof-symbol": "^7.14.5", - "@babel/plugin-transform-unicode-escapes": "^7.14.5", - "@babel/plugin-transform-unicode-regex": "^7.14.5", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.15.0", - "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.2", - "babel-plugin-polyfill-regenerator": "^0.2.2", - "core-js-compat": "^3.16.0", + "@babel/plugin-transform-arrow-functions": "^7.16.7", + "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.16.7", + "@babel/plugin-transform-classes": "^7.16.7", + "@babel/plugin-transform-computed-properties": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.16.8", + "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-umd": "^7.16.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.16.7", + "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.8", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.20.2", "semver": "^6.3.0" }, "dependencies": { @@ -19549,9 +19584,9 @@ } }, "@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -19562,9 +19597,9 @@ } }, "@babel/runtime": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz", - "integrity": "sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.8.tgz", + "integrity": "sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA==", "requires": { "regenerator-runtime": "^0.13.4" } @@ -19579,29 +19614,30 @@ } }, "@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", "dev": true, "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/traverse": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz", - "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==", + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz", + "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==", "dev": true, "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.0", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.15.0", - "@babel/types": "^7.15.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.3", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.17.3", + "@babel/types": "^7.17.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -19630,12 +19666,12 @@ } }, "@babel/types": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", - "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", + "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.14.9", + "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" }, "dependencies": { @@ -20062,6 +20098,28 @@ "regenerator-runtime": "^0.13.3" } }, + "@jridgewell/resolve-uri": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", + "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", + "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz", + "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -20161,9 +20219,9 @@ "dev": true }, "@types/eslint": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz", - "integrity": "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", + "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", "dev": true, "requires": { "@types/estree": "*", @@ -20171,9 +20229,9 @@ } }, "@types/eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==", + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", "dev": true, "requires": { "@types/eslint": "*", @@ -20181,9 +20239,9 @@ } }, "@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", "dev": true }, "@types/glob": { @@ -20997,13 +21055,13 @@ } }, "babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", - "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.4.tgz", + "integrity": "sha512-8dytA3gcvPPPv4Grjhnt8b5IIiTcq/zeXOPk4iTYI0SVXcsmuGg7JtBRDp8S9X+gJfhQ8ektjXZlDu1Bb33U8A==", "dev": true, "requires": { "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", + "loader-utils": "^2.0.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" } @@ -21026,13 +21084,13 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", - "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", + "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", "dev": true, "requires": { "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.2", + "@babel/helper-define-polyfill-provider": "^0.3.1", "semver": "^6.1.1" }, "dependencies": { @@ -21045,22 +21103,22 @@ } }, "babel-plugin-polyfill-corejs3": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz", - "integrity": "sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", + "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.2", - "core-js-compat": "^3.14.0" + "@babel/helper-define-polyfill-provider": "^0.3.1", + "core-js-compat": "^3.21.0" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", - "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", + "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.2" + "@babel/helper-define-polyfill-provider": "^0.3.1" } }, "babel-plugin-transform-builtin-extend": { @@ -21539,16 +21597,16 @@ } }, "browserslist": { - "version": "4.16.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.8.tgz", - "integrity": "sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ==", + "version": "4.20.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", + "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001251", - "colorette": "^1.3.0", - "electron-to-chromium": "^1.3.811", + "caniuse-lite": "^1.0.30001317", + "electron-to-chromium": "^1.4.84", "escalade": "^3.1.1", - "node-releases": "^1.1.75" + "node-releases": "^2.0.2", + "picocolors": "^1.0.0" } }, "bson": { @@ -21682,9 +21740,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001319", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001319.tgz", - "integrity": "sha512-xjlIAFHucBRSMUo1kb5D4LYgcN1M45qdKP++lhqowDpwJwGkpIRTt5qQqnhxjj1vHcI7nrJxWhCC1ATrCEBTcw==", + "version": "1.0.30001320", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz", + "integrity": "sha512-MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA==", "dev": true }, "caseless": { @@ -21869,9 +21927,9 @@ "dev": true }, "chromedriver": { - "version": "97.0.2", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-97.0.2.tgz", - "integrity": "sha512-sOAfKCR3WsHvmKedZoWa+3tBVGdPtxq4zKxgKZCoJ2c924olBTW4Bnha6SHl93Yo7+QqsNn6ZpAC0ojhutacAg==", + "version": "99.0.0", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-99.0.0.tgz", + "integrity": "sha512-pyB+5LuyZdb7EBPL3i5D5yucZUD+SlkdiUtmpjaEnLd9zAXp+SvD/hP5xF4l/ZmWvUo/1ZLxAI1YBdhazGTpgA==", "dev": true, "requires": { "@testim/chrome-version": "^1.1.2", @@ -22275,17 +22333,18 @@ } }, "core-js": { - "version": "3.16.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.2.tgz", - "integrity": "sha512-P0KPukO6OjMpjBtHSceAZEWlDD1M2Cpzpg6dBbrjFqFhBHe/BwhxaP820xKOjRn/lZRQirrCusIpLS/n2sgXLQ==" + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.21.1.tgz", + "integrity": "sha512-FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig==", + "dev": true }, "core-js-compat": { - "version": "3.16.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.16.2.tgz", - "integrity": "sha512-4lUshXtBXsdmp8cDWh6KKiHUg40AjiuPD3bOWkNVsr1xkAhpUqCjaZ8lB1bKx9Gb5fXcbRbFJ4f4qpRIRTuJqQ==", + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.1.tgz", + "integrity": "sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g==", "dev": true, "requires": { - "browserslist": "^4.16.7", + "browserslist": "^4.19.1", "semver": "7.0.0" }, "dependencies": { @@ -22419,17 +22478,6 @@ "semver": "^7.3.5" }, "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -23247,9 +23295,9 @@ } }, "electron-to-chromium": { - "version": "1.3.812", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.812.tgz", - "integrity": "sha512-7KiUHsKAWtSrjVoTSzxQ0nPLr/a+qoxNZwkwd9LkylTOgOXSVXkQbpIVT0WAUQcI5gXq3SwOTCrK+WfINHOXQg==", + "version": "1.4.93", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.93.tgz", + "integrity": "sha512-ywq9Pc5Gwwpv7NG767CtoU8xF3aAUQJjH9//Wy3MBCg4w5JSLbJUq2L8IsCdzPMjvSgxuue9WcVaTOyyxCL0aQ==", "dev": true }, "elliptic": { @@ -23301,9 +23349,9 @@ } }, "enhanced-resolve": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz", - "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==", + "version": "5.9.2", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz", + "integrity": "sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -23389,9 +23437,9 @@ } }, "es-module-lexer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz", - "integrity": "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", "dev": true }, "es-to-primitive": { @@ -23516,9 +23564,9 @@ } }, "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, "ansi-styles": { @@ -24213,17 +24261,6 @@ "schema-utils": "^3.0.0" }, "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -24378,9 +24415,9 @@ "dev": true }, "follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", + "version": "1.14.7", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", + "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==", "dev": true }, "for-in": { @@ -24789,9 +24826,9 @@ } }, "graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, "growl": { @@ -25721,9 +25758,9 @@ } }, "i": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/i/-/i-0.3.7.tgz", - "integrity": "sha512-FYz4wlXgkQwIPqhzC5TdNMLSE5+GS1IIDJZY/1ZiEPCT2S3COUVZeT5OW4BmW4r5LHLQuOosSwsvnroG9GR59Q==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz", + "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0=", "dev": true }, "iced-error": { @@ -26509,6 +26546,12 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "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", @@ -26593,23 +26636,15 @@ } }, "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "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.4.0", + "json-schema": "0.2.3", "verror": "1.10.0" - }, - "dependencies": { - "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 - } } }, "jsqr": { @@ -26770,9 +26805,9 @@ "dev": true }, "linkify-it": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", - "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.2.tgz", + "integrity": "sha512-gDBO4aHNZS6coiZCKVhSNh43F9ioIL4JwRjLZPkoLIY4yZFwg264Y5lu2x6rb1Js42Gh6Yqm2f6L2AJcnkzinQ==", "requires": { "uc.micro": "^1.0.1" } @@ -26805,25 +26840,14 @@ "dev": true }, "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.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" - } - } + "json5": "^2.1.2" } }, "locate-path": { @@ -27347,17 +27371,6 @@ "webpack-sources": "^1.1.0" }, "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -27504,12 +27517,6 @@ "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", "dev": true }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -27557,12 +27564,6 @@ "path-is-absolute": "^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 - }, "js-yaml": { "version": "3.13.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", @@ -27625,25 +27626,6 @@ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -27668,15 +27650,6 @@ "isexe": "^2.0.0" } }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, "yargs-parser": { "version": "13.1.2", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", @@ -27757,9 +27730,9 @@ "dev": true }, "nanoid": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", + "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==", "dev": true }, "nanomatch": { @@ -27851,9 +27824,9 @@ }, "dependencies": { "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, "semver": { @@ -27894,12 +27867,9 @@ } }, "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "requires": { - "whatwg-url": "^5.0.0" - } + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" }, "node-forge": { "version": "0.10.0", @@ -28008,9 +27978,9 @@ "integrity": "sha1-9WH0WyszY1K4KXbFHMoRR9U5N/U=" }, "node-releases": { - "version": "1.1.75", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz", - "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", + "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==", "dev": true }, "node-sass": { @@ -28125,9 +28095,9 @@ } }, "nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", + "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", "dev": true, "requires": { "boolbase": "^1.0.0" @@ -28369,9 +28339,9 @@ }, "dependencies": { "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, "ansi-styles": { @@ -28901,6 +28871,12 @@ "resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz", "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==" }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, "picomatch": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", @@ -29677,12 +29653,12 @@ "dev": true }, "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", "dev": true, "requires": { - "regenerate": "^1.4.0" + "regenerate": "^1.4.2" } }, "regenerator-runtime": { @@ -29725,29 +29701,29 @@ "dev": true }, "regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", + "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", "dev": true, "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" } }, "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", "dev": true }, "regjsparser": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", - "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -30942,9 +30918,9 @@ }, "dependencies": { "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, "strip-ansi": { @@ -31033,19 +31009,6 @@ "requires": { "file-loader": "~6.2.0", "loader-utils": "~2.0.0" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - } } }, "table": { @@ -31075,9 +31038,9 @@ } }, "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, "json-schema-traverse": { @@ -31420,11 +31383,6 @@ "punycode": "^2.1.1" } }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" - }, "trim-newlines": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", @@ -31563,31 +31521,31 @@ } }, "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==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "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==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" } }, "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", "dev": true }, "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", "dev": true }, "union-value": { @@ -31709,17 +31667,6 @@ "schema-utils": "^3.0.0" }, "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -31734,9 +31681,9 @@ } }, "url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz", + "integrity": "sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==", "dev": true, "requires": { "querystringify": "^2.1.1", @@ -31885,9 +31832,9 @@ "integrity": "sha512-2ozZEFfmVvQcHWoHLNuiKlUfDKlhh4KGsy54U0UrlLMR1SO+XKAIDqBxtBwHgNrekurlJwE8A9K6L49T78ZQ9Q==" }, "watchpack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", - "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", + "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -31912,19 +31859,14 @@ "defaults": "^1.0.3" } }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" - }, "webpack": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.51.0.tgz", - "integrity": "sha512-oySQoKUuf5r0JaPIYi8q90c/GmU9fGdSbZ0cAjFq3OWx57wniRTWvta1T9t+e5WZ6H6mHrxksNatkqfIEuTWGg==", + "version": "5.70.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", + "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==", "dev": true, "requires": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", @@ -31932,12 +31874,12 @@ "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.0", - "es-module-lexer": "^0.7.1", + "enhanced-resolve": "^5.9.2", + "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.4", + "graceful-fs": "^4.2.9", "json-parse-better-errors": "^1.0.2", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", @@ -31945,8 +31887,8 @@ "schema-utils": "^3.1.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.2.0", - "webpack-sources": "^3.2.0" + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" }, "dependencies": { "acorn": { @@ -31973,9 +31915,9 @@ } }, "webpack-sources": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.0.tgz", - "integrity": "sha512-fahN08Et7P9trej8xz/Z7eRu8ltyiygEo/hnRi9KqBUs80KeDcnf96ZJo++ewWd84fEf3xSX9bp4ZS9hbw0OBw==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true } } @@ -32363,15 +32305,6 @@ } } }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -32401,12 +32334,45 @@ "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==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "requires": { - "string-width": "^1.0.2 || 2 || 3 || 4" + "string-width": "^1.0.2 || 2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } } }, "winston": { @@ -32452,17 +32418,6 @@ "schema-utils": "^3.0.0" }, "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", diff --git a/package.json b/package.json index 6988f134..a69ea0dd 100644 --- a/package.json +++ b/package.json @@ -36,17 +36,20 @@ "node >= 10" ], "devDependencies": { - "@babel/core": "^7.15.0", - "@babel/plugin-transform-runtime": "^7.15.0", - "@babel/preset-env": "^7.15.0", + "@babel/core": "^7.17.8", + "@babel/plugin-syntax-import-assertions": "^7.16.7", + "@babel/plugin-transform-runtime": "^7.17.0", + "@babel/preset-env": "^7.16.11", + "@babel/runtime": "^7.17.8", "autoprefixer": "^10.3.1", "babel-eslint": "^10.1.0", - "babel-loader": "^8.2.2", + "babel-loader": "^8.2.4", "babel-plugin-dynamic-import-node": "^2.3.3", - "chromedriver": "^97.0.1", + "chromedriver": "^99.0.0", "cli-progress": "^3.9.0", "colors": "^1.4.0", "copy-webpack-plugin": "^9.0.1", + "core-js": "^3.21.1", "css-loader": "5.2.7", "eslint": "^7.32.0", "exports-loader": "^3.0.0", @@ -77,7 +80,7 @@ "style-loader": "^3.2.1", "svg-url-loader": "^7.1.1", "url-loader": "^4.1.1", - "webpack": "^5.51.0", + "webpack": "^5.70.0", "webpack-bundle-analyzer": "^4.4.2", "webpack-dev-server": "3.11.2", "webpack-node-externals": "^3.0.0", @@ -85,7 +88,6 @@ }, "dependencies": { "@babel/polyfill": "^7.12.1", - "@babel/runtime": "^7.15.3", "arrive": "^2.4.1", "avsc": "^5.7.3", "babel-plugin-transform-builtin-extend": "1.1.2", @@ -101,7 +103,6 @@ "cbor": "5.0.1", "chi-squared": "^1.1.0", "codepage": "^1.15.0", - "core-js": "^3.16.2", "crypto-api": "^0.8.5", "crypto-browserify": "^3.12.0", "crypto-js": "^4.1.1", diff --git a/src/core/ChefWorker.js b/src/core/ChefWorker.js index cac6a452..f4a17f63 100644 --- a/src/core/ChefWorker.js +++ b/src/core/ChefWorker.js @@ -7,7 +7,7 @@ */ import Chef from "./Chef.mjs"; -import OperationConfig from "./config/OperationConfig.json"; +import OperationConfig from "./config/OperationConfig.json" assert {type: "json"}; import OpModules from "./config/modules/OpModules.mjs"; // Add ">" to the start of all log messages in the Chef Worker diff --git a/src/core/Recipe.mjs b/src/core/Recipe.mjs index 0f31690b..4c778873 100755 --- a/src/core/Recipe.mjs +++ b/src/core/Recipe.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import OperationConfig from "./config/OperationConfig.json"; +import OperationConfig from "./config/OperationConfig.json" assert {type: "json"}; import OperationError from "./errors/OperationError.mjs"; import Operation from "./Operation.mjs"; import DishError from "./errors/DishError.mjs"; diff --git a/src/core/lib/Magic.mjs b/src/core/lib/Magic.mjs index 983b9aed..921fc3f6 100644 --- a/src/core/lib/Magic.mjs +++ b/src/core/lib/Magic.mjs @@ -1,4 +1,4 @@ -import OperationConfig from "../config/OperationConfig.json"; +import OperationConfig from "../config/OperationConfig.json" assert {type: "json"}; import Utils, { isWorkerEnvironment } from "../Utils.mjs"; import Recipe from "../Recipe.mjs"; import Dish from "../Dish.mjs"; diff --git a/src/node/api.mjs b/src/node/api.mjs index dcdb30f0..0c9dd8a7 100644 --- a/src/node/api.mjs +++ b/src/node/api.mjs @@ -10,7 +10,7 @@ import NodeDish from "./NodeDish.mjs"; import NodeRecipe from "./NodeRecipe.mjs"; -import OperationConfig from "../core/config/OperationConfig.json"; +import OperationConfig from "../core/config/OperationConfig.json" assert {type: "json"}; import { sanitise, removeSubheadingsFromArray, sentenceToCamelCase } from "./apiUtils.mjs"; import ExcludedOperationError from "../core/errors/ExcludedOperationError.mjs"; diff --git a/src/web/index.js b/src/web/index.js index b5be066d..059ca9df 100755 --- a/src/web/index.js +++ b/src/web/index.js @@ -17,8 +17,8 @@ import * as CanvasComponents from "../core/lib/CanvasComponents.mjs"; // CyberChef import App from "./App.mjs"; -import Categories from "../core/config/Categories.json"; -import OperationConfig from "../core/config/OperationConfig.json"; +import Categories from "../core/config/Categories.json" assert {type: "json"}; +import OperationConfig from "../core/config/OperationConfig.json" assert {type: "json"}; /** diff --git a/src/web/static/sitemap.mjs b/src/web/static/sitemap.mjs index 8e84ba85..b96047fc 100644 --- a/src/web/static/sitemap.mjs +++ b/src/web/static/sitemap.mjs @@ -1,5 +1,5 @@ import sm from "sitemap"; -import OperationConfig from "../../core/config/OperationConfig.json"; +import OperationConfig from "../../core/config/OperationConfig.json" assert {type: "json"}; /** diff --git a/tests/node/tests/Categories.mjs b/tests/node/tests/Categories.mjs index 0f4e8644..e6f8bd72 100644 --- a/tests/node/tests/Categories.mjs +++ b/tests/node/tests/Categories.mjs @@ -1,6 +1,6 @@ import TestRegister from "../../lib/TestRegister.mjs"; -import Categories from "../../../src/core/config/Categories.json"; -import OperationConfig from "../../../src/core/config/OperationConfig.json"; +import Categories from "../../../src/core/config/Categories.json" assert {type: "json"}; +import OperationConfig from "../../../src/core/config/OperationConfig.json" assert {type: "json"}; import it from "../assertionHandler.mjs"; import assert from "assert"; From cf9e670309cc9630449832a5af6a18a157af632f Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 25 Mar 2022 15:17:00 +0000 Subject: [PATCH 282/754] Updated eslint --- .eslintrc.json | 2 +- Gruntfile.js | 3 - package-lock.json | 975 ++++++++++++++++------------------------------ package.json | 6 +- 4 files changed, 349 insertions(+), 637 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 0fd518d8..38f1ab6f 100755 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,5 +1,5 @@ { - "parser": "babel-eslint", + "parser": "@babel/eslint-parser", "parserOptions": { "ecmaVersion": 9, "ecmaFeatures": { diff --git a/Gruntfile.js b/Gruntfile.js index c0e46405..725e14a5 100755 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -189,9 +189,6 @@ module.exports = function (grunt) { standalone: ["build/prod/CyberChef*.html"] }, eslint: { - options: { - configFile: "./.eslintrc.json" - }, configs: ["*.{js,mjs}"], core: ["src/core/**/*.{js,mjs}", "!src/core/vendor/**/*", "!src/core/operations/legacy/**/*"], web: ["src/web/**/*.{js,mjs}", "!src/web/static/**/*"], diff --git a/package-lock.json b/package-lock.json index 8833018f..86762a98 100644 --- a/package-lock.json +++ b/package-lock.json @@ -91,12 +91,12 @@ }, "devDependencies": { "@babel/core": "^7.17.8", + "@babel/eslint-parser": "^7.17.0", "@babel/plugin-syntax-import-assertions": "^7.16.7", "@babel/plugin-transform-runtime": "^7.17.0", "@babel/preset-env": "^7.16.11", "@babel/runtime": "^7.17.8", "autoprefixer": "^10.3.1", - "babel-eslint": "^10.1.0", "babel-loader": "^8.2.4", "babel-plugin-dynamic-import-node": "^2.3.3", "chromedriver": "^99.0.0", @@ -105,7 +105,7 @@ "copy-webpack-plugin": "^9.0.1", "core-js": "^3.21.1", "css-loader": "5.2.7", - "eslint": "^7.32.0", + "eslint": "^8.11.0", "exports-loader": "^3.0.0", "file-loader": "^6.2.0", "grunt": "^1.4.1", @@ -115,7 +115,7 @@ "grunt-contrib-connect": "^3.0.0", "grunt-contrib-copy": "~1.0.0", "grunt-contrib-watch": "^1.1.0", - "grunt-eslint": "^23.0.0", + "grunt-eslint": "^24.0.0", "grunt-exec": "~3.0.0", "grunt-webpack": "^4.0.3", "grunt-zip": "^0.18.2", @@ -236,6 +236,42 @@ "semver": "bin/semver.js" } }, + "node_modules/@babel/eslint-parser": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.17.0.tgz", + "integrity": "sha512-PUEJ7ZBXbRkbq3qqM/jZ2nIuakUBqCYc7Qf52Lj7dlZ6zERnqisdHioL0l4wwQZnmskMeasqUNzLBFKs3nylXA==", + "dev": true, + "dependencies": { + "eslint-scope": "^5.1.1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/eslint-parser/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/@babel/generator": { "version": "7.17.7", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz", @@ -1979,29 +2015,29 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz", + "integrity": "sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", + "debug": "^4.3.2", + "espree": "^9.3.1", "globals": "^13.9.0", - "ignore": "^4.0.6", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", + "js-yaml": "^4.1.0", "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -2016,9 +2052,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", - "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -2030,13 +2066,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@eslint/eslintrc/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==", + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "engines": { - "node": ">= 4" + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, "node_modules/@eslint/eslintrc/node_modules/ms": { @@ -2046,12 +2085,12 @@ "dev": true }, "node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", + "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", + "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", "minimatch": "^3.0.4" }, @@ -2060,9 +2099,9 @@ } }, "node_modules/@humanwhocodes/config-array/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -2083,9 +2122,9 @@ "dev": true }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", - "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, "node_modules/@jimp/bmp": { @@ -2946,9 +2985,9 @@ } }, "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -3075,15 +3114,6 @@ "node": ">=0.4.2" } }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/ansi-html": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", @@ -3503,15 +3533,6 @@ "node": ">=4" } }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/async": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/async/-/async-3.2.1.tgz", @@ -3626,27 +3647,6 @@ "js-tokens": "^3.0.2" } }, - "node_modules/babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "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.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - }, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "eslint": ">= 4.12.1" - } - }, "node_modules/babel-loader": { "version": "8.2.4", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.4.tgz", @@ -6434,18 +6434,6 @@ "node": ">=10.13.0" } }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, "node_modules/entities": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", @@ -6632,49 +6620,44 @@ } }, "node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.11.0.tgz", + "integrity": "sha512-/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA==", "dev": true, "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", + "@eslint/eslintrc": "^1.2.1", + "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", - "debug": "^4.0.1", + "debug": "^4.3.2", "doctrine": "^3.0.0", - "enquirer": "^2.3.5", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", + "glob-parent": "^6.0.1", "globals": "^13.6.0", - "ignore": "^4.0.6", + "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", + "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", - "table": "^6.0.9", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, @@ -6682,7 +6665,7 @@ "eslint": "bin/eslint.js" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -6711,42 +6694,36 @@ } }, "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "eslint-visitor-keys": "^2.0.0" }, "engines": { - "node": ">=6" + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" }, "funding": { "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" } }, - "node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true, "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" + "node": ">=10" } }, "node_modules/eslint/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "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" @@ -6830,13 +6807,38 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", "dev": true, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" } }, "node_modules/eslint/node_modules/globals": { @@ -6863,13 +6865,16 @@ "node": ">=8" } }, - "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==", + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "engines": { - "node": ">= 4" + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, "node_modules/eslint/node_modules/levn": { @@ -6917,37 +6922,13 @@ "node": ">= 0.8.0" } }, - "node_modules/eslint/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/eslint/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/eslint/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "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.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" @@ -6986,17 +6967,26 @@ } }, "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", + "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", "dev": true, "dependencies": { - "acorn": "^7.4.0", + "acorn": "^8.7.0", "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/esprima": { @@ -8525,16 +8515,16 @@ } }, "node_modules/grunt-eslint": { - "version": "23.0.0", - "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-23.0.0.tgz", - "integrity": "sha512-QqHSAiGF08EVD7YlD4OSRWuLRaDvpsRdTptwy9WaxUXE+03mCLVA/lEaR6SHWehF7oUwIqCEjaNONeeeWlB4LQ==", + "version": "24.0.0", + "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-24.0.0.tgz", + "integrity": "sha512-WpTeBBFweyhMuPjGwRSQV9JFJ+EczIdlsc7Dd/1g78QVI1aZsk4g/H3e+3S5HEwsS1RKL2YZIrGj8hMLlBfN8w==", "dev": true, "dependencies": { - "chalk": "^4.0.0", - "eslint": "^7.0.0" + "chalk": "^4.1.2", + "eslint": "^8.0.1" }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -9629,9 +9619,9 @@ ] }, "node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true, "engines": { "node": ">= 4" @@ -10128,9 +10118,9 @@ "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" }, "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==", + "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" @@ -11050,12 +11040,6 @@ "lodash._isiterateecall": "^3.0.0" } }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -11138,12 +11122,6 @@ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "dev": true - }, "node_modules/log-symbols": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", @@ -14697,15 +14675,6 @@ "node": ">=0.10.0" } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "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", @@ -15316,56 +15285,6 @@ "node": ">=8" } }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/slice-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", @@ -16034,35 +15953,35 @@ "dev": true }, "node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, "node_modules/string-width/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "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/string-width/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "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.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" @@ -16187,66 +16106,6 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/table": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", - "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", - "dev": true, - "dependencies": { - "ajv": "^8.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.6.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", - "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/table/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/tapable": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", @@ -17318,18 +17177,6 @@ "node": ">= 10.13.0" } }, - "node_modules/webpack-bundle-analyzer/node_modules/acorn": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", - "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/webpack-bundle-analyzer/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -17721,18 +17568,6 @@ "source-map": "~0.6.1" } }, - "node_modules/webpack/node_modules/acorn": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", - "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/webpack/node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", @@ -18456,6 +18291,31 @@ } } }, + "@babel/eslint-parser": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.17.0.tgz", + "integrity": "sha512-PUEJ7ZBXbRkbq3qqM/jZ2nIuakUBqCYc7Qf52Lj7dlZ6zERnqisdHioL0l4wwQZnmskMeasqUNzLBFKs3nylXA==", + "dev": true, + "requires": { + "eslint-scope": "^5.1.1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "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 + } + } + }, "@babel/generator": { "version": "7.17.7", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz", @@ -19684,45 +19544,48 @@ } }, "@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz", + "integrity": "sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==", "dev": true, "requires": { "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", + "debug": "^4.3.2", + "espree": "^9.3.1", "globals": "^13.9.0", - "ignore": "^4.0.6", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", + "js-yaml": "^4.1.0", "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" }, "dependencies": { "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" } }, "globals": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", - "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", "dev": true, "requires": { "type-fest": "^0.20.2" } }, - "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 + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } }, "ms": { "version": "2.1.2", @@ -19733,20 +19596,20 @@ } }, "@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", + "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.0", + "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", "minimatch": "^3.0.4" }, "dependencies": { "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -19761,9 +19624,9 @@ } }, "@humanwhocodes/object-schema": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", - "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, "@jimp/bmp": { @@ -20494,9 +20357,9 @@ } }, "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", "dev": true }, "acorn-import-assertions": { @@ -20587,12 +20450,6 @@ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, "ansi-html": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", @@ -20948,12 +20805,6 @@ "tslib": "^2.0.1" } }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true - }, "async": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/async/-/async-3.2.1.tgz", @@ -21040,20 +20891,6 @@ "js-tokens": "^3.0.2" } }, - "babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - } - }, "babel-loader": { "version": "8.2.4", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.4.tgz", @@ -23358,15 +23195,6 @@ "tapable": "^2.2.0" } }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.1" - } - }, "entities": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", @@ -23507,66 +23335,52 @@ } }, "eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.11.0.tgz", + "integrity": "sha512-/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA==", "dev": true, "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", + "@eslint/eslintrc": "^1.2.1", + "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", - "debug": "^4.0.1", + "debug": "^4.3.2", "doctrine": "^3.0.0", - "enquirer": "^2.3.5", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", + "glob-parent": "^6.0.1", "globals": "^13.6.0", - "ignore": "^4.0.6", + "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", + "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", - "table": "^6.0.9", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, "dependencies": { - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "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": { @@ -23618,12 +23432,31 @@ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", "dev": true }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, "globals": { "version": "13.11.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", @@ -23639,11 +23472,14 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "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 + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } }, "levn": { "version": "0.4.1", @@ -23681,28 +23517,13 @@ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "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 - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "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.0" + "ansi-regex": "^5.0.1" } }, "supports-color": { @@ -23744,34 +23565,44 @@ } }, "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", "dev": true, "requires": { - "eslint-visitor-keys": "^1.1.0" + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } } }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - }, "esm": { "version": "3.2.25", "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==" }, "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", + "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", "dev": true, "requires": { - "acorn": "^7.4.0", + "acorn": "^8.7.0", "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" + "eslint-visitor-keys": "^3.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true + } } }, "esprima": { @@ -24995,13 +24826,13 @@ } }, "grunt-eslint": { - "version": "23.0.0", - "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-23.0.0.tgz", - "integrity": "sha512-QqHSAiGF08EVD7YlD4OSRWuLRaDvpsRdTptwy9WaxUXE+03mCLVA/lEaR6SHWehF7oUwIqCEjaNONeeeWlB4LQ==", + "version": "24.0.0", + "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-24.0.0.tgz", + "integrity": "sha512-WpTeBBFweyhMuPjGwRSQV9JFJ+EczIdlsc7Dd/1g78QVI1aZsk4g/H3e+3S5HEwsS1RKL2YZIrGj8hMLlBfN8w==", "dev": true, "requires": { - "chalk": "^4.0.0", - "eslint": "^7.0.0" + "chalk": "^4.1.2", + "eslint": "^8.0.1" }, "dependencies": { "ansi-styles": { @@ -25807,9 +25638,9 @@ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true }, "image-q": { @@ -26170,9 +26001,9 @@ "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" }, "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==", + "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" @@ -26941,12 +26772,6 @@ "lodash._isiterateecall": "^3.0.0" } }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -27029,12 +26854,6 @@ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "dev": true - }, "log-symbols": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", @@ -29837,12 +29656,6 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -30301,43 +30114,6 @@ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } - } - }, "smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", @@ -30907,29 +30683,29 @@ "dev": true }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" }, "dependencies": { "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "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.0" + "ansi-regex": "^5.0.1" } } } @@ -31011,55 +30787,6 @@ "loader-utils": "~2.0.0" } }, - "table": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", - "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", - "dev": true, - "requires": { - "ajv": "^8.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.6.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", - "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, "tapable": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", @@ -31891,12 +31618,6 @@ "webpack-sources": "^3.2.3" }, "dependencies": { - "acorn": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", - "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", - "dev": true - }, "events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", @@ -31939,12 +31660,6 @@ "ws": "^7.3.1" }, "dependencies": { - "acorn": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", - "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", - "dev": true - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", diff --git a/package.json b/package.json index a69ea0dd..6ca0dfd8 100644 --- a/package.json +++ b/package.json @@ -37,12 +37,12 @@ ], "devDependencies": { "@babel/core": "^7.17.8", + "@babel/eslint-parser": "^7.17.0", "@babel/plugin-syntax-import-assertions": "^7.16.7", "@babel/plugin-transform-runtime": "^7.17.0", "@babel/preset-env": "^7.16.11", "@babel/runtime": "^7.17.8", "autoprefixer": "^10.3.1", - "babel-eslint": "^10.1.0", "babel-loader": "^8.2.4", "babel-plugin-dynamic-import-node": "^2.3.3", "chromedriver": "^99.0.0", @@ -51,7 +51,7 @@ "copy-webpack-plugin": "^9.0.1", "core-js": "^3.21.1", "css-loader": "5.2.7", - "eslint": "^7.32.0", + "eslint": "^8.11.0", "exports-loader": "^3.0.0", "file-loader": "^6.2.0", "grunt": "^1.4.1", @@ -61,7 +61,7 @@ "grunt-contrib-connect": "^3.0.0", "grunt-contrib-copy": "~1.0.0", "grunt-contrib-watch": "^1.1.0", - "grunt-eslint": "^23.0.0", + "grunt-eslint": "^24.0.0", "grunt-exec": "~3.0.0", "grunt-webpack": "^4.0.3", "grunt-zip": "^0.18.2", From 4ef65589e8b77b16d8ea610c2304e7f4eceed1ac Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 25 Mar 2022 15:24:21 +0000 Subject: [PATCH 283/754] Actions can now be triggered manually --- .github/workflows/codeql.yml | 1 + .github/workflows/master.yml | 1 + .github/workflows/pull_requests.yml | 1 + .github/workflows/releases.yml | 1 + 4 files changed, 4 insertions(+) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 14463636..e7877799 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -1,6 +1,7 @@ name: "CodeQL Analysis" on: + workflow_dispatch: push: branches: [ master ] pull_request: diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 9303ca8c..6e9b5770 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -1,6 +1,7 @@ name: "Master Build, Test & Deploy" on: + workflow_dispatch: push: branches: - master diff --git a/.github/workflows/pull_requests.yml b/.github/workflows/pull_requests.yml index 210af0c4..47f74f84 100644 --- a/.github/workflows/pull_requests.yml +++ b/.github/workflows/pull_requests.yml @@ -1,6 +1,7 @@ name: "Pull Requests" on: + workflow_dispatch: pull_request: types: [synchronize, opened, reopened] diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index a77f1d0c..78d813a4 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -1,6 +1,7 @@ name: "Releases" on: + workflow_dispatch: push: tags: - 'v*' From 9e3733b33b28f26dcc4548df4bdc5bbb376517e2 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 25 Mar 2022 18:28:01 +0000 Subject: [PATCH 284/754] Fixed Node imports --- .nvmrc | 2 +- package-lock.json | 2159 +++++++++++------ package.json | 11 +- src/node/cjs.js | 6 +- tests/node/consumers/cjs-consumer.js | 39 +- .../consumers/esm-deep-import-consumer.mjs | 2 +- 6 files changed, 1393 insertions(+), 826 deletions(-) diff --git a/.nvmrc b/.nvmrc index cac37d92..8e2afd34 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -17.* \ No newline at end of file +17 \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 86762a98..a394491a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,7 +35,6 @@ "diff": "^5.0.0", "es6-promisify": "^7.0.0", "escodegen": "^2.0.0", - "esm": "^3.2.25", "esprima": "^4.0.1", "exif-parser": "^0.1.12", "file-saver": "^2.0.5", @@ -63,6 +62,7 @@ "ngeohash": "^0.6.3", "node-forge": "^0.10.0", "node-md6": "^0.1.0", + "node-sass": "^7.0.1", "nodom": "^2.4.0", "notepack.io": "^2.3.0", "nwmatcher": "^1.4.4", @@ -123,7 +123,6 @@ "imports-loader": "^3.0.0", "mini-css-extract-plugin": "1.3.7", "nightwatch": "^1.7.8", - "node-sass": "^6.0.0", "postcss": "^8.3.6", "postcss-css-variables": "^0.18.0", "postcss-import": "^14.0.2", @@ -157,7 +156,6 @@ "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" }, @@ -643,7 +641,6 @@ "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" } @@ -690,7 +687,6 @@ "version": "7.16.10", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", - "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", @@ -704,7 +700,6 @@ "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" }, @@ -716,7 +711,6 @@ "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", @@ -729,14 +723,12 @@ "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 + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "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" }, @@ -2084,6 +2076,11 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" + }, "node_modules/@humanwhocodes/config-array": { "version": "0.9.5", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", @@ -2631,6 +2628,52 @@ "node": ">= 8" } }, + "node_modules/@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "dependencies": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "node_modules/@npmcli/fs/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/move-file/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@polka/url": { "version": "1.0.0-next.17", "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.17.tgz", @@ -2701,7 +2744,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true, "engines": { "node": ">= 6" } @@ -2768,8 +2810,7 @@ "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 + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" }, "node_modules/@types/node": { "version": "16.6.2", @@ -2779,8 +2820,7 @@ "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 + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" }, "node_modules/@types/parse-json": { "version": "4.0.0", @@ -2968,8 +3008,7 @@ "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 + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "node_modules/accepts": { "version": "1.3.7", @@ -3027,7 +3066,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, "dependencies": { "debug": "4" }, @@ -3039,7 +3077,6 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -3055,14 +3092,54 @@ "node_modules/agent-base/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 + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/agentkeepalive": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "dependencies": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/agentkeepalive/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/agentkeepalive/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agentkeepalive/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==" }, "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -3075,7 +3152,6 @@ "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", @@ -3105,15 +3181,6 @@ "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-html": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", @@ -3297,49 +3364,20 @@ } }, "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true + "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==" }, "node_modules/are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "dev": true, + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", "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" + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" } }, "node_modules/arg": { @@ -3449,7 +3487,6 @@ "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" } @@ -3483,7 +3520,6 @@ "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" } @@ -3549,7 +3585,6 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", - "dev": true, "engines": { "node": "*" } @@ -3563,8 +3598,7 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "node_modules/atob": { "version": "2.1.2", @@ -3617,7 +3651,6 @@ "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": "*" } @@ -3625,8 +3658,7 @@ "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 + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "node_modules/axios": { "version": "0.24.0", @@ -3928,7 +3960,6 @@ "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" } @@ -3936,8 +3967,7 @@ "node_modules/bcrypt-pbkdf/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 + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" }, "node_modules/bcryptjs": { "version": "2.4.3", @@ -4403,6 +4433,45 @@ "resolved": "https://registry.npmjs.org/bzip-deflate/-/bzip-deflate-1.0.0.tgz", "integrity": "sha1-sC2wB+83vrzCk4Skssb08PTHlsk=" }, + "node_modules/cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "dependencies": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cacache/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", @@ -4458,7 +4527,6 @@ "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" } @@ -4467,7 +4535,6 @@ "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", @@ -4499,8 +4566,7 @@ "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, "node_modules/cbor": { "version": "5.0.1", @@ -4699,7 +4765,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, "engines": { "node": ">=10" } @@ -4793,7 +4858,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, "engines": { "node": ">=6" } @@ -4905,15 +4969,6 @@ "node": ">=0.8" } }, - "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/codepage": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", @@ -4939,7 +4994,6 @@ "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" } @@ -4947,8 +5001,15 @@ "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 + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "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==", + "bin": { + "color-support": "bin.js" + } }, "node_modules/colorette": { "version": "1.3.0", @@ -4968,7 +5029,6 @@ "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" }, @@ -5079,8 +5139,7 @@ "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": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "node_modules/content-disposition": { "version": "0.5.3", @@ -5271,8 +5330,7 @@ "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 + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "node_modules/cosmiconfig": { "version": "7.0.0", @@ -5333,7 +5391,6 @@ "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -5775,7 +5832,6 @@ "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" }, @@ -5813,7 +5869,6 @@ "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" } @@ -5822,7 +5877,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, "dependencies": { "decamelize": "^1.1.0", "map-obj": "^1.0.0" @@ -5835,7 +5889,6 @@ "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" } @@ -6060,7 +6113,6 @@ "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" } @@ -6068,8 +6120,7 @@ "node_modules/delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" }, "node_modules/depd": { "version": "2.0.0", @@ -6328,7 +6379,6 @@ "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" @@ -6391,8 +6441,7 @@ "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/emojis-list": { "version": "3.0.0", @@ -6412,6 +6461,27 @@ "node": ">= 0.8" } }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "optional": 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", @@ -6446,7 +6516,6 @@ "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" } @@ -6463,6 +6532,11 @@ "node": ">=4" } }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + }, "node_modules/errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", @@ -6488,7 +6562,6 @@ "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" } @@ -6579,7 +6652,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, "engines": { "node": ">=6" } @@ -6958,14 +7030,6 @@ "node": ">= 0.8.0" } }, - "node_modules/esm": { - "version": "3.2.25", - "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", - "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", - "engines": { - "node": ">=6" - } - }, "node_modules/espree": { "version": "9.3.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", @@ -7347,8 +7411,7 @@ "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 + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "node_modules/extend-shallow": { "version": "3.0.2", @@ -7503,7 +7566,6 @@ "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" ] @@ -7520,8 +7582,7 @@ "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 + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { "version": "3.2.7", @@ -7542,8 +7603,7 @@ "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 + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/fast-levenshtein": { "version": "2.0.6", @@ -7718,7 +7778,6 @@ "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" @@ -7852,7 +7911,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, "engines": { "node": "*" } @@ -7861,7 +7919,6 @@ "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", @@ -7932,7 +7989,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, "dependencies": { "minipass": "^3.0.0" }, @@ -8027,52 +8083,47 @@ "integrity": "sha1-mDwck5/iPZMnAVhXEeHZpDDLdMs=" }, "node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", "dependencies": { - "aproba": "^1.0.3", + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", "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/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" + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "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, + "node_modules/gauge/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/gauge/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/gaze": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", - "dev": true, "dependencies": { "globule": "^1.0.0" }, @@ -8098,7 +8149,6 @@ "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.*" } @@ -8120,7 +8170,6 @@ "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" } @@ -8202,7 +8251,6 @@ "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" } @@ -8336,7 +8384,6 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.3.tgz", "integrity": "sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg==", - "dev": true, "dependencies": { "glob": "~7.1.1", "lodash": "~4.17.10", @@ -8349,8 +8396,7 @@ "node_modules/graceful-fs": { "version": "4.2.9", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", - "dev": true + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" }, "node_modules/growl": { "version": "1.10.5", @@ -8859,7 +8905,6 @@ "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" } @@ -8869,7 +8914,6 @@ "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" @@ -8882,7 +8926,6 @@ "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" } @@ -8922,7 +8965,6 @@ "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" } @@ -8955,8 +8997,7 @@ "node_modules/has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, "node_modules/has-value": { "version": "1.0.0", @@ -9101,7 +9142,6 @@ "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" }, @@ -9252,6 +9292,11 @@ "entities": "^2.0.0" } }, + "node_modules/http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -9312,7 +9357,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, "dependencies": { "@tootallnate/once": "1", "agent-base": "6", @@ -9326,7 +9370,6 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -9342,8 +9385,7 @@ "node_modules/http-proxy-agent/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 + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/http-proxy-middleware": { "version": "0.19.1", @@ -9491,7 +9533,6 @@ "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", @@ -9512,7 +9553,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, "dependencies": { "agent-base": "6", "debug": "4" @@ -9525,7 +9565,6 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -9541,8 +9580,15 @@ "node_modules/https-proxy-agent/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 + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "dependencies": { + "ms": "^2.0.0" + } }, "node_modules/i": { "version": "0.3.6", @@ -9749,7 +9795,6 @@ "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" } @@ -9758,11 +9803,15 @@ "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==" + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -9832,8 +9881,7 @@ "node_modules/ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" }, "node_modules/ip-regex": { "version": "4.3.0", @@ -9923,8 +9971,7 @@ "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 + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "node_modules/is-bigint": { "version": "1.0.4", @@ -10005,7 +10052,6 @@ "version": "2.6.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", - "dev": true, "dependencies": { "has": "^1.0.3" }, @@ -10107,7 +10153,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -10138,6 +10183,11 @@ "node": ">=8" } }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=" + }, "node_modules/is-negative-zero": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", @@ -10229,7 +10279,6 @@ "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" } @@ -10315,8 +10364,7 @@ "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 + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, "node_modules/is-unc-path": { "version": "1.0.0", @@ -10370,14 +10418,12 @@ "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "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 + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "node_modules/isobject": { "version": "3.0.1", @@ -10391,8 +10437,7 @@ "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 + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "node_modules/jake": { "version": "10.8.2", @@ -10537,8 +10582,7 @@ "node_modules/js-base64": { "version": "2.6.4", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", - "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", - "dev": true + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" }, "node_modules/js-crc": { "version": "0.2.0", @@ -10580,8 +10624,7 @@ "node_modules/jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "node_modules/jsesc": { "version": "3.0.2", @@ -10603,20 +10646,17 @@ "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 + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "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 + "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==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -10627,8 +10667,7 @@ "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 + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "node_modules/json3": { "version": "3.3.3", @@ -10712,7 +10751,6 @@ "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" ], @@ -10818,7 +10856,6 @@ "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" } @@ -10891,8 +10928,7 @@ "node_modules/lines-and-columns": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" }, "node_modules/linkify-it": { "version": "3.0.2", @@ -10950,7 +10986,6 @@ "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" }, @@ -11223,7 +11258,6 @@ "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" }, @@ -11255,6 +11289,66 @@ "semver": "bin/semver.js" } }, + "node_modules/make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "dependencies": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/make-fetch-happen/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/make-fetch-happen/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==" + }, + "node_modules/make-fetch-happen/node_modules/socks-proxy-agent": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/make-iterator": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", @@ -11280,7 +11374,6 @@ "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" }, @@ -11383,7 +11476,6 @@ "version": "9.0.0", "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", - "dev": true, "dependencies": { "@types/minimist": "^1.2.0", "camelcase-keys": "^6.2.2", @@ -11409,7 +11501,6 @@ "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" }, @@ -11492,7 +11583,6 @@ "version": "1.49.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -11501,7 +11591,6 @@ "version": "2.1.32", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", - "dev": true, "dependencies": { "mime-db": "1.49.0" }, @@ -11530,7 +11619,6 @@ "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" } @@ -11604,7 +11692,6 @@ "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", @@ -11618,16 +11705,14 @@ "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/minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dev": true, + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", "dependencies": { "yallist": "^4.0.0" }, @@ -11635,11 +11720,70 @@ "node": ">=8" } }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "dependencies": { + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "encoding": "^0.1.12" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" @@ -11994,8 +12138,7 @@ "node_modules/nan": { "version": "2.15.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", - "dev": true + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" }, "node_modules/nanoid": { "version": "3.1.25", @@ -12050,7 +12193,6 @@ "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" } @@ -12197,20 +12339,19 @@ } }, "node_modules/node-gyp": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", - "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", - "dev": true, + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", "dependencies": { "env-paths": "^2.2.0", "glob": "^7.1.4", - "graceful-fs": "^4.2.3", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", "nopt": "^5.0.0", - "npmlog": "^4.1.2", - "request": "^2.88.2", + "npmlog": "^6.0.0", "rimraf": "^3.0.2", - "semver": "^7.3.2", - "tar": "^6.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", "which": "^2.0.2" }, "bin": { @@ -12220,11 +12361,48 @@ "node": ">= 10.12.0" } }, + "node_modules/node-gyp/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/node-gyp/node_modules/are-we-there-yet": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz", + "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/node-gyp/node_modules/gauge": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.3.tgz", + "integrity": "sha512-ICw1DhAwMtb22rYFwEHgJcx1JCwJGv3x6G0OQUq56Nge+H4Q8JEwr8iveS0XFlsUNSI67F5ffMGK25bK4Pmskw==", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, "node_modules/node-gyp/node_modules/nopt": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dev": true, "dependencies": { "abbrev": "1" }, @@ -12235,11 +12413,24 @@ "node": ">=6" } }, + "node_modules/node-gyp/node_modules/npmlog": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.1.tgz", + "integrity": "sha512-BTHDvY6nrRHuRfyjt1MAufLxYdVXZfd099H4+i1f0lPywNQyI4foeNXJRObB/uy+TYqUW0vAD9gbdSOXPst7Eg==", + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.0", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, "node_modules/node-gyp/node_modules/semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -12250,6 +12441,25 @@ "node": ">=10" } }, + "node_modules/node-gyp/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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/node-gyp/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==", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, "node_modules/node-http2": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/node-http2/-/node-http2-4.0.1.tgz", @@ -12321,14 +12531,13 @@ "dev": true }, "node_modules/node-sass": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-6.0.1.tgz", - "integrity": "sha512-f+Rbqt92Ful9gX0cGtdYwjTrWAaGURgaK5rZCWOgCNyGWusFYHhbqCCBoFBeat+HKETOU02AyTxNhJV0YZf2jQ==", - "dev": true, + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-7.0.1.tgz", + "integrity": "sha512-uMy+Xt29NlqKCFdFRZyXKOTqGt+QaKHexv9STj2WeLottnlqZEEWx6Bj0MXNthmFRRdM/YwyNo/8Tr46TOM0jQ==", "hasInstallScript": true, "dependencies": { "async-foreach": "^0.1.3", - "chalk": "^1.1.1", + "chalk": "^4.1.2", "cross-spawn": "^7.0.3", "gaze": "^1.0.0", "get-stdin": "^4.0.1", @@ -12336,10 +12545,10 @@ "lodash": "^4.17.15", "meow": "^9.0.0", "nan": "^2.13.2", - "node-gyp": "^7.1.0", - "npmlog": "^4.0.0", + "node-gyp": "^8.4.1", + "npmlog": "^5.0.0", "request": "^2.88.0", - "sass-graph": "2.2.5", + "sass-graph": "4.0.0", "stdout-stream": "^1.4.0", "true-case-path": "^1.0.2" }, @@ -12350,6 +12559,70 @@ "node": ">=12" } }, + "node_modules/node-sass/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/node-sass/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/node-sass/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/node-sass/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/node-sass/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/node-sass/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/nodom": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/nodom/-/nodom-2.4.0.tgz", @@ -12379,7 +12652,6 @@ "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", @@ -12394,7 +12666,6 @@ "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -12450,15 +12721,14 @@ } }, "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, + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" } }, "node_modules/nth-check": { @@ -12473,15 +12743,6 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "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", @@ -12491,7 +12752,6 @@ "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": "*" } @@ -12500,7 +12760,6 @@ "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" } @@ -13011,7 +13270,6 @@ "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" }, @@ -13026,7 +13284,6 @@ "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" }, @@ -13038,7 +13295,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, "dependencies": { "aggregate-error": "^3.0.0" }, @@ -13065,7 +13321,6 @@ "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" } @@ -13277,7 +13532,6 @@ "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", @@ -13347,7 +13601,6 @@ "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" } @@ -13370,7 +13623,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, "engines": { "node": ">=8" } @@ -13378,8 +13630,7 @@ "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 + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-root": { "version": "0.1.1", @@ -13441,8 +13692,7 @@ "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 + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "node_modules/pgp-utils": { "version": "0.0.35", @@ -13815,8 +14065,7 @@ "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 + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "node_modules/progress": { "version": "1.1.8", @@ -13826,6 +14075,23 @@ "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/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/prompt": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/prompt/-/prompt-1.1.0.tgz", @@ -13952,8 +14218,7 @@ "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 + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" }, "node_modules/public-encrypt": { "version": "4.0.3", @@ -14008,7 +14273,6 @@ "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" } @@ -14081,7 +14345,6 @@ "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" } @@ -14156,7 +14419,6 @@ "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", @@ -14171,7 +14433,6 @@ "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", @@ -14188,7 +14449,6 @@ "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" } @@ -14196,14 +14456,12 @@ "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 + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" }, "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", @@ -14215,7 +14473,6 @@ "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" } @@ -14420,7 +14677,6 @@ "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" @@ -14596,7 +14852,6 @@ "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", @@ -14661,7 +14916,6 @@ "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" } @@ -14670,7 +14924,6 @@ "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" } @@ -14691,7 +14944,6 @@ "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, "dependencies": { "is-core-module": "^2.2.0", "path-parse": "^1.0.6" @@ -14775,7 +15027,6 @@ "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true, "engines": { "node": ">= 4" } @@ -14803,7 +15054,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, "dependencies": { "glob": "^7.1.3" }, @@ -14891,18 +15141,128 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sass-graph": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", - "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", - "dev": true, + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.0.tgz", + "integrity": "sha512-WSO/MfXqKH7/TS8RdkCX3lVkPFQzCgbqdGsmSKq6tlPU+GpGEsa/5aW18JqItnqh+lPtcjifqdZ/VmiILkKckQ==", "dependencies": { "glob": "^7.0.0", - "lodash": "^4.0.0", - "scss-tokenizer": "^0.2.3", - "yargs": "^13.3.2" + "lodash": "^4.17.11", + "scss-tokenizer": "^0.3.0", + "yargs": "^17.2.1" }, "bin": { "sassgraph": "bin/sassgraph" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/sass-graph/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/sass-graph/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/sass-graph/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/sass-graph/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/sass-graph/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/sass-graph/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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sass-graph/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/sass-graph/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/sass-graph/node_modules/yargs": { + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.0.tgz", + "integrity": "sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/sass-graph/node_modules/yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "engines": { + "node": ">=12" } }, "node_modules/sass-loader": { @@ -14968,25 +15328,20 @@ "integrity": "sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w==" }, "node_modules/scss-tokenizer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", - "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", - "dev": true, + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.3.0.tgz", + "integrity": "sha512-14Zl9GcbBvOT9057ZKjpz5yPOyUWG2ojd9D5io28wHRYsOrs7U95Q+KNL87+32p8rc+LvDpbu/i9ZYjM9Q+FsQ==", "dependencies": { - "js-base64": "^2.1.8", - "source-map": "^0.4.2" + "js-base64": "^2.4.3", + "source-map": "^0.7.1" } }, "node_modules/scss-tokenizer/node_modules/source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "dependencies": { - "amdefine": ">=0.0.4" - }, + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "engines": { - "node": ">=0.8.0" + "node": ">= 8" } }, "node_modules/select-hose": { @@ -15118,8 +15473,7 @@ "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 + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "node_modules/set-value": { "version": "2.0.1", @@ -15176,7 +15530,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, "dependencies": { "shebang-regex": "^3.0.0" }, @@ -15188,7 +15541,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, "engines": { "node": ">=8" } @@ -15220,10 +15572,9 @@ } }, "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "node_modules/sirv": { "version": "1.0.14", @@ -15289,7 +15640,6 @@ "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" @@ -15514,7 +15864,6 @@ "version": "2.6.1", "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz", "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==", - "dev": true, "dependencies": { "ip": "^1.1.5", "smart-buffer": "^4.1.0" @@ -15623,7 +15972,6 @@ "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" @@ -15632,14 +15980,12 @@ "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 + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" }, "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" @@ -15648,8 +15994,7 @@ "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 + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" }, "node_modules/spdy": { "version": "4.0.2", @@ -15768,7 +16113,6 @@ "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", @@ -15792,8 +16136,18 @@ "node_modules/sshpk/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 + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } }, "node_modules/stack-trace": { "version": "0.0.10", @@ -15879,7 +16233,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", - "dev": true, "dependencies": { "readable-stream": "^2.0.1" } @@ -15888,7 +16241,6 @@ "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", @@ -15902,14 +16254,12 @@ "node_modules/stdout-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 + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/stdout-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" } @@ -15956,7 +16306,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -15970,7 +16319,6 @@ "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" } @@ -15979,7 +16327,6 @@ "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" }, @@ -16046,7 +16393,6 @@ "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" }, @@ -16116,10 +16462,9 @@ } }, "node_modules/tar": { - "version": "6.1.10", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.10.tgz", - "integrity": "sha512-kvvfiVvjGMxeUNB6MyYv5z7vhfFRwbwCXJAeL0/lnbrttBVqcMOnpHUf0X42LrPMR8mMpgapkJMchFH4FSHzNA==", - "dev": true, + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -16136,7 +16481,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, "bin": { "mkdirp": "bin/cmd.js" }, @@ -16493,7 +16837,6 @@ "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" @@ -16506,7 +16849,6 @@ "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" } @@ -16528,7 +16870,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", - "dev": true, "dependencies": { "glob": "^7.1.2" } @@ -16543,7 +16884,6 @@ "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" }, @@ -16743,6 +17083,22 @@ "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/universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -16831,7 +17187,6 @@ "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" } @@ -17015,7 +17370,6 @@ "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" } @@ -17042,7 +17396,6 @@ "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" @@ -17061,7 +17414,6 @@ "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" ], @@ -17681,7 +18033,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, "dependencies": { "isexe": "^2.0.0" }, @@ -17718,7 +18069,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, "dependencies": { "string-width": "^1.0.2 || 2" } @@ -17727,7 +18077,6 @@ "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" } @@ -17736,7 +18085,6 @@ "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" } @@ -17745,7 +18093,6 @@ "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" @@ -17758,7 +18105,6 @@ "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" }, @@ -18019,8 +18365,7 @@ "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 + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yaml": { "version": "1.10.2", @@ -18234,7 +18579,6 @@ "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" } @@ -18594,8 +18938,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 + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" }, "@babel/helper-validator-option": { "version": "7.16.7", @@ -18630,7 +18973,6 @@ "version": "7.16.10", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", - "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", @@ -18641,7 +18983,6 @@ "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" } @@ -18650,7 +18991,6 @@ "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", @@ -18660,14 +19000,12 @@ "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 + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "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" } @@ -19595,6 +19933,11 @@ } } }, + "@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" + }, "@humanwhocodes/config-array": { "version": "0.9.5", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", @@ -20009,6 +20352,41 @@ "fastq": "^1.6.0" } }, + "@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "requires": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + } + } + }, "@polka/url": { "version": "1.0.0-next.17", "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.17.tgz", @@ -20078,8 +20456,7 @@ "@tootallnate/once": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" }, "@types/eslint": { "version": "8.4.1", @@ -20143,8 +20520,7 @@ "@types/minimist": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" }, "@types/node": { "version": "16.6.2", @@ -20154,8 +20530,7 @@ "@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 + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" }, "@types/parse-json": { "version": "4.0.0", @@ -20343,8 +20718,7 @@ "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 + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "accepts": { "version": "1.3.7", @@ -20386,7 +20760,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, "requires": { "debug": "4" }, @@ -20395,7 +20768,6 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, "requires": { "ms": "2.1.2" } @@ -20403,8 +20775,37 @@ "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 + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "agentkeepalive": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "requires": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -20412,7 +20813,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, "requires": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -20422,7 +20822,6 @@ "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", @@ -20444,12 +20843,6 @@ "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-html": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", @@ -20602,51 +20995,17 @@ } }, "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true + "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==" }, "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "dev": true, + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", "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" - } - } + "readable-stream": "^3.6.0" } }, "arg": { @@ -20729,7 +21088,6 @@ "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" } @@ -20781,8 +21139,7 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, "assertion-error": { "version": "1.1.0", @@ -20820,8 +21177,7 @@ "async-foreach": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", - "dev": true + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=" }, "async-limiter": { "version": "1.0.1", @@ -20832,8 +21188,7 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "atob": { "version": "2.1.2", @@ -20863,14 +21218,12 @@ "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 + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "axios": { "version": "0.24.0", @@ -21124,7 +21477,6 @@ "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" }, @@ -21132,8 +21484,7 @@ "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" } } }, @@ -21517,6 +21868,38 @@ "resolved": "https://registry.npmjs.org/bzip-deflate/-/bzip-deflate-1.0.0.tgz", "integrity": "sha1-sC2wB+83vrzCk4Skssb08PTHlsk=" }, + "cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "requires": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + } + } + }, "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", @@ -21562,14 +21945,12 @@ "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, "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", @@ -21585,8 +21966,7 @@ "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, "cbor": { "version": "5.0.1", @@ -21754,8 +22134,7 @@ "chownr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" }, "chrome-trace-event": { "version": "1.0.3", @@ -21828,8 +22207,7 @@ "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" }, "cli-cursor": { "version": "3.1.0", @@ -21913,12 +22291,6 @@ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", "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 - }, "codepage": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", @@ -21938,7 +22310,6 @@ "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" } @@ -21946,8 +22317,12 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "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==" }, "colorette": { "version": "1.3.0", @@ -21964,7 +22339,6 @@ "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" } @@ -22056,8 +22430,7 @@ "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "content-disposition": { "version": "0.5.3", @@ -22201,8 +22574,7 @@ "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 + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cosmiconfig": { "version": "7.0.0", @@ -22262,7 +22634,6 @@ "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -22645,7 +23016,6 @@ "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" } @@ -22673,14 +23043,12 @@ "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=" }, "decamelize-keys": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, "requires": { "decamelize": "^1.1.0", "map-obj": "^1.0.0" @@ -22689,8 +23057,7 @@ "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" } } }, @@ -22868,14 +23235,12 @@ "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 + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" }, "depd": { "version": "2.0.0", @@ -23102,7 +23467,6 @@ "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" @@ -23161,8 +23525,7 @@ "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "emojis-list": { "version": "3.0.0", @@ -23176,6 +23539,26 @@ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "optional": 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", @@ -23203,8 +23586,7 @@ "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 + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" }, "envinfo": { "version": "7.8.1", @@ -23212,6 +23594,11 @@ "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", "dev": true }, + "err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + }, "errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", @@ -23234,7 +23621,6 @@ "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" } @@ -23308,8 +23694,7 @@ "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" }, "escape-html": { "version": "1.0.3", @@ -23581,11 +23966,6 @@ } } }, - "esm": { - "version": "3.2.25", - "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", - "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==" - }, "espree": { "version": "9.3.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", @@ -23886,8 +24266,7 @@ "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "extend-shallow": { "version": "3.0.2", @@ -24007,8 +24386,7 @@ "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "eyes": { "version": "0.1.8", @@ -24019,8 +24397,7 @@ "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 + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-glob": { "version": "3.2.7", @@ -24038,8 +24415,7 @@ "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 + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "fast-levenshtein": { "version": "2.0.6", @@ -24175,7 +24551,6 @@ "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" @@ -24269,14 +24644,12 @@ "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, "form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -24325,7 +24698,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, "requires": { "minipass": "^3.0.0" } @@ -24405,39 +24777,32 @@ "integrity": "sha1-mDwck5/iPZMnAVhXEeHZpDDLdMs=" }, "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", "requires": { - "aproba": "^1.0.3", + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" }, "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" - } + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "ansi-regex": "^5.0.1" } } } @@ -24446,7 +24811,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", - "dev": true, "requires": { "globule": "^1.0.0" } @@ -24465,8 +24829,7 @@ "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 + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "get-intrinsic": { "version": "1.1.1", @@ -24481,8 +24844,7 @@ "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 + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" }, "get-stream": { "version": "5.2.0", @@ -24540,7 +24902,6 @@ "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" } @@ -24649,7 +25010,6 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.3.tgz", "integrity": "sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg==", - "dev": true, "requires": { "glob": "~7.1.1", "lodash": "~4.17.10", @@ -24659,8 +25019,7 @@ "graceful-fs": { "version": "4.2.9", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", - "dev": true + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" }, "growl": { "version": "1.10.5", @@ -25039,14 +25398,12 @@ "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" }, "har-validator": { "version": "5.1.5", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, "requires": { "ajv": "^6.12.3", "har-schema": "^2.0.0" @@ -25055,8 +25412,7 @@ "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 + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==" }, "has": { "version": "1.0.3", @@ -25083,8 +25439,7 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "has-symbols": { "version": "1.0.2", @@ -25102,8 +25457,7 @@ "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, "has-value": { "version": "1.0.0", @@ -25222,7 +25576,6 @@ "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" } @@ -25344,6 +25697,11 @@ "entities": "^2.0.0" } }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, "http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -25397,7 +25755,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, "requires": { "@tootallnate/once": "1", "agent-base": "6", @@ -25408,7 +25765,6 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, "requires": { "ms": "2.1.2" } @@ -25416,8 +25772,7 @@ "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 + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -25548,7 +25903,6 @@ "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", @@ -25565,7 +25919,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, "requires": { "agent-base": "6", "debug": "4" @@ -25575,7 +25928,6 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, "requires": { "ms": "2.1.2" } @@ -25583,11 +25935,18 @@ "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 + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "requires": { + "ms": "^2.0.0" + } + }, "i": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz", @@ -25726,14 +26085,17 @@ "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=" }, "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 + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, + "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==" }, "inflight": { "version": "1.0.6", @@ -25798,8 +26160,7 @@ "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" }, "ip-regex": { "version": "4.3.0", @@ -25867,8 +26228,7 @@ "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "is-bigint": { "version": "1.0.4", @@ -25914,7 +26274,6 @@ "version": "2.6.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", - "dev": true, "requires": { "has": "^1.0.3" } @@ -25992,8 +26351,7 @@ "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "is-function": { "version": "1.0.2", @@ -26015,6 +26373,11 @@ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "dev": true }, + "is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=" + }, "is-negative-zero": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", @@ -26080,8 +26443,7 @@ "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 + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" }, "is-plain-object": { "version": "2.0.4", @@ -26137,8 +26499,7 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, "is-unc-path": { "version": "1.0.0", @@ -26180,14 +26541,12 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "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 + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "isobject": { "version": "3.0.1", @@ -26198,8 +26557,7 @@ "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 + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "jake": { "version": "10.8.2", @@ -26315,8 +26673,7 @@ "js-base64": { "version": "2.6.4", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", - "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", - "dev": true + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" }, "js-crc": { "version": "0.2.0", @@ -26357,8 +26714,7 @@ "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "jsesc": { "version": "3.0.2", @@ -26374,20 +26730,17 @@ "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 + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -26398,8 +26751,7 @@ "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 + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "json3": { "version": "3.3.3", @@ -26470,7 +26822,6 @@ "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", @@ -26571,8 +26922,7 @@ "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 + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" }, "klona": { "version": "2.0.4", @@ -26632,8 +26982,7 @@ "lines-and-columns": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" }, "linkify-it": { "version": "3.0.2", @@ -26685,7 +27034,6 @@ "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" } @@ -26934,7 +27282,6 @@ "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" } @@ -26956,6 +27303,54 @@ } } }, + "make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "requires": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "socks-proxy-agent": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + } + } + } + }, "make-iterator": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", @@ -26974,8 +27369,7 @@ "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 + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==" }, "map-visit": { "version": "1.0.0", @@ -27065,7 +27459,6 @@ "version": "9.0.0", "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", - "dev": true, "requires": { "@types/minimist": "^1.2.0", "camelcase-keys": "^6.2.2", @@ -27084,8 +27477,7 @@ "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 + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==" } } }, @@ -27147,14 +27539,12 @@ "mime-db": { "version": "1.49.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", - "dev": true + "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" }, "mime-types": { "version": "2.1.32", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", - "dev": true, "requires": { "mime-db": "1.49.0" } @@ -27176,8 +27566,7 @@ "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 + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" }, "mini-css-extract-plugin": { "version": "1.3.7", @@ -27230,7 +27619,6 @@ "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", @@ -27240,25 +27628,65 @@ "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" } } }, "minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dev": true, + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", "requires": { "yallist": "^4.0.0" } }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "requires": { + "encoding": "^0.1.12", + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "requires": { + "minipass": "^3.0.0" + } + }, "minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, "requires": { "minipass": "^3.0.0", "yallist": "^4.0.0" @@ -27545,8 +27973,7 @@ "nan": { "version": "2.15.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", - "dev": true + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" }, "nanoid": { "version": "3.1.25", @@ -27588,8 +28015,7 @@ "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 + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, "neo-async": { "version": "2.6.2", @@ -27696,40 +28122,93 @@ "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" }, "node-gyp": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", - "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", - "dev": true, + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", "requires": { "env-paths": "^2.2.0", "glob": "^7.1.4", - "graceful-fs": "^4.2.3", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", "nopt": "^5.0.0", - "npmlog": "^4.1.2", - "request": "^2.88.2", + "npmlog": "^6.0.0", "rimraf": "^3.0.2", - "semver": "^7.3.2", - "tar": "^6.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", "which": "^2.0.2" }, "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "are-we-there-yet": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz", + "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "gauge": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.3.tgz", + "integrity": "sha512-ICw1DhAwMtb22rYFwEHgJcx1JCwJGv3x6G0OQUq56Nge+H4Q8JEwr8iveS0XFlsUNSI67F5ffMGK25bK4Pmskw==", + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, "nopt": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dev": true, "requires": { "abbrev": "1" } }, + "npmlog": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.1.tgz", + "integrity": "sha512-BTHDvY6nrRHuRfyjt1MAufLxYdVXZfd099H4+i1f0lPywNQyI4foeNXJRObB/uy+TYqUW0vAD9gbdSOXPst7Eg==", + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.0", + "set-blocking": "^2.0.0" + } + }, "semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, "requires": { "lru-cache": "^6.0.0" } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "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==", + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } } } }, @@ -27803,13 +28282,12 @@ "dev": true }, "node-sass": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-6.0.1.tgz", - "integrity": "sha512-f+Rbqt92Ful9gX0cGtdYwjTrWAaGURgaK5rZCWOgCNyGWusFYHhbqCCBoFBeat+HKETOU02AyTxNhJV0YZf2jQ==", - "dev": true, + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-7.0.1.tgz", + "integrity": "sha512-uMy+Xt29NlqKCFdFRZyXKOTqGt+QaKHexv9STj2WeLottnlqZEEWx6Bj0MXNthmFRRdM/YwyNo/8Tr46TOM0jQ==", "requires": { "async-foreach": "^0.1.3", - "chalk": "^1.1.1", + "chalk": "^4.1.2", "cross-spawn": "^7.0.3", "gaze": "^1.0.0", "get-stdin": "^4.0.1", @@ -27817,12 +28295,57 @@ "lodash": "^4.17.15", "meow": "^9.0.0", "nan": "^2.13.2", - "node-gyp": "^7.1.0", - "npmlog": "^4.0.0", + "node-gyp": "^8.4.1", + "npmlog": "^5.0.0", "request": "^2.88.0", - "sass-graph": "2.2.5", + "sass-graph": "4.0.0", "stdout-stream": "^1.4.0", "true-case-path": "^1.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } } }, "nodom": { @@ -27848,7 +28371,6 @@ "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", @@ -27860,7 +28382,6 @@ "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, "requires": { "lru-cache": "^6.0.0" } @@ -27902,15 +28423,14 @@ } }, "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, + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" } }, "nth-check": { @@ -27922,12 +28442,6 @@ "boolbase": "^1.0.0" } }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, "nwmatcher": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz", @@ -27936,14 +28450,12 @@ "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 + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "object-copy": { "version": "0.1.0", @@ -28333,7 +28845,6 @@ "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" } @@ -28342,7 +28853,6 @@ "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" } @@ -28351,7 +28861,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, "requires": { "aggregate-error": "^3.0.0" } @@ -28368,8 +28877,7 @@ "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==" }, "pac-proxy-agent": { "version": "4.1.0", @@ -28545,7 +29053,6 @@ "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", @@ -28599,8 +29106,7 @@ "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 + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" }, "path-is-absolute": { "version": "1.0.1", @@ -28616,14 +29122,12 @@ "path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, "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 + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "path-root": { "version": "0.1.1", @@ -28673,8 +29177,7 @@ "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "pgp-utils": { "version": "0.0.35", @@ -28949,14 +29452,27 @@ "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 + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "progress": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=" }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + }, + "promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "requires": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + } + }, "prompt": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/prompt/-/prompt-1.1.0.tgz", @@ -29063,8 +29579,7 @@ "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 + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" }, "public-encrypt": { "version": "4.0.3", @@ -29122,8 +29637,7 @@ "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==" }, "purepack": { "version": "1.0.6", @@ -29165,8 +29679,7 @@ "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 + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==" }, "randombytes": { "version": "2.1.0", @@ -29231,7 +29744,6 @@ "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", @@ -29242,14 +29754,12 @@ "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 + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" }, "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", @@ -29260,8 +29770,7 @@ "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 + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" } } }, @@ -29269,7 +29778,6 @@ "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", @@ -29279,8 +29787,7 @@ "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 + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" } } }, @@ -29459,7 +29966,6 @@ "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" @@ -29597,7 +30103,6 @@ "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", @@ -29624,8 +30129,7 @@ "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 + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" } } }, @@ -29653,8 +30157,7 @@ "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 + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-main-filename": { "version": "2.0.0", @@ -29672,7 +30175,6 @@ "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, "requires": { "is-core-module": "^2.2.0", "path-parse": "^1.0.6" @@ -29735,8 +30237,7 @@ "retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" }, "reusify": { "version": "1.0.4", @@ -29754,7 +30255,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, "requires": { "glob": "^7.1.3" } @@ -29808,15 +30308,94 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass-graph": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", - "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", - "dev": true, + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.0.tgz", + "integrity": "sha512-WSO/MfXqKH7/TS8RdkCX3lVkPFQzCgbqdGsmSKq6tlPU+GpGEsa/5aW18JqItnqh+lPtcjifqdZ/VmiILkKckQ==", "requires": { "glob": "^7.0.0", - "lodash": "^4.0.0", - "scss-tokenizer": "^0.2.3", - "yargs": "^13.3.2" + "lodash": "^4.17.11", + "scss-tokenizer": "^0.3.0", + "yargs": "^17.2.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yargs": { + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.0.tgz", + "integrity": "sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + } + }, + "yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==" + } } }, "sass-loader": { @@ -29851,23 +30430,18 @@ "integrity": "sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w==" }, "scss-tokenizer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", - "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", - "dev": true, + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.3.0.tgz", + "integrity": "sha512-14Zl9GcbBvOT9057ZKjpz5yPOyUWG2ojd9D5io28wHRYsOrs7U95Q+KNL87+32p8rc+LvDpbu/i9ZYjM9Q+FsQ==", "requires": { - "js-base64": "^2.1.8", - "source-map": "^0.4.2" + "js-base64": "^2.4.3", + "source-map": "^0.7.1" }, "dependencies": { "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" } } }, @@ -29984,8 +30558,7 @@ "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 + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "set-value": { "version": "2.0.1", @@ -30035,7 +30608,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, "requires": { "shebang-regex": "^3.0.0" } @@ -30043,8 +30615,7 @@ "shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, "shelljs": { "version": "0.5.3", @@ -30064,10 +30635,9 @@ } }, "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "sirv": { "version": "1.0.14", @@ -30117,8 +30687,7 @@ "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 + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" }, "snackbarjs": { "version": "1.1.0", @@ -30310,7 +30879,6 @@ "version": "2.6.1", "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz", "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==", - "dev": true, "requires": { "ip": "^1.1.5", "smart-buffer": "^4.1.0" @@ -30398,7 +30966,6 @@ "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" @@ -30407,14 +30974,12 @@ "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 + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" }, "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" @@ -30423,8 +30988,7 @@ "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 + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" }, "spdy": { "version": "4.0.2", @@ -30525,7 +31089,6 @@ "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", @@ -30541,11 +31104,18 @@ "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" } } }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "requires": { + "minipass": "^3.1.1" + } + }, "stack-trace": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", @@ -30610,7 +31180,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", - "dev": true, "requires": { "readable-stream": "^2.0.1" }, @@ -30619,7 +31188,6 @@ "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", @@ -30633,14 +31201,12 @@ "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==" }, "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" } @@ -30686,7 +31252,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -30696,14 +31261,12 @@ "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 + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "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" } @@ -30754,7 +31317,6 @@ "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" } @@ -30794,10 +31356,9 @@ "dev": true }, "tar": { - "version": "6.1.10", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.10.tgz", - "integrity": "sha512-kvvfiVvjGMxeUNB6MyYv5z7vhfFRwbwCXJAeL0/lnbrttBVqcMOnpHUf0X42LrPMR8mMpgapkJMchFH4FSHzNA==", - "dev": true, + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -30810,8 +31371,7 @@ "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" } } }, @@ -31104,7 +31664,6 @@ "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" @@ -31113,8 +31672,7 @@ "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 + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==" }, "triplesec": { "version": "4.0.3", @@ -31133,7 +31691,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", - "dev": true, "requires": { "glob": "^7.1.2" } @@ -31148,7 +31705,6 @@ "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" } @@ -31287,6 +31843,22 @@ "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==", + "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==", + "requires": { + "imurmurhash": "^0.1.4" + } + }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -31354,7 +31926,6 @@ "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" } @@ -31508,8 +32079,7 @@ "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" }, "v8-compile-cache": { "version": "2.3.0", @@ -31530,7 +32100,6 @@ "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" @@ -31546,7 +32115,6 @@ "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", @@ -32024,7 +32592,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, "requires": { "isexe": "^2.0.0" } @@ -32052,7 +32619,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, "requires": { "string-width": "^1.0.2 || 2" }, @@ -32060,20 +32626,17 @@ "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, "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 + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, "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" @@ -32083,7 +32646,6 @@ "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" } @@ -32292,8 +32854,7 @@ "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml": { "version": "1.10.2", diff --git a/package.json b/package.json index 6ca0dfd8..73d2d655 100644 --- a/package.json +++ b/package.json @@ -29,11 +29,17 @@ }, "main": "src/node/cjs.js", "module": "src/node/index.mjs", + "exports": { + ".": { + "require": "./src/node/cjs.js", + "import": "./src/node/index.mjs" + } + }, "bugs": "https://github.com/gchq/CyberChef/issues", "browserslist": [ "Chrome >= 50", "Firefox >= 38", - "node >= 10" + "node >= 16" ], "devDependencies": { "@babel/core": "^7.17.8", @@ -69,7 +75,6 @@ "imports-loader": "^3.0.0", "mini-css-extract-plugin": "1.3.7", "nightwatch": "^1.7.8", - "node-sass": "^6.0.0", "postcss": "^8.3.6", "postcss-css-variables": "^0.18.0", "postcss-import": "^14.0.2", @@ -112,7 +117,6 @@ "diff": "^5.0.0", "es6-promisify": "^7.0.0", "escodegen": "^2.0.0", - "esm": "^3.2.25", "esprima": "^4.0.1", "exif-parser": "^0.1.12", "file-saver": "^2.0.5", @@ -140,6 +144,7 @@ "ngeohash": "^0.6.3", "node-forge": "^0.10.0", "node-md6": "^0.1.0", + "node-sass": "^7.0.1", "nodom": "^2.4.0", "notepack.io": "^2.3.0", "nwmatcher": "^1.4.4", diff --git a/src/node/cjs.js b/src/node/cjs.js index 0f502ee9..80b941fc 100644 --- a/src/node/cjs.js +++ b/src/node/cjs.js @@ -7,7 +7,5 @@ * @license Apache-2.0 */ -/* eslint no-global-assign: ["off"] */ -require = require("esm")(module); -module.exports = require("./index.mjs"); -module.exports.File = require("./File.mjs"); +module.exports = (async () => await import("./index.mjs"))(); +module.exports.File = (async () => await import("./File.mjs"))(); diff --git a/tests/node/consumers/cjs-consumer.js b/tests/node/consumers/cjs-consumer.js index 16232312..3a759481 100644 --- a/tests/node/consumers/cjs-consumer.js +++ b/tests/node/consumers/cjs-consumer.js @@ -6,24 +6,27 @@ * @license Apache-2.0 */ -const chef = require("cyberchef"); const assert = require("assert"); -const d = chef.bake("Testing, 1 2 3", [ - chef.toHex, - chef.reverse, - { - op: chef.unique, - args: { - delimiter: "Space", - } - }, - { - op: chef.multiply, - args: { - delimiter: "Space", - } - } -]); +require("cyberchef").then(chef => { -assert.equal(d.value, "630957449041920"); + const d = chef.bake("Testing, 1 2 3", [ + chef.toHex, + chef.reverse, + { + op: chef.unique, + args: { + delimiter: "Space", + } + }, + { + op: chef.multiply, + args: { + delimiter: "Space", + } + } + ]); + + assert.equal(d.value, "630957449041920"); + +}); diff --git a/tests/node/consumers/esm-deep-import-consumer.mjs b/tests/node/consumers/esm-deep-import-consumer.mjs index 58fd921a..8b1eb4e9 100644 --- a/tests/node/consumers/esm-deep-import-consumer.mjs +++ b/tests/node/consumers/esm-deep-import-consumer.mjs @@ -6,7 +6,7 @@ * @license Apache-2.0 */ import assert from "assert"; -import { bake, toHex, reverse, unique, multiply } from "cyberchef/src/node/index.mjs"; +import { bake, toHex, reverse, unique, multiply } from "cyberchef"; const d = bake("Testing, 1 2 3", [ toHex, From 75dba51f5617df7e68348871f7961a1f7f5ba4b5 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 28 Mar 2022 10:52:28 +0100 Subject: [PATCH 285/754] Improve CJS and ESM module support #1037 --- Gruntfile.js | 9 +----- package.json | 11 +++----- src/node/{repl.js => repl.mjs} | 4 +-- src/node/{cjs.js => wrapper.js} | 0 tests/node/consumers/esm-consumer.mjs | 24 ++++++++++++++-- .../consumers/esm-deep-import-consumer.mjs | 28 ------------------- 6 files changed, 29 insertions(+), 47 deletions(-) rename src/node/{repl.js => repl.mjs} (92%) rename src/node/{cjs.js => wrapper.js} (100%) delete mode 100644 tests/node/consumers/esm-deep-import-consumer.mjs diff --git a/Gruntfile.js b/Gruntfile.js index 725e14a5..accda364 100755 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -50,7 +50,7 @@ module.exports = function (grunt) { grunt.registerTask("testnodeconsumer", "A task which checks whether consuming CJS and ESM apps work with the CyberChef build", - ["exec:setupNodeConsumers", "exec:testCJSNodeConsumer", "exec:testESMNodeConsumer", "exec:testESMDeepImportNodeConsumer", "exec:teardownNodeConsumers"]); + ["exec:setupNodeConsumers", "exec:testCJSNodeConsumer", "exec:testESMNodeConsumer", "exec:teardownNodeConsumers"]); grunt.registerTask("default", "Lints the code base", @@ -403,13 +403,6 @@ module.exports = function (grunt) { ]), stdout: false, }, - testESMDeepImportNodeConsumer: { - command: chainCommands([ - `cd ${nodeConsumerTestPath}`, - `node ${nodeFlags} esm-deep-import-consumer.mjs`, - ]), - stdout: false, - }, fixCryptoApiImports: { command: [ `[[ "$OSTYPE" == "darwin"* ]]`, diff --git a/package.json b/package.json index 73d2d655..8b97c4a1 100644 --- a/package.json +++ b/package.json @@ -27,13 +27,10 @@ "type": "git", "url": "https://github.com/gchq/CyberChef/" }, - "main": "src/node/cjs.js", - "module": "src/node/index.mjs", + "main": "src/node/wrapper.js", "exports": { - ".": { - "require": "./src/node/cjs.js", - "import": "./src/node/index.mjs" - } + "import": "./src/node/index.mjs", + "require": "./src/node/wrapper.js" }, "bugs": "https://github.com/gchq/CyberChef/issues", "browserslist": [ @@ -174,7 +171,7 @@ "scripts": { "start": "npx grunt dev", "build": "npx grunt prod", - "repl": "node src/node/repl.js", + "repl": "node --experimental-modules --experimental-json-modules --experimental-specifier-resolution=node --no-warnings src/node/repl.mjs", "test": "npx grunt configTests && node --experimental-modules --experimental-json-modules --no-warnings --no-deprecation tests/node/index.mjs && node --experimental-modules --experimental-json-modules --no-warnings --no-deprecation tests/operations/index.mjs", "test-node-consumer": "npx grunt testnodeconsumer", "testui": "npx grunt testui", diff --git a/src/node/repl.js b/src/node/repl.mjs similarity index 92% rename from src/node/repl.js rename to src/node/repl.mjs index 29154630..9846ff31 100644 --- a/src/node/repl.js +++ b/src/node/repl.mjs @@ -7,8 +7,8 @@ * @license Apache-2.0 */ -const chef = require("./cjs.js"); -const repl = require("repl"); +import chef from "./index.mjs"; +import repl from "repl"; /* eslint no-console: ["off"] */ diff --git a/src/node/cjs.js b/src/node/wrapper.js similarity index 100% rename from src/node/cjs.js rename to src/node/wrapper.js diff --git a/tests/node/consumers/esm-consumer.mjs b/tests/node/consumers/esm-consumer.mjs index 3536ef00..2919e533 100644 --- a/tests/node/consumers/esm-consumer.mjs +++ b/tests/node/consumers/esm-consumer.mjs @@ -7,8 +7,28 @@ */ import assert from "assert"; import chef from "cyberchef"; +import { bake, toHex, reverse, unique, multiply } from "cyberchef"; -const d = chef.bake("Testing, 1 2 3", [ +const a = bake("Testing, 1 2 3", [ + toHex, + reverse, + { + op: unique, + args: { + delimiter: "Space", + } + }, + { + op: multiply, + args: { + delimiter: "Space", + } + } +]); + +assert.equal(a.value, "630957449041920"); + +const b = chef.bake("Testing, 1 2 3", [ chef.toHex, chef.reverse, { @@ -25,4 +45,4 @@ const d = chef.bake("Testing, 1 2 3", [ } ]); -assert.equal(d.value, "630957449041920"); +assert.equal(b.value, "630957449041920"); diff --git a/tests/node/consumers/esm-deep-import-consumer.mjs b/tests/node/consumers/esm-deep-import-consumer.mjs deleted file mode 100644 index 8b1eb4e9..00000000 --- a/tests/node/consumers/esm-deep-import-consumer.mjs +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Tests to ensure that a consuming app can use named imports from deep import patch - * - * @author d98762625 [d98762625@gmail.com] - * @copyright Crown Copyright 2019 - * @license Apache-2.0 - */ -import assert from "assert"; -import { bake, toHex, reverse, unique, multiply } from "cyberchef"; - -const d = bake("Testing, 1 2 3", [ - toHex, - reverse, - { - op: unique, - args: { - delimiter: "Space", - } - }, - { - op: multiply, - args: { - delimiter: "Space", - } - } -]); - -assert.equal(d.value, "630957449041920"); From 5c767d09b0f0ebc3c8a2ff2bd72dda9edc906717 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 28 Mar 2022 10:58:25 +0100 Subject: [PATCH 286/754] Updated CHANGELOG --- CHANGELOG.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a006740..38c75e90 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,10 @@ All major and minor version changes will be documented in this file. Details of ## Details +### [9.33.0] - 2022-03-25 +- Updated to support Node 17 [@n1474335] [@john19696] [@t-8ch] | [[#1326] [#1313] [#1244] +- Improved CJS and ESM module support [@d98762625] | [#1037] + ### [9.32.0] - 2021-08-18 - 'Protobuf Encode' operation added and decode operation modified to allow decoding with full and partial schemas [@n1474335] | [dd18e52] @@ -271,6 +275,7 @@ All major and minor version changes will be documented in this file. Details of +[9.33.0]: https://github.com/gchq/CyberChef/releases/tag/v9.33.0 [9.32.0]: https://github.com/gchq/CyberChef/releases/tag/v9.32.0 [9.31.0]: https://github.com/gchq/CyberChef/releases/tag/v9.31.0 [9.30.0]: https://github.com/gchq/CyberChef/releases/tag/v9.30.0 @@ -384,6 +389,8 @@ All major and minor version changes will be documented in this file. Details of [@dmfj]: https://github.com/dmfj [@mattnotmitt]: https://github.com/mattnotmitt [@Danh4]: https://github.com/Danh4 +[@john19696]: https://github.com/john19696 +[@t-8ch]: https://github.com/t-8ch [8ad18b]: https://github.com/gchq/CyberChef/commit/8ad18bc7db6d9ff184ba3518686293a7685bf7b7 [9a33498]: https://github.com/gchq/CyberChef/commit/9a33498fed26a8df9c9f35f39a78a174bf50a513 @@ -466,6 +473,10 @@ All major and minor version changes will be documented in this file. Details of [#999]: https://github.com/gchq/CyberChef/pull/999 [#1006]: https://github.com/gchq/CyberChef/pull/1006 [#1022]: https://github.com/gchq/CyberChef/pull/1022 +[#1037]: https://github.com/gchq/CyberChef/pull/1037 [#1045]: https://github.com/gchq/CyberChef/pull/1045 [#1049]: https://github.com/gchq/CyberChef/pull/1049 -[#1083]: https://github.com/gchq/CyberChef/pull/1083 \ No newline at end of file +[#1083]: https://github.com/gchq/CyberChef/pull/1083 +[#1244]: https://github.com/gchq/CyberChef/pull/1244 +[#1313]: https://github.com/gchq/CyberChef/pull/1313 +[#1326]: https://github.com/gchq/CyberChef/pull/1326 \ No newline at end of file From 1c0b83d83334a899d8284cafe07fca5517ce5931 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 28 Mar 2022 10:58:30 +0100 Subject: [PATCH 287/754] 9.33.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index a394491a..2c0a0058 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cyberchef", - "version": "9.32.4", + "version": "9.33.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cyberchef", - "version": "9.32.4", + "version": "9.33.0", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index 8b97c4a1..935a87da 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.32.4", + "version": "9.33.0", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From bc433f02345f736591dd8141393a8508507601c5 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 28 Mar 2022 11:23:19 +0100 Subject: [PATCH 288/754] 9.33.1 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2c0a0058..95537899 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cyberchef", - "version": "9.33.0", + "version": "9.33.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cyberchef", - "version": "9.33.0", + "version": "9.33.1", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index 935a87da..dae3900a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.33.0", + "version": "9.33.1", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From b5677387f5c884ae86c76fcd9663d890e90310e1 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 28 Mar 2022 11:39:57 +0100 Subject: [PATCH 289/754] Updated CHANGELOG --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 38c75e90..f0508738 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ All major and minor version changes will be documented in this file. Details of ## Details +### [9.34.0] - 2022-03-28 +- 'Get All Casings' operation added [@n1073645] | [#1065] + ### [9.33.0] - 2022-03-25 - Updated to support Node 17 [@n1474335] [@john19696] [@t-8ch] | [[#1326] [#1313] [#1244] - Improved CJS and ESM module support [@d98762625] | [#1037] @@ -275,6 +278,7 @@ All major and minor version changes will be documented in this file. Details of +[9.34.0]: https://github.com/gchq/CyberChef/releases/tag/v9.34.0 [9.33.0]: https://github.com/gchq/CyberChef/releases/tag/v9.33.0 [9.32.0]: https://github.com/gchq/CyberChef/releases/tag/v9.32.0 [9.31.0]: https://github.com/gchq/CyberChef/releases/tag/v9.31.0 @@ -476,6 +480,7 @@ All major and minor version changes will be documented in this file. Details of [#1037]: https://github.com/gchq/CyberChef/pull/1037 [#1045]: https://github.com/gchq/CyberChef/pull/1045 [#1049]: https://github.com/gchq/CyberChef/pull/1049 +[#1065]: https://github.com/gchq/CyberChef/pull/1065 [#1083]: https://github.com/gchq/CyberChef/pull/1083 [#1244]: https://github.com/gchq/CyberChef/pull/1244 [#1313]: https://github.com/gchq/CyberChef/pull/1313 From 98a6baf55ad4392f25cc4911985464198568a7d3 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 28 Mar 2022 11:40:04 +0100 Subject: [PATCH 290/754] 9.34.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 95537899..d2730942 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cyberchef", - "version": "9.33.1", + "version": "9.34.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cyberchef", - "version": "9.33.1", + "version": "9.34.0", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index dae3900a..f7668bb5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.33.1", + "version": "9.34.0", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From e2b7ac68ef2f0cea11c6d15d602bded9d5946b61 Mon Sep 17 00:00:00 2001 From: Paul Hager <28906717+pH-T@users.noreply.github.com> Date: Mon, 28 Mar 2022 14:46:41 +0200 Subject: [PATCH 291/754] fix: GetAllCasings.mjs - newline bug --- src/core/operations/GetAllCasings.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/operations/GetAllCasings.mjs b/src/core/operations/GetAllCasings.mjs index 33892ffc..b3f3e94e 100644 --- a/src/core/operations/GetAllCasings.mjs +++ b/src/core/operations/GetAllCasings.mjs @@ -46,7 +46,7 @@ class GetAllCasings extends Operation { } result += temp.join("") + "\n"; } - return result; + return result.slice(0, -1); } } From 9273f97d8856a21cb4d42574c3f67a05d2c7beca Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 28 Mar 2022 15:42:11 +0100 Subject: [PATCH 292/754] Updated dependencies --- .github/workflows/master.yml | 2 +- .github/workflows/pull_requests.yml | 2 +- .github/workflows/releases.yml | 2 +- Gruntfile.js | 71 +- package-lock.json | 16644 +++++++++----------------- package.json | 73 +- src/web/html/index.html | 14 +- tests/browser/nightwatch.js | 8 +- tests/browser/ops.js | 8 +- tests/node/tests/operations.mjs | 4 +- webpack.config.js | 58 +- 11 files changed, 5894 insertions(+), 10992 deletions(-) diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 6e9b5770..cc42a823 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -28,7 +28,7 @@ jobs: - name: Unit Tests run: | npm test - npx grunt testnodeconsumer + npm run testnodeconsumer - name: Production Build if: success() diff --git a/.github/workflows/pull_requests.yml b/.github/workflows/pull_requests.yml index 47f74f84..c54b4a1d 100644 --- a/.github/workflows/pull_requests.yml +++ b/.github/workflows/pull_requests.yml @@ -27,7 +27,7 @@ jobs: - name: Unit Tests run: | npm test - npx grunt testnodeconsumer + npm run testnodeconsumer - name: Production Build if: success() diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index 78d813a4..724bd407 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -28,7 +28,7 @@ jobs: - name: Unit Tests run: | npm test - npx grunt testnodeconsumer + npm run testnodeconsumer - name: Production Build if: success() diff --git a/Gruntfile.js b/Gruntfile.js index accda364..f073a136 100755 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -200,50 +200,35 @@ module.exports = function (grunt) { web: webpackProdConf(), }, "webpack-dev-server": { - options: { - webpack: webpackConfig, - host: "0.0.0.0", - port: grunt.option("port") || 8080, - disableHostCheck: true, - overlay: true, - inline: false, - clientLogLevel: "error", - stats: { - children: false, - chunks: false, - modules: false, - entrypoints: false, - warningsFilter: [ - /source-map/, - /dependency is an expression/, - /export 'default'/, - /Can't resolve 'sodium'/ - ], - } - }, + options: webpackConfig, start: { - webpack: { - mode: "development", - target: "web", - entry: Object.assign({ - main: "./src/web/index.js" - }, moduleEntryPoints), - resolve: { - alias: { - "./config/modules/OpModules.mjs": "./config/modules/Default.mjs" - } - }, - plugins: [ - new webpack.DefinePlugin(BUILD_CONSTANTS), - new HtmlWebpackPlugin({ - filename: "index.html", - template: "./src/web/html/index.html", - chunks: ["main"], - compileTime: compileTime, - version: pkg.version, - }) - ] - } + mode: "development", + target: "web", + entry: Object.assign({ + main: "./src/web/index.js" + }, moduleEntryPoints), + resolve: { + alias: { + "./config/modules/OpModules.mjs": "./config/modules/Default.mjs" + } + }, + devServer: { + port: grunt.option("port") || 8080, + client: { + logging: "error", + overlay: true + } + }, + plugins: [ + new webpack.DefinePlugin(BUILD_CONSTANTS), + new HtmlWebpackPlugin({ + filename: "index.html", + template: "./src/web/html/index.html", + chunks: ["main"], + compileTime: compileTime, + version: pkg.version, + }) + ] } }, zip: { diff --git a/package-lock.json b/package-lock.json index d2730942..09128a75 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,22 +15,22 @@ "avsc": "^5.7.3", "babel-plugin-transform-builtin-extend": "1.1.2", "bcryptjs": "^2.4.3", - "bignumber.js": "^9.0.1", - "blakejs": "^1.1.1", - "bootstrap": "4.6.0", + "bignumber.js": "^9.0.2", + "blakejs": "^1.2.1", + "bootstrap": "4.6.1", "bootstrap-colorpicker": "^3.4.0", "bootstrap-material-design": "^4.1.3", "browserify-zlib": "^0.2.0", - "bson": "^4.4.1", + "bson": "^4.6.2", "buffer": "^6.0.3", - "cbor": "5.0.1", + "cbor": "8.1.0", "chi-squared": "^1.1.0", "codepage": "^1.15.0", "crypto-api": "^0.8.5", "crypto-browserify": "^3.12.0", "crypto-js": "^4.1.1", "ctph.js": "0.0.5", - "d3": "6.5.0", + "d3": "7.3.0", "d3-hexbin": "^0.2.2", "diff": "^5.0.0", "es6-promisify": "^7.0.0", @@ -40,7 +40,7 @@ "file-saver": "^2.0.5", "flat": "^5.0.2", "geodesy": "1.1.3", - "highlight.js": "^11.2.0", + "highlight.js": "^11.5.0", "jimp": "^0.16.1", "jquery": "3.6.0", "js-crc": "^0.2.0", @@ -49,18 +49,18 @@ "jsonpath": "^1.1.1", "jsonwebtoken": "^8.5.1", "jsqr": "^1.4.0", - "jsrsasign": "^10.4.0", + "jsrsasign": "^10.5.14", "kbpgp": "2.1.15", "libbzip2-wasm": "0.0.4", "libyara-wasm": "^1.1.0", "lodash": "^4.17.21", - "loglevel": "^1.7.1", + "loglevel": "^1.8.0", "loglevel-message-prefix": "^3.0.0", "markdown-it": "^12.3.2", "moment": "^2.29.1", - "moment-timezone": "^0.5.33", + "moment-timezone": "^0.5.34", "ngeohash": "^0.6.3", - "node-forge": "^0.10.0", + "node-forge": "^1.3.0", "node-md6": "^0.1.0", "node-sass": "^7.0.1", "nodom": "^2.4.0", @@ -74,13 +74,12 @@ "qr-image": "^3.2.0", "scryptsy": "^2.1.0", "snackbarjs": "^1.1.0", - "sortablejs": "^1.14.0", - "split.js": "^1.6.4", + "sortablejs": "^1.15.0", + "split.js": "^1.6.5", "ssdeep.js": "0.0.3", "stream-browserify": "^3.0.0", - "terser": "^5.7.1", "tesseract.js": "2.1.5", - "ua-parser-js": "^0.7.28", + "ua-parser-js": "^1.0.2", "unorm": "^1.6.0", "utf8": "^3.0.0", "vkbeautify": "^0.99.3", @@ -96,18 +95,16 @@ "@babel/plugin-transform-runtime": "^7.17.0", "@babel/preset-env": "^7.16.11", "@babel/runtime": "^7.17.8", - "autoprefixer": "^10.3.1", + "autoprefixer": "^10.4.4", "babel-loader": "^8.2.4", "babel-plugin-dynamic-import-node": "^2.3.3", "chromedriver": "^99.0.0", - "cli-progress": "^3.9.0", + "cli-progress": "^3.10.0", "colors": "^1.4.0", - "copy-webpack-plugin": "^9.0.1", + "copy-webpack-plugin": "^10.2.4", "core-js": "^3.21.1", - "css-loader": "5.2.7", - "eslint": "^8.11.0", - "exports-loader": "^3.0.0", - "file-loader": "^6.2.0", + "css-loader": "6.7.1", + "eslint": "^8.12.0", "grunt": "^1.4.1", "grunt-chmod": "~1.1.1", "grunt-concurrent": "^3.0.0", @@ -117,25 +114,23 @@ "grunt-contrib-watch": "^1.1.0", "grunt-eslint": "^24.0.0", "grunt-exec": "~3.0.0", - "grunt-webpack": "^4.0.3", + "grunt-webpack": "^5.0.0", "grunt-zip": "^0.18.2", - "html-webpack-plugin": "^5.3.2", - "imports-loader": "^3.0.0", - "mini-css-extract-plugin": "1.3.7", - "nightwatch": "^1.7.8", - "postcss": "^8.3.6", + "html-webpack-plugin": "^5.5.0", + "imports-loader": "^3.1.1", + "mini-css-extract-plugin": "2.6.0", + "nightwatch": "^2.0.10", + "postcss": "^8.4.12", "postcss-css-variables": "^0.18.0", - "postcss-import": "^14.0.2", - "postcss-loader": "^6.1.1", - "prompt": "^1.1.0", - "sass-loader": "^12.1.0", - "sitemap": "^7.0.0", - "style-loader": "^3.2.1", - "svg-url-loader": "^7.1.1", - "url-loader": "^4.1.1", + "postcss-import": "^14.1.0", + "postcss-loader": "^6.2.1", + "prompt": "^1.2.2", + "sass-loader": "^12.6.0", + "sitemap": "^7.1.1", + "terser": "^5.12.1", "webpack": "^5.70.0", - "webpack-bundle-analyzer": "^4.4.2", - "webpack-dev-server": "3.11.2", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "4.7.4", "webpack-node-externals": "^3.0.0", "worker-loader": "^3.0.8" } @@ -202,38 +197,6 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "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/core/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/@babel/eslint-parser": { "version": "7.17.0", "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.17.0.tgz", @@ -252,24 +215,6 @@ "eslint": "^7.5.0 || ^8.0.0" } }, - "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@babel/eslint-parser/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/@babel/generator": { "version": "7.17.7", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz", @@ -296,15 +241,6 @@ "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-annotate-as-pure": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", @@ -348,15 +284,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-compilation-targets/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/@babel/helper-create-class-features-plugin": { "version": "7.17.6", "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz", @@ -413,38 +340,6 @@ "@babel/core": "^7.4.0-0" } }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/helper-define-polyfill-provider/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/helper-define-polyfill-provider/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/@babel/helper-environment-visitor": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", @@ -696,46 +591,6 @@ "node": ">=6.9.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==", - "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==", - "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==" - }, - "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==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/parser": { "version": "7.17.8", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz", @@ -1304,15 +1159,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-classes/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/plugin-transform-computed-properties": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", @@ -1648,15 +1494,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-runtime/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/@babel/plugin-transform-shorthand-properties": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", @@ -1869,15 +1706,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-env/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/@babel/preset-modules": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", @@ -1906,11 +1734,11 @@ } }, "node_modules/@babel/runtime-corejs3": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.15.3.tgz", - "integrity": "sha512-30A3lP+sRL6ml8uhoJSs+8jwpKzbw8CqBvDc1laeptxPm5FahumJxirigcbD2qTs71Sonvj1cyZB0OKGAmxQ+A==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.17.8.tgz", + "integrity": "sha512-ZbYSUvoSF6dXZmMl/CYTMOvzIFnbGfv4W3SEHYgMvNsFTeLaF2gkGAF4K2ddmtSK4Emej+0aYcnSC6N5dPCXUQ==", "dependencies": { - "core-js-pure": "^3.16.0", + "core-js-pure": "^3.20.2", "regenerator-runtime": "^0.13.4" }, "engines": { @@ -1952,38 +1780,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "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.17.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", @@ -1997,13 +1793,13 @@ "node": ">=6.9.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=", + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">=0.1.90" } }, "node_modules/@eslint/eslintrc": { @@ -2026,23 +1822,6 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@eslint/eslintrc/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@eslint/eslintrc/node_modules/globals": { "version": "13.13.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", @@ -2058,24 +1837,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@eslint/eslintrc/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/@gar/promisify": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", @@ -2095,29 +1856,6 @@ "node": ">=10.10.0" } }, - "node_modules/@humanwhocodes/config-array/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@humanwhocodes/config-array/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/@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -2178,6 +1916,17 @@ "ieee754": "^1.1.13" } }, + "node_modules/@jimp/core/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==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, "node_modules/@jimp/custom": { "version": "0.16.1", "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.16.1.tgz", @@ -2593,6 +2342,23 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "node_modules/@nightwatch/chai": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@nightwatch/chai/-/chai-5.0.1.tgz", + "integrity": "sha512-E9RlDrgYPAPIQrqdO84WVrsHjDt41l4GDULxAp9I22gM7fYcjVGP8WnEIEvt0EXcE3WRVzyxXEgwpsTpwLxFAg==", + "dev": true, + "dependencies": { + "assertion-error": "1.1.0", + "check-error": "1.0.2", + "deep-eql": "4.0.0", + "loupe": "2.3.0", + "pathval": "1.1.1", + "type-detect": "4.0.5" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -2663,21 +2429,10 @@ "node": ">=10" } }, - "node_modules/@npmcli/move-file/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@polka/url": { - "version": "1.0.0-next.17", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.17.tgz", - "integrity": "sha512-0p1rCgM3LLbAdwBnc7gqgnvjHg9KpbhcSphergHShlkWz8EdPawoMJ3/VbezI0mGC5eKCDzMaPgF9Yca6cKvrg==", + "version": "1.0.0-next.21", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", + "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", "dev": true }, "node_modules/@protobufjs/aspromise": { @@ -2748,6 +2503,44 @@ "node": ">= 6" } }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dev": true, + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, "node_modules/@types/eslint": { "version": "8.4.1", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", @@ -2774,26 +2567,48 @@ "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", "dev": true }, - "node_modules/@types/glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", + "node_modules/@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", "dev": true, "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.28", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", + "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" } }, "node_modules/@types/html-minifier-terser": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz", - "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", "dev": true }, + "node_modules/@types/http-proxy": { + "version": "1.17.8", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", + "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, "node_modules/@types/long": { @@ -2801,10 +2616,10 @@ "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" }, - "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==", + "node_modules/@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", "dev": true }, "node_modules/@types/minimist": { @@ -2813,9 +2628,9 @@ "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" }, "node_modules/@types/node": { - "version": "16.6.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.6.2.tgz", - "integrity": "sha512-LSw8TZt12ZudbpHc6EkIyDM3nHVWKYrAvGy6EAJfNfjusbwnThqjqxUKKRwuV3iWYeW/LYMzNgaq3MaLffQ2xA==" + "version": "17.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", + "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==" }, "node_modules/@types/normalize-package-data": { "version": "2.4.1", @@ -2828,10 +2643,65 @@ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", "dev": true }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "node_modules/@types/retry": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", + "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", + "dev": true + }, "node_modules/@types/sax": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.3.tgz", - "integrity": "sha512-+QSw6Tqvs/KQpZX8DvIl3hZSjNFLW/OqE5nlyHXtTwODaJvioN2rOWpBNEWZp2HZUFhOh+VohmJku/WxEXU2XA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dev": true, + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", "dev": true, "dependencies": { "@types/node": "*" @@ -2847,6 +2717,12 @@ "@types/node": "*" } }, + "node_modules/@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", + "dev": true + }, "node_modules/@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -3011,13 +2887,13 @@ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "node_modules/accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "dependencies": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { "node": ">= 0.6" @@ -3036,9 +2912,9 @@ } }, "node_modules/acorn-import-assertions": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz", - "integrity": "sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", "dev": true, "peerDependencies": { "acorn": "^8" @@ -3054,9 +2930,9 @@ } }, "node_modules/acorn-walk": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.1.1.tgz", - "integrity": "sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", "dev": true, "engines": { "node": ">=0.4.0" @@ -3073,27 +2949,6 @@ "node": ">= 6.0.0" } }, - "node_modules/agent-base/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/agent-base/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==" - }, "node_modules/agentkeepalive": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", @@ -3107,22 +2962,6 @@ "node": ">= 8.0.0" } }, - "node_modules/agentkeepalive/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/agentkeepalive/node_modules/depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -3131,11 +2970,6 @@ "node": ">= 0.6" } }, - "node_modules/agentkeepalive/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==" - }, "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -3163,15 +2997,45 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "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==", + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, "peerDependencies": { - "ajv": ">=5.0.0" + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, "node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", @@ -3181,10 +3045,28 @@ "ajv": "^6.9.1" } }, - "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=", + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dev": true, + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", "dev": true, "engines": [ "node >= 0.8.0" @@ -3194,19 +3076,22 @@ } }, "node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "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==", + "dependencies": { + "color-convert": "^1.9.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/any-base": { @@ -3215,152 +3100,16 @@ "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" }, "node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/anymatch/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" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/anymatch/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/anymatch/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/anymatch/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/anymatch/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/anymatch/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/anymatch/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/anymatch/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/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/anymatch/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": ">= 8" } }, "node_modules/aproba": { @@ -3391,33 +3140,6 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, - "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-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", @@ -3443,30 +3165,15 @@ } }, "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", "dev": true, "engines": { - "node": ">=8" - } - }, - "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": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/arrify": { @@ -3484,9 +3191,9 @@ "integrity": "sha1-VkyH8gvAm4DeeBEk2UMWlQBLgCA=" }, "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dependencies": { "safer-buffer": "~2.1.0" } @@ -3524,21 +3231,6 @@ "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/assertion-error": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", @@ -3548,37 +3240,10 @@ "node": "*" } }, - "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/ast-types": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", - "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", - "dev": true, - "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/async": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.1.tgz", - "integrity": "sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg==", - "dev": true - }, - "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==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", "dev": true }, "node_modules/async-foreach": { @@ -3600,30 +3265,28 @@ "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==", - "dev": true, - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, "node_modules/autoprefixer": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.1.tgz", - "integrity": "sha512-L8AmtKzdiRyYg7BUXJTzigmhbQRCXFKz6SA1Lqo0+AR2FBbQ4aTAPFSDlOutnFkjhiz8my4agGXog1xlMjPJ6A==", + "version": "10.4.4", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz", + "integrity": "sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], "dependencies": { - "browserslist": "^4.16.6", - "caniuse-lite": "^1.0.30001243", - "colorette": "^1.2.2", - "fraction.js": "^4.1.1", + "browserslist": "^4.20.2", + "caniuse-lite": "^1.0.30001317", + "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", - "postcss-value-parser": "^4.1.0" + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" }, "bin": { "autoprefixer": "bin/autoprefixer" @@ -3631,10 +3294,6 @@ "engines": { "node": "^10 || ^12 || >=14" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, "peerDependencies": { "postcss": "^8.1.0" } @@ -3679,6 +3338,61 @@ "js-tokens": "^3.0.2" } }, + "node_modules/babel-code-frame/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/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=", + "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=", + "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=" + }, + "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=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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=", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/babel-loader": { "version": "8.2.4", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.4.tgz", @@ -3729,15 +3443,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/babel-plugin-polyfill-corejs2/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/babel-plugin-polyfill-corejs3": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", @@ -3821,6 +3526,27 @@ "lodash": "^4.17.4" } }, + "node_modules/babel-traverse/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/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-traverse/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, "node_modules/babel-types": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", @@ -3832,6 +3558,14 @@ "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=", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/babylon": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", @@ -3845,74 +3579,6 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "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.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -3944,12 +3610,6 @@ "node": ">= 0.8" } }, - "node_modules/basic-auth/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/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", @@ -3984,49 +3644,61 @@ } }, "node_modules/bignumber.js": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", - "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", + "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==", "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==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, - "optional": true, "dependencies": { - "file-uri-to-path": "1.0.0" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/bindings/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==", + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, - "optional": 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" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } }, "node_modules/blakejs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.1.tgz", - "integrity": "sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg==" - }, - "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 + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" }, "node_modules/blueimp-load-image": { "version": "3.0.0", @@ -4061,35 +3733,44 @@ } }, "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==", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", "dev": true, "dependencies": { - "bytes": "3.1.0", + "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", "depd": "~1.1.2", - "http-errors": "1.7.2", + "http-errors": "1.8.1", "iconv-lite": "0.4.24", "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" + "qs": "6.9.7", + "raw-body": "2.4.3", + "type-is": "~1.6.18" }, "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==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "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": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, "node_modules/body-parser/node_modules/depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -4100,44 +3781,59 @@ } }, "node_modules/body-parser/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==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dev": true, "dependencies": { "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" + "toidentifier": "1.0.1" }, "engines": { "node": ">= 0.6" } }, - "node_modules/body-parser/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "node_modules/body-parser/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/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.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", "dev": true, "engines": { "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/body-parser/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==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", + "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", "dev": true, "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.2", + "bytes": "3.1.2", + "http-errors": "1.8.1", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, @@ -4146,9 +3842,9 @@ } }, "node_modules/body-parser/node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, "node_modules/bonjour": { @@ -4172,9 +3868,9 @@ "dev": true }, "node_modules/bootstrap": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz", - "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.1.tgz", + "integrity": "sha512-0dj+VgI9Ecom+rvvpNZ4MUZJz8dcX7WCX+eTID9+/8HgOkv3dsRzi8BGeZJCQU6flWQVYxwTQnEZFrmJSEO7og==", "funding": { "type": "opencollective", "url": "https://opencollective.com/bootstrap" @@ -4199,6 +3895,98 @@ "resolved": "https://registry.npmjs.org/bootstrap-material-design/-/bootstrap-material-design-4.1.3.tgz", "integrity": "sha512-jOB9io76BKLxwF+IAgObFH9f88ityqOiYsQe9Aa8m88h7sSP3eFL1K8ygb0FsYyIiVm194iodg9i4GMOSlLeRA==" }, + "node_modules/boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "dev": true, + "dependencies": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/boxen/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/boxen/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/boxen/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/boxen/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -4290,6 +4078,25 @@ "safe-buffer": "^5.2.0" } }, + "node_modules/browserify-sign/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==", + "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/browserify-zlib": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", @@ -4328,9 +4135,9 @@ } }, "node_modules/bson": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/bson/-/bson-4.4.1.tgz", - "integrity": "sha512-Uu4OCZa0jouQJCKOk1EmmyqtdWAP5HVLru4lQxTwzJzxT+sJ13lVpEZU/MATDxtHiekWMAL84oQY3Xn1LpJVSg==", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/bson/-/bson-4.6.2.tgz", + "integrity": "sha512-VeJKHShcu1b/ugl0QiujlVuBepab714X9nNyBdA1kfekuDGecxgpTA2Z6nYbagrWFeiIyzSWIOzju3lhj+RNyQ==", "dependencies": { "buffer": "^5.6.0" }, @@ -4409,7 +4216,8 @@ "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==" + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true }, "node_modules/buffer-indexof": { "version": "1.1.1", @@ -4461,37 +4269,6 @@ "node": ">= 10" } }, - "node_modules/cacache/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "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", @@ -4524,11 +4301,15 @@ } }, "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/camelcase-keys": { @@ -4547,6 +4328,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/camelcase-keys/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, "node_modules/caniuse-lite": { "version": "1.0.30001320", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz", @@ -4569,52 +4358,48 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, "node_modules/cbor": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.0.1.tgz", - "integrity": "sha512-l4ghwqioCyuAaD3LvY4ONwv8NMuERz62xjbMHGdWBqERJPygVmoFER1b4+VS6iW0rXwoVGuKZPPPTofwWOg3YQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", + "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", "dependencies": { - "bignumber.js": "^9.0.0", - "nofilter": "^1.0.3" + "nofilter": "^3.1.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=12.19" } }, "node_modules/chai-nightwatch": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.4.0.tgz", - "integrity": "sha512-1xw74vR02XiHzo4wQfHqme2nqYPIzYnK5s3DMST7UW8FIHDWD7qplg+DTJ5FIPcmWiGYX/Re0CzvOcZQKJm1Uw==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.5.3.tgz", + "integrity": "sha512-38ixH/mqpY6IwnZkz6xPqx8aB5/KVR+j6VPugcir3EGOsphnWXrPH/mUt8Jp+ninL6ghY0AaJDQ10hSfCPGy/g==", "dev": true, "dependencies": { - "assertion-error": "1.0.0", - "deep-eql": "0.1.3" + "assertion-error": "1.1.0" }, "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/chai-nightwatch/node_modules/assertion-error": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz", - "integrity": "sha1-x/hUOP3UZrx8oWq5DIFRN5el0js=", - "dev": true, - "engines": { - "node": "*" + "node": ">= 12.0.0" } }, "node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "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" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" + } + }, + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true, + "engines": { + "node": "*" } }, "node_modules/chi-squared": { @@ -4626,139 +4411,42 @@ } }, "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", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "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" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" }, "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/chokidar/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/chokidar/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/chokidar/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" + "fsevents": "~2.3.2" } }, "node_modules/chokidar/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "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": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/chokidar/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" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/chokidar/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/chokidar/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/chokidar/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/chokidar/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": ">= 6" } }, "node_modules/chownr": { @@ -4801,9 +4489,9 @@ } }, "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==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", "dev": true }, "node_modules/cipher-base": { @@ -4815,43 +4503,25 @@ "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/clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.4.tgz", + "integrity": "sha512-nKseG8wCzEuji/4yrgM/5cthL9oTDc5UOQyFMvW/Q53oP6gLH690o1NbuTh6Y18nujr7BxlsFuS7gXLnLzKJGg==", "dev": true, "dependencies": { "source-map": "~0.6.0" }, "engines": { - "node": ">= 4.0" + "node": ">= 10.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/clean-stack": { @@ -4862,6 +4532,18 @@ "node": ">=6" } }, + "node_modules/cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -4875,12 +4557,11 @@ } }, "node_modules/cli-progress": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.9.0.tgz", - "integrity": "sha512-g7rLWfhAo/7pF+a/STFH/xPyosaL1zgADhI0OM83hl3c7S43iGvJWEAV2QuDOnQ8i6EMBj/u4+NTd0d5L+4JfA==", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.10.0.tgz", + "integrity": "sha512-kLORQrhYCAtUPLZxqsAt2YJGOvRdt34+O6jl5cQGb7iF3dM55FQZlTR+rQyIK9JUcO9bBMwZsTlND+3dmFU2Cw==", "dev": true, "dependencies": { - "colors": "^1.1.2", "string-width": "^4.2.0" }, "engines": { @@ -4888,9 +4569,9 @@ } }, "node_modules/cli-spinners": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", - "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", "dev": true, "engines": { "node": ">=6" @@ -4900,64 +4581,13 @@ } }, "node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "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/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/cliui/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/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" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, "node_modules/clone": { @@ -4977,19 +4607,6 @@ "node": ">=0.8" } }, - "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/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -5012,9 +4629,9 @@ } }, "node_modules/colorette": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz", - "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==", + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", + "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", "dev": true }, "node_modules/colors": { @@ -5037,9 +4654,12 @@ } }, "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==" + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } }, "node_modules/commondir": { "version": "1.0.1", @@ -5047,12 +4667,6 @@ "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", @@ -5092,10 +4706,19 @@ "node": ">= 0.8" } }, - "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==", + "node_modules/compression/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/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/concat-map": { @@ -5136,28 +4759,57 @@ "node": "*" } }, + "node_modules/connect/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/connect/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/console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "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==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "dependencies": { - "safe-buffer": "5.1.2" + "safe-buffer": "5.2.1" }, "engines": { "node": ">= 0.6" } }, "node_modules/content-disposition/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 + "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/content-type": { "version": "1.0.4", @@ -5183,16 +4835,10 @@ "safe-buffer": "~5.1.1" } }, - "node_modules/convert-source-map/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/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "dev": true, "engines": { "node": ">= 0.6" @@ -5204,31 +4850,21 @@ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "dev": true }, - "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": "9.0.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.1.tgz", - "integrity": "sha512-14gHKKdYIxF84jCEgPgYXCPpldbwpxxLbCmA7LReY7gvbaT555DgeBWBgBZM116tv/fO6RRJrsivBqRyRlukhw==", + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz", + "integrity": "sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==", "dev": true, "dependencies": { - "fast-glob": "^3.2.5", - "glob-parent": "^6.0.0", - "globby": "^11.0.3", + "fast-glob": "^3.2.7", + "glob-parent": "^6.0.1", + "globby": "^12.0.2", "normalize-path": "^3.0.0", - "p-limit": "^3.1.0", - "schema-utils": "^3.0.0", + "schema-utils": "^4.0.0", "serialize-javascript": "^6.0.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 12.20.0" }, "funding": { "type": "opencollective", @@ -5238,45 +4874,53 @@ "webpack": "^5.1.0" } }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.1.tgz", - "integrity": "sha512-kEVjS71mQazDBHKcsq4E9u/vUzaLcw1A8EtUeydawvIWQCJM0qQ08G1H7/XTjFUulla6XQiDOG6MXSaG0HDKog==", + "node_modules/copy-webpack-plugin/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/copy-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "node_modules/copy-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/copy-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/copy-webpack-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", @@ -5318,9 +4962,9 @@ } }, "node_modules/core-js-pure": { - "version": "3.16.2", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.16.2.tgz", - "integrity": "sha512-oxKe64UH049mJqrKkynWp6Vu0Rlm/BTXO/bJZuN2mmR3RtOFNepLlSWDd1eo16PzHpQAoNG97rLU1V/YxesJjw==", + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.21.1.tgz", + "integrity": "sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -5333,9 +4977,9 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "node_modules/cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", "dev": true, "dependencies": { "@types/parse-json": "^4.0.0", @@ -5432,49 +5076,29 @@ "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" }, "node_modules/css-loader": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", - "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", + "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", "dev": true, "dependencies": { "icss-utils": "^5.1.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.15", + "postcss": "^8.4.7", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", + "postcss-value-parser": "^4.2.0", "semver": "^7.3.5" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.27.0 || ^5.0.0" - } - }, - "node_modules/css-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "webpack": "^5.0.0" } }, "node_modules/css-loader/node_modules/semver": { @@ -5493,25 +5117,25 @@ } }, "node_modules/css-select": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", - "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", "dev": true, "dependencies": { "boolbase": "^1.0.0", - "css-what": "^5.0.0", - "domhandler": "^4.2.0", - "domutils": "^2.6.0", - "nth-check": "^2.0.0" + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" }, "funding": { "url": "https://github.com/sponsors/fb55" } }, "node_modules/css-what": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", - "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.0.1.tgz", + "integrity": "sha512-z93ZGFLNc6yaoXAmVhqoSIb+BduplteCt1fepvwhBUQK6MNE4g6fgjpuZKJKp0esUe+vXWlIkwZZjNWoOKw0ZA==", "dev": true, "engines": { "node": ">= 6" @@ -5547,165 +5171,213 @@ } }, "node_modules/d3": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/d3/-/d3-6.5.0.tgz", - "integrity": "sha512-gr7FoRecKtBkBxelTeGVYERRTPgjPFLh2rOBisHdbXe3RIrVLjCo7COZYMSeFeiwVPOHDtxAGJlvN7XssNAIcg==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.3.0.tgz", + "integrity": "sha512-MDRLJCMK232OJQRqGljQ/gCxtB8k3/sLKFjftMjzPB3nKVUODpdW9Rb3vcq7U8Ka5YKoZkAmp++Ur6I+6iNWIw==", "dependencies": { - "d3-array": "2", - "d3-axis": "2", - "d3-brush": "2", - "d3-chord": "2", - "d3-color": "2", - "d3-contour": "2", - "d3-delaunay": "5", - "d3-dispatch": "2", - "d3-drag": "2", - "d3-dsv": "2", - "d3-ease": "2", - "d3-fetch": "2", - "d3-force": "2", - "d3-format": "2", - "d3-geo": "2", - "d3-hierarchy": "2", - "d3-interpolate": "2", - "d3-path": "2", - "d3-polygon": "2", - "d3-quadtree": "2", - "d3-random": "2", - "d3-scale": "3", - "d3-scale-chromatic": "2", - "d3-selection": "2", - "d3-shape": "2", - "d3-time": "2", - "d3-time-format": "3", - "d3-timer": "2", - "d3-transition": "2", - "d3-zoom": "2" + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "3", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" + }, + "engines": { + "node": ">=12" } }, "node_modules/d3-array": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", - "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.1.1.tgz", + "integrity": "sha512-33qQ+ZoZlli19IFiQx4QEpf2CBEayMRzhlisJHSCsSUbDXv6ZishqS1x7uFVClKG4Wr7rZVHvaAttoLow6GqdQ==", "dependencies": { - "internmap": "^1.0.0" + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" } }, "node_modules/d3-axis": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-2.1.0.tgz", - "integrity": "sha512-z/G2TQMyuf0X3qP+Mh+2PimoJD41VOCjViJzT0BHeL/+JQAofkiWZbWxlwFGb1N8EN+Cl/CW+MUKbVzr1689Cw==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", + "engines": { + "node": ">=12" + } }, "node_modules/d3-brush": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-2.1.0.tgz", - "integrity": "sha512-cHLLAFatBATyIKqZOkk/mDHUbzne2B3ZwxkzMHvFTCZCmLaXDpZRihQSn8UNXTkGD/3lb/W2sQz0etAftmHMJQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", "dependencies": { - "d3-dispatch": "1 - 2", - "d3-drag": "2", - "d3-interpolate": "1 - 2", - "d3-selection": "2", - "d3-transition": "2" + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" + }, + "engines": { + "node": ">=12" } }, "node_modules/d3-chord": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-2.0.0.tgz", - "integrity": "sha512-D5PZb7EDsRNdGU4SsjQyKhja8Zgu+SHZfUSO5Ls8Wsn+jsAKUUGkcshLxMg9HDFxG3KqavGWaWkJ8EpU8ojuig==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", "dependencies": { - "d3-path": "1 - 2" + "d3-path": "1 - 3" + }, + "engines": { + "node": ">=12" } }, "node_modules/d3-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-2.0.0.tgz", - "integrity": "sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.0.1.tgz", + "integrity": "sha512-6/SlHkDOBLyQSJ1j1Ghs82OIUXpKWlR0hCsw0XrLSQhuUPuCSmLQ1QPH98vpnQxMUQM2/gfAkUEWsupVpd9JGw==", + "engines": { + "node": ">=12" + } }, "node_modules/d3-contour": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-2.0.0.tgz", - "integrity": "sha512-9unAtvIaNk06UwqBmvsdHX7CZ+NPDZnn8TtNH1myW93pWJkhsV25JcgnYAu0Ck5Veb1DHiCv++Ic5uvJ+h50JA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-3.0.1.tgz", + "integrity": "sha512-0Oc4D0KyhwhM7ZL0RMnfGycLN7hxHB8CMmwZ3+H26PWAG0ozNuYG5hXSDNgmP1SgJkQMrlG6cP20HoaSbvcJTQ==", "dependencies": { - "d3-array": "2" + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" } }, "node_modules/d3-delaunay": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-5.3.0.tgz", - "integrity": "sha512-amALSrOllWVLaHTnDLHwMIiz0d1bBu9gZXd1FiLfXf8sHcX9jrcj81TVZOqD4UX7MgBZZ07c8GxzEgBpJqc74w==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.2.tgz", + "integrity": "sha512-IMLNldruDQScrcfT+MWnazhHbDJhcRJyOEBAJfwQnHle1RPh6WDuLvxNArUju2VSMSUuKlY5BGHRJ2cYyoFLQQ==", "dependencies": { - "delaunator": "4" + "delaunator": "5" + }, + "engines": { + "node": ">=12" } }, "node_modules/d3-dispatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-2.0.0.tgz", - "integrity": "sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "engines": { + "node": ">=12" + } }, "node_modules/d3-drag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-2.0.0.tgz", - "integrity": "sha512-g9y9WbMnF5uqB9qKqwIIa/921RYWzlUDv9Jl1/yONQwxbOfszAWTCm8u7HOTgJgRDXiRZN56cHT9pd24dmXs8w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", "dependencies": { - "d3-dispatch": "1 - 2", - "d3-selection": "2" + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" } }, "node_modules/d3-dsv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-2.0.0.tgz", - "integrity": "sha512-E+Pn8UJYx9mViuIUkoc93gJGGYut6mSDKy2+XaPwccwkRGlR+LO97L2VCCRjQivTwLHkSnAJG7yo00BWY6QM+w==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", "dependencies": { - "commander": "2", - "iconv-lite": "0.4", + "commander": "7", + "iconv-lite": "0.6", "rw": "1" }, "bin": { - "csv2json": "bin/dsv2json", - "csv2tsv": "bin/dsv2dsv", - "dsv2dsv": "bin/dsv2dsv", - "dsv2json": "bin/dsv2json", - "json2csv": "bin/json2dsv", - "json2dsv": "bin/json2dsv", - "json2tsv": "bin/json2dsv", - "tsv2csv": "bin/dsv2dsv", - "tsv2json": "bin/dsv2json" + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" } }, "node_modules/d3-ease": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-2.0.0.tgz", - "integrity": "sha512-68/n9JWarxXkOWMshcT5IcjbB+agblQUaIsbnXmrzejn2O82n3p2A9R2zEB9HIEFWKFwPAEDDN8gR0VdSAyyAQ==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "engines": { + "node": ">=12" + } }, "node_modules/d3-fetch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-2.0.0.tgz", - "integrity": "sha512-TkYv/hjXgCryBeNKiclrwqZH7Nb+GaOwo3Neg24ZVWA3MKB+Rd+BY84Nh6tmNEMcjUik1CSUWjXYndmeO6F7sw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", "dependencies": { - "d3-dsv": "1 - 2" + "d3-dsv": "1 - 3" + }, + "engines": { + "node": ">=12" } }, "node_modules/d3-force": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-2.1.1.tgz", - "integrity": "sha512-nAuHEzBqMvpFVMf9OX75d00OxvOXdxY+xECIXjW6Gv8BRrXu6gAWbv/9XKrvfJ5i5DCokDW7RYE50LRoK092ew==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", "dependencies": { - "d3-dispatch": "1 - 2", - "d3-quadtree": "1 - 2", - "d3-timer": "1 - 2" + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" } }, "node_modules/d3-format": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-2.0.0.tgz", - "integrity": "sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "engines": { + "node": ">=12" + } }, "node_modules/d3-geo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-2.0.2.tgz", - "integrity": "sha512-8pM1WGMLGFuhq9S+FpPURxic+gKzjluCD/CHTuUF3mXMeiCo0i6R0tO1s4+GArRFde96SLcW/kOFRjoAosPsFA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.0.1.tgz", + "integrity": "sha512-Wt23xBych5tSy9IYAM1FR2rWIBFWa52B/oF/GYe5zbdHrg08FU8+BuI6X4PvTwPDdqdAdq04fuWJpELtsaEjeA==", "dependencies": { - "d3-array": "^2.5.0" + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" } }, "node_modules/d3-hexbin": { @@ -5714,118 +5386,163 @@ "integrity": "sha1-nFg32s/UcasFM3qeke8Qv8T5iDE=" }, "node_modules/d3-hierarchy": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-2.0.0.tgz", - "integrity": "sha512-SwIdqM3HxQX2214EG9GTjgmCc/mbSx4mQBn+DuEETubhOw6/U3fmnji4uCVrmzOydMHSO1nZle5gh6HB/wdOzw==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.1.tgz", + "integrity": "sha512-LtAIu54UctRmhGKllleflmHalttH3zkfSi4NlKrTAoFKjC+AFBJohsCAdgCBYQwH0F8hIOGY89X1pPqAchlMkA==", + "engines": { + "node": ">=12" + } }, "node_modules/d3-interpolate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-2.0.1.tgz", - "integrity": "sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", "dependencies": { - "d3-color": "1 - 2" + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" } }, "node_modules/d3-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-2.0.0.tgz", - "integrity": "sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.0.1.tgz", + "integrity": "sha512-gq6gZom9AFZby0YLduxT1qmrp4xpBA1YZr19OI717WIdKE2OM5ETq5qrHLb301IgxhLwcuxvGZVLeeWc/k1I6w==", + "engines": { + "node": ">=12" + } }, "node_modules/d3-polygon": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-2.0.0.tgz", - "integrity": "sha512-MsexrCK38cTGermELs0cO1d79DcTsQRN7IWMJKczD/2kBjzNXxLUWP33qRF6VDpiLV/4EI4r6Gs0DAWQkE8pSQ==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", + "engines": { + "node": ">=12" + } }, "node_modules/d3-quadtree": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-2.0.0.tgz", - "integrity": "sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "engines": { + "node": ">=12" + } }, "node_modules/d3-random": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-2.2.2.tgz", - "integrity": "sha512-0D9P8TRj6qDAtHhRQn6EfdOtHMfsUWanl3yb/84C4DqpZ+VsgfI5iTVRNRbELCfNvRfpMr8OrqqUTQ6ANGCijw==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", + "engines": { + "node": ">=12" + } }, "node_modules/d3-scale": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-3.3.0.tgz", - "integrity": "sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", "dependencies": { - "d3-array": "^2.3.0", - "d3-format": "1 - 2", - "d3-interpolate": "1.2.0 - 2", - "d3-time": "^2.1.1", - "d3-time-format": "2 - 3" + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" } }, "node_modules/d3-scale-chromatic": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-2.0.0.tgz", - "integrity": "sha512-LLqy7dJSL8yDy7NRmf6xSlsFZ6zYvJ4BcWFE4zBrOPnQERv9zj24ohnXKRbyi9YHnYV+HN1oEO3iFK971/gkzA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", + "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==", "dependencies": { - "d3-color": "1 - 2", - "d3-interpolate": "1 - 2" + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" } }, "node_modules/d3-selection": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-2.0.0.tgz", - "integrity": "sha512-XoGGqhLUN/W14NmaqcO/bb1nqjDAw5WtSYb2X8wiuQWvSZUsUVYsOSkOybUrNvcBjaywBdYPy03eXHMXjk9nZA==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "engines": { + "node": ">=12" + } }, "node_modules/d3-shape": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-2.1.0.tgz", - "integrity": "sha512-PnjUqfM2PpskbSLTJvAzp2Wv4CZsnAgTfcVRTwW03QR3MkXF8Uo7B1y/lWkAsmbKwuecto++4NlsYcvYpXpTHA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.1.0.tgz", + "integrity": "sha512-tGDh1Muf8kWjEDT/LswZJ8WF85yDZLvVJpYU9Nq+8+yW1Z5enxrmXOhTArlkaElU+CTn0OTVNli+/i+HP45QEQ==", "dependencies": { - "d3-path": "1 - 2" + "d3-path": "1 - 3" + }, + "engines": { + "node": ">=12" } }, "node_modules/d3-time": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-2.1.1.tgz", - "integrity": "sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.0.0.tgz", + "integrity": "sha512-zmV3lRnlaLI08y9IMRXSDshQb5Nj77smnfpnd2LrBa/2K281Jijactokeak14QacHs/kKq0AQ121nidNYlarbQ==", "dependencies": { - "d3-array": "2" + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" } }, "node_modules/d3-time-format": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-3.0.0.tgz", - "integrity": "sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", "dependencies": { - "d3-time": "1 - 2" + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" } }, "node_modules/d3-timer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-2.0.0.tgz", - "integrity": "sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "engines": { + "node": ">=12" + } }, "node_modules/d3-transition": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-2.0.0.tgz", - "integrity": "sha512-42ltAGgJesfQE3u9LuuBHNbGrI/AJjNL2OAUdclE70UE6Vy239GCBEYD38uBPoLeNsOhFStGpPI0BAOV+HMxog==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", "dependencies": { - "d3-color": "1 - 2", - "d3-dispatch": "1 - 2", - "d3-ease": "1 - 2", - "d3-interpolate": "1 - 2", - "d3-timer": "1 - 2" + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" }, "peerDependencies": { - "d3-selection": "2" + "d3-selection": "2 - 3" } }, "node_modules/d3-zoom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-2.0.0.tgz", - "integrity": "sha512-fFg7aoaEm9/jf+qfstak0IYpnesZLiMX6GZvXtUSdv8RH2o4E2qeelgdU09eKS6wGuiGMfcnMI0nTIqWzRHGpw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", "dependencies": { - "d3-dispatch": "1 - 2", - "d3-drag": "2", - "d3-interpolate": "1 - 2", - "d3-selection": "2", - "d3-transition": "2" + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + }, + "engines": { + "node": ">=12" } }, "node_modules/dashdash": { @@ -5839,15 +5556,6 @@ "node": ">=0.10" } }, - "node_modules/data-uri-to-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz", - "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, "node_modules/dateformat": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", @@ -5858,11 +5566,19 @@ } }, "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { - "ms": "2.0.0" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/decamelize": { @@ -5893,25 +5609,16 @@ "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-eql": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", - "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.0.0.tgz", + "integrity": "sha512-GxJC5MOg2KyQlv6WiUF/VAnMj4MWnYiXo4oLgeptOELVoknyErb4Z8+5F/IM/K4g9/80YzzatxmWcyRwUseH0A==", "dev": true, "dependencies": { - "type-detect": "0.1.1" + "type-detect": "^4.0.0" }, "engines": { - "node": "*" + "node": ">=6" } }, "node_modules/deep-equal": { @@ -5940,30 +5647,20 @@ } }, "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=" + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "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==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", "dev": true, "dependencies": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" + "execa": "^5.0.0" }, "engines": { - "node": ">=6" - } - }, - "node_modules/default-gateway/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": ">= 10" } }, "node_modules/defaults": { @@ -5975,6 +5672,15 @@ "clone": "^1.0.2" } }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", @@ -5986,102 +5692,6 @@ "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/degenerator": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-2.2.0.tgz", - "integrity": "sha512-aiQcQowF01RxFI4ZLFMpzyotbQonhNpBao6dkI8JPk5a+hmSjR5ErHp2CQySmQe8os3VBqLCIh87nDBgZXvsmg==", - "dev": true, - "dependencies": { - "ast-types": "^0.13.2", - "escodegen": "^1.8.1", - "esprima": "^4.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/degenerator/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/degenerator/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/del": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", @@ -6104,10 +5714,42 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/del/node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/del/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/delaunator": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-4.0.1.tgz", - "integrity": "sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz", + "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==", + "dependencies": { + "robust-predicates": "^3.0.0" + } }, "node_modules/delayed-stream": { "version": "1.0.0", @@ -6141,10 +5783,14 @@ } }, "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } }, "node_modules/detect-file": { "version": "1.0.0", @@ -6280,9 +5926,9 @@ ] }, "node_modules/domhandler": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", - "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dev": true, "dependencies": { "domelementtype": "^2.2.0" @@ -6295,9 +5941,9 @@ } }, "node_modules/domutils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz", - "integrity": "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, "dependencies": { "dom-serializer": "^1.0.1", @@ -6319,12 +5965,12 @@ } }, "node_modules/dotenv": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", - "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", "dev": true, "engines": { - "node": ">=6" + "node": ">=10" } }, "node_modules/duplexer": { @@ -6360,12 +6006,6 @@ "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", @@ -6414,9 +6054,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.93", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.93.tgz", - "integrity": "sha512-ywq9Pc5Gwwpv7NG767CtoU8xF3aAUQJjH9//Wy3MBCg4w5JSLbJUq2L8IsCdzPMjvSgxuue9WcVaTOyyxCL0aQ==", + "version": "1.4.96", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.96.tgz", + "integrity": "sha512-DPNjvNGPabv6FcyjzLAN4C0psN/GgD9rSGvMTuv81SeXG/EX3mCz0wiw9N1tUEnfQXYCJi3H8M0oFPRziZh7rw==", "dev": true }, "node_modules/elliptic": { @@ -6470,18 +6110,6 @@ "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==", - "optional": 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", @@ -6537,18 +6165,6 @@ "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, "node_modules/error": { "version": "7.2.1", "resolved": "https://registry.npmjs.org/error/-/error-7.2.1.tgz", @@ -6566,60 +6182,12 @@ "is-arrayish": "^0.2.1" } }, - "node_modules/es-abstract": { - "version": "1.18.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.5.tgz", - "integrity": "sha512-DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.3", - "is-string": "^1.0.6", - "object-inspect": "^1.11.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/es-module-lexer": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", "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-object-assign": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", @@ -6691,10 +6259,19 @@ "source-map": "~0.6.1" } }, + "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==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/eslint": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.11.0.tgz", - "integrity": "sha512-/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA==", + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.12.0.tgz", + "integrity": "sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==", "dev": true, "dependencies": { "@eslint/eslintrc": "^1.2.1", @@ -6783,7 +6360,7 @@ "eslint": ">=5" } }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "node_modules/eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", @@ -6792,15 +6369,6 @@ "node": ">=10" } }, - "node_modules/eslint/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/eslint/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -6850,23 +6418,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/eslint/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/eslint/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -6901,22 +6452,10 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/eslint/node_modules/globals": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", - "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -6937,37 +6476,6 @@ "node": ">=8" } }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/eslint/node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "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/optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -6985,27 +6493,6 @@ "node": ">= 0.8.0" } }, - "node_modules/eslint/node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint/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/eslint/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -7018,18 +6505,6 @@ "node": ">=8" } }, - "node_modules/eslint/node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/espree": { "version": "9.3.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", @@ -7090,9 +6565,9 @@ } }, "node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "engines": { "node": ">=4.0" } @@ -7135,18 +6610,6 @@ "node": ">=0.4.x" } }, - "node_modules/eventsource": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", - "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", - "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", @@ -7157,91 +6620,38 @@ } }, "node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "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" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.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" + "node": ">=10" }, - "engines": { - "node": ">=4.8" + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, "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==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, - "dependencies": { - "pump": "^3.0.0" + "engines": { + "node": ">=10" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/execa/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/execa/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/execa/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/execa/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" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/exif-parser": { @@ -7258,48 +6668,6 @@ "node": ">= 0.8.0" } }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "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-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", @@ -7312,37 +6680,18 @@ "node": ">=0.10.0" } }, - "node_modules/exports-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-3.0.0.tgz", - "integrity": "sha512-b23Yg5SKR63ZvikGrQgfGgwd40MDehaYb7vOXgD7C0fMV04wS8U1I4f7n1j1wEhtQNKUqgdFox/ol2rOruOpOA==", - "dev": true, - "dependencies": { - "source-map": "^0.6.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, "node_modules/express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "version": "4.17.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", + "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", "dev": true, "dependencies": { - "accepts": "~1.3.7", + "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", + "body-parser": "1.19.2", + "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.0", + "cookie": "0.4.2", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "~1.1.2", @@ -7356,13 +6705,13 @@ "on-finished": "~2.3.0", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", + "proxy-addr": "~2.0.7", + "qs": "6.9.7", "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", + "safe-buffer": "5.2.1", + "send": "0.17.2", + "serve-static": "1.14.2", + "setprototypeof": "1.2.0", "statuses": "~1.5.0", "type-is": "~1.6.18", "utils-merge": "1.0.1", @@ -7378,6 +6727,15 @@ "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": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, "node_modules/express/node_modules/depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -7387,25 +6745,115 @@ "node": ">= 0.6" } }, + "node_modules/express/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/express/node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "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.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", "dev": true, "engines": { "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/express/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==", + "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/express/node_modules/send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "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.8.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/express/node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, + "node_modules/express/node_modules/serve-static": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", + "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/express/node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, "node_modules/extend": { @@ -7413,112 +6861,6 @@ "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=", - "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/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": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", @@ -7539,29 +6881,6 @@ "@types/yauzl": "^2.9.1" } }, - "node_modules/extract-zip/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/extract-zip/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/extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -7585,9 +6904,9 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -7597,7 +6916,19 @@ "micromatch": "^4.0.4" }, "engines": { - "node": ">=8" + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/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/fast-json-stable-stringify": { @@ -7611,9 +6942,9 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "node_modules/fastq": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz", - "integrity": "sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", "dev": true, "dependencies": { "reusify": "^1.0.4" @@ -7652,44 +6983,6 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "dev": true, - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/file-saver": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", @@ -7709,15 +7002,6 @@ "node": ">=6" } }, - "node_modules/file-uri-to-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz", - "integrity": "sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, "node_modules/filelist": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", @@ -7757,10 +7041,25 @@ "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": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "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": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, "dependencies": { "commondir": "^1.0.1", @@ -7775,15 +7074,19 @@ } }, "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==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, "dependencies": { - "locate-path": "^5.0.0", + "locate-path": "^6.0.0", "path-exists": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/findup-sync": { @@ -7861,15 +7164,15 @@ } }, "node_modules/flatted": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", - "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", "dev": true }, "node_modules/follow-redirects": { - "version": "1.14.7", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", - "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==", + "version": "1.14.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", + "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", "dev": true, "funding": [ { @@ -7938,9 +7241,9 @@ } }, "node_modules/fraction.js": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz", - "integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", "dev": true, "engines": { "node": "*" @@ -7950,18 +7253,6 @@ "url": "https://www.patreon.com/infusion" } }, - "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", @@ -7971,20 +7262,6 @@ "node": ">= 0.6" } }, - "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": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", @@ -7996,74 +7273,29 @@ "node": ">= 8" } }, + "node_modules/fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, "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.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "hasInstallScript": true, "optional": true, "os": [ "darwin" ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, "engines": { - "node": ">= 4.0" - } - }, - "node_modules/ftp": { - "version": "0.3.10", - "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", - "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", - "dev": true, - "dependencies": { - "readable-stream": "1.1.x", - "xregexp": "2.0.0" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/ftp/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "node_modules/ftp/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ftp/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=", - "dev": true - }, - "node_modules/ftp/node_modules/xregexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", - "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=", - "dev": true, - "engines": { - "node": "*" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, "node_modules/function-bind": { @@ -8101,25 +7333,6 @@ "node": ">=10" } }, - "node_modules/gauge/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/gauge/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/gaze": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", @@ -8153,6 +7366,15 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/get-intrinsic": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", @@ -8189,55 +7411,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-uri": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-3.0.2.tgz", - "integrity": "sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==", - "dev": true, - "dependencies": { - "@tootallnate/once": "1", - "data-uri-to-buffer": "3", - "debug": "4", - "file-uri-to-path": "2", - "fs-extra": "^8.1.0", - "ftp": "^0.3.10" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/get-uri/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/get-uri/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/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/getobject": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.2.tgz", @@ -8256,11 +7429,11 @@ } }, "node_modules/gifwrap": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.9.2.tgz", - "integrity": "sha512-fcIswrPaiCDAyO8xnWvHSZdWChjKXUanKKpAiWWJ/UTkEi/aYKn5+90e7DE820zbEaVR9CE2y4z9bzhQijZ0BA==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.9.4.tgz", + "integrity": "sha512-MDMwbhASQuVeD4JKd1fKgNgCRL3fGqMM4WaqpNhWO0JiMOAjbQdumbs4BbBZEy9/M00EHEjKN3HieVhCUlwjeQ==", "dependencies": { - "image-q": "^1.1.1", + "image-q": "^4.0.0", "omggif": "^1.0.10" } }, @@ -8284,15 +7457,15 @@ } }, "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==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "dependencies": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" }, "engines": { - "node": ">= 6" + "node": ">=10.13.0" } }, "node_modules/glob-to-regexp": { @@ -8353,28 +7526,41 @@ } }, "node_modules/globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "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": ">=0.10.0" + "node": ">=4" } }, "node_modules/globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", + "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", "dev": true, "dependencies": { - "array-union": "^2.1.0", + "array-union": "^3.0.1", "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" + "fast-glob": "^3.2.7", + "ignore": "^5.1.9", + "merge2": "^1.4.1", + "slash": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -8393,6 +7579,17 @@ "node": ">= 0.10" } }, + "node_modules/globule/node_modules/minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/graceful-fs": { "version": "4.2.9", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", @@ -8448,6 +7645,38 @@ "node": ">= 0.8.0" } }, + "node_modules/grunt-cli": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz", + "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==", + "dev": true, + "dependencies": { + "grunt-known-options": "~2.0.0", + "interpret": "~1.1.0", + "liftup": "~3.0.1", + "nopt": "~4.0.1", + "v8flags": "~3.2.0" + }, + "bin": { + "grunt": "bin/grunt" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/grunt-cli/node_modules/nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "dev": true, + "dependencies": { + "abbrev": "1", + "osenv": "^0.1.4" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, "node_modules/grunt-concurrent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/grunt-concurrent/-/grunt-concurrent-3.0.0.tgz", @@ -8536,6 +7765,61 @@ "node": ">=0.10.0" } }, + "node_modules/grunt-contrib-copy/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/grunt-contrib-copy/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/grunt-contrib-copy/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/grunt-contrib-copy/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/grunt-contrib-copy/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/grunt-contrib-watch": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.1.0.tgz", @@ -8805,16 +8089,16 @@ } }, "node_modules/grunt-webpack": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/grunt-webpack/-/grunt-webpack-4.0.3.tgz", - "integrity": "sha512-hRnTf7y9pe4K+M/AKUJFgHykZeyIOUHhZSMVD0/jF/uXphMCen7txPIz8IOnJoa6bX0JrpoueOwo7FgS/OtC2Q==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/grunt-webpack/-/grunt-webpack-5.0.0.tgz", + "integrity": "sha512-C7emzVIGJhZ5V5ZYjylr9sDD9PE9Dh/55NaSzP2P2dhif+m/1gHbjDZQ7PDzguyuzwBz4Qc8voQHR06FSp4CKg==", "dev": true, "dependencies": { "deep-for-each": "^3.0.0", "lodash": "^4.17.19" }, "engines": { - "node": ">=10.13.0" + "node": ">=12.13.0" }, "peerDependencies": { "webpack": "^4.0.0 || ^5.0.0" @@ -8836,50 +8120,58 @@ "node": ">= 0.10.0" } }, - "node_modules/grunt/node_modules/grunt-cli": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz", - "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==", + "node_modules/grunt/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": { - "grunt-known-options": "~2.0.0", - "interpret": "~1.1.0", - "liftup": "~3.0.1", - "nopt": "~4.0.1", - "v8flags": "~3.2.0" - }, - "bin": { - "grunt": "bin/grunt" - }, - "engines": { - "node": ">=10" + "sprintf-js": "~1.0.2" } }, - "node_modules/grunt/node_modules/grunt-cli/node_modules/nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "node_modules/grunt/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": { - "abbrev": "1", - "osenv": "^0.1.4" - }, - "bin": { - "nopt": "bin/nopt.js" - } - }, - "node_modules/grunt/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, + "node_modules/grunt/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/grunt/node_modules/minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/grunt/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/gzip-size": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", @@ -8952,13 +8244,12 @@ "node": ">=0.10.0" } }, - "node_modules/has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/has-ansi/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/has-flag": { @@ -8970,9 +8261,9 @@ } }, "node_modules/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "engines": { "node": ">= 0.4" }, @@ -8999,75 +8290,6 @@ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, - "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/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/has-values/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/has-values/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/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.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", @@ -9081,6 +8303,25 @@ "node": ">=4" } }, + "node_modules/hash-base/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==", + "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/hash.js": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", @@ -9100,9 +8341,9 @@ } }, "node_modules/highlight.js": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.2.0.tgz", - "integrity": "sha512-JOySjtOEcyG8s4MLR2MNbLUyaXqUunmSnL2kdV/KuGJOmHZuAR5xC54Ko7goAXBWNhf09Vy3B+U7vR62UZ/0iw==", + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.5.0.tgz", + "integrity": "sha512-SM6WDj5/C+VfIY8pZ6yW6Xa0Fm1tniYVYWYW1Q/DcMnISZFrC3aQAZZZFAAZtybKNrGId3p/DNbFTtcTXXgYBw==", "engines": { "node": ">=12.0.0" } @@ -9176,12 +8417,6 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/hpack.js/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/hpack.js/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -9192,74 +8427,51 @@ } }, "node_modules/html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", "dev": true }, "node_modules/html-minifier-terser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", - "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", "dev": true, "dependencies": { - "camel-case": "^4.1.1", - "clean-css": "^4.2.3", - "commander": "^4.1.1", + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", "he": "^1.2.0", - "param-case": "^3.0.3", + "param-case": "^3.0.4", "relateurl": "^0.2.7", - "terser": "^4.6.3" + "terser": "^5.10.0" }, "bin": { "html-minifier-terser": "cli.js" }, "engines": { - "node": ">=6" + "node": ">=12" } }, "node_modules/html-minifier-terser/node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", "dev": true, "engines": { - "node": ">= 6" + "node": ">= 12" } }, - "node_modules/html-minifier-terser/node_modules/terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "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/html-minifier-terser/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==", - "dev": true - }, "node_modules/html-webpack-plugin": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.3.2.tgz", - "integrity": "sha512-HvB33boVNCz2lTyBsSiMffsJ+m0YLIQ+pskblXgN9fnjS1BgEcuAfdInfXfGrkdXV406k9FiDi86eVCDBgJOyQ==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", + "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", "dev": true, "dependencies": { - "@types/html-minifier-terser": "^5.0.0", - "html-minifier-terser": "^5.0.1", + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", "lodash": "^4.17.21", - "pretty-error": "^3.0.4", + "pretty-error": "^4.0.0", "tapable": "^2.0.0" }, "engines": { @@ -9334,9 +8546,9 @@ "dev": true }, "node_modules/http-parser-js": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", - "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", + "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==", "dev": true }, "node_modules/http-proxy": { @@ -9366,167 +8578,40 @@ "node": ">= 6" } }, - "node_modules/http-proxy-agent/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "node_modules/http-proxy-middleware": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.4.tgz", + "integrity": "sha512-m/4FxX17SUvz4lJ5WPXOHDUuCwIqXLfLHs1s0uZ3oYjhoXlx9csYxaOa0ElDEJ+h8Q4iJ1s+lTMbiCa4EXIJqg==", + "dev": true, "dependencies": { - "ms": "2.1.2" + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" }, "engines": { - "node": ">=6.0" + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" }, "peerDependenciesMeta": { - "supports-color": { + "@types/express": { "optional": true } } }, - "node_modules/http-proxy-agent/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==" - }, - "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/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/http-proxy-middleware/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/http-proxy-middleware/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/http-proxy-middleware/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/http-proxy-middleware/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/http-proxy-middleware/node_modules/is-number": { + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/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" + "node": ">=10" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/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/http-proxy-middleware/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" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/http-signature": { @@ -9561,27 +8646,15 @@ "node": ">= 6" } }, - "node_modules/https-proxy-agent/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dependencies": { - "ms": "2.1.2" - }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=10.17.0" } }, - "node_modules/https-proxy-agent/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==" - }, "node_modules/humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", @@ -9590,15 +8663,6 @@ "ms": "^2.0.0" } }, - "node_modules/i": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz", - "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0=", - "dev": true, - "engines": { - "node": ">=0.4" - } - }, "node_modules/iced-error": { "version": "0.0.13", "resolved": "https://registry.npmjs.org/iced-error/-/iced-error-0.0.13.tgz", @@ -9618,11 +8682,11 @@ "integrity": "sha512-rgiJXNF6ZgF2Clh/TKUlBDW3q51YPDJUXmxGQXx1b8tbZpVpTn+1RX9q1sjNkujXIIaVxZByQzPHHORg7KV51g==" }, "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==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" @@ -9674,13 +8738,24 @@ } }, "node_modules/image-q": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/image-q/-/image-q-1.1.1.tgz", - "integrity": "sha1-/IQJlmRGC5DKhi2TALa/u7+/gFY=", - "engines": { - "node": ">=0.9.0" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/image-q/-/image-q-4.0.0.tgz", + "integrity": "sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==", + "dependencies": { + "@types/node": "16.9.1" } }, + "node_modules/image-q/node_modules/@types/node": { + "version": "16.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz", + "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==" + }, + "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/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -9697,84 +8772,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "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-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/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/import-local/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/imports-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-3.0.0.tgz", - "integrity": "sha512-PhDB+rxpc95/1cM8ehxWAcuDIDi3eXhqHhax09iyUeAYBJ2bT6QbBp7aDj8IfU9Ns+2l1K226GhoWVAU823CTA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-3.1.1.tgz", + "integrity": "sha512-3QMyGU4RTgxLf0puWkUfT5+7zJvexvB00PI5skDIcxG8O20gZCbQsaRpNBv+cIO6yy/lmlOBwaxc3uH1CV+sww==", "dev": true, "dependencies": { "source-map": "^0.6.1", @@ -9791,6 +8792,15 @@ "webpack": "^5.0.0" } }, + "node_modules/imports-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/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -9832,37 +8842,13 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, - "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/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/internmap": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", - "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "engines": { + "node": ">=12" + } }, "node_modules/interpret": { "version": "1.1.0", @@ -9893,12 +8879,12 @@ } }, "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", "dev": true, "engines": { - "node": ">= 0.10" + "node": ">= 10" } }, "node_modules/is-absolute": { @@ -9914,45 +8900,6 @@ "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=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor/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-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.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", @@ -9973,85 +8920,22 @@ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "dependencies": { - "binary-extensions": "^1.0.0" + "binary-extensions": "^2.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "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": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "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" - } - ], - "engines": { - "node": ">=4" - } - }, - "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": ">=8" } }, "node_modules/is-core-module": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", - "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", "dependencies": { "has": "^1.0.3" }, @@ -10059,36 +8943,6 @@ "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=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-data-descriptor/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-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.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", @@ -10103,42 +8957,25 @@ "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==", + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "bin": { + "is-docker": "cli.js" }, "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": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-electron": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.0.tgz", - "integrity": "sha512-SpMppC2XR3YdxSzczXReBjqs2zGscWQpBIKqwXYBFic0ERaxNVgwLCHwOLZeESfdJQjX0RDvrJ1lBXX2ij+G1Q==" - }, - "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" - } + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.1.tgz", + "integrity": "sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw==" }, "node_modules/is-extglob": { "version": "2.1.1", @@ -10188,18 +9025,6 @@ "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=" }, - "node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -10218,21 +9043,6 @@ "lodash.isfinite": "^3.3.2" } }, - "node_modules/is-number-object": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", - "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-path-cwd": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", @@ -10242,30 +9052,6 @@ "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-in-cwd/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-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -10323,42 +9109,15 @@ } }, "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "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" + "node": ">=8" }, "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" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-typedarray": { @@ -10378,6 +9137,18 @@ "node": ">=0.10.0" } }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-url": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", @@ -10440,13 +9211,13 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "node_modules/jake": { - "version": "10.8.2", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", - "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==", + "version": "10.8.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.4.tgz", + "integrity": "sha512-MtWeTkl1qGsWUtbl/Jsca/8xSoK3x0UmS82sNbjqxxG/de/M/3b1DntdjHgPMC50enlTNwXOCRqPXLLt5cCfZA==", "dev": true, "dependencies": { "async": "0.9.x", - "chalk": "^2.4.2", + "chalk": "^4.0.2", "filelist": "^1.0.1", "minimatch": "^3.0.4" }, @@ -10454,19 +9225,22 @@ "jake": "bin/cli.js" }, "engines": { - "node": "*" + "node": ">=10" } }, "node_modules/jake/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==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/jake/node_modules/async": { @@ -10476,35 +9250,64 @@ "dev": true }, "node_modules/jake/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==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jake/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jake/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jake/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" } }, "node_modules/jake/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==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/jest-worker": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.6.tgz", - "integrity": "sha512-qupxcj/dRuA3xHPMUd40gr2EaAurFbkwzOh7wfPaeE9id7hyjURRQoqNfHifHK3XjJU6YJJUQKILGUnwGPEOCA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, "dependencies": { "@types/node": "*", @@ -10595,32 +9398,22 @@ "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" }, "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=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "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==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, - "node_modules/js-yaml/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/jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", @@ -10649,9 +9442,9 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "node_modules/json-schema-traverse": { "version": "0.4.1", @@ -10669,20 +9462,11 @@ "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": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, "bin": { "json5": "lib/cli.js" }, @@ -10690,15 +9474,6 @@ "node": ">=6" } }, - "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/jsonpath": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", @@ -10742,23 +9517,26 @@ "npm": ">=1.4.28" } }, - "node_modules/jsonwebtoken/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "node_modules/jsonwebtoken/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/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "engines": [ - "node >=0.6.0" - ], + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", - "json-schema": "0.2.3", + "json-schema": "0.4.0", "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" } }, "node_modules/jsqr": { @@ -10767,9 +9545,9 @@ "integrity": "sha512-dxLob7q65Xg2DvstYkRpkYtmKm2sPJ9oFhrhmudT1dZvNFFTlroai3AWSpLey/w5vMcLBXRgOJsbXpdN9HzU/A==" }, "node_modules/jsrsasign": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.4.0.tgz", - "integrity": "sha512-C8qLhiAssh/b74KJpGhWuFGG9cFhJqMCVuuHXRibb3Z5vPuAW0ue0jUirpoExCdpdhv4nD3sZ1DAwJURYJTm9g==", + "version": "10.5.14", + "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.5.14.tgz", + "integrity": "sha512-W49L90gR5E8lOMfZJzhq/JHM2Am6slJWsaI/aiyDZurK1CQly9/FN9ZCvM5ez8Svbw5+CwVEH25iIARLoh4Viw==", "funding": { "url": "https://github.com/kjur/jsrsasign#donations" } @@ -10846,12 +9624,6 @@ "uint64be": "^1.0.1" } }, - "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.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -10861,21 +9633,22 @@ } }, "node_modules/klona": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", - "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", "dev": true, "engines": { "node": ">= 8" } }, "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { "node": ">= 0.8.0" @@ -10891,6 +9664,15 @@ "resolved": "https://registry.npmjs.org/libyara-wasm/-/libyara-wasm-1.1.0.tgz", "integrity": "sha512-MI2C4v8JxPN46l3VPWK66HApLPO4rx7n4rGioaSOfbIZikTJIuvI+eRPPnW3K2BXzrOHYj5sMl/RoLlKbXtiLw==" }, + "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/liftup": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz", @@ -10926,14 +9708,14 @@ } }, "node_modules/lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "node_modules/linkify-it": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.2.tgz", - "integrity": "sha512-gDBO4aHNZS6coiZCKVhSNh43F9ioIL4JwRjLZPkoLIY4yZFwg264Y5lu2x6rb1Js42Gh6Yqm2f6L2AJcnkzinQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", "dependencies": { "uc.micro": "^1.0.1" } @@ -10983,14 +9765,18 @@ } }, "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==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/lodash": { @@ -11158,59 +9944,95 @@ "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" }, "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==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "dependencies": { - "chalk": "^2.0.1" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "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==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/log-symbols/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==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" } }, "node_modules/log-symbols/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==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/loglevel": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", - "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz", + "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==", "engines": { "node": ">= 0.6.0" }, @@ -11245,6 +10067,25 @@ "loose-envify": "cli.js" } }, + "node_modules/loupe": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.0.tgz", + "integrity": "sha512-b6TVXtF01VErh8IxN/MfdiWLQmttrenN98PPGS01kym8kGycJ9tqBXD6D+4sNEDhgE83+H0Mk1cVSl0mD1nNSg==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.0", + "type-detect": "^4.0.8" + } + }, + "node_modules/loupe/node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -11280,15 +10121,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-dir/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/make-fetch-happen": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", @@ -11315,40 +10147,6 @@ "node": ">= 10" } }, - "node_modules/make-fetch-happen/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/make-fetch-happen/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==" - }, - "node_modules/make-fetch-happen/node_modules/socks-proxy-agent": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", - "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.1", - "socks": "^2.6.1" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/make-iterator": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", @@ -11381,18 +10179,6 @@ "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": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/markdown-it": { "version": "12.3.2", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", @@ -11432,44 +10218,16 @@ "node": ">= 0.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=", + "node_modules/memfs": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", + "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", "dev": true, "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "node_modules/memory-fs/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/memory-fs/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/memory-fs/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "fs-monkey": "1.0.3" + }, + "engines": { + "node": ">= 4.0.0" } }, "node_modules/meow": { @@ -11539,13 +10297,13 @@ } }, "node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { "node": ">=8.6" @@ -11580,19 +10338,19 @@ } }, "node_modules/mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.32", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { - "mime-db": "1.49.0" + "mime-db": "1.52.0" }, "engines": { "node": ">= 0.6" @@ -11624,38 +10382,71 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.7.tgz", - "integrity": "sha512-NDyOUqdfKVIfWTludTcZ6JDOMsIdWgyTEECYbfvZszPpkMRyQLvukqtLr92tfukPQxVZNCKb8TkOilFBvS5RIw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.0.tgz", + "integrity": "sha512-ndG8nxCEnAemsg4FSgS+yNyHKgkTB4nPKqCOgh65j3/30qqC5RaSQQXMm++Y6sb6E1zRSxPkztj9fqxhS1Eo6w==", "dev": true, "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "webpack-sources": "^1.1.0" + "schema-utils": "^4.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.4.0 || ^5.0.0" + "webpack": "^5.0.0" } }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "node_modules/mini-css-extract-plugin/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", @@ -11673,9 +10464,9 @@ "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==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -11684,9 +10475,9 @@ } }, "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" }, "node_modules/minimist-options": { "version": "4.1.0", @@ -11792,40 +10583,15 @@ "node": ">= 8" } }, - "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.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dependencies": { - "minimist": "^1.2.5" - }, + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "bin": { "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/mkpath": { @@ -11835,96 +10601,87 @@ "dev": true }, "node_modules/mocha": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.3.tgz", - "integrity": "sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.0.tgz", + "integrity": "sha512-kNn7E8g2SzVcq0a77dkphPsDSN7P+iYkqE0ZsGCYWRsoiKjOt+NvXfaagik8vuDa6W5Zw3qxe8Jfpt5qKf+6/Q==", "dev": true, "dependencies": { - "ansi-colors": "3.2.3", + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", + "chokidar": "3.5.3", + "debug": "4.3.3", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", "growl": "1.10.5", "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "2.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", "minimatch": "3.0.4", - "mkdirp": "0.5.4", - "ms": "2.1.1", - "node-environment-flags": "1.0.5", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" + "ms": "2.1.3", + "nanoid": "3.2.0", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "which": "2.0.2", + "workerpool": "6.2.0", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" }, "bin": { "_mocha": "bin/_mocha", "mocha": "bin/mocha" }, "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/mocha/node_modules/ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/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": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" } }, "node_modules/mocha/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)", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dev": true, "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/mocha/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/mocha/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" + "ms": "2.1.2" }, "engines": { - "node": ">=6" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mocha/node_modules/debug/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/mocha/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/mocha/node_modules/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -11936,130 +10693,51 @@ }, "engines": { "node": "*" - } - }, - "node_modules/mocha/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" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/mocha/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==", + "node_modules/mocha/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/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": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/mkdirp": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", - "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", - "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": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" + "node": "*" } }, "node_modules/mocha/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==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, - "node_modules/mocha/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/mocha/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/mocha/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/mocha/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/mocha/node_modules/supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/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" + "node": ">=10" }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/mocha/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/moment": { @@ -12071,9 +10749,9 @@ } }, "node_modules/moment-timezone": { - "version": "0.5.33", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.33.tgz", - "integrity": "sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==", + "version": "0.5.34", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz", + "integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==", "dependencies": { "moment": ">= 2.9.0" }, @@ -12105,10 +10783,34 @@ "node": ">= 0.8.0" } }, - "node_modules/ms": { + "node_modules/morgan/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/morgan/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/mrmime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.0.tgz", + "integrity": "sha512-a70zx7zFfVO7XpnQ2IX1Myh9yY4UYvfld/dikWRnsXxbyvMcfz+u6UfgNAtH+k2QqtJuzVpv6eLTx1G2+WKZbQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "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==" }, "node_modules/multicast-dns": { "version": "6.2.3", @@ -12141,9 +10843,9 @@ "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" }, "node_modules/nanoid": { - "version": "3.1.25", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", - "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", + "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", "dev": true, "bin": { "nanoid": "bin/nanoid.cjs" @@ -12152,47 +10854,16 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "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/ncp": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-1.0.1.tgz", - "integrity": "sha1-0VNn5cuHQyuhF9K/gP30Wuz7QkY=", - "dev": true, - "bin": { - "ncp": "bin/ncp" - } - }, "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==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "engines": { "node": ">= 0.6" } @@ -12203,15 +10874,6 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, - "node_modules/netmask": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", - "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/ngeohash": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/ngeohash/-/ngeohash-0.6.3.tgz", @@ -12220,50 +10882,49 @@ "node": ">=v0.2.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/nightwatch": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-1.7.8.tgz", - "integrity": "sha512-GTY2VoPU2EuoBUB+mz5tAjeEWRQmuT54Il2lOUTmpv87D7cO8fXaadrxSHwl2YDX9rDFvNZovqwiKBtk3/5R6w==", + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-2.0.10.tgz", + "integrity": "sha512-ywZE+UmVosk2kJFmHPU0vomfDJLniWsjzP9q6GjcgVdp4zIk6hUdpfJ9iJEIwHg5LRbBZA68ox3B/PTudlG+Cg==", "dev": true, "dependencies": { - "assertion-error": "^1.1.0", - "chai-nightwatch": "^0.4.0", - "ci-info": "^2.0.0", - "didyoumean": "^1.2.1", - "dotenv": "7.0.0", + "@nightwatch/chai": "5.0.1", + "assertion-error": "1.1.0", + "boxen": "5.1.2", + "chai-nightwatch": "0.5.3", + "ci-info": "^3.2.0", + "didyoumean": "^1.2.2", + "dotenv": "10.0.0", "ejs": "^3.1.6", - "envinfo": "^7.5.1", + "envinfo": "^7.8.1", + "glob": "^7.2.0", "lodash.clone": "3.0.3", "lodash.defaultsdeep": "^4.6.1", "lodash.merge": "^4.6.2", "minimatch": "3.0.4", "minimist": "^1.2.5", "mkpath": "1.0.0", - "mocha": "6.2.3", - "ora": "^4.0.3", - "proxy-agent": "^4.0.1", - "request": "^2.88.2", - "request-promise": "^4.2.5", - "semver": "^6.3.0", + "mocha": "9.2.0", + "ora": "^5.4.1", + "selenium-webdriver": "4.1.0", + "semver": "^7.3.5", "strip-ansi": "^6.0.0" }, "bin": { "nightwatch": "bin/nightwatch" }, "engines": { - "node": ">= 8.0.0" + "node": ">= 10.0.0" }, "peerDependencies": { + "@cucumber/cucumber": "^7.3.1", "chromedriver": "*", "geckodriver": "*" }, "peerDependenciesMeta": { + "@cucumber/cucumber": { + "optional": true + }, "chromedriver": { "optional": true }, @@ -12272,34 +10933,51 @@ } } }, - "node_modules/nightwatch/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "node_modules/nightwatch/node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "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": ">=8" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/nightwatch/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/nightwatch/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/nightwatch/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=8" + "node": ">=10" } }, "node_modules/no-case": { @@ -12312,30 +10990,31 @@ "tslib": "^2.0.3" } }, - "node_modules/node-environment-flags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", - "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", - "dev": true, - "dependencies": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - } - }, "node_modules/node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "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-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.0.tgz", + "integrity": "sha512-08ARB91bUi6zNKzVmaj3QO7cr397uiDT2nJ63cHjyNtCTWIgvS47j3eT0WfzUwS9+6Z5YshRaoasFkXCKrIYbA==", "engines": { - "node": ">= 6.0.0" + "node": ">= 6.13.0" } }, "node_modules/node-gyp": { @@ -12361,14 +11040,6 @@ "node": ">= 10.12.0" } }, - "node_modules/node-gyp/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==", - "engines": { - "node": ">=8" - } - }, "node_modules/node-gyp/node_modules/are-we-there-yet": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz", @@ -12441,25 +11112,6 @@ "node": ">=10" } }, - "node_modules/node-gyp/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==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/node-gyp/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==", - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, "node_modules/node-http2": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/node-http2/-/node-http2-4.0.1.tgz", @@ -12494,12 +11146,6 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/node-http2/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, "node_modules/node-http2/node_modules/stream-browserify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", @@ -12629,11 +11275,11 @@ "integrity": "sha512-qhfYgpoCSi37HLiViMlf94YqMQdvk3n3arI1uGbAWZK9NKCYRSI42W8lATeGloYGLYxb8us1C5rTvtsXjwdWQg==" }, "node_modules/nofilter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz", - "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", + "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", "engines": { - "node": ">=8" + "node": ">=12.19" } }, "node_modules/nopt": { @@ -12700,24 +11346,15 @@ "integrity": "sha512-9RiFDxeydHsWOqdthRUck2Kd4UW2NzVd2xxOulZiQ9mvge6ElsHXLpwD3HEJyql6sFEnEn/eMO7HSdS0M5mWkA==" }, "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=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "dependencies": { - "path-key": "^2.0.0" + "path-key": "^3.0.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-path/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": ">=8" } }, "node_modules/npmlog": { @@ -12732,9 +11369,9 @@ } }, "node_modules/nth-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", - "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", "dev": true, "dependencies": { "boolbase": "^1.0.0" @@ -12764,59 +11401,6 @@ "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/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/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.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object-is": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", @@ -12840,18 +11424,6 @@ "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.2", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", @@ -12885,23 +11457,6 @@ "node": ">=0.10.0" } }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object.map": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", @@ -12982,6 +11537,35 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/opencollective-postinstall": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", @@ -13028,37 +11612,60 @@ "node": ">= 0.8.0" } }, + "node_modules/optionator/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/optionator/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/optionator/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/ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dev": true, "dependencies": { - "chalk": "^3.0.0", + "bl": "^4.1.0", + "chalk": "^4.1.0", "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", + "cli-spinners": "^2.5.0", "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", "strip-ansi": "^6.0.0", "wcwidth": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ora/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/ora/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -13075,16 +11682,19 @@ } }, "node_modules/ora/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/ora/node_modules/color-convert": { @@ -13114,92 +11724,6 @@ "node": ">=8" } }, - "node_modules/ora/node_modules/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/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/ora/node_modules/log-symbols/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/ora/node_modules/log-symbols/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/ora/node_modules/log-symbols/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/ora/node_modules/log-symbols/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/ora/node_modules/log-symbols/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/ora/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/ora/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -13212,15 +11736,6 @@ "node": ">=8" } }, - "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-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", @@ -13257,38 +11772,34 @@ "thirty-two": "^0.0.2" } }, - "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": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, "dependencies": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "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==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, "dependencies": { - "p-limit": "^2.2.0" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-map": { @@ -13306,15 +11817,25 @@ } }, "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==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", + "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", "dev": true, "dependencies": { - "retry": "^0.12.0" + "@types/retry": "^0.12.0", + "retry": "^0.13.1" }, "engines": { - "node": ">=6" + "node": ">=8" + } + }, + "node_modules/p-retry/node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "engines": { + "node": ">= 4" } }, "node_modules/p-try": { @@ -13325,118 +11846,6 @@ "node": ">=6" } }, - "node_modules/pac-proxy-agent": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-4.1.0.tgz", - "integrity": "sha512-ejNgYm2HTXSIYX9eFlkvqFp8hyJ374uDf0Zq5YUAifiSh1D6fo+iBivQZirGvVv8dCYUsLhmLBRhlAYvBKI5+Q==", - "dev": true, - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4", - "get-uri": "3", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "5", - "pac-resolver": "^4.1.0", - "raw-body": "^2.2.0", - "socks-proxy-agent": "5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pac-proxy-agent/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/pac-proxy-agent/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/pac-proxy-agent/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/pac-proxy-agent/node_modules/http-errors": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", - "dev": true, - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/pac-proxy-agent/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/pac-proxy-agent/node_modules/raw-body": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", - "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", - "dev": true, - "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.3", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pac-proxy-agent/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/pac-resolver": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-4.2.0.tgz", - "integrity": "sha512-rPACZdUyuxT5Io/gFKUeeZFfE5T7ve7cAkE5TUZRRfuKP0u5Hocwe48X7ZEm6mYB+bTB0Qf+xlVlA/RM/i6RCQ==", - "dev": true, - "dependencies": { - "degenerator": "^2.2.0", - "ip": "^1.1.5", - "netmask": "^2.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/pad-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pad-stream/-/pad-stream-2.0.0.tgz", @@ -13524,9 +11933,9 @@ } }, "node_modules/parse-headers": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.4.tgz", - "integrity": "sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", + "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==" }, "node_modules/parse-json": { "version": "5.2.0", @@ -13573,15 +11982,6 @@ "tslib": "^2.0.3" } }, - "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": { "version": "0.12.7", "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", @@ -13591,12 +11991,6 @@ "util": "^0.10.3" } }, - "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": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -13613,12 +12007,6 @@ "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": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -13668,6 +12056,15 @@ "node": ">=8" } }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/pbkdf2": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", @@ -13715,9 +12112,9 @@ "dev": true }, "node_modules/picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "engines": { "node": ">=8.6" @@ -13740,27 +12137,6 @@ "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=", - "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/pixelmatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", @@ -13784,6 +12160,58 @@ "node": ">=8" } }, + "node_modules/pkg-dir/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/pkg-dir/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/pkg-dir/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/pkg-dir/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/pngjs": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", @@ -13834,11 +12262,17 @@ "ms": "^2.1.1" } }, - "node_modules/portfinder/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "node_modules/portfinder/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/portscanner": { "version": "2.2.0", @@ -13863,31 +12297,28 @@ "lodash": "^4.17.14" } }, - "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": "8.3.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz", - "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==", + "version": "8.4.12", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz", + "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], "dependencies": { - "colorette": "^1.2.2", - "nanoid": "^3.1.23", - "source-map-js": "^0.6.2" + "nanoid": "^3.3.1", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" }, "engines": { "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" } }, "node_modules/postcss-css-variables": { @@ -13905,9 +12336,9 @@ } }, "node_modules/postcss-import": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.2.tgz", - "integrity": "sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", "dev": true, "dependencies": { "postcss-value-parser": "^4.0.0", @@ -13922,13 +12353,13 @@ } }, "node_modules/postcss-loader": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.1.1.tgz", - "integrity": "sha512-lBmJMvRh1D40dqpWKr9Rpygwxn8M74U9uaCSeYGNKLGInbk9mXBt1ultHf2dH9Ghk6Ue4UXlXWwGMH9QdUJ5ug==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", "dev": true, "dependencies": { "cosmiconfig": "^7.0.0", - "klona": "^2.0.4", + "klona": "^2.0.5", "semver": "^7.3.5" }, "engines": { @@ -14018,9 +12449,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", - "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", + "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -14031,27 +12462,40 @@ } }, "node_modules/postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, + "node_modules/postcss/node_modules/nanoid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz", + "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "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=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, "engines": { "node": ">= 0.8.0" } }, "node_modules/pretty-error": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-3.0.4.tgz", - "integrity": "sha512-ytLFLfv1So4AO1UkoBF6GXQgJRaKbiSiGFICaOPNwQ3CMvBvXpLRubeQWyPGnsbV/t9ml9qto6IeCsho0aEvwQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", "dev": true, "dependencies": { "lodash": "^4.17.20", - "renderkid": "^2.0.6" + "renderkid": "^3.0.0" } }, "node_modules/process": { @@ -14093,21 +12537,27 @@ } }, "node_modules/prompt": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/prompt/-/prompt-1.1.0.tgz", - "integrity": "sha512-ec1vUPXCplDBDUVD8uPa3XGA+OzLrO40Vxv3F1uxoiZGkZhdctlK2JotcHq5X6ExjocDOGwGdCSXloGNyU5L1Q==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/prompt/-/prompt-1.2.2.tgz", + "integrity": "sha512-XNXhNv3PUHJDcDkISpCwSJxtw9Bor4FZnlMUDW64N/KCPdxhfVlpD5+YUXI/Z8a9QWmOhs9KSiVtR8nzPS0BYA==", "dev": true, "dependencies": { - "colors": "^1.1.2", + "@colors/colors": "1.5.0", + "async": "~0.9.0", "read": "1.0.x", "revalidator": "0.1.x", - "utile": "0.3.x", "winston": "2.x" }, "engines": { "node": ">= 0.6.6" } }, + "node_modules/prompt/node_modules/async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + }, "node_modules/protobufjs": { "version": "6.11.2", "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", @@ -14146,75 +12596,21 @@ "node": ">= 0.10" } }, - "node_modules/proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-4.0.1.tgz", - "integrity": "sha512-ODnQnW2jc/FUVwHHuaZEfN5otg/fMbvMxz9nMSUQfJ9JU7q2SZvSULSsjLloVgJOiv9yhc8GlNMKc4GkFmcVEA==", + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true, - "dependencies": { - "agent-base": "^6.0.0", - "debug": "4", - "http-proxy-agent": "^4.0.0", - "https-proxy-agent": "^5.0.0", - "lru-cache": "^5.1.1", - "pac-proxy-agent": "^4.1.0", - "proxy-from-env": "^1.0.0", - "socks-proxy-agent": "^5.0.0" - }, "engines": { - "node": ">=6" + "node": ">= 0.10" } }, - "node_modules/proxy-agent/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/proxy-agent/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/proxy-agent/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/proxy-agent/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/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "dev": true }, - "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/psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", @@ -14291,18 +12687,11 @@ "integrity": "sha1-n6gpW+rlDEoUnPn5CaHbRkqGcug=" }, "node_modules/qs": { - "version": "6.10.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", - "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "engines": { "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/querystring": { @@ -14315,12 +12704,6 @@ "node": ">=0.4.x" } }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -14445,6 +12828,54 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/read-pkg-up/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==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/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==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/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==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/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==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, "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", @@ -14469,6 +12900,14 @@ "validate-npm-package-license": "^3.0.1" } }, + "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==", + "bin": { + "semver": "bin/semver" + } + }, "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", @@ -14491,174 +12930,15 @@ } }, "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==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" + "picomatch": "^2.2.1" }, "engines": { - "node": ">=0.10" - } - }, - "node_modules/readdirp/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/readdirp/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/readdirp/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/readdirp/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/readdirp/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/readdirp/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/readdirp/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/readdirp/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/readdirp/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/readdirp/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/readdirp/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/readdirp/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": ">=8.10.0" } }, "node_modules/rechoir": { @@ -14717,23 +12997,10 @@ "@babel/runtime": "^7.8.4" } }, - "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.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", + "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -14810,41 +13077,17 @@ "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.7", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", - "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", "dev": true, "dependencies": { "css-select": "^4.1.3", "dom-converter": "^0.2.0", "htmlparser2": "^6.1.0", "lodash": "^4.17.21", - "strip-ansi": "^3.0.1" - } - }, - "node_modules/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": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true, - "engines": { - "node": ">=0.10" + "strip-ansi": "^6.0.1" } }, "node_modules/request": { @@ -14878,48 +13121,6 @@ "node": ">= 6" } }, - "node_modules/request-promise": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.6.tgz", - "integrity": "sha512-HCHI3DJJUakkOr8fNoCc73E5nU5bqITjOYFMDrKHYOXWXrgD/SBaC7LjwuPymUprRyuF06UK7hd/lMHkmUXglQ==", - "deprecated": "request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", - "dev": true, - "dependencies": { - "bluebird": "^3.5.0", - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, - "engines": { - "node": ">=0.10.0" - }, - "peerDependencies": { - "request": "^2.34" - } - }, - "node_modules/request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "dev": true, - "dependencies": { - "lodash": "^4.17.19" - }, - "engines": { - "node": ">=0.10.0" - }, - "peerDependencies": { - "request": "^2.34" - } - }, - "node_modules/request/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/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -14928,11 +13129,14 @@ "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-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, "node_modules/requires-port": { "version": "1.0.0", @@ -14941,38 +13145,21 @@ "dev": true }, "node_modules/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "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": "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", @@ -15014,15 +13201,6 @@ "node": ">=8" } }, - "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", @@ -15073,6 +13251,11 @@ "inherits": "^2.0.1" } }, + "node_modules/robust-predicates": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.1.tgz", + "integrity": "sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==" + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -15102,23 +13285,9 @@ "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" }, "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==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "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-json-parse": { "version": "1.0.1", @@ -15126,15 +13295,6 @@ "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=", "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", @@ -15157,89 +13317,6 @@ "node": ">=12" } }, - "node_modules/sass-graph/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/sass-graph/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/sass-graph/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/sass-graph/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/sass-graph/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/sass-graph/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==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sass-graph/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/sass-graph/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, "node_modules/sass-graph/node_modules/yargs": { "version": "17.4.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.0.tgz", @@ -15266,9 +13343,9 @@ } }, "node_modules/sass-loader": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.1.0.tgz", - "integrity": "sha512-FVJZ9kxVRYNZTIe2xhw93n3xJNYZADr+q69/s98l9nTCrWASo+DR2Ot0s5xTKQDDEosUkatsGeHxcH4QBp5bSg==", + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", "dev": true, "dependencies": { "klona": "^2.0.4", @@ -15283,8 +13360,9 @@ }, "peerDependencies": { "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", "sass": "^1.3.0", + "sass-embedded": "*", "webpack": "^5.0.0" }, "peerDependenciesMeta": { @@ -15296,6 +13374,9 @@ }, "sass": { "optional": true + }, + "sass-embedded": { + "optional": true } } }, @@ -15350,84 +13431,165 @@ "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", "dev": true }, - "node_modules/selfsigned": { - "version": "1.10.11", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", - "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "node_modules/selenium-webdriver": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.0.tgz", + "integrity": "sha512-kUDH4N8WruYprTzvug4Pl73Th+WKb5YiLz8z/anOpHyUNUdM3UzrdTOxmSNaf9AczzBeY+qXihzku8D1lMaKOg==", "dev": true, "dependencies": { - "node-forge": "^0.10.0" + "jszip": "^3.6.0", + "tmp": "^0.2.1", + "ws": ">=7.4.6" + }, + "engines": { + "node": ">= 10.15.0" + } + }, + "node_modules/selenium-webdriver/node_modules/jszip": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz", + "integrity": "sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==", + "dev": true, + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "set-immediate-shim": "~1.0.1" + } + }, + "node_modules/selenium-webdriver/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/selenium-webdriver/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/selfsigned": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", + "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", + "dev": true, + "dependencies": { + "node-forge": "^1" + }, + "engines": { + "node": ">=10" } }, "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "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" + "semver": "bin/semver.js" } }, "node_modules/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "dependencies": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.7.2", + "http-errors": "2.0.0", "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", + "ms": "2.1.3", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/send/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/send/node_modules/http-errors": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "node_modules/send/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": { - "depd": "~1.1.2", + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/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/send/node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "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==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, + "node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/send/node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/serialize-javascript": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", @@ -15455,16 +13617,31 @@ "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": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "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.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.1" + "send": "0.18.0" }, "engines": { "node": ">= 0.8.0" @@ -15475,29 +13652,11 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, - "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==", + "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, - "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" } @@ -15557,58 +13716,32 @@ "node": ">=0.8.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==" }, "node_modules/sirv": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.14.tgz", - "integrity": "sha512-czTFDFjK9lXj0u9mJ3OmJoXFztoilYS+NdRPcJoT182w44wSEkHSiO7A2517GLJ8wKM4GjCm2OXE66Dhngbzjg==", + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", + "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", "dev": true, "dependencies": { - "@polka/url": "^1.0.0-next.17", - "mime": "^2.3.1", + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", "totalist": "^1.0.0" }, "engines": { "node": ">= 10" } }, - "node_modules/sirv/node_modules/mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/sitemap": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.0.0.tgz", - "integrity": "sha512-Ud0jrRQO2k7fEtPAM+cQkBKoMvxQyPKNXKDLn8tRVHxRCsdDQ2JZvw+aZ5IRYYQVAV9iGxEar6boTwZzev+x3g==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", + "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", "dev": true, "dependencies": { - "@types/node": "^15.0.1", + "@types/node": "^17.0.5", "@types/sax": "^1.2.1", "arg": "^5.0.0", "sax": "^1.2.4" @@ -15621,12 +13754,6 @@ "npm": ">=5.6.0" } }, - "node_modules/sitemap/node_modules/@types/node": { - "version": "15.14.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.8.tgz", - "integrity": "sha512-+ZjmmoGV7WBwhzNh/GkwehB7uyXn9HFwzQUfj9pbyR8eFAq20Qguoh93sPbWzzhsbhTme6YE92/iJ54Z0WRH7A==", - "dev": true - }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -15650,204 +13777,17 @@ "resolved": "https://registry.npmjs.org/snackbarjs/-/snackbarjs-1.1.0.tgz", "integrity": "sha1-pont9ExxEEdzvPIhxGk3ZosLvNY=" }, - "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/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/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/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/sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", - "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dev": true, "dependencies": { "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", + "uuid": "^8.3.2", "websocket-driver": "^0.7.4" } }, - "node_modules/sockjs-client": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz", - "integrity": "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==", - "dev": true, - "dependencies": { - "debug": "^3.2.6", - "eventsource": "^1.0.7", - "faye-websocket": "^0.11.3", - "inherits": "^2.0.4", - "json3": "^3.3.3", - "url-parse": "^1.5.1" - } - }, - "node_modules/sockjs-client/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/sockjs-client/node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/sockjs-client/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "node_modules/sockjs/node_modules/faye-websocket": { "version": "0.11.4", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", @@ -15860,13 +13800,22 @@ "node": ">=0.8.0" } }, + "node_modules/sockjs/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/socks": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz", - "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", "dependencies": { "ip": "^1.1.5", - "smart-buffer": "^4.1.0" + "smart-buffer": "^4.2.0" }, "engines": { "node": ">= 10.13.0", @@ -15874,99 +13823,59 @@ } }, "node_modules/socks-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz", - "integrity": "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==", - "dev": true, + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", "dependencies": { "agent-base": "^6.0.2", - "debug": "4", - "socks": "^2.3.3" + "debug": "^4.3.1", + "socks": "^2.6.1" }, "engines": { - "node": ">= 6" + "node": ">= 10" } }, - "node_modules/socks-proxy-agent/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socks-proxy-agent/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/sortablejs": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz", - "integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==" - }, - "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 + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.0.tgz", + "integrity": "sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w==" }, "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==", + "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-js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", - "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dev": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, "node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.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/source-map-support/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/spdx-correct": { "version": "3.1.1", @@ -16026,68 +13935,10 @@ "wbuf": "^1.7.3" } }, - "node_modules/spdy-transport/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "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/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "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/split.js": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/split.js/-/split.js-1.6.4.tgz", - "integrity": "sha512-kYmQZprRJrF1IOjg/E+gdBEsKFv5kbgUE6RJVJZvrIzTOK/IHzKSqIeiJnWs7IP5D9TnpTQ2CbanuDuIWcyDUQ==" + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/split.js/-/split.js-1.6.5.tgz", + "integrity": "sha512-mPTnGCiS/RiuTNsVhCm9De9cCAUsrNFFviRbADdKiiV+Kk8HKp/0fWu7Kr8pi3/yBmsqLFHuXGT9UUZ+CNLwFw==" }, "node_modules/split2": { "version": "2.2.0", @@ -16099,9 +13950,9 @@ } }, "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", "dev": true }, "node_modules/ssdeep.js": { @@ -16110,9 +13961,9 @@ "integrity": "sha512-QXKADMuEsOmRYGlB9JvrulcF5NLAjAvYLg3qDHUrEEilUFLKoL4fUQDw1s7hF+mOL96jwcdyXpnmCqyNu7Wm3Q==" }, "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -16195,27 +14046,11 @@ "node": ">=4.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=", - "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" - }, + "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==", + "optional": true, "engines": { "node": ">=0.10.0" } @@ -16251,11 +14086,6 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/stdout-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==" - }, "node_modules/stdout-stream/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -16264,15 +14094,6 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/stream-browserify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", @@ -16296,6 +14117,25 @@ "safe-buffer": "~5.2.0" } }, + "node_modules/string_decoder/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==", + "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/string-template": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", @@ -16315,15 +14155,7 @@ "node": ">=8" } }, - "node_modules/string-width/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { + "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==", @@ -16334,43 +14166,6 @@ "node": ">=8" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "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=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/strip-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", @@ -16380,13 +14175,13 @@ "node": ">=10" } }, - "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=", + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, "node_modules/strip-indent": { @@ -16412,50 +14207,32 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/style-loader": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.2.1.tgz", - "integrity": "sha512-1k9ZosJCRFaRbY6hH49JFlRB0fVSbmnyq1iTPjNxUmGVjBNEmwrrHPenhlp+Lgo51BojHSf6pl2FcqYaN3PfVg==", - "dev": true, + "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==", + "dependencies": { + "has-flag": "^3.0.0" + }, "engines": { - "node": ">= 12.13.0" + "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==", + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.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/svg-url-loader": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/svg-url-loader/-/svg-url-loader-7.1.1.tgz", - "integrity": "sha512-NlsMCePODm7FQhU9aEZyGLPx5Xe1QRI1cSEUE6vTq5LJc9l9pStagvXoEIyZ9O3r00w6G3+Wbkimb+SC3DI/Aw==", - "dev": true, - "dependencies": { - "file-loader": "~6.2.0", - "loader-utils": "~2.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, "engines": { "node": ">=6" @@ -16477,17 +14254,6 @@ "node": ">= 10" } }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/tcp-port-used": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz", @@ -16515,20 +14281,16 @@ } } }, - "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": "5.7.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz", - "integrity": "sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==", + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", + "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==", + "dev": true, "dependencies": { + "acorn": "^8.5.0", "commander": "^2.20.0", "source-map": "~0.7.2", - "source-map-support": "~0.5.19" + "source-map-support": "~0.5.20" }, "bin": { "terser": "bin/terser" @@ -16538,17 +14300,16 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz", - "integrity": "sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", + "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", "dev": true, "dependencies": { - "jest-worker": "^27.0.2", - "p-limit": "^3.1.0", - "schema-utils": "^3.0.0", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", "source-map": "^0.6.1", - "terser": "^5.7.0" + "terser": "^5.7.2" }, "engines": { "node": ">= 10.13.0" @@ -16559,21 +14320,17 @@ }, "peerDependencies": { "webpack": "^5.1.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } } }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { @@ -16594,10 +14351,26 @@ "url": "https://opencollective.com/webpack" } }, + "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/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==", + "dev": true + }, "node_modules/terser/node_modules/source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, "engines": { "node": ">= 8" } @@ -16675,12 +14448,6 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/through2/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, "node_modules/through2/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -16736,12 +14503,6 @@ "ms": "^2.1.1" } }, - "node_modules/tiny-lr/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "node_modules/tinycolor2": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", @@ -16750,57 +14511,25 @@ "node": "*" } }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, "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=", - "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=", + "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, - "dependencies": { - "kind-of": "^3.0.2" - }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/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/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": ">=4" } }, "node_modules/to-regex-range": { @@ -16816,9 +14545,9 @@ } }, "node_modules/toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, "engines": { "node": ">=0.6" @@ -16845,6 +14574,11 @@ "node": ">=0.8" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, "node_modules/trim-newlines": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", @@ -16897,23 +14631,24 @@ "integrity": "sha1-1ii1bzvMPVrnS6nUwacE3vWrS1Y=" }, "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, "dependencies": { - "prelude-ls": "~1.1.2" + "prelude-ls": "^1.2.1" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/type-detect": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", - "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.5.tgz", + "integrity": "sha512-N9IvkQslUGYGC24RkJk1ba99foK6TkwC2FHAEBlQFBP0RxQZS8ZpJuAZcwiY/w9ZJHFQb1aOXBI60OdxhTrwEQ==", "dev": true, "engines": { - "node": "*" + "node": ">=4" } }, "node_modules/type-fest": { @@ -16942,9 +14677,9 @@ } }, "node_modules/ua-parser-js": { - "version": "0.7.28", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz", - "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.2.tgz", + "integrity": "sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg==", "funding": [ { "type": "opencollective", @@ -16965,9 +14700,9 @@ "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" }, "node_modules/uglify-js": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.1.tgz", - "integrity": "sha512-JhS3hmcVaXlp/xSo3PKY5R0JqKs5M3IV+exdLHW99qKvKivPO4Z8qbej6mte17SOPqAOVMjt/XGgWacnFSzM3g==", + "version": "3.15.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.3.tgz", + "integrity": "sha512-6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg==", "bin": { "uglifyjs": "bin/uglifyjs" }, @@ -16986,21 +14721,6 @@ "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", "dev": true }, - "node_modules/unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/unc-path-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", @@ -17016,12 +14736,12 @@ "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" }, "node_modules/underscore.string": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz", - "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.6.tgz", + "integrity": "sha512-VoC83HWXmCrF6rgkyxS9GHv8W9Q5nhMKho+OadDJGzL2oDYbYEppBaCMH6pFlwLeqj2QS+hhkw2kpXkSdD1JxQ==", "dev": true, "dependencies": { - "sprintf-js": "^1.0.3", + "sprintf-js": "^1.1.1", "util-deprecate": "^1.0.2" }, "engines": { @@ -17068,21 +14788,6 @@ "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", @@ -17099,15 +14804,6 @@ "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/unorm": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz", @@ -17125,64 +14821,6 @@ "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/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -17191,13 +14829,6 @@ "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", @@ -17208,76 +14839,12 @@ "querystring": "0.2.0" } }, - "node_modules/url-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", - "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", - "dev": true, - "dependencies": { - "loader-utils": "^2.0.0", - "mime-types": "^2.1.27", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "file-loader": "*", - "webpack": "^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "file-loader": { - "optional": true - } - } - }, - "node_modules/url-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/url-parse": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz", - "integrity": "sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==", - "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/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/utf8": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", @@ -17292,11 +14859,11 @@ } }, "node_modules/util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "dependencies": { - "inherits": "2.0.3" + "inherits": "2.0.1" } }, "node_modules/util-deprecate": { @@ -17305,9 +14872,9 @@ "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=" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" }, "node_modules/utila": { "version": "0.4.0", @@ -17315,47 +14882,6 @@ "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", "dev": true }, - "node_modules/utile": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/utile/-/utile-0.3.0.tgz", - "integrity": "sha1-E1LDQOuCDk2N26A5pPv6oy7U7zo=", - "dev": true, - "dependencies": { - "async": "~0.9.0", - "deep-equal": "~0.2.1", - "i": "0.3.x", - "mkdirp": "0.x.x", - "ncp": "1.0.x", - "rimraf": "2.x.x" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/utile/node_modules/async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", - "dev": true - }, - "node_modules/utile/node_modules/deep-equal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.2.tgz", - "integrity": "sha1-hLdFiW80xoTpjyzg5Cq69Du6AX0=", - "dev": true - }, - "node_modules/utile/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/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -17459,6 +14985,11 @@ "defaults": "^1.0.3" } }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, "node_modules/webpack": { "version": "5.70.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", @@ -17507,15 +15038,15 @@ } }, "node_modules/webpack-bundle-analyzer": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz", - "integrity": "sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.5.0.tgz", + "integrity": "sha512-GUMZlM3SKwS8Z+CKeIFx7CVoHn3dXFcUAjT/dcZQQmfSZGvitPfMob2ipjai7ovFFqPvTqkEZ/leL4O0YOdAYQ==", "dev": true, "dependencies": { "acorn": "^8.0.4", "acorn-walk": "^8.0.0", "chalk": "^4.1.0", - "commander": "^6.2.0", + "commander": "^7.2.0", "gzip-size": "^6.0.0", "lodash": "^4.17.20", "opener": "^1.5.2", @@ -17578,15 +15109,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/webpack-bundle-analyzer/node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, "node_modules/webpack-bundle-analyzer/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -17609,9 +15131,9 @@ } }, "node_modules/webpack-bundle-analyzer/node_modules/ws": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", - "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==", + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", + "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", "dev": true, "engines": { "node": ">=8.3.0" @@ -17630,84 +15152,126 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz", + "integrity": "sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg==", "dev": true, "dependencies": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", + "colorette": "^2.0.10", + "memfs": "^3.4.1", + "mime-types": "^2.1.31", "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" + "schema-utils": "^4.0.0" }, "engines": { - "node": ">= 6" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, "peerDependencies": { "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/webpack-dev-middleware/node_modules/mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "node_modules/webpack-dev-middleware/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, - "bin": { - "mime": "cli.js" + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" }, "engines": { - "node": ">=4.0.0" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/webpack-dev-server": { - "version": "3.11.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", - "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.4.tgz", + "integrity": "sha512-nfdsb02Zi2qzkNmgtZjkrMOcXnYZ6FLKcQwpxT7MvmHKc+oTtDsBju8j+NMyAygZ9GW1jMEUpy3itHtqgEhe1A==", "dev": true, "dependencies": { - "ansi-html": "0.0.7", + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.2.2", + "ansi-html-community": "^0.0.8", "bonjour": "^3.5.0", - "chokidar": "^2.1.8", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", "compression": "^1.7.4", "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", + "default-gateway": "^6.0.3", + "del": "^6.0.0", "express": "^4.17.1", - "html-entities": "^1.3.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.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.0", + "ipaddr.js": "^2.0.1", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "portfinder": "^1.0.28", + "schema-utils": "^4.0.0", + "selfsigned": "^2.0.0", "serve-index": "^1.9.1", "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", "spdy": "^4.0.2", - "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": "^13.3.2" + "strip-ansi": "^7.0.0", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.4.2" }, "bin": { "webpack-dev-server": "bin/webpack-dev-server.js" }, "engines": { - "node": ">= 6.11.5" + "node": ">= 12.13.0" }, "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "webpack": "^4.37.0 || ^5.0.0" }, "peerDependenciesMeta": { "webpack-cli": { @@ -17715,190 +15279,84 @@ } } }, - "node_modules/webpack-dev-server/node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "dependencies": { - "array-uniq": "^1.0.1" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/webpack-dev-server/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, "dependencies": { - "ms": "2.1.2" + "fast-deep-equal": "^3.1.3" }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "peerDependencies": { + "ajv": "^8.8.2" } }, - "node_modules/webpack-dev-server/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/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=", + "node_modules/webpack-dev-server/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "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==", + "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, - "node_modules/webpack-dev-server/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/webpack-dev-server/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/webpack-dev-server/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/webpack-dev-server/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/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==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", "dev": true, "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" }, "engines": { - "node": ">= 4" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "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==", + "node_modules/webpack-dev-server/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", - "dev": true, - "dependencies": { - "async-limiter": "~1.0.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" + "node": ">=12" }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/webpack-log/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" + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/webpack-node-externals": { @@ -17911,13 +15369,12 @@ } }, "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==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "engines": { + "node": ">=10.13.0" } }, "node_modules/webpack/node_modules/events": { @@ -17947,15 +15404,6 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/webpack/node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", @@ -18008,12 +15456,6 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/websocket-stream/node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, "node_modules/websocket-stream/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -18023,11 +15465,25 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/websocket-stream/node_modules/string_decoder/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/websocket-stream/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/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } }, "node_modules/which": { "version": "2.0.2", @@ -18043,73 +15499,24 @@ "node": ">= 8" } }, - "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==", + "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==", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", "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.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dependencies": { - "string-width": "^1.0.2 || 2" - } - }, - "node_modules/wide-align/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/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=", - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "string-width": "^4.0.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/winston": { @@ -18190,81 +15597,57 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/workerpool": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", + "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==", + "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, + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.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": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "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, + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/wrap-ansi/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/wrap-ansi/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/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, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=6" + "node": ">=7.0.0" } }, - "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/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/wrappy": { "version": "1.0.2", @@ -18272,22 +15655,26 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "node_modules/ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", + "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", "dev": true, - "dependencies": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/ws/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/xhr": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", @@ -18357,10 +15744,12 @@ } }, "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 + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } }, "node_modules/yallist": { "version": "4.0.0", @@ -18377,161 +15766,65 @@ } }, "node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "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.2" + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" } }, "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==", + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", "engines": { "node": ">=10" } }, "node_modules/yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", - "dev": true, - "dependencies": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-unparser/node_modules/flat": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", - "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", - "dev": true, - "dependencies": { - "is-buffer": "~2.0.3" - }, - "bin": { - "flat": "cli.js" - } - }, - "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/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/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/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/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==", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "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==", + "node_modules/yargs-unparser/node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", "dev": true, - "dependencies": { - "p-limit": "^2.0.0" + "engines": { + "node": ">=10" }, - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yargs/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=", + "node_modules/yargs-unparser/node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "dev": true, "engines": { - "node": ">=4" - } - }, - "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": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "node": ">=8" } }, "node_modules/yauzl": { @@ -18610,29 +15903,6 @@ "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", "semver": "^6.3.0" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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 - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } } }, "@babel/eslint-parser": { @@ -18644,20 +15914,6 @@ "eslint-scope": "^5.1.1", "eslint-visitor-keys": "^2.1.0", "semver": "^6.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "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 - } } }, "@babel/generator": { @@ -18676,12 +15932,6 @@ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "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 } } }, @@ -18714,14 +15964,6 @@ "@babel/helper-validator-option": "^7.16.7", "browserslist": "^4.17.5", "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 - } } }, "@babel/helper-create-class-features-plugin": { @@ -18763,29 +16005,6 @@ "lodash.debounce": "^4.0.8", "resolve": "^1.14.2", "semver": "^6.1.2" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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 - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } } }, "@babel/helper-environment-visitor": { @@ -18977,39 +16196,6 @@ "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "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==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } } }, "@babel/parser": { @@ -19383,14 +16569,6 @@ "@babel/helper-replace-supers": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", "globals": "^11.1.0" - }, - "dependencies": { - "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 - } } }, "@babel/plugin-transform-computed-properties": { @@ -19600,14 +16778,6 @@ "babel-plugin-polyfill-corejs3": "^0.5.0", "babel-plugin-polyfill-regenerator": "^0.3.0", "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 - } } }, "@babel/plugin-transform-shorthand-properties": { @@ -19771,14 +16941,6 @@ "babel-plugin-polyfill-regenerator": "^0.3.0", "core-js-compat": "^3.20.2", "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 - } } }, "@babel/preset-modules": { @@ -19803,11 +16965,11 @@ } }, "@babel/runtime-corejs3": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.15.3.tgz", - "integrity": "sha512-30A3lP+sRL6ml8uhoJSs+8jwpKzbw8CqBvDc1laeptxPm5FahumJxirigcbD2qTs71Sonvj1cyZB0OKGAmxQ+A==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.17.8.tgz", + "integrity": "sha512-ZbYSUvoSF6dXZmMl/CYTMOvzIFnbGfv4W3SEHYgMvNsFTeLaF2gkGAF4K2ddmtSK4Emej+0aYcnSC6N5dPCXUQ==", "requires": { - "core-js-pure": "^3.16.0", + "core-js-pure": "^3.20.2", "regenerator-runtime": "^0.13.4" } }, @@ -19838,29 +17000,6 @@ "@babel/types": "^7.17.0", "debug": "^4.1.0", "globals": "^11.1.0" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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 - }, - "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": { @@ -19871,16 +17010,14 @@ "requires": { "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" - }, - "dependencies": { - "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 - } } }, + "@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true + }, "@eslint/eslintrc": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz", @@ -19898,15 +17035,6 @@ "strip-json-comments": "^3.1.1" }, "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, "globals": { "version": "13.13.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", @@ -19915,21 +17043,6 @@ "requires": { "type-fest": "^0.20.2" } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.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 } } }, @@ -19947,23 +17060,6 @@ "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", "minimatch": "^3.0.4" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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 - } } }, "@humanwhocodes/object-schema": { @@ -20008,6 +17104,14 @@ "base64-js": "^1.3.1", "ieee754": "^1.1.13" } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } } } }, @@ -20326,6 +17430,20 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "@nightwatch/chai": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@nightwatch/chai/-/chai-5.0.1.tgz", + "integrity": "sha512-E9RlDrgYPAPIQrqdO84WVrsHjDt41l4GDULxAp9I22gM7fYcjVGP8WnEIEvt0EXcE3WRVzyxXEgwpsTpwLxFAg==", + "dev": true, + "requires": { + "assertion-error": "1.1.0", + "check-error": "1.0.2", + "deep-eql": "4.0.0", + "loupe": "2.3.0", + "pathval": "1.1.1", + "type-detect": "4.0.5" + } + }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -20378,19 +17496,12 @@ "requires": { "mkdirp": "^1.0.4", "rimraf": "^3.0.2" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - } } }, "@polka/url": { - "version": "1.0.0-next.17", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.17.tgz", - "integrity": "sha512-0p1rCgM3LLbAdwBnc7gqgnvjHg9KpbhcSphergHShlkWz8EdPawoMJ3/VbezI0mGC5eKCDzMaPgF9Yca6cKvrg==", + "version": "1.0.0-next.21", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", + "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", "dev": true }, "@protobufjs/aspromise": { @@ -20458,6 +17569,44 @@ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" }, + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dev": true, + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, "@types/eslint": { "version": "8.4.1", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", @@ -20484,26 +17633,48 @@ "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", "dev": true }, - "@types/glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", + "@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", "dev": true, "requires": { - "@types/minimatch": "*", - "@types/node": "*" + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.28", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", + "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" } }, "@types/html-minifier-terser": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz", - "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", "dev": true }, + "@types/http-proxy": { + "version": "1.17.8", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", + "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, "@types/long": { @@ -20511,10 +17682,10 @@ "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" }, - "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", "dev": true }, "@types/minimist": { @@ -20523,9 +17694,9 @@ "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" }, "@types/node": { - "version": "16.6.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.6.2.tgz", - "integrity": "sha512-LSw8TZt12ZudbpHc6EkIyDM3nHVWKYrAvGy6EAJfNfjusbwnThqjqxUKKRwuV3iWYeW/LYMzNgaq3MaLffQ2xA==" + "version": "17.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", + "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==" }, "@types/normalize-package-data": { "version": "2.4.1", @@ -20538,10 +17709,65 @@ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", "dev": true }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "@types/retry": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", + "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", + "dev": true + }, "@types/sax": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.3.tgz", - "integrity": "sha512-+QSw6Tqvs/KQpZX8DvIl3hZSjNFLW/OqE5nlyHXtTwODaJvioN2rOWpBNEWZp2HZUFhOh+VohmJku/WxEXU2XA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dev": true, + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", "dev": true, "requires": { "@types/node": "*" @@ -20557,6 +17783,12 @@ "@types/node": "*" } }, + "@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", + "dev": true + }, "@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -20721,13 +17953,13 @@ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" } }, "acorn": { @@ -20737,9 +17969,9 @@ "dev": true }, "acorn-import-assertions": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz", - "integrity": "sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", "dev": true, "requires": {} }, @@ -20751,9 +17983,9 @@ "requires": {} }, "acorn-walk": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.1.1.tgz", - "integrity": "sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", "dev": true }, "agent-base": { @@ -20762,21 +17994,6 @@ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "requires": { "debug": "4" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } } }, "agentkeepalive": { @@ -20789,23 +18006,10 @@ "humanize-ms": "^1.2.1" }, "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -20829,12 +18033,34 @@ "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==", + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, - "requires": {} + "requires": { + "ajv": "^8.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } }, "ajv-keywords": { "version": "3.5.2", @@ -20843,21 +18069,39 @@ "dev": true, "requires": {} }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dev": true, + "requires": { + "string-width": "^4.1.0" + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", "dev": true }, "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + "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==", + "requires": { + "color-convert": "^1.9.0" + } }, "any-base": { "version": "1.1.0", @@ -20865,133 +18109,13 @@ "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" }, "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "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" - } - } - } - }, - "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" - } - } - } - }, - "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-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" - } - } - } - }, - "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" - } - }, - "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" - } - }, - "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" - } - } + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, "aproba": { @@ -21019,24 +18143,6 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, - "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-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", @@ -21056,21 +18162,9 @@ "dev": true }, "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "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=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", "dev": true }, "arrify": { @@ -21085,9 +18179,9 @@ "integrity": "sha1-VkyH8gvAm4DeeBEk2UMWlQBLgCA=" }, "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "requires": { "safer-buffer": "~2.1.0" } @@ -21117,23 +18211,6 @@ "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": { @@ -21147,31 +18224,10 @@ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "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 - }, - "ast-types": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", - "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", - "dev": true, - "requires": { - "tslib": "^2.0.1" - } - }, "async": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.1.tgz", - "integrity": "sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg==", - "dev": true - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", "dev": true }, "async-foreach": { @@ -21190,24 +18246,18 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, "autoprefixer": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.1.tgz", - "integrity": "sha512-L8AmtKzdiRyYg7BUXJTzigmhbQRCXFKz6SA1Lqo0+AR2FBbQ4aTAPFSDlOutnFkjhiz8my4agGXog1xlMjPJ6A==", + "version": "10.4.4", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz", + "integrity": "sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA==", "dev": true, "requires": { - "browserslist": "^4.16.6", - "caniuse-lite": "^1.0.30001243", - "colorette": "^1.2.2", - "fraction.js": "^4.1.1", + "browserslist": "^4.20.2", + "caniuse-lite": "^1.0.30001317", + "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", - "postcss-value-parser": "^4.1.0" + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" } }, "avsc": { @@ -21242,6 +18292,48 @@ "chalk": "^1.1.3", "esutils": "^2.0.2", "js-tokens": "^3.0.2" + }, + "dependencies": { + "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=" + }, + "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" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "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" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } } }, "babel-loader": { @@ -21282,14 +18374,6 @@ "@babel/compat-data": "^7.13.11", "@babel/helper-define-polyfill-provider": "^0.3.1", "semver": "^6.1.1" - }, - "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 - } } }, "babel-plugin-polyfill-corejs3": { @@ -21367,6 +18451,26 @@ "globals": "^9.18.0", "invariant": "^2.2.2", "lodash": "^4.17.4" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } } }, "babel-types": { @@ -21378,6 +18482,13 @@ "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=" + } } }, "babylon": { @@ -21390,61 +18501,6 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "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.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -21457,14 +18513,6 @@ "dev": true, "requires": { "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 - } } }, "batch": { @@ -21500,45 +18548,43 @@ "dev": true }, "bignumber.js": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", - "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==" + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", + "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==" }, "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, - "optional": true, "requires": { - "file-uri-to-path": "1.0.0" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" }, "dependencies": { - "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==", + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, - "optional": true + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } } } }, "blakejs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.1.tgz", - "integrity": "sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg==" - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" }, "blueimp-load-image": { "version": "3.0.0", @@ -21573,29 +18619,38 @@ } }, "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", "dev": true, "requires": { - "bytes": "3.1.0", + "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", "depd": "~1.1.2", - "http-errors": "1.7.2", + "http-errors": "1.8.1", "iconv-lite": "0.4.24", "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" + "qs": "6.9.7", + "raw-body": "2.4.3", + "type-is": "~1.6.18" }, "dependencies": { "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "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" + } + }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -21603,46 +18658,55 @@ "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==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dev": true, "requires": { "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" + "toidentifier": "1.0.1" } }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", "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==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", + "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", "dev": true, "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", + "bytes": "3.1.2", + "http-errors": "1.8.1", "iconv-lite": "0.4.24", "unpipe": "1.0.0" } }, "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true } } @@ -21668,9 +18732,9 @@ "dev": true }, "bootstrap": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz", - "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.1.tgz", + "integrity": "sha512-0dj+VgI9Ecom+rvvpNZ4MUZJz8dcX7WCX+eTID9+/8HgOkv3dsRzi8BGeZJCQU6flWQVYxwTQnEZFrmJSEO7og==", "requires": {} }, "bootstrap-colorpicker": { @@ -21688,6 +18752,73 @@ "resolved": "https://registry.npmjs.org/bootstrap-material-design/-/bootstrap-material-design-4.1.3.tgz", "integrity": "sha512-jOB9io76BKLxwF+IAgObFH9f88ityqOiYsQe9Aa8m88h7sSP3eFL1K8ygb0FsYyIiVm194iodg9i4GMOSlLeRA==" }, + "boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "dev": true, + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -21774,6 +18905,13 @@ "parse-asn1": "^5.1.5", "readable-stream": "^3.6.0", "safe-buffer": "^5.2.0" + }, + "dependencies": { + "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==" + } } }, "browserify-zlib": { @@ -21798,9 +18936,9 @@ } }, "bson": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/bson/-/bson-4.4.1.tgz", - "integrity": "sha512-Uu4OCZa0jouQJCKOk1EmmyqtdWAP5HVLru4lQxTwzJzxT+sJ13lVpEZU/MATDxtHiekWMAL84oQY3Xn1LpJVSg==", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/bson/-/bson-4.6.2.tgz", + "integrity": "sha512-VeJKHShcu1b/ugl0QiujlVuBepab714X9nNyBdA1kfekuDGecxgpTA2Z6nYbagrWFeiIyzSWIOzju3lhj+RNyQ==", "requires": { "buffer": "^5.6.0" }, @@ -21844,7 +18982,8 @@ "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==" + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true }, "buffer-indexof": { "version": "1.1.1", @@ -21891,30 +19030,6 @@ "ssri": "^8.0.1", "tar": "^6.0.2", "unique-filename": "^1.1.1" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - } - } - }, - "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": { @@ -21943,9 +19058,10 @@ } }, "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true }, "camelcase-keys": { "version": "6.2.2", @@ -21955,6 +19071,13 @@ "camelcase": "^5.3.1", "map-obj": "^4.0.0", "quick-lru": "^4.0.1" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + } } }, "caniuse-lite": { @@ -21969,44 +19092,38 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, "cbor": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.0.1.tgz", - "integrity": "sha512-l4ghwqioCyuAaD3LvY4ONwv8NMuERz62xjbMHGdWBqERJPygVmoFER1b4+VS6iW0rXwoVGuKZPPPTofwWOg3YQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", + "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", "requires": { - "bignumber.js": "^9.0.0", - "nofilter": "^1.0.3" + "nofilter": "^3.1.0" } }, "chai-nightwatch": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.4.0.tgz", - "integrity": "sha512-1xw74vR02XiHzo4wQfHqme2nqYPIzYnK5s3DMST7UW8FIHDWD7qplg+DTJ5FIPcmWiGYX/Re0CzvOcZQKJm1Uw==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.5.3.tgz", + "integrity": "sha512-38ixH/mqpY6IwnZkz6xPqx8aB5/KVR+j6VPugcir3EGOsphnWXrPH/mUt8Jp+ninL6ghY0AaJDQ10hSfCPGy/g==", "dev": true, "requires": { - "assertion-error": "1.0.0", - "deep-eql": "0.1.3" - }, - "dependencies": { - "assertion-error": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz", - "integrity": "sha1-x/hUOP3UZrx8oWq5DIFRN5el0js=", - "dev": true - } + "assertion-error": "1.1.0" } }, "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "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" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true + }, "chi-squared": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/chi-squared/-/chi-squared-1.1.0.tgz", @@ -22016,117 +19133,28 @@ } }, "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "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" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "dependencies": { - "braces": { - "version": "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" - } - }, - "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" - } - }, - "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" - } - }, "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "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": "^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" - } - } - } - }, - "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-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" - } - }, - "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-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" + "is-glob": "^4.0.1" } } } @@ -22158,9 +19186,9 @@ } }, "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", "dev": true }, "cipher-base": { @@ -22172,36 +19200,21 @@ "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" - } - } - } - }, "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.4.tgz", + "integrity": "sha512-nKseG8wCzEuji/4yrgM/5cthL9oTDc5UOQyFMvW/Q53oP6gLH690o1NbuTh6Y18nujr7BxlsFuS7gXLnLzKJGg==", "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 + } } }, "clean-stack": { @@ -22209,6 +19222,12 @@ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" }, + "cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "dev": true + }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -22219,70 +19238,28 @@ } }, "cli-progress": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.9.0.tgz", - "integrity": "sha512-g7rLWfhAo/7pF+a/STFH/xPyosaL1zgADhI0OM83hl3c7S43iGvJWEAV2QuDOnQ8i6EMBj/u4+NTd0d5L+4JfA==", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.10.0.tgz", + "integrity": "sha512-kLORQrhYCAtUPLZxqsAt2YJGOvRdt34+O6jl5cQGb7iF3dM55FQZlTR+rQyIK9JUcO9bBMwZsTlND+3dmFU2Cw==", "dev": true, "requires": { - "colors": "^1.1.2", "string-width": "^4.2.0" } }, "cli-spinners": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", - "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", "dev": true }, "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.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 - }, - "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 - }, - "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": "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" - } - } + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, "clone": { @@ -22296,16 +19273,6 @@ "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==" }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -22325,9 +19292,9 @@ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" }, "colorette": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz", - "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==", + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", + "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", "dev": true }, "colors": { @@ -22344,9 +19311,9 @@ } }, "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==" + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" }, "commondir": { "version": "1.0.1", @@ -22354,12 +19321,6 @@ "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", @@ -22390,10 +19351,19 @@ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", "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==", + "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 } } @@ -22413,6 +19383,23 @@ "finalhandler": "1.1.2", "parseurl": "~1.3.3", "utils-merge": "1.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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } } }, "connect-history-api-fallback": { @@ -22433,18 +19420,18 @@ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "5.2.1" }, "dependencies": { "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "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 } } @@ -22468,20 +19455,12 @@ "dev": true, "requires": { "safe-buffer": "~5.1.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } } }, "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "dev": true }, "cookie-signature": { @@ -22490,54 +19469,57 @@ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "dev": true }, - "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": "9.0.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.1.tgz", - "integrity": "sha512-14gHKKdYIxF84jCEgPgYXCPpldbwpxxLbCmA7LReY7gvbaT555DgeBWBgBZM116tv/fO6RRJrsivBqRyRlukhw==", + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz", + "integrity": "sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==", "dev": true, "requires": { - "fast-glob": "^3.2.5", - "glob-parent": "^6.0.0", - "globby": "^11.0.3", + "fast-glob": "^3.2.7", + "glob-parent": "^6.0.1", + "globby": "^12.0.2", "normalize-path": "^3.0.0", - "p-limit": "^3.1.0", - "schema-utils": "^3.0.0", + "schema-utils": "^4.0.0", "serialize-javascript": "^6.0.0" }, "dependencies": { - "glob-parent": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.1.tgz", - "integrity": "sha512-kEVjS71mQazDBHKcsq4E9u/vUzaLcw1A8EtUeydawvIWQCJM0qQ08G1H7/XTjFUulla6XQiDOG6MXSaG0HDKog==", + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "requires": { - "is-glob": "^4.0.1" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" } }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, "requires": { - "yocto-queue": "^0.1.0" + "fast-deep-equal": "^3.1.3" } }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", "dev": true, "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" } } } @@ -22567,9 +19549,9 @@ } }, "core-js-pure": { - "version": "3.16.2", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.16.2.tgz", - "integrity": "sha512-oxKe64UH049mJqrKkynWp6Vu0Rlm/BTXO/bJZuN2mmR3RtOFNepLlSWDd1eo16PzHpQAoNG97rLU1V/YxesJjw==" + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.21.1.tgz", + "integrity": "sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ==" }, "core-util-is": { "version": "1.0.2", @@ -22577,9 +19559,9 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", "dev": true, "requires": { "@types/parse-json": "^4.0.0", @@ -22669,34 +19651,21 @@ "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" }, "css-loader": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", - "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", + "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", "dev": true, "requires": { "icss-utils": "^5.1.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.15", + "postcss": "^8.4.7", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", + "postcss-value-parser": "^4.2.0", "semver": "^7.3.5" }, "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, "semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -22709,22 +19678,22 @@ } }, "css-select": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", - "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", "dev": true, "requires": { "boolbase": "^1.0.0", - "css-what": "^5.0.0", - "domhandler": "^4.2.0", - "domutils": "^2.6.0", - "nth-check": "^2.0.0" + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" } }, "css-what": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", - "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.0.1.tgz", + "integrity": "sha512-z93ZGFLNc6yaoXAmVhqoSIb+BduplteCt1fepvwhBUQK6MNE4g6fgjpuZKJKp0esUe+vXWlIkwZZjNWoOKw0ZA==", "dev": true }, "cssesc": { @@ -22745,154 +19714,154 @@ "dev": true }, "d3": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/d3/-/d3-6.5.0.tgz", - "integrity": "sha512-gr7FoRecKtBkBxelTeGVYERRTPgjPFLh2rOBisHdbXe3RIrVLjCo7COZYMSeFeiwVPOHDtxAGJlvN7XssNAIcg==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.3.0.tgz", + "integrity": "sha512-MDRLJCMK232OJQRqGljQ/gCxtB8k3/sLKFjftMjzPB3nKVUODpdW9Rb3vcq7U8Ka5YKoZkAmp++Ur6I+6iNWIw==", "requires": { - "d3-array": "2", - "d3-axis": "2", - "d3-brush": "2", - "d3-chord": "2", - "d3-color": "2", - "d3-contour": "2", - "d3-delaunay": "5", - "d3-dispatch": "2", - "d3-drag": "2", - "d3-dsv": "2", - "d3-ease": "2", - "d3-fetch": "2", - "d3-force": "2", - "d3-format": "2", - "d3-geo": "2", - "d3-hierarchy": "2", - "d3-interpolate": "2", - "d3-path": "2", - "d3-polygon": "2", - "d3-quadtree": "2", - "d3-random": "2", - "d3-scale": "3", - "d3-scale-chromatic": "2", - "d3-selection": "2", - "d3-shape": "2", - "d3-time": "2", - "d3-time-format": "3", - "d3-timer": "2", - "d3-transition": "2", - "d3-zoom": "2" + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "3", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" } }, "d3-array": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", - "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.1.1.tgz", + "integrity": "sha512-33qQ+ZoZlli19IFiQx4QEpf2CBEayMRzhlisJHSCsSUbDXv6ZishqS1x7uFVClKG4Wr7rZVHvaAttoLow6GqdQ==", "requires": { - "internmap": "^1.0.0" + "internmap": "1 - 2" } }, "d3-axis": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-2.1.0.tgz", - "integrity": "sha512-z/G2TQMyuf0X3qP+Mh+2PimoJD41VOCjViJzT0BHeL/+JQAofkiWZbWxlwFGb1N8EN+Cl/CW+MUKbVzr1689Cw==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==" }, "d3-brush": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-2.1.0.tgz", - "integrity": "sha512-cHLLAFatBATyIKqZOkk/mDHUbzne2B3ZwxkzMHvFTCZCmLaXDpZRihQSn8UNXTkGD/3lb/W2sQz0etAftmHMJQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", "requires": { - "d3-dispatch": "1 - 2", - "d3-drag": "2", - "d3-interpolate": "1 - 2", - "d3-selection": "2", - "d3-transition": "2" + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" } }, "d3-chord": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-2.0.0.tgz", - "integrity": "sha512-D5PZb7EDsRNdGU4SsjQyKhja8Zgu+SHZfUSO5Ls8Wsn+jsAKUUGkcshLxMg9HDFxG3KqavGWaWkJ8EpU8ojuig==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", "requires": { - "d3-path": "1 - 2" + "d3-path": "1 - 3" } }, "d3-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-2.0.0.tgz", - "integrity": "sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.0.1.tgz", + "integrity": "sha512-6/SlHkDOBLyQSJ1j1Ghs82OIUXpKWlR0hCsw0XrLSQhuUPuCSmLQ1QPH98vpnQxMUQM2/gfAkUEWsupVpd9JGw==" }, "d3-contour": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-2.0.0.tgz", - "integrity": "sha512-9unAtvIaNk06UwqBmvsdHX7CZ+NPDZnn8TtNH1myW93pWJkhsV25JcgnYAu0Ck5Veb1DHiCv++Ic5uvJ+h50JA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-3.0.1.tgz", + "integrity": "sha512-0Oc4D0KyhwhM7ZL0RMnfGycLN7hxHB8CMmwZ3+H26PWAG0ozNuYG5hXSDNgmP1SgJkQMrlG6cP20HoaSbvcJTQ==", "requires": { - "d3-array": "2" + "d3-array": "2 - 3" } }, "d3-delaunay": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-5.3.0.tgz", - "integrity": "sha512-amALSrOllWVLaHTnDLHwMIiz0d1bBu9gZXd1FiLfXf8sHcX9jrcj81TVZOqD4UX7MgBZZ07c8GxzEgBpJqc74w==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.2.tgz", + "integrity": "sha512-IMLNldruDQScrcfT+MWnazhHbDJhcRJyOEBAJfwQnHle1RPh6WDuLvxNArUju2VSMSUuKlY5BGHRJ2cYyoFLQQ==", "requires": { - "delaunator": "4" + "delaunator": "5" } }, "d3-dispatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-2.0.0.tgz", - "integrity": "sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==" }, "d3-drag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-2.0.0.tgz", - "integrity": "sha512-g9y9WbMnF5uqB9qKqwIIa/921RYWzlUDv9Jl1/yONQwxbOfszAWTCm8u7HOTgJgRDXiRZN56cHT9pd24dmXs8w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", "requires": { - "d3-dispatch": "1 - 2", - "d3-selection": "2" + "d3-dispatch": "1 - 3", + "d3-selection": "3" } }, "d3-dsv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-2.0.0.tgz", - "integrity": "sha512-E+Pn8UJYx9mViuIUkoc93gJGGYut6mSDKy2+XaPwccwkRGlR+LO97L2VCCRjQivTwLHkSnAJG7yo00BWY6QM+w==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", "requires": { - "commander": "2", - "iconv-lite": "0.4", + "commander": "7", + "iconv-lite": "0.6", "rw": "1" } }, "d3-ease": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-2.0.0.tgz", - "integrity": "sha512-68/n9JWarxXkOWMshcT5IcjbB+agblQUaIsbnXmrzejn2O82n3p2A9R2zEB9HIEFWKFwPAEDDN8gR0VdSAyyAQ==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==" }, "d3-fetch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-2.0.0.tgz", - "integrity": "sha512-TkYv/hjXgCryBeNKiclrwqZH7Nb+GaOwo3Neg24ZVWA3MKB+Rd+BY84Nh6tmNEMcjUik1CSUWjXYndmeO6F7sw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", "requires": { - "d3-dsv": "1 - 2" + "d3-dsv": "1 - 3" } }, "d3-force": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-2.1.1.tgz", - "integrity": "sha512-nAuHEzBqMvpFVMf9OX75d00OxvOXdxY+xECIXjW6Gv8BRrXu6gAWbv/9XKrvfJ5i5DCokDW7RYE50LRoK092ew==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", "requires": { - "d3-dispatch": "1 - 2", - "d3-quadtree": "1 - 2", - "d3-timer": "1 - 2" + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" } }, "d3-format": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-2.0.0.tgz", - "integrity": "sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==" }, "d3-geo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-2.0.2.tgz", - "integrity": "sha512-8pM1WGMLGFuhq9S+FpPURxic+gKzjluCD/CHTuUF3mXMeiCo0i6R0tO1s4+GArRFde96SLcW/kOFRjoAosPsFA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.0.1.tgz", + "integrity": "sha512-Wt23xBych5tSy9IYAM1FR2rWIBFWa52B/oF/GYe5zbdHrg08FU8+BuI6X4PvTwPDdqdAdq04fuWJpELtsaEjeA==", "requires": { - "d3-array": "^2.5.0" + "d3-array": "2.5.0 - 3" } }, "d3-hexbin": { @@ -22901,115 +19870,115 @@ "integrity": "sha1-nFg32s/UcasFM3qeke8Qv8T5iDE=" }, "d3-hierarchy": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-2.0.0.tgz", - "integrity": "sha512-SwIdqM3HxQX2214EG9GTjgmCc/mbSx4mQBn+DuEETubhOw6/U3fmnji4uCVrmzOydMHSO1nZle5gh6HB/wdOzw==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.1.tgz", + "integrity": "sha512-LtAIu54UctRmhGKllleflmHalttH3zkfSi4NlKrTAoFKjC+AFBJohsCAdgCBYQwH0F8hIOGY89X1pPqAchlMkA==" }, "d3-interpolate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-2.0.1.tgz", - "integrity": "sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", "requires": { - "d3-color": "1 - 2" + "d3-color": "1 - 3" } }, "d3-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-2.0.0.tgz", - "integrity": "sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.0.1.tgz", + "integrity": "sha512-gq6gZom9AFZby0YLduxT1qmrp4xpBA1YZr19OI717WIdKE2OM5ETq5qrHLb301IgxhLwcuxvGZVLeeWc/k1I6w==" }, "d3-polygon": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-2.0.0.tgz", - "integrity": "sha512-MsexrCK38cTGermELs0cO1d79DcTsQRN7IWMJKczD/2kBjzNXxLUWP33qRF6VDpiLV/4EI4r6Gs0DAWQkE8pSQ==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==" }, "d3-quadtree": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-2.0.0.tgz", - "integrity": "sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==" }, "d3-random": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-2.2.2.tgz", - "integrity": "sha512-0D9P8TRj6qDAtHhRQn6EfdOtHMfsUWanl3yb/84C4DqpZ+VsgfI5iTVRNRbELCfNvRfpMr8OrqqUTQ6ANGCijw==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==" }, "d3-scale": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-3.3.0.tgz", - "integrity": "sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", "requires": { - "d3-array": "^2.3.0", - "d3-format": "1 - 2", - "d3-interpolate": "1.2.0 - 2", - "d3-time": "^2.1.1", - "d3-time-format": "2 - 3" + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" } }, "d3-scale-chromatic": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-2.0.0.tgz", - "integrity": "sha512-LLqy7dJSL8yDy7NRmf6xSlsFZ6zYvJ4BcWFE4zBrOPnQERv9zj24ohnXKRbyi9YHnYV+HN1oEO3iFK971/gkzA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", + "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==", "requires": { - "d3-color": "1 - 2", - "d3-interpolate": "1 - 2" + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" } }, "d3-selection": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-2.0.0.tgz", - "integrity": "sha512-XoGGqhLUN/W14NmaqcO/bb1nqjDAw5WtSYb2X8wiuQWvSZUsUVYsOSkOybUrNvcBjaywBdYPy03eXHMXjk9nZA==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==" }, "d3-shape": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-2.1.0.tgz", - "integrity": "sha512-PnjUqfM2PpskbSLTJvAzp2Wv4CZsnAgTfcVRTwW03QR3MkXF8Uo7B1y/lWkAsmbKwuecto++4NlsYcvYpXpTHA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.1.0.tgz", + "integrity": "sha512-tGDh1Muf8kWjEDT/LswZJ8WF85yDZLvVJpYU9Nq+8+yW1Z5enxrmXOhTArlkaElU+CTn0OTVNli+/i+HP45QEQ==", "requires": { - "d3-path": "1 - 2" + "d3-path": "1 - 3" } }, "d3-time": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-2.1.1.tgz", - "integrity": "sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.0.0.tgz", + "integrity": "sha512-zmV3lRnlaLI08y9IMRXSDshQb5Nj77smnfpnd2LrBa/2K281Jijactokeak14QacHs/kKq0AQ121nidNYlarbQ==", "requires": { - "d3-array": "2" + "d3-array": "2 - 3" } }, "d3-time-format": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-3.0.0.tgz", - "integrity": "sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", "requires": { - "d3-time": "1 - 2" + "d3-time": "1 - 3" } }, "d3-timer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-2.0.0.tgz", - "integrity": "sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==" }, "d3-transition": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-2.0.0.tgz", - "integrity": "sha512-42ltAGgJesfQE3u9LuuBHNbGrI/AJjNL2OAUdclE70UE6Vy239GCBEYD38uBPoLeNsOhFStGpPI0BAOV+HMxog==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", "requires": { - "d3-color": "1 - 2", - "d3-dispatch": "1 - 2", - "d3-ease": "1 - 2", - "d3-interpolate": "1 - 2", - "d3-timer": "1 - 2" + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" } }, "d3-zoom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-2.0.0.tgz", - "integrity": "sha512-fFg7aoaEm9/jf+qfstak0IYpnesZLiMX6GZvXtUSdv8RH2o4E2qeelgdU09eKS6wGuiGMfcnMI0nTIqWzRHGpw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", "requires": { - "d3-dispatch": "1 - 2", - "d3-drag": "2", - "d3-interpolate": "1 - 2", - "d3-selection": "2", - "d3-transition": "2" + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" } }, "dashdash": { @@ -23020,12 +19989,6 @@ "assert-plus": "^1.0.0" } }, - "data-uri-to-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz", - "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==", - "dev": true - }, "dateformat": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", @@ -23033,11 +19996,11 @@ "dev": true }, "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { - "ms": "2.0.0" + "ms": "2.1.2" } }, "decamelize": { @@ -23061,19 +20024,13 @@ } } }, - "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-eql": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", - "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.0.0.tgz", + "integrity": "sha512-GxJC5MOg2KyQlv6WiUF/VAnMj4MWnYiXo4oLgeptOELVoknyErb4Z8+5F/IM/K4g9/80YzzatxmWcyRwUseH0A==", "dev": true, "requires": { - "type-detect": "0.1.1" + "type-detect": "^4.0.0" } }, "deep-equal": { @@ -23099,26 +20056,17 @@ } }, "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=" + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", "dev": true, "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - }, - "dependencies": { - "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 - } + "execa": "^5.0.0" } }, "defaults": { @@ -23130,6 +20078,12 @@ "clone": "^1.0.2" } }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true + }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", @@ -23138,79 +20092,6 @@ "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" - } - } - } - }, - "degenerator": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-2.2.0.tgz", - "integrity": "sha512-aiQcQowF01RxFI4ZLFMpzyotbQonhNpBao6dkI8JPk5a+hmSjR5ErHp2CQySmQe8os3VBqLCIh87nDBgZXvsmg==", - "dev": true, - "requires": { - "ast-types": "^0.13.2", - "escodegen": "^1.8.1", - "esprima": "^4.0.0" - }, - "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" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - } - } - }, "del": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", @@ -23225,12 +20106,37 @@ "p-map": "^4.0.0", "rimraf": "^3.0.2", "slash": "^3.0.0" + }, + "dependencies": { + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + } } }, "delaunator": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-4.0.1.tgz", - "integrity": "sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz", + "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==", + "requires": { + "robust-predicates": "^3.0.0" + } }, "delayed-stream": { "version": "1.0.0", @@ -23258,9 +20164,9 @@ } }, "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true }, "detect-file": { @@ -23378,18 +20284,18 @@ "dev": true }, "domhandler": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", - "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dev": true, "requires": { "domelementtype": "^2.2.0" } }, "domutils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz", - "integrity": "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, "requires": { "dom-serializer": "^1.0.1", @@ -23408,9 +20314,9 @@ } }, "dotenv": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", - "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", "dev": true }, "duplexer": { @@ -23446,12 +20352,6 @@ "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", @@ -23496,9 +20396,9 @@ } }, "electron-to-chromium": { - "version": "1.4.93", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.93.tgz", - "integrity": "sha512-ywq9Pc5Gwwpv7NG767CtoU8xF3aAUQJjH9//Wy3MBCg4w5JSLbJUq2L8IsCdzPMjvSgxuue9WcVaTOyyxCL0aQ==", + "version": "1.4.96", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.96.tgz", + "integrity": "sha512-DPNjvNGPabv6FcyjzLAN4C0psN/GgD9rSGvMTuv81SeXG/EX3mCz0wiw9N1tUEnfQXYCJi3H8M0oFPRziZh7rw==", "dev": true }, "elliptic": { @@ -23546,17 +20446,6 @@ "optional": true, "requires": { "iconv-lite": "^0.6.2" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } } }, "end-of-stream": { @@ -23599,15 +20488,6 @@ "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, "error": { "version": "7.2.1", "resolved": "https://registry.npmjs.org/error/-/error-7.2.1.tgz", @@ -23625,48 +20505,12 @@ "is-arrayish": "^0.2.1" } }, - "es-abstract": { - "version": "1.18.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.5.tgz", - "integrity": "sha512-DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.3", - "is-string": "^1.0.6", - "object-inspect": "^1.11.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - } - }, "es-module-lexer": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", "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-object-assign": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", @@ -23717,12 +20561,20 @@ "esutils": "^2.0.2", "optionator": "^0.8.1", "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==", + "optional": true + } } }, "eslint": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.11.0.tgz", - "integrity": "sha512-/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA==", + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.12.0.tgz", + "integrity": "sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==", "dev": true, "requires": { "@eslint/eslintrc": "^1.2.1", @@ -23762,12 +20614,6 @@ "v8-compile-cache": "^2.0.3" }, "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -23802,15 +20648,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -23833,19 +20670,10 @@ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", "dev": true }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, "globals": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", - "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -23857,31 +20685,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "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 - }, "optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -23896,21 +20699,6 @@ "word-wrap": "^1.2.3" } }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -23919,15 +20707,6 @@ "requires": { "has-flag": "^4.0.0" } - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } } } }, @@ -23956,16 +20735,14 @@ "dev": true, "requires": { "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } } }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, "espree": { "version": "9.3.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", @@ -24009,9 +20786,9 @@ } }, "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" }, "esutils": { "version": "2.0.3", @@ -24042,15 +20819,6 @@ "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", "dev": true }, - "eventsource": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", - "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", - "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", @@ -24061,71 +20829,27 @@ } }, "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "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" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, "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" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true - }, - "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 - }, - "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" - } } } }, @@ -24140,41 +20864,6 @@ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "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-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", @@ -24184,27 +20873,18 @@ "homedir-polyfill": "^1.0.1" } }, - "exports-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-3.0.0.tgz", - "integrity": "sha512-b23Yg5SKR63ZvikGrQgfGgwd40MDehaYb7vOXgD7C0fMV04wS8U1I4f7n1j1wEhtQNKUqgdFox/ol2rOruOpOA==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - } - }, "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "version": "4.17.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", + "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", "dev": true, "requires": { - "accepts": "~1.3.7", + "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", + "body-parser": "1.19.2", + "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.0", + "cookie": "0.4.2", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "~1.1.2", @@ -24218,13 +20898,13 @@ "on-finished": "~2.3.0", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", + "proxy-addr": "~2.0.7", + "qs": "6.9.7", "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", + "safe-buffer": "5.2.1", + "send": "0.17.2", + "serve-static": "1.14.2", + "setprototypeof": "1.2.0", "statuses": "~1.5.0", "type-is": "~1.6.18", "utils-merge": "1.0.1", @@ -24237,28 +20917,103 @@ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "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" + } + }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", "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==", + "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 }, + "send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "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.8.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", + "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.2" + } + }, "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true } } @@ -24268,92 +21023,6 @@ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "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": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", @@ -24364,23 +21033,6 @@ "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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 - } } }, "extsprintf": { @@ -24400,9 +21052,9 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -24410,6 +21062,17 @@ "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.4" + }, + "dependencies": { + "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" + } + } } }, "fast-json-stable-stringify": { @@ -24423,9 +21086,9 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "fastq": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz", - "integrity": "sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -24458,29 +21121,6 @@ "flat-cache": "^3.0.4" } }, - "file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, "file-saver": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", @@ -24497,12 +21137,6 @@ "resolved": "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz", "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==" }, - "file-uri-to-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz", - "integrity": "sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==", - "dev": true - }, "filelist": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", @@ -24534,12 +21168,29 @@ "parseurl": "~1.3.3", "statuses": "~1.5.0", "unpipe": "~1.0.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" + } + }, + "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": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, "requires": { "commondir": "^1.0.1", @@ -24548,11 +21199,12 @@ } }, "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, "requires": { - "locate-path": "^5.0.0", + "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, @@ -24615,15 +21267,15 @@ } }, "flatted": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", - "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", "dev": true }, "follow-redirects": { - "version": "1.14.7", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", - "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==", + "version": "1.14.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", + "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", "dev": true }, "for-in": { @@ -24663,37 +21315,17 @@ "dev": true }, "fraction.js": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz", - "integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", "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 }, - "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": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", @@ -24702,63 +21334,23 @@ "minipass": "^3.0.0" } }, + "fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, "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.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "ftp": { - "version": "0.3.10", - "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", - "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", - "dev": true, - "requires": { - "readable-stream": "1.1.x", - "xregexp": "2.0.0" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "xregexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", - "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=", - "dev": true - } - } + "optional": true }, "function-bind": { "version": "1.1.1", @@ -24790,21 +21382,6 @@ "string-width": "^4.2.3", "strip-ansi": "^6.0.1", "wide-align": "^1.1.2" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } } }, "gaze": { @@ -24831,6 +21408,12 @@ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true + }, "get-intrinsic": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", @@ -24855,43 +21438,6 @@ "pump": "^3.0.0" } }, - "get-uri": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-3.0.2.tgz", - "integrity": "sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==", - "dev": true, - "requires": { - "@tootallnate/once": "1", - "data-uri-to-buffer": "3", - "debug": "4", - "file-uri-to-path": "2", - "fs-extra": "^8.1.0", - "ftp": "^0.3.10" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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 - } - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, "getobject": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.2.tgz", @@ -24907,11 +21453,11 @@ } }, "gifwrap": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.9.2.tgz", - "integrity": "sha512-fcIswrPaiCDAyO8xnWvHSZdWChjKXUanKKpAiWWJ/UTkEi/aYKn5+90e7DE820zbEaVR9CE2y4z9bzhQijZ0BA==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.9.4.tgz", + "integrity": "sha512-MDMwbhASQuVeD4JKd1fKgNgCRL3fGqMM4WaqpNhWO0JiMOAjbQdumbs4BbBZEy9/M00EHEjKN3HieVhCUlwjeQ==", "requires": { - "image-q": "^1.1.1", + "image-q": "^4.0.0", "omggif": "^1.0.10" } }, @@ -24929,12 +21475,12 @@ } }, "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "requires": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" } }, "glob-to-regexp": { @@ -24988,22 +21534,31 @@ } }, "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" + "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": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", + "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", "dev": true, "requires": { - "array-union": "^2.1.0", + "array-union": "^3.0.1", "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" + "fast-glob": "^3.2.7", + "ignore": "^5.1.9", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "dependencies": { + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true + } } }, "globule": { @@ -25014,6 +21569,16 @@ "glob": "~7.1.1", "lodash": "~4.17.10", "minimatch": "~3.0.2" + }, + "dependencies": { + "minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, "graceful-fs": { @@ -25050,35 +21615,47 @@ "rimraf": "~3.0.2" }, "dependencies": { - "grunt-cli": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz", - "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==", + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "grunt-known-options": "~2.0.0", - "interpret": "~1.1.0", - "liftup": "~3.0.1", - "nopt": "~4.0.1", - "v8flags": "~3.2.0" - }, - "dependencies": { - "nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "dev": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - } + "sprintf-js": "~1.0.2" } }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "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" + } + }, + "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" + } + }, + "minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true } } @@ -25092,6 +21669,31 @@ "shelljs": "^0.5.3" } }, + "grunt-cli": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz", + "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==", + "dev": true, + "requires": { + "grunt-known-options": "~2.0.0", + "interpret": "~1.1.0", + "liftup": "~3.0.1", + "nopt": "~4.0.1", + "v8flags": "~3.2.0" + }, + "dependencies": { + "nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "dev": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + } + } + }, "grunt-concurrent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/grunt-concurrent/-/grunt-concurrent-3.0.0.tgz", @@ -25159,6 +21761,48 @@ "requires": { "chalk": "^1.1.1", "file-sync-cmp": "^0.1.0" + }, + "dependencies": { + "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": "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" + } + }, + "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" + } + }, + "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 + } } }, "grunt-contrib-watch": { @@ -25361,9 +22005,9 @@ "dev": true }, "grunt-webpack": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/grunt-webpack/-/grunt-webpack-4.0.3.tgz", - "integrity": "sha512-hRnTf7y9pe4K+M/AKUJFgHykZeyIOUHhZSMVD0/jF/uXphMCen7txPIz8IOnJoa6bX0JrpoueOwo7FgS/OtC2Q==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/grunt-webpack/-/grunt-webpack-5.0.0.tgz", + "integrity": "sha512-C7emzVIGJhZ5V5ZYjylr9sDD9PE9Dh/55NaSzP2P2dhif+m/1gHbjDZQ7PDzguyuzwBz4Qc8voQHR06FSp4CKg==", "dev": true, "requires": { "deep-for-each": "^3.0.0", @@ -25428,23 +22072,24 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "requires": { "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + } } }, - "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "dev": true - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" }, "has-tostringtag": { "version": "1.0.0", @@ -25459,64 +22104,6 @@ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, - "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": { - "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-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" - } - } - } - }, - "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.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", @@ -25525,6 +22112,13 @@ "inherits": "^2.0.4", "readable-stream": "^3.6.0", "safe-buffer": "^5.2.0" + }, + "dependencies": { + "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==" + } } }, "hash.js": { @@ -25543,9 +22137,9 @@ "dev": true }, "highlight.js": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.2.0.tgz", - "integrity": "sha512-JOySjtOEcyG8s4MLR2MNbLUyaXqUunmSnL2kdV/KuGJOmHZuAR5xC54Ko7goAXBWNhf09Vy3B+U7vR62UZ/0iw==" + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.5.0.tgz", + "integrity": "sha512-SM6WDj5/C+VfIY8pZ6yW6Xa0Fm1tniYVYWYW1Q/DcMnISZFrC3aQAZZZFAAZtybKNrGId3p/DNbFTtcTXXgYBw==" }, "hmac-drbg": { "version": "1.0.1", @@ -25607,12 +22201,6 @@ "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", @@ -25625,63 +22213,44 @@ } }, "html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", "dev": true }, "html-minifier-terser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", - "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", "dev": true, "requires": { - "camel-case": "^4.1.1", - "clean-css": "^4.2.3", - "commander": "^4.1.1", + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", "he": "^1.2.0", - "param-case": "^3.0.3", + "param-case": "^3.0.4", "relateurl": "^0.2.7", - "terser": "^4.6.3" + "terser": "^5.10.0" }, "dependencies": { "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", "dev": true - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "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 - } - } } } }, "html-webpack-plugin": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.3.2.tgz", - "integrity": "sha512-HvB33boVNCz2lTyBsSiMffsJ+m0YLIQ+pskblXgN9fnjS1BgEcuAfdInfXfGrkdXV406k9FiDi86eVCDBgJOyQ==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", + "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", "dev": true, "requires": { - "@types/html-minifier-terser": "^5.0.0", - "html-minifier-terser": "^5.0.1", + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", "lodash": "^4.17.21", - "pretty-error": "^3.0.4", + "pretty-error": "^4.0.0", "tapable": "^2.0.0" } }, @@ -25735,9 +22304,9 @@ } }, "http-parser-js": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", - "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", + "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==", "dev": true }, "http-proxy": { @@ -25759,143 +22328,26 @@ "@tootallnate/once": "1", "agent-base": "6", "debug": "4" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } } }, "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==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.4.tgz", + "integrity": "sha512-m/4FxX17SUvz4lJ5WPXOHDUuCwIqXLfLHs1s0uZ3oYjhoXlx9csYxaOa0ElDEJ+h8Q4iJ1s+lTMbiCa4EXIJqg==", "dev": true, "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" }, "dependencies": { - "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" - } - } - } - }, - "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" - } - } - } - }, - "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-number": { + "is-plain-obj": { "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" - } - } - } - }, - "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" - } - }, - "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" - } + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true } } }, @@ -25922,23 +22374,14 @@ "requires": { "agent-base": "6", "debug": "4" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } } }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, "humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", @@ -25947,12 +22390,6 @@ "ms": "^2.0.0" } }, - "i": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz", - "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0=", - "dev": true - }, "iced-error": { "version": "0.0.13", "resolved": "https://registry.npmjs.org/iced-error/-/iced-error-0.0.13.tgz", @@ -25972,11 +22409,11 @@ "integrity": "sha512-rgiJXNF6ZgF2Clh/TKUlBDW3q51YPDJUXmxGQXx1b8tbZpVpTn+1RX9q1sjNkujXIIaVxZByQzPHHORg7KV51g==" }, "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "icss-utils": { @@ -26003,9 +22440,25 @@ "dev": true }, "image-q": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/image-q/-/image-q-1.1.1.tgz", - "integrity": "sha1-/IQJlmRGC5DKhi2TALa/u7+/gFY=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/image-q/-/image-q-4.0.0.tgz", + "integrity": "sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==", + "requires": { + "@types/node": "16.9.1" + }, + "dependencies": { + "@types/node": { + "version": "16.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz", + "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==" + } + } + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", + "dev": true }, "import-fresh": { "version": "3.3.0", @@ -26017,69 +22470,22 @@ "resolve-from": "^4.0.0" } }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-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" - } - }, - "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 - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - } - } - }, "imports-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-3.0.0.tgz", - "integrity": "sha512-PhDB+rxpc95/1cM8ehxWAcuDIDi3eXhqHhax09iyUeAYBJ2bT6QbBp7aDj8IfU9Ns+2l1K226GhoWVAU823CTA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-3.1.1.tgz", + "integrity": "sha512-3QMyGU4RTgxLf0puWkUfT5+7zJvexvB00PI5skDIcxG8O20gZCbQsaRpNBv+cIO6yy/lmlOBwaxc3uH1CV+sww==", "dev": true, "requires": { "source-map": "^0.6.1", "strip-comments": "^2.0.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 + } } }, "imurmurhash": { @@ -26117,31 +22523,10 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, - "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" - } - }, - "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" - } - }, "internmap": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", - "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==" }, "interpret": { "version": "1.1.0", @@ -26169,9 +22554,9 @@ "dev": true }, "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", "dev": true }, "is-absolute": { @@ -26184,38 +22569,6 @@ "is-windows": "^1.0.1" } }, - "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": { - "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 - }, - "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.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", @@ -26230,80 +22583,23 @@ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "^2.0.0" } }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "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-core-module": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", - "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", "requires": { "has": "^1.0.3" } }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "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 - }, - "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.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", @@ -26312,35 +22608,16 @@ "has-tostringtag": "^1.0.0" } }, - "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-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true }, "is-electron": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.0.tgz", - "integrity": "sha512-SpMppC2XR3YdxSzczXReBjqs2zGscWQpBIKqwXYBFic0ERaxNVgwLCHwOLZeESfdJQjX0RDvrJ1lBXX2ij+G1Q==" - }, - "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 + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.1.tgz", + "integrity": "sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw==" }, "is-extglob": { "version": "2.1.1", @@ -26378,12 +22655,6 @@ "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=" }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "dev": true - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -26399,41 +22670,12 @@ "lodash.isfinite": "^3.3.2" } }, - "is-number-object": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", - "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, "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" - }, - "dependencies": { - "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-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -26473,29 +22715,11 @@ } }, "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "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-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -26510,6 +22734,12 @@ "unc-path-regex": "^0.1.2" } }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, "is-url": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", @@ -26560,24 +22790,24 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "jake": { - "version": "10.8.2", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", - "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==", + "version": "10.8.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.4.tgz", + "integrity": "sha512-MtWeTkl1qGsWUtbl/Jsca/8xSoK3x0UmS82sNbjqxxG/de/M/3b1DntdjHgPMC50enlTNwXOCRqPXLLt5cCfZA==", "dev": true, "requires": { "async": "0.9.x", - "chalk": "^2.4.2", + "chalk": "^4.0.2", "filelist": "^1.0.1", "minimatch": "^3.0.4" }, "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==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" } }, "async": { @@ -26587,31 +22817,51 @@ "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==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" } } } }, "jest-worker": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.6.tgz", - "integrity": "sha512-qupxcj/dRuA3xHPMUd40gr2EaAurFbkwzOh7wfPaeE9id7hyjURRQoqNfHifHK3XjJU6YJJUQKILGUnwGPEOCA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, "requires": { "@types/node": "*", @@ -26686,29 +22936,17 @@ "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" }, "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "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==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - } + "argparse": "^2.0.1" } }, "jsbn": { @@ -26733,9 +22971,9 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "json-schema-traverse": { "version": "0.4.1", @@ -26753,29 +22991,11 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, - "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.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "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" - } + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true }, "jsonpath": { "version": "1.1.1", @@ -26811,21 +23031,21 @@ "semver": "^5.6.0" }, "dependencies": { - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" } } }, "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", - "json-schema": "0.2.3", + "json-schema": "0.4.0", "verror": "1.10.0" } }, @@ -26835,9 +23055,9 @@ "integrity": "sha512-dxLob7q65Xg2DvstYkRpkYtmKm2sPJ9oFhrhmudT1dZvNFFTlroai3AWSpLey/w5vMcLBXRgOJsbXpdN9HzU/A==" }, "jsrsasign": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.4.0.tgz", - "integrity": "sha512-C8qLhiAssh/b74KJpGhWuFGG9cFhJqMCVuuHXRibb3Z5vPuAW0ue0jUirpoExCdpdhv4nD3sZ1DAwJURYJTm9g==" + "version": "10.5.14", + "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.5.14.tgz", + "integrity": "sha512-W49L90gR5E8lOMfZJzhq/JHM2Am6slJWsaI/aiyDZurK1CQly9/FN9ZCvM5ez8Svbw5+CwVEH25iIARLoh4Viw==" }, "jszip": { "version": "2.5.0", @@ -26913,30 +23133,25 @@ "uint64be": "^1.0.1" } }, - "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.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" }, "klona": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", - "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", "dev": true }, "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" } }, "libbzip2-wasm": { @@ -26949,6 +23164,15 @@ "resolved": "https://registry.npmjs.org/libyara-wasm/-/libyara-wasm-1.1.0.tgz", "integrity": "sha512-MI2C4v8JxPN46l3VPWK66HApLPO4rx7n4rGioaSOfbIZikTJIuvI+eRPPnW3K2BXzrOHYj5sMl/RoLlKbXtiLw==" }, + "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" + } + }, "liftup": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz", @@ -26980,14 +23204,14 @@ } }, "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "linkify-it": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.2.tgz", - "integrity": "sha512-gDBO4aHNZS6coiZCKVhSNh43F9ioIL4JwRjLZPkoLIY4yZFwg264Y5lu2x6rb1Js42Gh6Yqm2f6L2AJcnkzinQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", "requires": { "uc.micro": "^1.0.1" } @@ -27031,11 +23255,12 @@ } }, "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, "requires": { - "p-locate": "^4.1.0" + "p-locate": "^5.0.0" } }, "lodash": { @@ -27203,49 +23428,70 @@ "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" }, "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "requires": { - "chalk": "^2.0.1" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.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==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" } }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" } } } }, "loglevel": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", - "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==" + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz", + "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==" }, "loglevel-message-prefix": { "version": "3.0.0", @@ -27269,6 +23515,24 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, + "loupe": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.0.tgz", + "integrity": "sha512-b6TVXtF01VErh8IxN/MfdiWLQmttrenN98PPGS01kym8kGycJ9tqBXD6D+4sNEDhgE83+H0Mk1cVSl0mD1nNSg==", + "dev": true, + "requires": { + "get-func-name": "^2.0.0", + "type-detect": "^4.0.8" + }, + "dependencies": { + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + } + } + }, "lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -27293,14 +23557,6 @@ "dev": true, "requires": { "semver": "^6.0.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 - } } }, "make-fetch-happen": { @@ -27324,31 +23580,6 @@ "promise-retry": "^2.0.1", "socks-proxy-agent": "^6.0.0", "ssri": "^8.0.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "socks-proxy-agent": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", - "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", - "requires": { - "agent-base": "^6.0.2", - "debug": "^4.3.1", - "socks": "^2.6.1" - } - } } }, "make-iterator": { @@ -27371,15 +23602,6 @@ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==" }, - "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" - } - }, "markdown-it": { "version": "12.3.2", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", @@ -27413,46 +23635,13 @@ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, - "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=", + "memfs": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", + "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", "dev": true, "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "fs-monkey": "1.0.3" } }, "meow": { @@ -27506,13 +23695,13 @@ "dev": true }, "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, "miller-rabin": { @@ -27537,16 +23726,16 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "mime-types": { - "version": "2.1.32", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "requires": { - "mime-db": "1.49.0" + "mime-db": "1.52.0" } }, "mimic-fn": { @@ -27569,25 +23758,51 @@ "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" }, "mini-css-extract-plugin": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.7.tgz", - "integrity": "sha512-NDyOUqdfKVIfWTludTcZ6JDOMsIdWgyTEECYbfvZszPpkMRyQLvukqtLr92tfukPQxVZNCKb8TkOilFBvS5RIw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.0.tgz", + "integrity": "sha512-ndG8nxCEnAemsg4FSgS+yNyHKgkTB4nPKqCOgh65j3/30qqC5RaSQQXMm++Y6sb6E1zRSxPkztj9fqxhS1Eo6w==", "dev": true, "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "webpack-sources": "^1.1.0" + "schema-utils": "^4.0.0" }, "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" } } } @@ -27603,17 +23818,17 @@ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" }, "minimist-options": { "version": "4.1.0", @@ -27692,34 +23907,10 @@ "yallist": "^4.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.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" }, "mkpath": { "version": "1.0.0", @@ -27728,79 +23919,64 @@ "dev": true }, "mocha": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.3.tgz", - "integrity": "sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.0.tgz", + "integrity": "sha512-kNn7E8g2SzVcq0a77dkphPsDSN7P+iYkqE0ZsGCYWRsoiKjOt+NvXfaagik8vuDa6W5Zw3qxe8Jfpt5qKf+6/Q==", "dev": true, "requires": { - "ansi-colors": "3.2.3", + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", + "chokidar": "3.5.3", + "debug": "4.3.3", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", "growl": "1.10.5", "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "2.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", "minimatch": "3.0.4", - "mkdirp": "0.5.4", - "ms": "2.1.1", - "node-environment-flags": "1.0.5", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" + "ms": "2.1.3", + "nanoid": "3.2.0", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "which": "2.0.2", + "workerpool": "6.2.0", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" }, "dependencies": { - "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "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" - } - }, "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } } }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "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" - } - }, "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -27811,100 +23987,34 @@ "path-is-absolute": "^1.0.0" } }, - "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" - } + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "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==", + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "mkdirp": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", - "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", - "dev": true, - "requires": { - "minimist": "^1.2.5" + "brace-expansion": "^1.1.7" } }, "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 - }, - "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" - } - }, - "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" - } - }, - "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 - }, - "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=", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, "supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "requires": { - "has-flag": "^3.0.0" - } - }, - "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" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "has-flag": "^4.0.0" } } } @@ -27915,9 +24025,9 @@ "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" }, "moment-timezone": { - "version": "0.5.33", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.33.tgz", - "integrity": "sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==", + "version": "0.5.34", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz", + "integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==", "requires": { "moment": ">= 2.9.0" } @@ -27941,12 +24051,35 @@ "depd": "~2.0.0", "on-finished": "~2.3.0", "on-headers": "~1.0.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 + } } }, + "mrmime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.0.tgz", + "integrity": "sha512-a70zx7zFfVO7XpnQ2IX1Myh9yY4UYvfld/dikWRnsXxbyvMcfz+u6UfgNAtH+k2QqtJuzVpv6eLTx1G2+WKZbQ==", + "dev": true + }, "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "multicast-dns": { "version": "6.2.3", @@ -27976,46 +24109,21 @@ "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" }, "nanoid": { - "version": "3.1.25", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", - "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", + "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", "dev": 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 }, - "ncp": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-1.0.1.tgz", - "integrity": "sha1-0VNn5cuHQyuhF9K/gP30Wuz7QkY=", - "dev": true - }, "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" }, "neo-async": { "version": "2.6.2", @@ -28023,70 +24131,70 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, - "netmask": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", - "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", - "dev": true - }, "ngeohash": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/ngeohash/-/ngeohash-0.6.3.tgz", "integrity": "sha512-kltF0cOxgx1AbmVzKxYZaoB0aj7mOxZeHaerEtQV0YaqnkXNq26WWqMmJ6lTqShYxVRWZ/mwvvTrNeOwdslWiw==" }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, "nightwatch": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-1.7.8.tgz", - "integrity": "sha512-GTY2VoPU2EuoBUB+mz5tAjeEWRQmuT54Il2lOUTmpv87D7cO8fXaadrxSHwl2YDX9rDFvNZovqwiKBtk3/5R6w==", + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-2.0.10.tgz", + "integrity": "sha512-ywZE+UmVosk2kJFmHPU0vomfDJLniWsjzP9q6GjcgVdp4zIk6hUdpfJ9iJEIwHg5LRbBZA68ox3B/PTudlG+Cg==", "dev": true, "requires": { - "assertion-error": "^1.1.0", - "chai-nightwatch": "^0.4.0", - "ci-info": "^2.0.0", - "didyoumean": "^1.2.1", - "dotenv": "7.0.0", + "@nightwatch/chai": "5.0.1", + "assertion-error": "1.1.0", + "boxen": "5.1.2", + "chai-nightwatch": "0.5.3", + "ci-info": "^3.2.0", + "didyoumean": "^1.2.2", + "dotenv": "10.0.0", "ejs": "^3.1.6", - "envinfo": "^7.5.1", + "envinfo": "^7.8.1", + "glob": "^7.2.0", "lodash.clone": "3.0.3", "lodash.defaultsdeep": "^4.6.1", "lodash.merge": "^4.6.2", "minimatch": "3.0.4", "minimist": "^1.2.5", "mkpath": "1.0.0", - "mocha": "6.2.3", - "ora": "^4.0.3", - "proxy-agent": "^4.0.1", - "request": "^2.88.2", - "request-promise": "^4.2.5", - "semver": "^6.3.0", + "mocha": "9.2.0", + "ora": "^5.4.1", + "selenium-webdriver": "4.1.0", + "semver": "^7.3.5", "strip-ansi": "^6.0.0" }, "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "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 - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "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" + } + }, + "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" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" } } } @@ -28101,25 +24209,18 @@ "tslib": "^2.0.3" } }, - "node-environment-flags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", - "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", - "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==", "requires": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" + "whatwg-url": "^5.0.0" } }, - "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" - }, "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.0.tgz", + "integrity": "sha512-08ARB91bUi6zNKzVmaj3QO7cr397uiDT2nJ63cHjyNtCTWIgvS47j3eT0WfzUwS9+6Z5YshRaoasFkXCKrIYbA==" }, "node-gyp": { "version": "8.4.1", @@ -28138,11 +24239,6 @@ "which": "^2.0.2" }, "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, "are-we-there-yet": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz", @@ -28193,22 +24289,6 @@ "requires": { "lru-cache": "^6.0.0" } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "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==", - "requires": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } } } }, @@ -28243,12 +24323,6 @@ "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 - }, "stream-browserify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", @@ -28354,9 +24428,9 @@ "integrity": "sha512-qhfYgpoCSi37HLiViMlf94YqMQdvk3n3arI1uGbAWZK9NKCYRSI42W8lATeGloYGLYxb8us1C5rTvtsXjwdWQg==" }, "nofilter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz", - "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", + "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==" }, "nopt": { "version": "3.0.6", @@ -28406,20 +24480,12 @@ "integrity": "sha512-9RiFDxeydHsWOqdthRUck2Kd4UW2NzVd2xxOulZiQ9mvge6ElsHXLpwD3HEJyql6sFEnEn/eMO7HSdS0M5mWkA==" }, "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=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "requires": { - "path-key": "^2.0.0" - }, - "dependencies": { - "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-key": "^3.0.0" } }, "npmlog": { @@ -28434,9 +24500,9 @@ } }, "nth-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", - "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", "dev": true, "requires": { "boolbase": "^1.0.0" @@ -28457,49 +24523,6 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "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 - }, - "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.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", - "dev": true - }, "object-is": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", @@ -28514,15 +24537,6 @@ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, "object.assign": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", @@ -28547,17 +24561,6 @@ "isobject": "^3.0.0" } }, - "object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" - } - }, "object.map": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", @@ -28620,6 +24623,28 @@ "mimic-fn": "^2.1.0" } }, + "open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "dev": true, + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "dependencies": { + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + } + } + }, "opencollective-postinstall": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", @@ -28651,30 +24676,49 @@ "prelude-ls": "~1.1.2", "type-check": "~0.3.2", "word-wrap": "~1.2.3" + }, + "dependencies": { + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + } } }, "ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dev": true, "requires": { - "chalk": "^3.0.0", + "bl": "^4.1.0", + "chalk": "^4.1.0", "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", + "cli-spinners": "^2.5.0", "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", "strip-ansi": "^6.0.0", "wcwidth": "^1.0.1" }, "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -28685,9 +24729,9 @@ } }, "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -28715,76 +24759,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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 - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "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" - } - } - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -28796,15 +24770,6 @@ } } }, - "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-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", @@ -28835,26 +24800,22 @@ "thirty-two": "^0.0.2" } }, - "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": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, "requires": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.0" } }, "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==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, "requires": { - "p-limit": "^2.2.0" + "p-limit": "^3.0.2" } }, "p-map": { @@ -28866,12 +24827,21 @@ } }, "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==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", + "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", "dev": true, "requires": { - "retry": "^0.12.0" + "@types/retry": "^0.12.0", + "retry": "^0.13.1" + }, + "dependencies": { + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true + } } }, "p-try": { @@ -28879,94 +24849,6 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, - "pac-proxy-agent": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-4.1.0.tgz", - "integrity": "sha512-ejNgYm2HTXSIYX9eFlkvqFp8hyJ374uDf0Zq5YUAifiSh1D6fo+iBivQZirGvVv8dCYUsLhmLBRhlAYvBKI5+Q==", - "dev": true, - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4", - "get-uri": "3", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "5", - "pac-resolver": "^4.1.0", - "raw-body": "^2.2.0", - "socks-proxy-agent": "5" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "http-errors": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - }, - "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 - }, - "raw-body": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", - "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", - "dev": true, - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.3", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true - } - } - }, - "pac-resolver": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-4.2.0.tgz", - "integrity": "sha512-rPACZdUyuxT5Io/gFKUeeZFfE5T7ve7cAkE5TUZRRfuKP0u5Hocwe48X7ZEm6mYB+bTB0Qf+xlVlA/RM/i6RCQ==", - "dev": true, - "requires": { - "degenerator": "^2.2.0", - "ip": "^1.1.5", - "netmask": "^2.0.1" - } - }, "pad-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pad-stream/-/pad-stream-2.0.0.tgz", @@ -29045,9 +24927,9 @@ } }, "parse-headers": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.4.tgz", - "integrity": "sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", + "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==" }, "parse-json": { "version": "5.2.0", @@ -29082,12 +24964,6 @@ "tslib": "^2.0.3" } }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, "path": { "version": "0.12.7", "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", @@ -29097,12 +24973,6 @@ "util": "^0.10.3" } }, - "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": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -29113,12 +24983,6 @@ "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": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -29156,6 +25020,12 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, + "pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true + }, "pbkdf2": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", @@ -29200,9 +25070,9 @@ "dev": true }, "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "piexifjs": { @@ -29216,21 +25086,6 @@ "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=", - "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" - } - }, "pixelmatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", @@ -29246,6 +25101,45 @@ "dev": true, "requires": { "find-up": "^4.0.0" + }, + "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" + } + }, + "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" + } + }, + "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": "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" + } + } } }, "pngjs": { @@ -29287,11 +25181,14 @@ "ms": "^2.1.1" } }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "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" + } } } }, @@ -29316,21 +25213,23 @@ } } }, - "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": "8.3.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz", - "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==", + "version": "8.4.12", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz", + "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", "dev": true, "requires": { - "colorette": "^1.2.2", - "nanoid": "^3.1.23", - "source-map-js": "^0.6.2" + "nanoid": "^3.3.1", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "dependencies": { + "nanoid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz", + "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==", + "dev": true + } } }, "postcss-css-variables": { @@ -29345,9 +25244,9 @@ } }, "postcss-import": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.2.tgz", - "integrity": "sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", "dev": true, "requires": { "postcss-value-parser": "^4.0.0", @@ -29356,13 +25255,13 @@ } }, "postcss-loader": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.1.1.tgz", - "integrity": "sha512-lBmJMvRh1D40dqpWKr9Rpygwxn8M74U9uaCSeYGNKLGInbk9mXBt1ultHf2dH9Ghk6Ue4UXlXWwGMH9QdUJ5ug==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", "dev": true, "requires": { "cosmiconfig": "^7.0.0", - "klona": "^2.0.4", + "klona": "^2.0.5", "semver": "^7.3.5" }, "dependencies": { @@ -29414,9 +25313,9 @@ } }, "postcss-selector-parser": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", - "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", + "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", "dev": true, "requires": { "cssesc": "^3.0.0", @@ -29424,24 +25323,25 @@ } }, "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "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=" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true }, "pretty-error": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-3.0.4.tgz", - "integrity": "sha512-ytLFLfv1So4AO1UkoBF6GXQgJRaKbiSiGFICaOPNwQ3CMvBvXpLRubeQWyPGnsbV/t9ml9qto6IeCsho0aEvwQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", "dev": true, "requires": { "lodash": "^4.17.20", - "renderkid": "^2.0.6" + "renderkid": "^3.0.0" } }, "process": { @@ -29474,16 +25374,24 @@ } }, "prompt": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/prompt/-/prompt-1.1.0.tgz", - "integrity": "sha512-ec1vUPXCplDBDUVD8uPa3XGA+OzLrO40Vxv3F1uxoiZGkZhdctlK2JotcHq5X6ExjocDOGwGdCSXloGNyU5L1Q==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/prompt/-/prompt-1.2.2.tgz", + "integrity": "sha512-XNXhNv3PUHJDcDkISpCwSJxtw9Bor4FZnlMUDW64N/KCPdxhfVlpD5+YUXI/Z8a9QWmOhs9KSiVtR8nzPS0BYA==", "dev": true, "requires": { - "colors": "^1.1.2", + "@colors/colors": "1.5.0", + "async": "~0.9.0", "read": "1.0.x", "revalidator": "0.1.x", - "utile": "0.3.x", "winston": "2.x" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + } } }, "protobufjs": { @@ -29514,52 +25422,12 @@ "requires": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" - } - }, - "proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-4.0.1.tgz", - "integrity": "sha512-ODnQnW2jc/FUVwHHuaZEfN5otg/fMbvMxz9nMSUQfJ9JU7q2SZvSULSsjLloVgJOiv9yhc8GlNMKc4GkFmcVEA==", - "dev": true, - "requires": { - "agent-base": "^6.0.0", - "debug": "4", - "http-proxy-agent": "^4.0.0", - "https-proxy-agent": "^5.0.0", - "lru-cache": "^5.1.1", - "pac-proxy-agent": "^4.1.0", - "proxy-from-env": "^1.0.0", - "socks-proxy-agent": "^5.0.0" }, "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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" - } - }, - "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 - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true } } @@ -29570,12 +25438,6 @@ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "dev": true }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", @@ -29650,13 +25512,9 @@ "integrity": "sha1-n6gpW+rlDEoUnPn5CaHbRkqGcug=" }, "qs": { - "version": "6.10.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", - "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", - "dev": true, - "requires": { - "side-channel": "^1.0.4" - } + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" }, "querystring": { "version": "0.2.0", @@ -29664,12 +25522,6 @@ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", "dev": true }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true - }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -29767,6 +25619,11 @@ "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==" + }, "type-fest": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", @@ -29784,6 +25641,39 @@ "type-fest": "^0.8.1" }, "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==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.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==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "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==", + "requires": { + "p-limit": "^2.2.0" + } + }, "type-fest": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", @@ -29802,155 +25692,12 @@ } }, "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "dependencies": { - "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" - } - } - } - }, - "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" - } - } - } - }, - "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-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" - } - } - } - }, - "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" - } - }, - "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" - } - }, - "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" - } - } + "picomatch": "^2.2.1" } }, "rechoir": { @@ -30000,20 +25747,10 @@ "@babel/runtime": "^7.8.4" } }, - "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.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", + "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -30068,37 +25805,19 @@ "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.7", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", - "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", "dev": true, "requires": { "css-select": "^4.1.3", "dom-converter": "^0.2.0", "htmlparser2": "^6.1.0", "lodash": "^4.17.21", - "strip-ansi": "^3.0.1" + "strip-ansi": "^6.0.1" } }, - "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": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, "request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -30124,34 +25843,6 @@ "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" - }, - "dependencies": { - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" - } - } - }, - "request-promise": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.6.tgz", - "integrity": "sha512-HCHI3DJJUakkOr8fNoCc73E5nU5bqITjOYFMDrKHYOXWXrgD/SBaC7LjwuPymUprRyuF06UK7hd/lMHkmUXglQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.0", - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - } - }, - "request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "dev": true, - "requires": { - "lodash": "^4.17.19" } }, "require-directory": { @@ -30159,10 +25850,10 @@ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, - "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==", + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true }, "requires-port": { @@ -30172,29 +25863,13 @@ "dev": true }, "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", "requires": { - "is-core-module": "^2.2.0", - "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 - } + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, "resolve-dir": { @@ -30228,12 +25903,6 @@ "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", @@ -30268,6 +25937,11 @@ "inherits": "^2.0.1" } }, + "robust-predicates": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.1.tgz", + "integrity": "sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==" + }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -30283,9 +25957,9 @@ "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" }, "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==" + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safe-json-parse": { "version": "1.0.1", @@ -30293,15 +25967,6 @@ "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=", "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", @@ -30318,65 +25983,6 @@ "yargs": "^17.2.1" }, "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, "yargs": { "version": "17.4.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.0.tgz", @@ -30399,9 +26005,9 @@ } }, "sass-loader": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.1.0.tgz", - "integrity": "sha512-FVJZ9kxVRYNZTIe2xhw93n3xJNYZADr+q69/s98l9nTCrWASo+DR2Ot0s5xTKQDDEosUkatsGeHxcH4QBp5bSg==", + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", "dev": true, "requires": { "klona": "^2.0.4", @@ -30451,70 +26057,146 @@ "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", "dev": true }, - "selfsigned": { - "version": "1.10.11", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", - "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "selenium-webdriver": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.0.tgz", + "integrity": "sha512-kUDH4N8WruYprTzvug4Pl73Th+WKb5YiLz8z/anOpHyUNUdM3UzrdTOxmSNaf9AczzBeY+qXihzku8D1lMaKOg==", "dev": true, "requires": { - "node-forge": "^0.10.0" + "jszip": "^3.6.0", + "tmp": "^0.2.1", + "ws": ">=7.4.6" + }, + "dependencies": { + "jszip": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz", + "integrity": "sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==", + "dev": true, + "requires": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "set-immediate-shim": "~1.0.1" + } + }, + "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" + } + } + } + }, + "selfsigned": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", + "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", + "dev": true, + "requires": { + "node-forge": "^1" } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true }, "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.7.2", + "http-errors": "2.0.0", "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", + "ms": "2.1.3", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "dependencies": { - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "http-errors": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { - "depd": "~1.1.2", + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" } }, "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==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true } } @@ -30541,18 +26223,35 @@ "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": "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 + } } }, "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==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.1" + "send": "0.18.0" } }, "set-blocking": { @@ -30560,28 +26259,11 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, - "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" - } - } - } + "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 }, "setimmediate": { "version": "1.0.5", @@ -30623,59 +26305,32 @@ "integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM=", "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==" }, "sirv": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.14.tgz", - "integrity": "sha512-czTFDFjK9lXj0u9mJ3OmJoXFztoilYS+NdRPcJoT182w44wSEkHSiO7A2517GLJ8wKM4GjCm2OXE66Dhngbzjg==", + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", + "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", "dev": true, "requires": { - "@polka/url": "^1.0.0-next.17", - "mime": "^2.3.1", + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", "totalist": "^1.0.0" - }, - "dependencies": { - "mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", - "dev": true - } } }, "sitemap": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.0.0.tgz", - "integrity": "sha512-Ud0jrRQO2k7fEtPAM+cQkBKoMvxQyPKNXKDLn8tRVHxRCsdDQ2JZvw+aZ5IRYYQVAV9iGxEar6boTwZzev+x3g==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", + "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", "dev": true, "requires": { - "@types/node": "^15.0.1", + "@types/node": "^17.0.5", "@types/sax": "^1.2.1", "arg": "^5.0.0", "sax": "^1.2.4" - }, - "dependencies": { - "@types/node": { - "version": "15.14.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.8.tgz", - "integrity": "sha512-+ZjmmoGV7WBwhzNh/GkwehB7uyXn9HFwzQUfj9pbyR8eFAq20Qguoh93sPbWzzhsbhTme6YE92/iJ54Z0WRH7A==", - "dev": true - } } }, "slash": { @@ -30694,133 +26349,14 @@ "resolved": "https://registry.npmjs.org/snackbarjs/-/snackbarjs-1.1.0.tgz", "integrity": "sha1-pont9ExxEEdzvPIhxGk3ZosLvNY=" }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "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": { - "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 - }, - "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.21", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", - "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dev": true, "requires": { "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", + "uuid": "^8.3.2", "websocket-driver": "^0.7.4" }, "dependencies": { @@ -30832,136 +26368,69 @@ "requires": { "websocket-driver": ">=0.5.1" } - } - } - }, - "sockjs-client": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz", - "integrity": "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==", - "dev": true, - "requires": { - "debug": "^3.2.6", - "eventsource": "^1.0.7", - "faye-websocket": "^0.11.3", - "inherits": "^2.0.4", - "json3": "^3.3.3", - "url-parse": "^1.5.1" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true } } }, "socks": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz", - "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", "requires": { "ip": "^1.1.5", - "smart-buffer": "^4.1.0" + "smart-buffer": "^4.2.0" } }, "socks-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz", - "integrity": "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==", - "dev": true, + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", "requires": { "agent-base": "^6.0.2", - "debug": "4", - "socks": "^2.3.3" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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 - } + "debug": "^4.3.1", + "socks": "^2.6.1" } }, "sortablejs": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz", - "integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==" - }, - "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 + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.0.tgz", + "integrity": "sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w==" }, "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", - "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", + "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.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-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true }, "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, "requires": { "buffer-from": "^1.0.0", "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 + } } }, - "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", @@ -31001,23 +26470,6 @@ "http-deceiver": "^1.2.7", "select-hose": "^2.0.0", "spdy-transport": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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": { @@ -31032,38 +26484,12 @@ "obuf": "^1.1.2", "readable-stream": "^3.0.6", "wbuf": "^1.7.3" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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 - } - } - }, - "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" } }, "split.js": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/split.js/-/split.js-1.6.4.tgz", - "integrity": "sha512-kYmQZprRJrF1IOjg/E+gdBEsKFv5kbgUE6RJVJZvrIzTOK/IHzKSqIeiJnWs7IP5D9TnpTQ2CbanuDuIWcyDUQ==" + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/split.js/-/split.js-1.6.5.tgz", + "integrity": "sha512-mPTnGCiS/RiuTNsVhCm9De9cCAUsrNFFviRbADdKiiV+Kk8HKp/0fWu7Kr8pi3/yBmsqLFHuXGT9UUZ+CNLwFw==" }, "split2": { "version": "2.2.0", @@ -31075,9 +26501,9 @@ } }, "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", "dev": true }, "ssdeep.js": { @@ -31086,9 +26512,9 @@ "integrity": "sha512-QXKADMuEsOmRYGlB9JvrulcF5NLAjAvYLg3qDHUrEEilUFLKoL4fUQDw1s7hF+mOL96jwcdyXpnmCqyNu7Wm3Q==" }, "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -31146,27 +26572,12 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - } - } - }, - "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" - } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true } } }, @@ -31198,11 +26609,6 @@ "util-deprecate": "~1.0.1" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -31213,12 +26619,6 @@ } } }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true - }, "stream-browserify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", @@ -31240,6 +26640,13 @@ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "requires": { "safe-buffer": "~5.2.0" + }, + "dependencies": { + "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==" + } } }, "string-template": { @@ -31256,49 +26663,14 @@ "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" } }, "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^5.0.1" } }, "strip-comments": { @@ -31307,10 +26679,10 @@ "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", "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=", + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true }, "strip-indent": { @@ -31327,32 +26699,23 @@ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, - "style-loader": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.2.1.tgz", - "integrity": "sha512-1k9ZosJCRFaRbY6hH49JFlRB0fVSbmnyq1iTPjNxUmGVjBNEmwrrHPenhlp+Lgo51BojHSf6pl2FcqYaN3PfVg==", - "dev": true, - "requires": {} - }, "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - }, - "svg-url-loader": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/svg-url-loader/-/svg-url-loader-7.1.1.tgz", - "integrity": "sha512-NlsMCePODm7FQhU9aEZyGLPx5Xe1QRI1cSEUE6vTq5LJc9l9pStagvXoEIyZ9O3r00w6G3+Wbkimb+SC3DI/Aw==", - "dev": true, + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "file-loader": "~6.2.0", - "loader-utils": "~2.0.0" + "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==" + }, "tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true }, "tar": { @@ -31366,13 +26729,6 @@ "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - } } }, "tcp-port-used": { @@ -31393,55 +26749,48 @@ "requires": { "ms": "2.1.2" } - }, - "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": "5.7.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz", - "integrity": "sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==", + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", + "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==", + "dev": true, "requires": { + "acorn": "^8.5.0", "commander": "^2.20.0", "source-map": "~0.7.2", - "source-map-support": "~0.5.19" + "source-map-support": "~0.5.20" }, "dependencies": { + "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 + }, "source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true } } }, "terser-webpack-plugin": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz", - "integrity": "sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", + "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", "dev": true, "requires": { - "jest-worker": "^27.0.2", - "p-limit": "^3.1.0", - "schema-utils": "^3.0.0", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", "source-map": "^0.6.1", - "terser": "^5.7.0" + "terser": "^5.7.2" }, "dependencies": { - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -31452,6 +26801,12 @@ "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } + }, + "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 } } }, @@ -31523,12 +26878,6 @@ "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", @@ -31582,12 +26931,6 @@ "requires": { "ms": "^2.1.1" } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true } } }, @@ -31596,48 +26939,20 @@ "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==" }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, "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=" - }, - "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": { - "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 - }, - "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" - } + "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-regex-range": { "version": "5.0.1", @@ -31649,9 +26964,9 @@ } }, "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true }, "totalist": { @@ -31669,6 +26984,11 @@ "punycode": "^2.1.1" } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, "trim-newlines": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", @@ -31715,17 +27035,18 @@ "integrity": "sha1-1ii1bzvMPVrnS6nUwacE3vWrS1Y=" }, "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "^1.2.1" } }, "type-detect": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", - "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.5.tgz", + "integrity": "sha512-N9IvkQslUGYGC24RkJk1ba99foK6TkwC2FHAEBlQFBP0RxQZS8ZpJuAZcwiY/w9ZJHFQb1aOXBI60OdxhTrwEQ==", "dev": true }, "type-fest": { @@ -31745,9 +27066,9 @@ } }, "ua-parser-js": { - "version": "0.7.28", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz", - "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.2.tgz", + "integrity": "sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg==" }, "uc.micro": { "version": "1.0.6", @@ -31755,9 +27076,9 @@ "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" }, "uglify-js": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.1.tgz", - "integrity": "sha512-JhS3hmcVaXlp/xSo3PKY5R0JqKs5M3IV+exdLHW99qKvKivPO4Z8qbej6mte17SOPqAOVMjt/XGgWacnFSzM3g==" + "version": "3.15.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.3.tgz", + "integrity": "sha512-6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg==" }, "uint64be": { "version": "1.0.1", @@ -31770,18 +27091,6 @@ "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", "dev": true }, - "unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - } - }, "unc-path-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", @@ -31794,12 +27103,12 @@ "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" }, "underscore.string": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz", - "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.6.tgz", + "integrity": "sha512-VoC83HWXmCrF6rgkyxS9GHv8W9Q5nhMKho+OadDJGzL2oDYbYEppBaCMH6pFlwLeqj2QS+hhkw2kpXkSdD1JxQ==", "dev": true, "requires": { - "sprintf-js": "^1.0.3", + "sprintf-js": "^1.1.1", "util-deprecate": "^1.0.2" } }, @@ -31831,18 +27140,6 @@ "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", "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", @@ -31859,12 +27156,6 @@ "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 - }, "unorm": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz", @@ -31876,52 +27167,6 @@ "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 - }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -31930,12 +27175,6 @@ "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", @@ -31954,46 +27193,6 @@ } } }, - "url-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", - "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "mime-types": "^2.1.27", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "url-parse": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz", - "integrity": "sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "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 - }, "utf8": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", @@ -32008,17 +27207,17 @@ } }, "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "requires": { - "inherits": "2.0.3" + "inherits": "2.0.1" }, "dependencies": { "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" } } }, @@ -32033,43 +27232,6 @@ "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", "dev": true }, - "utile": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/utile/-/utile-0.3.0.tgz", - "integrity": "sha1-E1LDQOuCDk2N26A5pPv6oy7U7zo=", - "dev": true, - "requires": { - "async": "~0.9.0", - "deep-equal": "~0.2.1", - "i": "0.3.x", - "mkdirp": "0.x.x", - "ncp": "1.0.x", - "rimraf": "2.x.x" - }, - "dependencies": { - "async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", - "dev": true - }, - "deep-equal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.2.tgz", - "integrity": "sha1-hLdFiW80xoTpjyzg5Cq69Du6AX0=", - "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" - } - } - } - }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -32154,6 +27316,11 @@ "defaults": "^1.0.3" } }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, "webpack": { "version": "5.70.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", @@ -32202,25 +27369,19 @@ "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } - }, - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true } } }, "webpack-bundle-analyzer": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz", - "integrity": "sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.5.0.tgz", + "integrity": "sha512-GUMZlM3SKwS8Z+CKeIFx7CVoHn3dXFcUAjT/dcZQQmfSZGvitPfMob2ipjai7ovFFqPvTqkEZ/leL4O0YOdAYQ==", "dev": true, "requires": { "acorn": "^8.0.4", "acorn-walk": "^8.0.0", "chalk": "^4.1.0", - "commander": "^6.2.0", + "commander": "^7.2.0", "gzip-size": "^6.0.0", "lodash": "^4.17.20", "opener": "^1.5.2", @@ -32262,12 +27423,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -32284,218 +27439,159 @@ } }, "ws": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", - "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==", + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", + "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", "dev": true, "requires": {} } } }, "webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz", + "integrity": "sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg==", "dev": true, "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", + "colorette": "^2.0.10", + "memfs": "^3.4.1", + "mime-types": "^2.1.31", "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" + "schema-utils": "^4.0.0" }, "dependencies": { - "mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } } } }, "webpack-dev-server": { - "version": "3.11.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", - "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.4.tgz", + "integrity": "sha512-nfdsb02Zi2qzkNmgtZjkrMOcXnYZ6FLKcQwpxT7MvmHKc+oTtDsBju8j+NMyAygZ9GW1jMEUpy3itHtqgEhe1A==", "dev": true, "requires": { - "ansi-html": "0.0.7", + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.2.2", + "ansi-html-community": "^0.0.8", "bonjour": "^3.5.0", - "chokidar": "^2.1.8", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", "compression": "^1.7.4", "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", + "default-gateway": "^6.0.3", + "del": "^6.0.0", "express": "^4.17.1", - "html-entities": "^1.3.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.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.0", + "ipaddr.js": "^2.0.1", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "portfinder": "^1.0.28", + "schema-utils": "^4.0.0", + "selfsigned": "^2.0.0", "serve-index": "^1.9.1", "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", "spdy": "^4.0.2", - "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": "^13.3.2" + "strip-ansi": "^7.0.0", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.4.2" }, "dependencies": { - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "requires": { - "array-uniq": "^1.0.1" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" } }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, "requires": { - "ms": "2.1.2" + "fast-deep-equal": "^3.1.3" } }, - "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" - } - }, - "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.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true }, - "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" - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "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 - }, - "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" - } - }, "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==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" } }, - "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==", + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "ansi-regex": "^6.0.1" } - }, - "ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", - "dev": true, - "requires": { - "async-limiter": "~1.0.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" - }, - "dependencies": { - "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 } } }, @@ -32506,14 +27602,10 @@ "dev": true }, "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" - } + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true }, "websocket-driver": { "version": "0.7.4", @@ -32559,14 +27651,6 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } } }, "string_decoder": { @@ -32576,18 +27660,30 @@ "dev": true, "requires": { "safe-buffer": "~5.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } + } + }, + "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" } } } }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -32596,60 +27692,21 @@ "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, + "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==", "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" + "string-width": "^1.0.2 || 2 || 3 || 4" } }, - "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.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dev": true, "requires": { - "string-width": "^1.0.2 || 2" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "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=" - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "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=", - "requires": { - "ansi-regex": "^3.0.0" - } - } + "string-width": "^4.0.0" } }, "winston": { @@ -32708,63 +27765,42 @@ } } }, + "workerpool": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", + "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==", + "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, + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.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 - }, "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, + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" } }, - "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 - }, - "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": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "color-name": "~1.1.4" } }, - "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" - } + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" } } }, @@ -32774,23 +27810,11 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", + "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", "dev": true, - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } - } + "requires": {} }, "xhr": { "version": "2.6.0", @@ -32846,10 +27870,9 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "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 + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" }, "yallist": { "version": "4.0.0", @@ -32863,131 +27886,48 @@ "dev": true }, "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "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.2" - }, - "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 - }, - "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 - }, - "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" - } - }, - "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 - }, - "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-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" - } - }, - "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 - }, - "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": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" } }, "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==" + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" }, "yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, "requires": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" }, "dependencies": { - "flat": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", - "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", - "dev": true, - "requires": { - "is-buffer": "~2.0.3" - } + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true } } }, diff --git a/package.json b/package.json index f7668bb5..656de2c0 100644 --- a/package.json +++ b/package.json @@ -45,18 +45,16 @@ "@babel/plugin-transform-runtime": "^7.17.0", "@babel/preset-env": "^7.16.11", "@babel/runtime": "^7.17.8", - "autoprefixer": "^10.3.1", + "autoprefixer": "^10.4.4", "babel-loader": "^8.2.4", "babel-plugin-dynamic-import-node": "^2.3.3", "chromedriver": "^99.0.0", - "cli-progress": "^3.9.0", + "cli-progress": "^3.10.0", "colors": "^1.4.0", - "copy-webpack-plugin": "^9.0.1", + "copy-webpack-plugin": "^10.2.4", "core-js": "^3.21.1", - "css-loader": "5.2.7", - "eslint": "^8.11.0", - "exports-loader": "^3.0.0", - "file-loader": "^6.2.0", + "css-loader": "6.7.1", + "eslint": "^8.12.0", "grunt": "^1.4.1", "grunt-chmod": "~1.1.1", "grunt-concurrent": "^3.0.0", @@ -66,25 +64,23 @@ "grunt-contrib-watch": "^1.1.0", "grunt-eslint": "^24.0.0", "grunt-exec": "~3.0.0", - "grunt-webpack": "^4.0.3", + "grunt-webpack": "^5.0.0", "grunt-zip": "^0.18.2", - "html-webpack-plugin": "^5.3.2", - "imports-loader": "^3.0.0", - "mini-css-extract-plugin": "1.3.7", - "nightwatch": "^1.7.8", - "postcss": "^8.3.6", + "html-webpack-plugin": "^5.5.0", + "imports-loader": "^3.1.1", + "mini-css-extract-plugin": "2.6.0", + "nightwatch": "^2.0.10", + "postcss": "^8.4.12", "postcss-css-variables": "^0.18.0", - "postcss-import": "^14.0.2", - "postcss-loader": "^6.1.1", - "prompt": "^1.1.0", - "sass-loader": "^12.1.0", - "sitemap": "^7.0.0", - "style-loader": "^3.2.1", - "svg-url-loader": "^7.1.1", - "url-loader": "^4.1.1", + "postcss-import": "^14.1.0", + "postcss-loader": "^6.2.1", + "prompt": "^1.2.2", + "sass-loader": "^12.6.0", + "sitemap": "^7.1.1", + "terser": "^5.12.1", "webpack": "^5.70.0", - "webpack-bundle-analyzer": "^4.4.2", - "webpack-dev-server": "3.11.2", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "4.7.4", "webpack-node-externals": "^3.0.0", "worker-loader": "^3.0.8" }, @@ -94,22 +90,22 @@ "avsc": "^5.7.3", "babel-plugin-transform-builtin-extend": "1.1.2", "bcryptjs": "^2.4.3", - "bignumber.js": "^9.0.1", - "blakejs": "^1.1.1", - "bootstrap": "4.6.0", + "bignumber.js": "^9.0.2", + "blakejs": "^1.2.1", + "bootstrap": "4.6.1", "bootstrap-colorpicker": "^3.4.0", "bootstrap-material-design": "^4.1.3", "browserify-zlib": "^0.2.0", - "bson": "^4.4.1", + "bson": "^4.6.2", "buffer": "^6.0.3", - "cbor": "5.0.1", + "cbor": "8.1.0", "chi-squared": "^1.1.0", "codepage": "^1.15.0", "crypto-api": "^0.8.5", "crypto-browserify": "^3.12.0", "crypto-js": "^4.1.1", "ctph.js": "0.0.5", - "d3": "6.5.0", + "d3": "7.3.0", "d3-hexbin": "^0.2.2", "diff": "^5.0.0", "es6-promisify": "^7.0.0", @@ -119,7 +115,7 @@ "file-saver": "^2.0.5", "flat": "^5.0.2", "geodesy": "1.1.3", - "highlight.js": "^11.2.0", + "highlight.js": "^11.5.0", "jimp": "^0.16.1", "jquery": "3.6.0", "js-crc": "^0.2.0", @@ -128,18 +124,18 @@ "jsonpath": "^1.1.1", "jsonwebtoken": "^8.5.1", "jsqr": "^1.4.0", - "jsrsasign": "^10.4.0", + "jsrsasign": "^10.5.14", "kbpgp": "2.1.15", "libbzip2-wasm": "0.0.4", "libyara-wasm": "^1.1.0", "lodash": "^4.17.21", - "loglevel": "^1.7.1", + "loglevel": "^1.8.0", "loglevel-message-prefix": "^3.0.0", "markdown-it": "^12.3.2", "moment": "^2.29.1", - "moment-timezone": "^0.5.33", + "moment-timezone": "^0.5.34", "ngeohash": "^0.6.3", - "node-forge": "^0.10.0", + "node-forge": "^1.3.0", "node-md6": "^0.1.0", "node-sass": "^7.0.1", "nodom": "^2.4.0", @@ -153,13 +149,12 @@ "qr-image": "^3.2.0", "scryptsy": "^2.1.0", "snackbarjs": "^1.1.0", - "sortablejs": "^1.14.0", - "split.js": "^1.6.4", + "sortablejs": "^1.15.0", + "split.js": "^1.6.5", "ssdeep.js": "0.0.3", "stream-browserify": "^3.0.0", - "terser": "^5.7.1", "tesseract.js": "2.1.5", - "ua-parser-js": "^0.7.28", + "ua-parser-js": "^1.0.2", "unorm": "^1.6.0", "utf8": "^3.0.0", "vkbeautify": "^0.99.3", @@ -173,7 +168,7 @@ "build": "npx grunt prod", "repl": "node --experimental-modules --experimental-json-modules --experimental-specifier-resolution=node --no-warnings src/node/repl.mjs", "test": "npx grunt configTests && node --experimental-modules --experimental-json-modules --no-warnings --no-deprecation tests/node/index.mjs && node --experimental-modules --experimental-json-modules --no-warnings --no-deprecation tests/operations/index.mjs", - "test-node-consumer": "npx grunt testnodeconsumer", + "testnodeconsumer": "npx grunt testnodeconsumer", "testui": "npx grunt testui", "testuidev": "npx nightwatch --env=dev", "lint": "npx grunt lint", diff --git a/src/web/html/index.html b/src/web/html/index.html index ce8bdfed..8a7adac7 100755 --- a/src/web/html/index.html +++ b/src/web/html/index.html @@ -29,7 +29,7 @@ - + `; diff --git a/src/web/Manager.mjs b/src/web/Manager.mjs index e1e07dfd..08a35d75 100755 --- a/src/web/Manager.mjs +++ b/src/web/Manager.mjs @@ -146,8 +146,7 @@ class Manager { this.addDynamicListener("textarea.arg", "drop", this.recipe.textArgDrop, this.recipe); // Input - this.addMultiEventListener("#input-text", "keyup", this.input.debounceInputChange, this.input); - this.addMultiEventListener("#input-text", "paste", this.input.inputPaste, this.input); + document.getElementById("input-text").addEventListener("keyup", this.input.debounceInputChange.bind(this.input)); document.getElementById("reset-layout").addEventListener("click", this.app.resetLayout.bind(this.app)); this.addListeners("#clr-io,#btn-close-all-tabs", "click", this.input.clearAllIoClick, this.input); this.addListeners("#open-file,#open-folder", "change", this.input.inputOpen, this.input); @@ -179,6 +178,7 @@ class Manager { this.addDynamicListener(".input-filter-result", "click", this.input.filterItemClick, this.input); document.getElementById("btn-open-file").addEventListener("click", this.input.inputOpenClick.bind(this.input)); document.getElementById("btn-open-folder").addEventListener("click", this.input.folderOpenClick.bind(this.input)); + this.addDynamicListener(".eol-select a", "click", this.input.eolSelectClick, this.input); // Output diff --git a/src/web/extensions/statusBar.mjs b/src/web/extensions/statusBar.mjs new file mode 100644 index 00000000..8a837a51 --- /dev/null +++ b/src/web/extensions/statusBar.mjs @@ -0,0 +1,190 @@ +/** + * A Status bar extension for CodeMirror + * + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2022 + * @license Apache-2.0 + */ + +import {showPanel} from "@codemirror/view"; + +/** + * Counts the stats of a document + * @param {element} el + * @param {Text} doc + */ +function updateStats(el, doc) { + const length = el.querySelector("#stats-length-value"), + lines = el.querySelector("#stats-lines-value"); + length.textContent = doc.length; + lines.textContent = doc.lines; +} + +/** + * Gets the current selection info + * @param {element} el + * @param {EditorState} state + * @param {boolean} selectionSet + */ +function updateSelection(el, state, selectionSet) { + const selLen = state.selection && state.selection.main ? + state.selection.main.to - state.selection.main.from : + 0; + + const selInfo = el.querySelector("#sel-info"), + curOffsetInfo = el.querySelector("#cur-offset-info"); + + if (!selectionSet) { + selInfo.style.display = "none"; + curOffsetInfo.style.display = "none"; + return; + } + + if (selLen > 0) { // Range + const start = el.querySelector("#sel-start-value"), + end = el.querySelector("#sel-end-value"), + length = el.querySelector("#sel-length-value"); + + selInfo.style.display = "inline-block"; + curOffsetInfo.style.display = "none"; + + start.textContent = state.selection.main.from; + end.textContent = state.selection.main.to; + length.textContent = state.selection.main.to - state.selection.main.from; + } else { // Position + const offset = el.querySelector("#cur-offset-value"); + + selInfo.style.display = "none"; + curOffsetInfo.style.display = "inline-block"; + + offset.textContent = state.selection.main.from; + } +} + +/** + * Gets the current character encoding of the document + * @param {element} el + * @param {EditorState} state + */ +function updateCharEnc(el, state) { + // const charenc = el.querySelector("#char-enc-value"); + // TODO + // charenc.textContent = "TODO"; +} + +/** + * Returns what the current EOL separator is set to + * @param {element} el + * @param {EditorState} state + */ +function updateEOL(el, state) { + const eolLookup = { + "\u000a": "LF", + "\u000b": "VT", + "\u000c": "FF", + "\u000d": "CR", + "\u000d\u000a": "CRLF", + "\u0085": "NEL", + "\u2028": "LS", + "\u2029": "PS" + }; + + const val = el.querySelector("#eol-value"); + val.textContent = eolLookup[state.lineBreak]; +} + +/** + * Builds the Left-hand-side widgets + * @returns {string} + */ +function constructLHS() { + return ` + abc + + + + sort + + + + + highlight_alt + \u279E + ( selected) + + + location_on + + `; +} + +/** + * Builds the Right-hand-side widgets + * Event listener set up in Manager + * @returns {string} + */ +function constructRHS() { + return ` + language + UTF-16 + + + `; +} + +/** + * A panel constructor building a panel that re-counts the stats every time the document changes. + * @param {EditorView} view + * @returns {Panel} + */ +function wordCountPanel(view) { + const dom = document.createElement("div"); + const lhs = document.createElement("div"); + const rhs = document.createElement("div"); + + dom.className = "cm-status-bar"; + lhs.innerHTML = constructLHS(); + rhs.innerHTML = constructRHS(); + + dom.appendChild(lhs); + dom.appendChild(rhs); + + updateEOL(rhs, view.state); + updateCharEnc(rhs, view.state); + updateStats(lhs, view.state.doc); + updateSelection(lhs, view.state, false); + + return { + dom, + update(update) { + updateEOL(rhs, update.state); + updateSelection(lhs, update.state, update.selectionSet); + updateCharEnc(rhs, update.state); + if (update.docChanged) { + updateStats(lhs, update.state.doc); + } + } + }; +} + +/** + * A function that build the extension that enables the panel in an editor. + * @returns {Extension} + */ +export function statusBar() { + return showPanel.of(wordCountPanel); +} diff --git a/src/web/html/index.html b/src/web/html/index.html index d222fee1..3d237bdd 100755 --- a/src/web/html/index.html +++ b/src/web/html/index.html @@ -219,8 +219,6 @@
-
-
@@ -267,7 +265,7 @@
- +
diff --git a/src/web/static/fonts/MaterialIcons-Regular.ttf b/src/web/static/fonts/MaterialIcons-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..54938737932514a89614069b081163cb34826768 GIT binary patch literal 354228 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

>*gmXw_*^lG!e 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›X6oq95 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 literal 0 HcmV?d00001 diff --git a/src/web/static/fonts/MaterialIcons-Regular.woff2 b/src/web/static/fonts/MaterialIcons-Regular.woff2 deleted file mode 100644 index 9fa211252080046a23b2449dbdced6abc2b0bb34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44300 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 QW8}wPUeo^@jR61v08@RD2LJ#7 diff --git a/src/web/stylesheets/layout/_io.css b/src/web/stylesheets/layout/_io.css index 7811144a..625b81f7 100755 --- a/src/web/stylesheets/layout/_io.css +++ b/src/web/stylesheets/layout/_io.css @@ -6,7 +6,24 @@ * @license Apache-2.0 */ -#input-text, +#input-text { + position: relative; + width: 100%; + height: 100%; + margin: 0; + background-color: transparent; +} + +.cm-editor { + height: 100%; +} + +.cm-editor .cm-content { + font-family: var(--fixed-width-font-family); + font-size: var(--fixed-width-font-size); + color: var(--fixed-width-font-colour); +} + #output-text, #output-html { position: relative; @@ -163,14 +180,14 @@ #input-wrapper, #output-wrapper, -#input-wrapper > * , +#input-wrapper > :not(#input-text), #output-wrapper > .textarea-wrapper > div, #output-wrapper > .textarea-wrapper > textarea { height: calc(100% - var(--title-height)); } #input-wrapper.show-tabs, -#input-wrapper.show-tabs > *, +#input-wrapper.show-tabs > :not(#input-text), #output-wrapper.show-tabs, #output-wrapper.show-tabs > .textarea-wrapper > div, #output-wrapper.show-tabs > .textarea-wrapper > textarea { @@ -193,7 +210,9 @@ } .textarea-wrapper textarea, -.textarea-wrapper>div { +.textarea-wrapper #output-text, +.textarea-wrapper #output-html, +.textarea-wrapper #output-highlighter { font-family: var(--fixed-width-font-family); font-size: var(--fixed-width-font-size); color: var(--fixed-width-font-colour); @@ -292,10 +311,6 @@ align-items: center; } -#input-info { - line-height: 15px; -} - .dropping-file { border: 5px dashed var(--drop-file-border-colour) !important; } @@ -458,3 +473,73 @@ cursor: pointer; filter: brightness(98%); } + + +/* Status bar */ + +.cm-status-bar { + font-family: var(--fixed-width-font-family); + font-weight: normal; + font-size: 8pt; + margin: 0 5px; + display: flex; + flex-flow: row nowrap; + justify-content: space-between; + align-items: center; +} + +.cm-status-bar i { + font-size: 12pt; + vertical-align: middle; + margin-left: 8px; +} +.cm-status-bar>div>span:first-child i { + margin-left: 0; +} + +/* Dropup Button */ +.cm-status-bar-select-btn { + border: none; + cursor: pointer; +} + +/* The container

- needed to position the dropup content */ +.cm-status-bar-select { + position: relative; + display: inline-block; +} + +/* Dropup content (Hidden by Default) */ +.cm-status-bar-select-content { + display: none; + position: absolute; + bottom: 20px; + right: 0; + background-color: #f1f1f1; + min-width: 200px; + box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2); + z-index: 1; +} + +/* Links inside the dropup */ +.cm-status-bar-select-content a { + color: black; + padding: 2px 5px; + text-decoration: none; + display: block; +} + +/* Change color of dropup links on hover */ +.cm-status-bar-select-content a:hover { + background-color: #ddd +} + +/* Show the dropup menu on hover */ +.cm-status-bar-select:hover .cm-status-bar-select-content { + display: block; +} + +/* Change the background color of the dropup button when the dropup content is shown */ +.cm-status-bar-select:hover .cm-status-bar-select-btn { + background-color: #f1f1f1; +} diff --git a/src/web/stylesheets/utils/_overrides.css b/src/web/stylesheets/utils/_overrides.css index c06d3b8c..fa216836 100755 --- a/src/web/stylesheets/utils/_overrides.css +++ b/src/web/stylesheets/utils/_overrides.css @@ -13,7 +13,7 @@ font-family: 'Material Icons'; font-style: normal; font-weight: 400; - src: url("../static/fonts/MaterialIcons-Regular.woff2") format('woff2'); + src: url("../static/fonts/MaterialIcons-Regular.ttf") format('truetype'); } .material-icons { diff --git a/src/web/waiters/ControlsWaiter.mjs b/src/web/waiters/ControlsWaiter.mjs index 5a9533f5..426107bb 100755 --- a/src/web/waiters/ControlsWaiter.mjs +++ b/src/web/waiters/ControlsWaiter.mjs @@ -140,7 +140,7 @@ class ControlsWaiter { const params = [ includeRecipe ? ["recipe", recipeStr] : undefined, - includeInput ? ["input", Utils.escapeHtml(input)] : undefined, + includeInput && input.length ? ["input", Utils.escapeHtml(input)] : undefined, ]; const hash = params diff --git a/src/web/waiters/HighlighterWaiter.mjs b/src/web/waiters/HighlighterWaiter.mjs index 664daef8..9f83b55c 100755 --- a/src/web/waiters/HighlighterWaiter.mjs +++ b/src/web/waiters/HighlighterWaiter.mjs @@ -155,12 +155,11 @@ class HighlighterWaiter { this.mouseTarget = INPUT; this.removeHighlights(); - const el = e.target; - const start = el.selectionStart; - const end = el.selectionEnd; + const sel = document.getSelection(); + const start = sel.baseOffset; + const end = sel.extentOffset; if (start !== 0 || end !== 0) { - document.getElementById("input-selection-info").innerHTML = this.selectionInfo(start, end); this.highlightOutput([{start: start, end: end}]); } } @@ -248,12 +247,11 @@ class HighlighterWaiter { this.mouseTarget !== INPUT) return; - const el = e.target; - const start = el.selectionStart; - const end = el.selectionEnd; + const sel = document.getSelection(); + const start = sel.baseOffset; + const end = sel.extentOffset; if (start !== 0 || end !== 0) { - document.getElementById("input-selection-info").innerHTML = this.selectionInfo(start, end); this.highlightOutput([{start: start, end: end}]); } } @@ -328,7 +326,6 @@ class HighlighterWaiter { removeHighlights() { document.getElementById("input-highlighter").innerHTML = ""; document.getElementById("output-highlighter").innerHTML = ""; - document.getElementById("input-selection-info").innerHTML = ""; document.getElementById("output-selection-info").innerHTML = ""; } diff --git a/src/web/waiters/InputWaiter.mjs b/src/web/waiters/InputWaiter.mjs index b421d8d8..e8e71b12 100644 --- a/src/web/waiters/InputWaiter.mjs +++ b/src/web/waiters/InputWaiter.mjs @@ -7,9 +7,19 @@ import LoaderWorker from "worker-loader?inline=no-fallback!../workers/LoaderWorker.js"; import InputWorker from "worker-loader?inline=no-fallback!../workers/InputWorker.mjs"; -import Utils, { debounce } from "../../core/Utils.mjs"; -import { toBase64 } from "../../core/lib/Base64.mjs"; -import { isImage } from "../../core/lib/FileType.mjs"; +import Utils, {debounce} from "../../core/Utils.mjs"; +import {toBase64} from "../../core/lib/Base64.mjs"; +import {isImage} from "../../core/lib/FileType.mjs"; + +import { + EditorView, keymap, highlightSpecialChars, drawSelection, rectangularSelection, crosshairCursor +} from "@codemirror/view"; +import {EditorState, Compartment} from "@codemirror/state"; +import {defaultKeymap, insertTab, insertNewline, history, historyKeymap} from "@codemirror/commands"; +import {bracketMatching} from "@codemirror/language"; +import {search, searchKeymap, highlightSelectionMatches} from "@codemirror/search"; + +import {statusBar} from "../extensions/statusBar.mjs"; /** @@ -27,6 +37,9 @@ class InputWaiter { this.app = app; this.manager = manager; + this.inputTextEl = document.getElementById("input-text"); + this.initEditor(); + // Define keys that don't change the input so we don't have to autobake when they are pressed this.badKeys = [ 16, // Shift @@ -61,6 +74,135 @@ class InputWaiter { } } + /** + * Sets up the CodeMirror Editor and returns the view + */ + initEditor() { + this.inputEditorConf = { + eol: new Compartment, + lineWrapping: new Compartment + }; + + const initialState = EditorState.create({ + doc: null, + extensions: [ + history(), + highlightSpecialChars({render: this.renderSpecialChar}), + drawSelection(), + rectangularSelection(), + crosshairCursor(), + bracketMatching(), + highlightSelectionMatches(), + search({top: true}), + statusBar(this.inputEditorConf), + this.inputEditorConf.lineWrapping.of(EditorView.lineWrapping), + this.inputEditorConf.eol.of(EditorState.lineSeparator.of("\n")), + EditorState.allowMultipleSelections.of(true), + keymap.of([ + // Explicitly insert a tab rather than indenting the line + { key: "Tab", run: insertTab }, + // Explicitly insert a new line (using the current EOL char) rather + // than messing around with indenting, which does not respect EOL chars + { key: "Enter", run: insertNewline }, + ...historyKeymap, + ...defaultKeymap, + ...searchKeymap + ]), + ] + }); + + this.inputEditorView = new EditorView({ + state: initialState, + parent: this.inputTextEl + }); + } + + /** + * Override for rendering special characters. + * Should mirror the toDOM function in + * https://github.com/codemirror/view/blob/main/src/special-chars.ts#L150 + * But reverts the replacement of line feeds with newline control pictures. + * @param {number} code + * @param {string} desc + * @param {string} placeholder + * @returns {element} + */ + renderSpecialChar(code, desc, placeholder) { + const s = document.createElement("span"); + // CodeMirror changes 0x0a to "NL" instead of "LF". We change it back. + s.textContent = code === 0x0a ? "\u240a" : placeholder; + s.title = desc; + s.setAttribute("aria-label", desc); + s.className = "cm-specialChar"; + return s; + } + + /** + * Handler for EOL Select clicks + * Sets the line separator + * @param {Event} e + */ + eolSelectClick(e) { + e.preventDefault(); + + const eolLookup = { + "LF": "\u000a", + "VT": "\u000b", + "FF": "\u000c", + "CR": "\u000d", + "CRLF": "\u000d\u000a", + "NEL": "\u0085", + "LS": "\u2028", + "PS": "\u2029" + }; + const eolval = eolLookup[e.target.getAttribute("data-val")]; + const oldInputVal = this.getInput(); + + // Update the EOL value + this.inputEditorView.dispatch({ + effects: this.inputEditorConf.eol.reconfigure(EditorState.lineSeparator.of(eolval)) + }); + + // Reset the input so that lines are recalculated, preserving the old EOL values + this.setInput(oldInputVal); + } + + /** + * Sets word wrap on the input editor + * @param {boolean} wrap + */ + setWordWrap(wrap) { + this.inputEditorView.dispatch({ + effects: this.inputEditorConf.lineWrapping.reconfigure( + wrap ? EditorView.lineWrapping : [] + ) + }); + } + + /** + * Gets the value of the current input + * @returns {string} + */ + getInput() { + const doc = this.inputEditorView.state.doc; + const eol = this.inputEditorView.state.lineBreak; + return doc.sliceString(0, doc.length, eol); + } + + /** + * Sets the value of the current input + * @param {string} data + */ + setInput(data) { + this.inputEditorView.dispatch({ + changes: { + from: 0, + to: this.inputEditorView.state.doc.length, + insert: data + } + }); + } + /** * Calculates the maximum number of tabs to display */ @@ -339,10 +481,8 @@ class InputWaiter { const activeTab = this.manager.tabs.getActiveInputTab(); if (inputData.inputNum !== activeTab) return; - const inputText = document.getElementById("input-text"); - if (typeof inputData.input === "string") { - inputText.value = inputData.input; + this.setInput(inputData.input); const fileOverlay = document.getElementById("input-file"), fileName = document.getElementById("input-file-name"), fileSize = document.getElementById("input-file-size"), @@ -355,17 +495,11 @@ class InputWaiter { fileType.textContent = ""; fileLoaded.textContent = ""; - inputText.style.overflow = "auto"; - inputText.classList.remove("blur"); - inputText.scroll(0, 0); - - const lines = inputData.input.length < (this.app.options.ioDisplayThreshold * 1024) ? - inputData.input.count("\n") + 1 : null; - this.setInputInfo(inputData.input.length, lines); + this.inputTextEl.classList.remove("blur"); // Set URL to current input const inputStr = toBase64(inputData.input, "A-Za-z0-9+/"); - if (inputStr.length > 0 && inputStr.length <= 68267) { + if (inputStr.length >= 0 && inputStr.length <= 68267) { this.setUrl({ includeInput: true, input: inputStr @@ -414,7 +548,6 @@ class InputWaiter { fileLoaded.textContent = inputData.progress + "%"; } - this.setInputInfo(inputData.size, null); this.displayFilePreview(inputData); if (!silent) window.dispatchEvent(this.manager.statechange); @@ -488,12 +621,10 @@ class InputWaiter { */ displayFilePreview(inputData) { const activeTab = this.manager.tabs.getActiveInputTab(), - input = inputData.input, - inputText = document.getElementById("input-text"); + input = inputData.input; if (inputData.inputNum !== activeTab) return; - inputText.style.overflow = "hidden"; - inputText.classList.add("blur"); - inputText.value = Utils.printable(Utils.arrayBufferToStr(input.slice(0, 4096))); + this.inputTextEl.classList.add("blur"); + this.setInput(Utils.arrayBufferToStr(input.slice(0, 4096))); this.renderFileThumb(); @@ -576,7 +707,7 @@ class InputWaiter { */ async getInputValue(inputNum) { return await new Promise(resolve => { - this.getInput(inputNum, false, r => { + this.getInputFromWorker(inputNum, false, r => { resolve(r.data); }); }); @@ -590,7 +721,7 @@ class InputWaiter { */ async getInputObj(inputNum) { return await new Promise(resolve => { - this.getInput(inputNum, true, r => { + this.getInputFromWorker(inputNum, true, r => { resolve(r.data); }); }); @@ -604,7 +735,7 @@ class InputWaiter { * @param {Function} callback - The callback to execute when the input is returned * @returns {ArrayBuffer | string | object} */ - getInput(inputNum, getObj, callback) { + getInputFromWorker(inputNum, getObj, callback) { const id = this.callbackID++; this.callbacks[id] = callback; @@ -647,29 +778,6 @@ class InputWaiter { }); } - - /** - * Displays information about the input. - * - * @param {number} length - The length of the current input string - * @param {number} lines - The number of the lines in the current input string - */ - setInputInfo(length, lines) { - let width = length.toString().length.toLocaleString(); - width = width < 2 ? 2 : width; - - const lengthStr = length.toString().padStart(width, " ").replace(/ /g, " "); - let msg = "length: " + lengthStr; - - if (typeof lines === "number") { - const linesStr = lines.toString().padStart(width, " ").replace(/ /g, " "); - msg += "
lines: " + linesStr; - } - - document.getElementById("input-info").innerHTML = msg; - - } - /** * Handler for input change events. * Debounces the input so we don't call autobake too often. @@ -696,17 +804,13 @@ class InputWaiter { // Remove highlighting from input and output panes as the offsets might be different now this.manager.highlighter.removeHighlights(); - const textArea = document.getElementById("input-text"); - const value = (textArea.value !== undefined) ? textArea.value : ""; + const value = this.getInput(); const activeTab = this.manager.tabs.getActiveInputTab(); this.app.progress = 0; - const lines = value.length < (this.app.options.ioDisplayThreshold * 1024) ? - (value.count("\n") + 1) : null; - this.setInputInfo(value.length, lines); this.updateInputValue(activeTab, value); - this.manager.tabs.updateInputTabHeader(activeTab, value.replace(/[\n\r]/g, "").slice(0, 100)); + this.manager.tabs.updateInputTabHeader(activeTab, value.slice(0, 100).replace(/[\n\r]/g, "")); if (e && this.badKeys.indexOf(e.keyCode) < 0) { // Fire the statechange event as the input has been modified @@ -714,62 +818,6 @@ class InputWaiter { } } - /** - * Handler for input paste events - * Checks that the size of the input is below the display limit, otherwise treats it as a file/blob - * - * @param {event} e - */ - async inputPaste(e) { - e.preventDefault(); - e.stopPropagation(); - - const self = this; - /** - * Triggers the input file/binary data overlay - * - * @param {string} pastedData - */ - function triggerOverlay(pastedData) { - const file = new File([pastedData], "PastedData", { - type: "text/plain", - lastModified: Date.now() - }); - - self.loadUIFiles([file]); - } - - const pastedData = e.clipboardData.getData("Text"); - const inputText = document.getElementById("input-text"); - const selStart = inputText.selectionStart; - const selEnd = inputText.selectionEnd; - const startVal = inputText.value.slice(0, selStart); - const endVal = inputText.value.slice(selEnd); - const val = startVal + pastedData + endVal; - - if (val.length >= (this.app.options.ioDisplayThreshold * 1024)) { - // Data too large to display, use overlay - triggerOverlay(val); - return false; - } else if (await this.preserveCarriageReturns(val)) { - // Data contains a carriage return and the user doesn't wish to edit it, use overlay - // We check this in a separate condition to make sure it is not run unless absolutely - // necessary. - triggerOverlay(val); - return false; - } else { - // Pasting normally fires the inputChange() event before - // changing the value, so instead change it here ourselves - // and manually fire inputChange() - inputText.value = val; - inputText.setSelectionRange(selStart + pastedData.length, selStart + pastedData.length); - // Don't debounce here otherwise the keyup event for the Ctrl key will cancel an autobake - // (at least for large inputs) - this.inputChange(e, true); - } - } - - /** * Handler for input dragover events. * Gives the user a visual cue to show that items can be dropped here. @@ -818,7 +866,7 @@ class InputWaiter { if (text) { // Append the text to the current input and fire inputChange() - document.getElementById("input-text").value += text; + this.setInput(this.getInput() + text); this.inputChange(e); return; } @@ -843,44 +891,6 @@ class InputWaiter { } } - /** - * Checks if an input contains carriage returns. - * If a CR is detected, checks if the preserve CR option has been set, - * and if not, asks the user for their preference. - * - * @param {string} input - The input to be checked - * @returns {boolean} - If true, the input contains a CR which should be - * preserved, so display an overlay so it can't be edited - */ - async preserveCarriageReturns(input) { - if (input.indexOf("\r") < 0) return false; - - const optionsStr = "This behaviour can be changed in the
Options pane"; - const preserveStr = `A carriage return (\\r, 0x0d) was detected in your input. To preserve it, editing has been disabled.
${optionsStr}`; - const dontPreserveStr = `A carriage return (\\r, 0x0d) was detected in your input. It has not been preserved.
${optionsStr}`; - - switch (this.app.options.preserveCR) { - case "always": - this.app.alert(preserveStr, 6000); - return true; - case "never": - this.app.alert(dontPreserveStr, 6000); - return false; - } - - // Only preserve for high-entropy inputs - const data = Utils.strToArrayBuffer(input); - const entropy = Utils.calculateShannonEntropy(data); - - if (entropy > 6) { - this.app.alert(preserveStr, 6000); - return true; - } - - this.app.alert(dontPreserveStr, 6000); - return false; - } - /** * Load files from the UI into the inputWorker * @@ -1080,6 +1090,9 @@ class InputWaiter { this.manager.worker.setupChefWorker(); this.addInput(true); this.bakeAll(); + + // Fire the statechange event as the input has been modified + window.dispatchEvent(this.manager.statechange); } /** diff --git a/src/web/waiters/OptionsWaiter.mjs b/src/web/waiters/OptionsWaiter.mjs index 5ef517d4..52b81ab4 100755 --- a/src/web/waiters/OptionsWaiter.mjs +++ b/src/web/waiters/OptionsWaiter.mjs @@ -53,6 +53,9 @@ class OptionsWaiter { selects[i].selectedIndex = 0; } } + + // Initialise options + this.setWordWrap(); } @@ -136,14 +139,13 @@ class OptionsWaiter { * Sets or unsets word wrap on the input and output depending on the wordWrap option value. */ setWordWrap() { - document.getElementById("input-text").classList.remove("word-wrap"); + this.manager.input.setWordWrap(this.app.options.wordWrap); document.getElementById("output-text").classList.remove("word-wrap"); document.getElementById("output-html").classList.remove("word-wrap"); document.getElementById("input-highlighter").classList.remove("word-wrap"); document.getElementById("output-highlighter").classList.remove("word-wrap"); if (!this.app.options.wordWrap) { - document.getElementById("input-text").classList.add("word-wrap"); document.getElementById("output-text").classList.add("word-wrap"); document.getElementById("output-html").classList.add("word-wrap"); document.getElementById("input-highlighter").classList.add("word-wrap"); diff --git a/src/web/waiters/OutputWaiter.mjs b/src/web/waiters/OutputWaiter.mjs index 0eb6baec..8996edb0 100755 --- a/src/web/waiters/OutputWaiter.mjs +++ b/src/web/waiters/OutputWaiter.mjs @@ -1019,7 +1019,6 @@ class OutputWaiter { } document.getElementById("output-info").innerHTML = msg; - document.getElementById("input-selection-info").innerHTML = ""; document.getElementById("output-selection-info").innerHTML = ""; } @@ -1292,9 +1291,7 @@ class OutputWaiter { if (this.outputs[activeTab].data.type === "string" && active.byteLength <= this.app.options.ioDisplayThreshold * 1024) { const dishString = await this.getDishStr(this.getOutputDish(activeTab)); - if (!await this.manager.input.preserveCarriageReturns(dishString)) { - active = dishString; - } + active = dishString; } else { transferable.push(active); } diff --git a/tests/browser/nightwatch.js b/tests/browser/nightwatch.js index 41aff9b2..ba6f5204 100644 --- a/tests/browser/nightwatch.js +++ b/tests/browser/nightwatch.js @@ -82,7 +82,7 @@ module.exports = { // Enter input browser .useCss() - .setValue("#input-text", "Don't Panic.") + .setValue("#input-text", "Don't Panic.") // TODO .pause(1000) .click("#bake"); diff --git a/tests/browser/ops.js b/tests/browser/ops.js index bb18dc5d..d0933bb6 100644 --- a/tests/browser/ops.js +++ b/tests/browser/ops.js @@ -409,16 +409,16 @@ function bakeOp(browser, opName, input, args=[]) { .click("#clr-recipe") .click("#clr-io") .waitForElementNotPresent("#rec-list li.operation") - .expect.element("#input-text").to.have.property("value").that.equals(""); + .expect.element("#input-text").to.have.property("value").that.equals(""); // TODO browser .perform(function() { console.log(`Current test: ${opName}`); }) .urlHash("recipe=" + recipeConfig) - .setValue("#input-text", input) + .setValue("#input-text", input) // TODO .waitForElementPresent("#rec-list li.operation") - .expect.element("#input-text").to.have.property("value").that.equals(input); + .expect.element("#input-text").to.have.property("value").that.equals(input); // TODO browser .waitForElementVisible("#stale-indicator", 5000) From bc949b47d918fd77142c7fd22c086f5795d1a522 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 1 Jul 2022 12:01:48 +0100 Subject: [PATCH 367/754] Improved Controls CSS --- src/web/App.mjs | 1 + src/web/stylesheets/layout/_controls.css | 16 +++++----------- src/web/stylesheets/layout/_recipe.css | 1 - src/web/waiters/ControlsWaiter.mjs | 11 +++++++++++ 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/web/App.mjs b/src/web/App.mjs index 9d4813e0..2d45d1f1 100755 --- a/src/web/App.mjs +++ b/src/web/App.mjs @@ -589,6 +589,7 @@ class App { this.manager.recipe.adjustWidth(); this.manager.input.calcMaxTabs(); this.manager.output.calcMaxTabs(); + this.manager.controls.calcControlsHeight(); } diff --git a/src/web/stylesheets/layout/_controls.css b/src/web/stylesheets/layout/_controls.css index c410704b..1edc41b5 100755 --- a/src/web/stylesheets/layout/_controls.css +++ b/src/web/stylesheets/layout/_controls.css @@ -6,27 +6,20 @@ * @license Apache-2.0 */ -:root { - --controls-height: 75px; -} - #controls { position: absolute; width: 100%; - height: var(--controls-height); bottom: 0; - padding: 0; - padding-top: 12px; + padding: 10px 0; border-top: 1px solid var(--primary-border-colour); background-color: var(--secondary-background-colour); } #controls-content { position: relative; - left: 50%; - top: 50%; - transform: translate(-50%, -50%); - transform-origin: center left; + display: flex; + flex-flow: row nowrap; + align-items: center; } #auto-bake-label { @@ -56,6 +49,7 @@ #controls .btn { border-radius: 30px; + margin: 0; } .output-maximised .hide-on-maximised-output { diff --git a/src/web/stylesheets/layout/_recipe.css b/src/web/stylesheets/layout/_recipe.css index bd70d10f..339da074 100755 --- a/src/web/stylesheets/layout/_recipe.css +++ b/src/web/stylesheets/layout/_recipe.css @@ -7,7 +7,6 @@ */ #rec-list { - bottom: var(--controls-height); overflow: auto; } diff --git a/src/web/waiters/ControlsWaiter.mjs b/src/web/waiters/ControlsWaiter.mjs index 426107bb..2879089a 100755 --- a/src/web/waiters/ControlsWaiter.mjs +++ b/src/web/waiters/ControlsWaiter.mjs @@ -410,6 +410,17 @@ ${navigator.userAgent} } } + /** + * Calculates the height of the controls area and adjusts the recipe + * height accordingly. + */ + calcControlsHeight() { + const controls = document.getElementById("controls"), + recList = document.getElementById("rec-list"); + + recList.style.bottom = controls.clientHeight + "px"; + } + } export default ControlsWaiter; From 68733c74cc5dd5067d750c28e32708e9e7a280a0 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Sat, 2 Jul 2022 19:23:03 +0100 Subject: [PATCH 368/754] Output now uses CodeMirror editor --- src/core/Utils.mjs | 2 +- src/web/Manager.mjs | 4 - src/web/extensions/statusBar.mjs | 190 ----------------- src/web/html/index.html | 7 +- src/web/stylesheets/layout/_io.css | 48 +---- src/web/utils/editorUtils.mjs | 28 +++ src/web/utils/htmlWidget.mjs | 87 ++++++++ src/web/utils/statusBar.mjs | 271 ++++++++++++++++++++++++ src/web/waiters/HighlighterWaiter.mjs | 173 ++++++---------- src/web/waiters/InputWaiter.mjs | 48 +---- src/web/waiters/OptionsWaiter.mjs | 5 +- src/web/waiters/OutputWaiter.mjs | 285 +++++++++++++++++--------- tests/browser/nightwatch.js | 4 +- tests/browser/ops.js | 8 +- 14 files changed, 665 insertions(+), 495 deletions(-) delete mode 100644 src/web/extensions/statusBar.mjs create mode 100644 src/web/utils/editorUtils.mjs create mode 100644 src/web/utils/htmlWidget.mjs create mode 100644 src/web/utils/statusBar.mjs diff --git a/src/core/Utils.mjs b/src/core/Utils.mjs index 66a98c36..5f36cae9 100755 --- a/src/core/Utils.mjs +++ b/src/core/Utils.mjs @@ -424,7 +424,7 @@ class Utils { const utf8Str = utf8.encode(str); if (str.length !== utf8Str.length) { - if (isWorkerEnvironment()) { + if (isWorkerEnvironment() && self && typeof self.setOption === "function") { self.setOption("attemptHighlight", false); } else if (isWebEnvironment()) { window.app.options.attemptHighlight = false; diff --git a/src/web/Manager.mjs b/src/web/Manager.mjs index 08a35d75..2477bb60 100755 --- a/src/web/Manager.mjs +++ b/src/web/Manager.mjs @@ -178,7 +178,6 @@ class Manager { this.addDynamicListener(".input-filter-result", "click", this.input.filterItemClick, this.input); document.getElementById("btn-open-file").addEventListener("click", this.input.inputOpenClick.bind(this.input)); document.getElementById("btn-open-folder").addEventListener("click", this.input.folderOpenClick.bind(this.input)); - this.addDynamicListener(".eol-select a", "click", this.input.eolSelectClick, this.input); // Output @@ -192,10 +191,7 @@ class Manager { document.getElementById("output-text").addEventListener("scroll", this.highlighter.outputScroll.bind(this.highlighter)); document.getElementById("output-text").addEventListener("mouseup", this.highlighter.outputMouseup.bind(this.highlighter)); document.getElementById("output-text").addEventListener("mousemove", this.highlighter.outputMousemove.bind(this.highlighter)); - document.getElementById("output-html").addEventListener("mouseup", this.highlighter.outputHtmlMouseup.bind(this.highlighter)); - document.getElementById("output-html").addEventListener("mousemove", this.highlighter.outputHtmlMousemove.bind(this.highlighter)); this.addMultiEventListener("#output-text", "mousedown dblclick select", this.highlighter.outputMousedown, this.highlighter); - this.addMultiEventListener("#output-html", "mousedown dblclick select", this.highlighter.outputHtmlMousedown, this.highlighter); this.addDynamicListener("#output-file-download", "click", this.output.downloadFile, this.output); this.addDynamicListener("#output-file-show-all", "click", this.output.showAllFile, this.output); this.addDynamicListener("#output-file-slice i", "click", this.output.displayFileSlice, this.output); diff --git a/src/web/extensions/statusBar.mjs b/src/web/extensions/statusBar.mjs deleted file mode 100644 index 8a837a51..00000000 --- a/src/web/extensions/statusBar.mjs +++ /dev/null @@ -1,190 +0,0 @@ -/** - * A Status bar extension for CodeMirror - * - * @author n1474335 [n1474335@gmail.com] - * @copyright Crown Copyright 2022 - * @license Apache-2.0 - */ - -import {showPanel} from "@codemirror/view"; - -/** - * Counts the stats of a document - * @param {element} el - * @param {Text} doc - */ -function updateStats(el, doc) { - const length = el.querySelector("#stats-length-value"), - lines = el.querySelector("#stats-lines-value"); - length.textContent = doc.length; - lines.textContent = doc.lines; -} - -/** - * Gets the current selection info - * @param {element} el - * @param {EditorState} state - * @param {boolean} selectionSet - */ -function updateSelection(el, state, selectionSet) { - const selLen = state.selection && state.selection.main ? - state.selection.main.to - state.selection.main.from : - 0; - - const selInfo = el.querySelector("#sel-info"), - curOffsetInfo = el.querySelector("#cur-offset-info"); - - if (!selectionSet) { - selInfo.style.display = "none"; - curOffsetInfo.style.display = "none"; - return; - } - - if (selLen > 0) { // Range - const start = el.querySelector("#sel-start-value"), - end = el.querySelector("#sel-end-value"), - length = el.querySelector("#sel-length-value"); - - selInfo.style.display = "inline-block"; - curOffsetInfo.style.display = "none"; - - start.textContent = state.selection.main.from; - end.textContent = state.selection.main.to; - length.textContent = state.selection.main.to - state.selection.main.from; - } else { // Position - const offset = el.querySelector("#cur-offset-value"); - - selInfo.style.display = "none"; - curOffsetInfo.style.display = "inline-block"; - - offset.textContent = state.selection.main.from; - } -} - -/** - * Gets the current character encoding of the document - * @param {element} el - * @param {EditorState} state - */ -function updateCharEnc(el, state) { - // const charenc = el.querySelector("#char-enc-value"); - // TODO - // charenc.textContent = "TODO"; -} - -/** - * Returns what the current EOL separator is set to - * @param {element} el - * @param {EditorState} state - */ -function updateEOL(el, state) { - const eolLookup = { - "\u000a": "LF", - "\u000b": "VT", - "\u000c": "FF", - "\u000d": "CR", - "\u000d\u000a": "CRLF", - "\u0085": "NEL", - "\u2028": "LS", - "\u2029": "PS" - }; - - const val = el.querySelector("#eol-value"); - val.textContent = eolLookup[state.lineBreak]; -} - -/** - * Builds the Left-hand-side widgets - * @returns {string} - */ -function constructLHS() { - return ` - abc - - - - sort - - - - - highlight_alt - \u279E - ( selected) - - - location_on - - `; -} - -/** - * Builds the Right-hand-side widgets - * Event listener set up in Manager - * @returns {string} - */ -function constructRHS() { - return ` - language - UTF-16 - - - `; -} - -/** - * A panel constructor building a panel that re-counts the stats every time the document changes. - * @param {EditorView} view - * @returns {Panel} - */ -function wordCountPanel(view) { - const dom = document.createElement("div"); - const lhs = document.createElement("div"); - const rhs = document.createElement("div"); - - dom.className = "cm-status-bar"; - lhs.innerHTML = constructLHS(); - rhs.innerHTML = constructRHS(); - - dom.appendChild(lhs); - dom.appendChild(rhs); - - updateEOL(rhs, view.state); - updateCharEnc(rhs, view.state); - updateStats(lhs, view.state.doc); - updateSelection(lhs, view.state, false); - - return { - dom, - update(update) { - updateEOL(rhs, update.state); - updateSelection(lhs, update.state, update.selectionSet); - updateCharEnc(rhs, update.state); - if (update.docChanged) { - updateStats(lhs, update.state.doc); - } - } - }; -} - -/** - * A function that build the extension that enables the panel in an editor. - * @returns {Extension} - */ -export function statusBar() { - return showPanel.of(wordCountPanel); -} diff --git a/src/web/html/index.html b/src/web/html/index.html index 3d237bdd..3eb150e5 100755 --- a/src/web/html/index.html +++ b/src/web/html/index.html @@ -191,7 +191,7 @@
    -
    +
    @@ -289,8 +289,6 @@
    -
    -
    @@ -344,8 +342,7 @@
    -
    - +
    diff --git a/src/web/stylesheets/layout/_io.css b/src/web/stylesheets/layout/_io.css index 625b81f7..ba670f3d 100755 --- a/src/web/stylesheets/layout/_io.css +++ b/src/web/stylesheets/layout/_io.css @@ -6,7 +6,8 @@ * @license Apache-2.0 */ -#input-text { +#input-text, +#output-text { position: relative; width: 100%; height: 100%; @@ -24,23 +25,6 @@ color: var(--fixed-width-font-colour); } -#output-text, -#output-html { - position: relative; - width: 100%; - height: 100%; - margin: 0; - padding: 3px; - -moz-padding-start: 3px; - -moz-padding-end: 3px; - border: none; - border-width: 0px; - resize: none; - background-color: transparent; - white-space: pre-wrap; - word-wrap: break-word; -} - #output-wrapper{ margin: 0; padding: 0; @@ -54,13 +38,6 @@ pointer-events: auto; } - -#output-html { - display: none; - overflow-y: auto; - -moz-padding-start: 1px; /* Fixes bug in Firefox */ -} - #input-tabs-wrapper #input-tabs, #output-tabs-wrapper #output-tabs { list-style: none; @@ -179,25 +156,15 @@ } #input-wrapper, -#output-wrapper, -#input-wrapper > :not(#input-text), -#output-wrapper > .textarea-wrapper > div, -#output-wrapper > .textarea-wrapper > textarea { +#output-wrapper { height: calc(100% - var(--title-height)); } #input-wrapper.show-tabs, -#input-wrapper.show-tabs > :not(#input-text), -#output-wrapper.show-tabs, -#output-wrapper.show-tabs > .textarea-wrapper > div, -#output-wrapper.show-tabs > .textarea-wrapper > textarea { +#output-wrapper.show-tabs { height: calc(100% - var(--tab-height) - var(--title-height)); } -#output-wrapper > .textarea-wrapper > #output-html { - height: 100%; -} - #show-file-overlay { height: 32px; } @@ -211,7 +178,6 @@ .textarea-wrapper textarea, .textarea-wrapper #output-text, -.textarea-wrapper #output-html, .textarea-wrapper #output-highlighter { font-family: var(--fixed-width-font-family); font-size: var(--fixed-width-font-size); @@ -477,6 +443,12 @@ /* Status bar */ +.ͼ2 .cm-panels { + background-color: var(--secondary-background-colour); + border-color: var(--secondary-border-colour); + color: var(--primary-font-colour); +} + .cm-status-bar { font-family: var(--fixed-width-font-family); font-weight: normal; diff --git a/src/web/utils/editorUtils.mjs b/src/web/utils/editorUtils.mjs new file mode 100644 index 00000000..fe6b83d4 --- /dev/null +++ b/src/web/utils/editorUtils.mjs @@ -0,0 +1,28 @@ +/** + * CodeMirror utilities that are relevant to both the input and output + * + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2022 + * @license Apache-2.0 + */ + + +/** + * Override for rendering special characters. + * Should mirror the toDOM function in + * https://github.com/codemirror/view/blob/main/src/special-chars.ts#L150 + * But reverts the replacement of line feeds with newline control pictures. + * @param {number} code + * @param {string} desc + * @param {string} placeholder + * @returns {element} + */ +export function renderSpecialChar(code, desc, placeholder) { + const s = document.createElement("span"); + // CodeMirror changes 0x0a to "NL" instead of "LF". We change it back. + s.textContent = code === 0x0a ? "\u240a" : placeholder; + s.title = desc; + s.setAttribute("aria-label", desc); + s.className = "cm-specialChar"; + return s; +} diff --git a/src/web/utils/htmlWidget.mjs b/src/web/utils/htmlWidget.mjs new file mode 100644 index 00000000..fbce9b49 --- /dev/null +++ b/src/web/utils/htmlWidget.mjs @@ -0,0 +1,87 @@ +/** + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2022 + * @license Apache-2.0 + */ + +import {WidgetType, Decoration, ViewPlugin} from "@codemirror/view"; + +/** + * Adds an HTML widget to the Code Mirror editor + */ +class HTMLWidget extends WidgetType { + + /** + * HTMLWidget consructor + */ + constructor(html) { + super(); + this.html = html; + } + + /** + * Builds the DOM node + * @returns {DOMNode} + */ + toDOM() { + const wrap = document.createElement("span"); + wrap.setAttribute("id", "output-html"); + wrap.innerHTML = this.html; + return wrap; + } + +} + +/** + * Decorator function to provide a set of widgets for the editor DOM + * @param {EditorView} view + * @param {string} html + * @returns {DecorationSet} + */ +function decorateHTML(view, html) { + const widgets = []; + if (html.length) { + const deco = Decoration.widget({ + widget: new HTMLWidget(html), + side: 1 + }); + widgets.push(deco.range(0)); + } + return Decoration.set(widgets); +} + + +/** + * An HTML Plugin builder + * @param {Object} htmlOutput + * @returns {ViewPlugin} + */ +export function htmlPlugin(htmlOutput) { + const plugin = ViewPlugin.fromClass( + class { + /** + * Plugin constructor + * @param {EditorView} view + */ + constructor(view) { + this.htmlOutput = htmlOutput; + this.decorations = decorateHTML(view, this.htmlOutput.html); + } + + /** + * Editor update listener + * @param {ViewUpdate} update + */ + update(update) { + if (this.htmlOutput.changed) { + this.decorations = decorateHTML(update.view, this.htmlOutput.html); + this.htmlOutput.changed = false; + } + } + }, { + decorations: v => v.decorations + } + ); + + return plugin; +} diff --git a/src/web/utils/statusBar.mjs b/src/web/utils/statusBar.mjs new file mode 100644 index 00000000..431d8a3d --- /dev/null +++ b/src/web/utils/statusBar.mjs @@ -0,0 +1,271 @@ +/** + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2022 + * @license Apache-2.0 + */ + +import {showPanel} from "@codemirror/view"; + +/** + * A Status bar extension for CodeMirror + */ +class StatusBarPanel { + + /** + * StatusBarPanel constructor + * @param {Object} opts + */ + constructor(opts) { + this.label = opts.label; + this.bakeStats = opts.bakeStats ? opts.bakeStats : null; + this.eolHandler = opts.eolHandler; + + this.dom = this.buildDOM(); + } + + /** + * Builds the status bar DOM tree + * @returns {DOMNode} + */ + buildDOM() { + const dom = document.createElement("div"); + const lhs = document.createElement("div"); + const rhs = document.createElement("div"); + + dom.className = "cm-status-bar"; + lhs.innerHTML = this.constructLHS(); + rhs.innerHTML = this.constructRHS(); + + dom.appendChild(lhs); + dom.appendChild(rhs); + + // Event listeners + dom.addEventListener("click", this.eolSelectClick.bind(this), false); + + return dom; + } + + /** + * Handler for EOL Select clicks + * Sets the line separator + * @param {Event} e + */ + eolSelectClick(e) { + e.preventDefault(); + + const eolLookup = { + "LF": "\u000a", + "VT": "\u000b", + "FF": "\u000c", + "CR": "\u000d", + "CRLF": "\u000d\u000a", + "NEL": "\u0085", + "LS": "\u2028", + "PS": "\u2029" + }; + const eolval = eolLookup[e.target.getAttribute("data-val")]; + + // Call relevant EOL change handler + this.eolHandler(eolval); + } + + /** + * Counts the stats of a document + * @param {Text} doc + */ + updateStats(doc) { + const length = this.dom.querySelector(".stats-length-value"), + lines = this.dom.querySelector(".stats-lines-value"); + length.textContent = doc.length; + lines.textContent = doc.lines; + } + + /** + * Gets the current selection info + * @param {EditorState} state + * @param {boolean} selectionSet + */ + updateSelection(state, selectionSet) { + const selLen = state.selection && state.selection.main ? + state.selection.main.to - state.selection.main.from : + 0; + + const selInfo = this.dom.querySelector(".sel-info"), + curOffsetInfo = this.dom.querySelector(".cur-offset-info"); + + if (!selectionSet) { + selInfo.style.display = "none"; + curOffsetInfo.style.display = "none"; + return; + } + + if (selLen > 0) { // Range + const start = this.dom.querySelector(".sel-start-value"), + end = this.dom.querySelector(".sel-end-value"), + length = this.dom.querySelector(".sel-length-value"); + + selInfo.style.display = "inline-block"; + curOffsetInfo.style.display = "none"; + + start.textContent = state.selection.main.from; + end.textContent = state.selection.main.to; + length.textContent = state.selection.main.to - state.selection.main.from; + } else { // Position + const offset = this.dom.querySelector(".cur-offset-value"); + + selInfo.style.display = "none"; + curOffsetInfo.style.display = "inline-block"; + + offset.textContent = state.selection.main.from; + } + } + + /** + * Gets the current character encoding of the document + * @param {EditorState} state + */ + updateCharEnc(state) { + // const charenc = this.dom.querySelector("#char-enc-value"); + // TODO + // charenc.textContent = "TODO"; + } + + /** + * Returns what the current EOL separator is set to + * @param {EditorState} state + */ + updateEOL(state) { + const eolLookup = { + "\u000a": "LF", + "\u000b": "VT", + "\u000c": "FF", + "\u000d": "CR", + "\u000d\u000a": "CRLF", + "\u0085": "NEL", + "\u2028": "LS", + "\u2029": "PS" + }; + + const val = this.dom.querySelector(".eol-value"); + val.textContent = eolLookup[state.lineBreak]; + } + + /** + * Sets the latest bake duration + */ + updateBakeStats() { + const bakingTime = this.dom.querySelector(".baking-time-value"); + const bakingTimeInfo = this.dom.querySelector(".baking-time-info"); + + if (this.label === "Output" && + this.bakeStats && + typeof this.bakeStats.duration === "number" && + this.bakeStats.duration >= 0) { + bakingTimeInfo.style.display = "inline-block"; + bakingTime.textContent = this.bakeStats.duration; + } else { + bakingTimeInfo.style.display = "none"; + } + } + + /** + * Builds the Left-hand-side widgets + * @returns {string} + */ + constructLHS() { + return ` + + abc + + + + sort + + + + + highlight_alt + \u279E + ( selected) + + + location_on + + `; + } + + /** + * Builds the Right-hand-side widgets + * Event listener set up in Manager + * @returns {string} + */ + constructRHS() { + return ` + + + + language + UTF-16 + + + `; + } + +} + +/** + * A panel constructor factory building a panel that re-counts the stats every time the document changes. + * @param {Object} opts + * @returns {Function} + */ +function makePanel(opts) { + const sbPanel = new StatusBarPanel(opts); + + return (view) => { + sbPanel.updateEOL(view.state); + sbPanel.updateCharEnc(view.state); + sbPanel.updateBakeStats(); + sbPanel.updateStats(view.state.doc); + sbPanel.updateSelection(view.state, false); + + return { + "dom": sbPanel.dom, + update(update) { + sbPanel.updateEOL(update.state); + sbPanel.updateSelection(update.state, update.selectionSet); + sbPanel.updateCharEnc(update.state); + sbPanel.updateBakeStats(); + if (update.docChanged) { + sbPanel.updateStats(update.state.doc); + } + } + }; + }; +} + +/** + * A function that build the extension that enables the panel in an editor. + * @param {Object} opts + * @returns {Extension} + */ +export function statusBar(opts) { + const panelMaker = makePanel(opts); + return showPanel.of(panelMaker); +} diff --git a/src/web/waiters/HighlighterWaiter.mjs b/src/web/waiters/HighlighterWaiter.mjs index 9f83b55c..d1340165 100755 --- a/src/web/waiters/HighlighterWaiter.mjs +++ b/src/web/waiters/HighlighterWaiter.mjs @@ -176,34 +176,16 @@ class HighlighterWaiter { this.mouseTarget = OUTPUT; this.removeHighlights(); - const el = e.target; - const start = el.selectionStart; - const end = el.selectionEnd; + const sel = document.getSelection(); + const start = sel.baseOffset; + const end = sel.extentOffset; if (start !== 0 || end !== 0) { - document.getElementById("output-selection-info").innerHTML = this.selectionInfo(start, end); this.highlightInput([{start: start, end: end}]); } } - /** - * Handler for output HTML mousedown events. - * Calculates the current selection info. - * - * @param {event} e - */ - outputHtmlMousedown(e) { - this.mouseButtonDown = true; - this.mouseTarget = OUTPUT; - - const sel = this._getOutputHtmlSelectionOffsets(); - if (sel.start !== 0 || sel.end !== 0) { - document.getElementById("output-selection-info").innerHTML = this.selectionInfo(sel.start, sel.end); - } - } - - /** * Handler for input mouseup events. * @@ -224,16 +206,6 @@ class HighlighterWaiter { } - /** - * Handler for output HTML mouseup events. - * - * @param {event} e - */ - outputHtmlMouseup(e) { - this.mouseButtonDown = false; - } - - /** * Handler for input mousemove events. * Calculates the current selection info, and highlights the corresponding data in the output. @@ -270,37 +242,16 @@ class HighlighterWaiter { this.mouseTarget !== OUTPUT) return; - const el = e.target; - const start = el.selectionStart; - const end = el.selectionEnd; + const sel = document.getSelection(); + const start = sel.baseOffset; + const end = sel.extentOffset; if (start !== 0 || end !== 0) { - document.getElementById("output-selection-info").innerHTML = this.selectionInfo(start, end); this.highlightInput([{start: start, end: end}]); } } - /** - * Handler for output HTML mousemove events. - * Calculates the current selection info. - * - * @param {event} e - */ - outputHtmlMousemove(e) { - // Check that the left mouse button is pressed - if (!this.mouseButtonDown || - e.which !== 1 || - this.mouseTarget !== OUTPUT) - return; - - const sel = this._getOutputHtmlSelectionOffsets(); - if (sel.start !== 0 || sel.end !== 0) { - document.getElementById("output-selection-info").innerHTML = this.selectionInfo(sel.start, sel.end); - } - } - - /** * Given start and end offsets, writes the HTML for the selection info element with the correct * padding. @@ -326,7 +277,6 @@ class HighlighterWaiter { removeHighlights() { document.getElementById("input-highlighter").innerHTML = ""; document.getElementById("output-highlighter").innerHTML = ""; - document.getElementById("output-selection-info").innerHTML = ""; } @@ -379,7 +329,8 @@ class HighlighterWaiter { const io = direction === "forward" ? "output" : "input"; - document.getElementById(io + "-selection-info").innerHTML = this.selectionInfo(pos[0].start, pos[0].end); + // TODO + // document.getElementById(io + "-selection-info").innerHTML = this.selectionInfo(pos[0].start, pos[0].end); this.highlight( document.getElementById(io + "-text"), document.getElementById(io + "-highlighter"), @@ -398,67 +349,67 @@ class HighlighterWaiter { * @param {number} pos.end - The end offset. */ async highlight(textarea, highlighter, pos) { - if (!this.app.options.showHighlighter) return false; - if (!this.app.options.attemptHighlight) return false; + // if (!this.app.options.showHighlighter) return false; + // if (!this.app.options.attemptHighlight) return false; - // Check if there is a carriage return in the output dish as this will not - // be displayed by the HTML textarea and will mess up highlighting offsets. - if (await this.manager.output.containsCR()) return false; + // // Check if there is a carriage return in the output dish as this will not + // // be displayed by the HTML textarea and will mess up highlighting offsets. + // if (await this.manager.output.containsCR()) return false; - const startPlaceholder = "[startHighlight]"; - const startPlaceholderRegex = /\[startHighlight\]/g; - const endPlaceholder = "[endHighlight]"; - const endPlaceholderRegex = /\[endHighlight\]/g; - let text = textarea.value; + // const startPlaceholder = "[startHighlight]"; + // const startPlaceholderRegex = /\[startHighlight\]/g; + // const endPlaceholder = "[endHighlight]"; + // const endPlaceholderRegex = /\[endHighlight\]/g; + // // let text = textarea.value; // TODO - // Put placeholders in position - // If there's only one value, select that - // If there are multiple, ignore the first one and select all others - if (pos.length === 1) { - if (pos[0].end < pos[0].start) return; - text = text.slice(0, pos[0].start) + - startPlaceholder + text.slice(pos[0].start, pos[0].end) + endPlaceholder + - text.slice(pos[0].end, text.length); - } else { - // O(n^2) - Can anyone improve this without overwriting placeholders? - let result = "", - endPlaced = true; + // // Put placeholders in position + // // If there's only one value, select that + // // If there are multiple, ignore the first one and select all others + // if (pos.length === 1) { + // if (pos[0].end < pos[0].start) return; + // text = text.slice(0, pos[0].start) + + // startPlaceholder + text.slice(pos[0].start, pos[0].end) + endPlaceholder + + // text.slice(pos[0].end, text.length); + // } else { + // // O(n^2) - Can anyone improve this without overwriting placeholders? + // let result = "", + // endPlaced = true; - for (let i = 0; i < text.length; i++) { - for (let j = 1; j < pos.length; j++) { - if (pos[j].end < pos[j].start) continue; - if (pos[j].start === i) { - result += startPlaceholder; - endPlaced = false; - } - if (pos[j].end === i) { - result += endPlaceholder; - endPlaced = true; - } - } - result += text[i]; - } - if (!endPlaced) result += endPlaceholder; - text = result; - } + // for (let i = 0; i < text.length; i++) { + // for (let j = 1; j < pos.length; j++) { + // if (pos[j].end < pos[j].start) continue; + // if (pos[j].start === i) { + // result += startPlaceholder; + // endPlaced = false; + // } + // if (pos[j].end === i) { + // result += endPlaceholder; + // endPlaced = true; + // } + // } + // result += text[i]; + // } + // if (!endPlaced) result += endPlaceholder; + // text = result; + // } - const cssClass = "hl1"; + // const cssClass = "hl1"; - // Remove HTML tags - text = text - .replace(/&/g, "&") - .replace(//g, ">") - .replace(/\n/g, " ") - // Convert placeholders to tags - .replace(startPlaceholderRegex, "") - .replace(endPlaceholderRegex, "") + " "; + // // Remove HTML tags + // text = text + // .replace(/&/g, "&") + // .replace(//g, ">") + // .replace(/\n/g, " ") + // // Convert placeholders to tags + // .replace(startPlaceholderRegex, "") + // .replace(endPlaceholderRegex, "") + " "; - // Adjust width to allow for scrollbars - highlighter.style.width = textarea.clientWidth + "px"; - highlighter.innerHTML = text; - highlighter.scrollTop = textarea.scrollTop; - highlighter.scrollLeft = textarea.scrollLeft; + // // Adjust width to allow for scrollbars + // highlighter.style.width = textarea.clientWidth + "px"; + // highlighter.innerHTML = text; + // highlighter.scrollTop = textarea.scrollTop; + // highlighter.scrollLeft = textarea.scrollLeft; } } diff --git a/src/web/waiters/InputWaiter.mjs b/src/web/waiters/InputWaiter.mjs index e8e71b12..0dc44dbe 100644 --- a/src/web/waiters/InputWaiter.mjs +++ b/src/web/waiters/InputWaiter.mjs @@ -19,7 +19,8 @@ import {defaultKeymap, insertTab, insertNewline, history, historyKeymap} from "@ import {bracketMatching} from "@codemirror/language"; import {search, searchKeymap, highlightSelectionMatches} from "@codemirror/search"; -import {statusBar} from "../extensions/statusBar.mjs"; +import {statusBar} from "../utils/statusBar.mjs"; +import {renderSpecialChar} from "../utils/editorUtils.mjs"; /** @@ -87,14 +88,17 @@ class InputWaiter { doc: null, extensions: [ history(), - highlightSpecialChars({render: this.renderSpecialChar}), + highlightSpecialChars({render: renderSpecialChar}), drawSelection(), rectangularSelection(), crosshairCursor(), bracketMatching(), highlightSelectionMatches(), search({top: true}), - statusBar(this.inputEditorConf), + statusBar({ + label: "Input", + eolHandler: this.eolChange.bind(this) + }), this.inputEditorConf.lineWrapping.of(EditorView.lineWrapping), this.inputEditorConf.eol.of(EditorState.lineSeparator.of("\n")), EditorState.allowMultipleSelections.of(true), @@ -118,44 +122,10 @@ class InputWaiter { } /** - * Override for rendering special characters. - * Should mirror the toDOM function in - * https://github.com/codemirror/view/blob/main/src/special-chars.ts#L150 - * But reverts the replacement of line feeds with newline control pictures. - * @param {number} code - * @param {string} desc - * @param {string} placeholder - * @returns {element} - */ - renderSpecialChar(code, desc, placeholder) { - const s = document.createElement("span"); - // CodeMirror changes 0x0a to "NL" instead of "LF". We change it back. - s.textContent = code === 0x0a ? "\u240a" : placeholder; - s.title = desc; - s.setAttribute("aria-label", desc); - s.className = "cm-specialChar"; - return s; - } - - /** - * Handler for EOL Select clicks + * Handler for EOL change events * Sets the line separator - * @param {Event} e */ - eolSelectClick(e) { - e.preventDefault(); - - const eolLookup = { - "LF": "\u000a", - "VT": "\u000b", - "FF": "\u000c", - "CR": "\u000d", - "CRLF": "\u000d\u000a", - "NEL": "\u0085", - "LS": "\u2028", - "PS": "\u2029" - }; - const eolval = eolLookup[e.target.getAttribute("data-val")]; + eolChange(eolval) { const oldInputVal = this.getInput(); // Update the EOL value diff --git a/src/web/waiters/OptionsWaiter.mjs b/src/web/waiters/OptionsWaiter.mjs index 52b81ab4..7d9a3e2d 100755 --- a/src/web/waiters/OptionsWaiter.mjs +++ b/src/web/waiters/OptionsWaiter.mjs @@ -140,14 +140,11 @@ class OptionsWaiter { */ setWordWrap() { this.manager.input.setWordWrap(this.app.options.wordWrap); - document.getElementById("output-text").classList.remove("word-wrap"); - document.getElementById("output-html").classList.remove("word-wrap"); + this.manager.output.setWordWrap(this.app.options.wordWrap); document.getElementById("input-highlighter").classList.remove("word-wrap"); document.getElementById("output-highlighter").classList.remove("word-wrap"); if (!this.app.options.wordWrap) { - document.getElementById("output-text").classList.add("word-wrap"); - document.getElementById("output-html").classList.add("word-wrap"); document.getElementById("input-highlighter").classList.add("word-wrap"); document.getElementById("output-highlighter").classList.add("word-wrap"); } diff --git a/src/web/waiters/OutputWaiter.mjs b/src/web/waiters/OutputWaiter.mjs index 8996edb0..496b0ac5 100755 --- a/src/web/waiters/OutputWaiter.mjs +++ b/src/web/waiters/OutputWaiter.mjs @@ -10,6 +10,18 @@ import Dish from "../../core/Dish.mjs"; import FileSaver from "file-saver"; import ZipWorker from "worker-loader?inline=no-fallback!../workers/ZipWorker.mjs"; +import { + EditorView, keymap, highlightSpecialChars, drawSelection, rectangularSelection, crosshairCursor +} from "@codemirror/view"; +import {EditorState, Compartment} from "@codemirror/state"; +import {defaultKeymap} from "@codemirror/commands"; +import {bracketMatching} from "@codemirror/language"; +import {search, searchKeymap, highlightSelectionMatches} from "@codemirror/search"; + +import {statusBar} from "../utils/statusBar.mjs"; +import {renderSpecialChar} from "../utils/editorUtils.mjs"; +import {htmlPlugin} from "../utils/htmlWidget.mjs"; + /** * Waiter to handle events related to the output */ @@ -25,12 +37,155 @@ class OutputWaiter { this.app = app; this.manager = manager; + this.outputTextEl = document.getElementById("output-text"); + // Object to contain bake statistics - used by statusBar extension + this.bakeStats = { + duration: 0 + }; + // Object to handle output HTML state - used by htmlWidget extension + this.htmlOutput = { + html: "", + changed: false + }; + this.initEditor(); + this.outputs = {}; this.zipWorker = null; this.maxTabs = this.manager.tabs.calcMaxTabs(); this.tabTimeout = null; } + /** + * Sets up the CodeMirror Editor and returns the view + */ + initEditor() { + this.outputEditorConf = { + eol: new Compartment, + lineWrapping: new Compartment + }; + + const initialState = EditorState.create({ + doc: null, + extensions: [ + EditorState.readOnly.of(true), + htmlPlugin(this.htmlOutput), + highlightSpecialChars({render: renderSpecialChar}), + drawSelection(), + rectangularSelection(), + crosshairCursor(), + bracketMatching(), + highlightSelectionMatches(), + search({top: true}), + statusBar({ + label: "Output", + bakeStats: this.bakeStats, + eolHandler: this.eolChange.bind(this) + }), + this.outputEditorConf.lineWrapping.of(EditorView.lineWrapping), + this.outputEditorConf.eol.of(EditorState.lineSeparator.of("\n")), + EditorState.allowMultipleSelections.of(true), + keymap.of([ + ...defaultKeymap, + ...searchKeymap + ]), + ] + }); + + this.outputEditorView = new EditorView({ + state: initialState, + parent: this.outputTextEl + }); + } + + /** + * Handler for EOL change events + * Sets the line separator + */ + eolChange(eolval) { + const oldOutputVal = this.getOutput(); + + // Update the EOL value + this.outputEditorView.dispatch({ + effects: this.outputEditorConf.eol.reconfigure(EditorState.lineSeparator.of(eolval)) + }); + + // Reset the output so that lines are recalculated, preserving the old EOL values + this.setOutput(oldOutputVal); + } + + /** + * Sets word wrap on the output editor + * @param {boolean} wrap + */ + setWordWrap(wrap) { + this.outputEditorView.dispatch({ + effects: this.outputEditorConf.lineWrapping.reconfigure( + wrap ? EditorView.lineWrapping : [] + ) + }); + } + + /** + * Gets the value of the current output + * @returns {string} + */ + getOutput() { + const doc = this.outputEditorView.state.doc; + const eol = this.outputEditorView.state.lineBreak; + return doc.sliceString(0, doc.length, eol); + } + + /** + * Sets the value of the current output + * @param {string} data + */ + setOutput(data) { + this.outputEditorView.dispatch({ + changes: { + from: 0, + to: this.outputEditorView.state.doc.length, + insert: data + } + }); + } + + /** + * Sets the value of the current output to a rendered HTML value + * @param {string} html + */ + setHTMLOutput(html) { + this.htmlOutput.html = html; + this.htmlOutput.changed = true; + // This clears the text output, but also fires a View update which + // triggers the htmlWidget to render the HTML. + this.setOutput(""); + + // Execute script sections + const scriptElements = document.getElementById("output-html").querySelectorAll("script"); + for (let i = 0; i < scriptElements.length; i++) { + try { + eval(scriptElements[i].innerHTML); // eslint-disable-line no-eval + } catch (err) { + log.error(err); + } + } + } + + /** + * Clears the HTML output + */ + clearHTMLOutput() { + this.htmlOutput.html = ""; + this.htmlOutput.changed = true; + // Fire a blank change to force the htmlWidget to update and remove any HTML + this.outputEditorView.dispatch({ + changes: { + from: 0, + insert: "" + } + }); + } + /** * Calculates the maximum number of tabs to display */ @@ -245,8 +400,6 @@ class OutputWaiter { activeTab = this.manager.tabs.getActiveOutputTab(); if (typeof inputNum !== "number") inputNum = parseInt(inputNum, 10); - const outputText = document.getElementById("output-text"); - const outputHtml = document.getElementById("output-html"); const outputFile = document.getElementById("output-file"); const outputHighlighter = document.getElementById("output-highlighter"); const inputHighlighter = document.getElementById("input-highlighter"); @@ -278,95 +431,68 @@ class OutputWaiter { } else if (output.status === "error") { // style the tab if it's being shown this.toggleLoader(false); - outputText.style.display = "block"; - outputText.classList.remove("blur"); - outputHtml.style.display = "none"; + this.outputTextEl.style.display = "block"; + this.outputTextEl.classList.remove("blur"); outputFile.style.display = "none"; outputHighlighter.display = "none"; inputHighlighter.display = "none"; + this.clearHTMLOutput(); if (output.error) { - outputText.value = output.error; + this.setOutput(output.error); } else { - outputText.value = output.data.result; + this.setOutput(output.data.result); } - outputHtml.innerHTML = ""; } else if (output.status === "baked" || output.status === "inactive") { document.querySelector("#output-loader .loading-msg").textContent = `Loading output ${inputNum}`; this.closeFile(); - let scriptElements, lines, length; if (output.data === null) { - outputText.style.display = "block"; - outputHtml.style.display = "none"; + this.outputTextEl.style.display = "block"; outputFile.style.display = "none"; outputHighlighter.display = "block"; inputHighlighter.display = "block"; - outputText.value = ""; - outputHtml.innerHTML = ""; + this.clearHTMLOutput(); + this.setOutput(""); this.toggleLoader(false); return; } + this.bakeStats.duration = output.data.duration; + switch (output.data.type) { case "html": - outputText.style.display = "none"; - outputHtml.style.display = "block"; outputFile.style.display = "none"; outputHighlighter.style.display = "none"; inputHighlighter.style.display = "none"; - outputText.value = ""; - outputHtml.innerHTML = output.data.result; - - // Execute script sections - scriptElements = outputHtml.querySelectorAll("script"); - for (let i = 0; i < scriptElements.length; i++) { - try { - eval(scriptElements[i].innerHTML); // eslint-disable-line no-eval - } catch (err) { - log.error(err); - } - } + this.setHTMLOutput(output.data.result); break; case "ArrayBuffer": - outputText.style.display = "block"; - outputHtml.style.display = "none"; + this.outputTextEl.style.display = "block"; outputHighlighter.display = "none"; inputHighlighter.display = "none"; - outputText.value = ""; - outputHtml.innerHTML = ""; + this.clearHTMLOutput(); + this.setOutput(""); - length = output.data.result.byteLength; this.setFile(await this.getDishBuffer(output.data.dish), activeTab); break; case "string": default: - outputText.style.display = "block"; - outputHtml.style.display = "none"; + this.outputTextEl.style.display = "block"; outputFile.style.display = "none"; outputHighlighter.display = "block"; inputHighlighter.display = "block"; - outputText.value = Utils.printable(output.data.result, true); - outputHtml.innerHTML = ""; - - lines = output.data.result.count("\n") + 1; - length = output.data.result.length; + this.clearHTMLOutput(); + this.setOutput(output.data.result); break; } this.toggleLoader(false); - if (output.data.type === "html") { - const dishStr = await this.getDishStr(output.data.dish); - length = dishStr.length; - lines = dishStr.count("\n") + 1; - } - - this.setOutputInfo(length, lines, output.data.duration); debounce(this.backgroundMagic, 50, "backgroundMagic", this, [])(); } }.bind(this)); @@ -383,14 +509,13 @@ class OutputWaiter { // Display file overlay in output area with details const fileOverlay = document.getElementById("output-file"), fileSize = document.getElementById("output-file-size"), - outputText = document.getElementById("output-text"), fileSlice = buf.slice(0, 4096); fileOverlay.style.display = "block"; fileSize.textContent = buf.byteLength.toLocaleString() + " bytes"; - outputText.classList.add("blur"); - outputText.value = Utils.printable(Utils.arrayBufferToStr(fileSlice)); + this.outputTextEl.classList.add("blur"); + this.setOutput(Utils.arrayBufferToStr(fileSlice)); } /** @@ -398,7 +523,7 @@ class OutputWaiter { */ closeFile() { document.getElementById("output-file").style.display = "none"; - document.getElementById("output-text").classList.remove("blur"); + this.outputTextEl.classList.remove("blur"); } /** @@ -466,7 +591,6 @@ class OutputWaiter { clearTimeout(this.outputLoaderTimeout); const outputLoader = document.getElementById("output-loader"), - outputElement = document.getElementById("output-text"), animation = document.getElementById("output-loader-animation"); if (value) { @@ -483,7 +607,6 @@ class OutputWaiter { // Show the loading screen this.outputLoaderTimeout = setTimeout(function() { - outputElement.disabled = true; outputLoader.style.visibility = "visible"; outputLoader.style.opacity = 1; }, 200); @@ -494,7 +617,6 @@ class OutputWaiter { animation.removeChild(this.bombeEl); } catch (err) {} }.bind(this), 500); - outputElement.disabled = false; outputLoader.style.opacity = 0; outputLoader.style.visibility = "hidden"; } @@ -717,8 +839,7 @@ class OutputWaiter { debounce(this.set, 50, "setOutput", this, [inputNum])(); - document.getElementById("output-html").scroll(0, 0); - document.getElementById("output-text").scroll(0, 0); + this.outputTextEl.scroll(0, 0); // TODO if (changeInput) { this.manager.input.changeTab(inputNum, false); @@ -996,32 +1117,6 @@ class OutputWaiter { } } - /** - * Displays information about the output. - * - * @param {number} length - The length of the current output string - * @param {number} lines - The number of the lines in the current output string - * @param {number} duration - The length of time (ms) it took to generate the output - */ - setOutputInfo(length, lines, duration) { - if (!length) return; - let width = length.toString().length; - width = width < 4 ? 4 : width; - - const lengthStr = length.toString().padStart(width, " ").replace(/ /g, " "); - const timeStr = (duration.toString() + "ms").padStart(width, " ").replace(/ /g, " "); - - let msg = "time: " + timeStr + "
    length: " + lengthStr; - - if (typeof lines === "number") { - const linesStr = lines.toString().padStart(width, " ").replace(/ /g, " "); - msg += "
    lines: " + linesStr; - } - - document.getElementById("output-info").innerHTML = msg; - document.getElementById("output-selection-info").innerHTML = ""; - } - /** * Triggers the BackgroundWorker to attempt Magic on the current output. */ @@ -1111,9 +1206,7 @@ class OutputWaiter { async displayFileSlice() { document.querySelector("#output-loader .loading-msg").textContent = "Loading file slice..."; this.toggleLoader(true); - const outputText = document.getElementById("output-text"), - outputHtml = document.getElementById("output-html"), - outputFile = document.getElementById("output-file"), + const outputFile = document.getElementById("output-file"), outputHighlighter = document.getElementById("output-highlighter"), inputHighlighter = document.getElementById("input-highlighter"), showFileOverlay = document.getElementById("show-file-overlay"), @@ -1130,12 +1223,12 @@ class OutputWaiter { str = Utils.arrayBufferToStr(await this.getDishBuffer(output.dish).slice(sliceFrom, sliceTo)); } - outputText.classList.remove("blur"); + this.outputTextEl.classList.remove("blur"); showFileOverlay.style.display = "block"; - outputText.value = Utils.printable(str, true); + this.clearHTMLOutput(); + this.setOutput(str); - outputText.style.display = "block"; - outputHtml.style.display = "none"; + this.outputTextEl.style.display = "block"; outputFile.style.display = "none"; outputHighlighter.display = "block"; inputHighlighter.display = "block"; @@ -1149,9 +1242,7 @@ class OutputWaiter { async showAllFile() { document.querySelector("#output-loader .loading-msg").textContent = "Loading entire file at user instruction. This may cause a crash..."; this.toggleLoader(true); - const outputText = document.getElementById("output-text"), - outputHtml = document.getElementById("output-html"), - outputFile = document.getElementById("output-file"), + const outputFile = document.getElementById("output-file"), outputHighlighter = document.getElementById("output-highlighter"), inputHighlighter = document.getElementById("input-highlighter"), showFileOverlay = document.getElementById("show-file-overlay"), @@ -1164,12 +1255,12 @@ class OutputWaiter { str = Utils.arrayBufferToStr(await this.getDishBuffer(output.dish)); } - outputText.classList.remove("blur"); + this.outputTextEl.classList.remove("blur"); showFileOverlay.style.display = "none"; - outputText.value = Utils.printable(str, true); + this.clearHTMLOutput(); + this.setOutput(str); - outputText.style.display = "block"; - outputHtml.style.display = "none"; + this.outputTextEl.style.display = "block"; outputFile.style.display = "none"; outputHighlighter.display = "block"; inputHighlighter.display = "block"; @@ -1185,7 +1276,7 @@ class OutputWaiter { showFileOverlayClick(e) { const showFileOverlay = e.target; - document.getElementById("output-text").classList.add("blur"); + this.outputTextEl.classList.add("blur"); showFileOverlay.style.display = "none"; this.set(this.manager.tabs.getActiveOutputTab()); } @@ -1212,7 +1303,7 @@ class OutputWaiter { * Handler for copy click events. * Copies the output to the clipboard */ - async copyClick() { + async copyClick() { // TODO - do we need this? const dish = this.getOutputDish(this.manager.tabs.getActiveOutputTab()); if (dish === null) { this.app.alert("Could not find data to copy. Has this output been baked yet?", 3000); diff --git a/tests/browser/nightwatch.js b/tests/browser/nightwatch.js index ba6f5204..e63a8036 100644 --- a/tests/browser/nightwatch.js +++ b/tests/browser/nightwatch.js @@ -90,7 +90,7 @@ module.exports = { browser .useCss() .waitForElementNotVisible("#stale-indicator", 1000) - .expect.element("#output-text").to.have.property("value").that.equals("44 6f 6e 27 74 20 50 61 6e 69 63 2e"); + .expect.element("#output-text").to.have.property("value").that.equals("44 6f 6e 27 74 20 50 61 6e 69 63 2e"); // TODO // Clear recipe browser @@ -206,7 +206,7 @@ module.exports = { .useCss() .waitForElementVisible(".operation .op-title", 1000) .waitForElementNotVisible("#stale-indicator", 1000) - .expect.element("#output-text").to.have.property("value").which.matches(/[\da-f-]{36}/); + .expect.element("#output-text").to.have.property("value").which.matches(/[\da-f-]{36}/); // TODO browser.click("#clr-recipe"); }, diff --git a/tests/browser/ops.js b/tests/browser/ops.js index d0933bb6..64f8e036 100644 --- a/tests/browser/ops.js +++ b/tests/browser/ops.js @@ -443,9 +443,9 @@ function testOp(browser, opName, input, output, args=[]) { bakeOp(browser, opName, input, args); if (typeof output === "string") { - browser.expect.element("#output-text").to.have.property("value").that.equals(output); + browser.expect.element("#output-text").to.have.property("value").that.equals(output); // TODO } else if (output instanceof RegExp) { - browser.expect.element("#output-text").to.have.property("value").that.matches(output); + browser.expect.element("#output-text").to.have.property("value").that.matches(output); // TODO } } @@ -463,8 +463,8 @@ function testOpHtml(browser, opName, input, cssSelector, output, args=[]) { bakeOp(browser, opName, input, args); if (typeof output === "string") { - browser.expect.element("#output-html " + cssSelector).text.that.equals(output); + browser.expect.element("#output-html " + cssSelector).text.that.equals(output); // TODO } else if (output instanceof RegExp) { - browser.expect.element("#output-html " + cssSelector).text.that.matches(output); + browser.expect.element("#output-html " + cssSelector).text.that.matches(output); // TODO } } From c4414bd910e84c3185af19a234ab90f744dfee94 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 13:53:19 +0100 Subject: [PATCH 369/754] Fixed dropdown toggle height --- src/web/stylesheets/components/_operation.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/web/stylesheets/components/_operation.css b/src/web/stylesheets/components/_operation.css index 39f53a07..7d45a9e2 100755 --- a/src/web/stylesheets/components/_operation.css +++ b/src/web/stylesheets/components/_operation.css @@ -186,7 +186,7 @@ div.toggle-string { } .ingredients .dropdown-toggle-split { - height: 41px !important; + height: 40px !important; } .boolean-arg { From fc95d82c49794375cb7f533f883576fb42126e8e Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 14:49:40 +0100 Subject: [PATCH 370/754] Tweaked Extract Files minimum size --- src/core/operations/ExtractFiles.mjs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/operations/ExtractFiles.mjs b/src/core/operations/ExtractFiles.mjs index 8c313f59..4c6fd1df 100644 --- a/src/core/operations/ExtractFiles.mjs +++ b/src/core/operations/ExtractFiles.mjs @@ -58,7 +58,7 @@ class ExtractFiles extends Operation { { name: "Minimum File Size", type: "number", - value: 0 + value: 100 } ]); } @@ -86,8 +86,8 @@ class ExtractFiles extends Operation { const errors = []; detectedFiles.forEach(detectedFile => { try { - let file; - if ((file = extractFile(bytes, detectedFile.fileDetails, detectedFile.offset)).size >= minSize) + const file = extractFile(bytes, detectedFile.fileDetails, detectedFile.offset); + if (file.size >= minSize) files.push(file); } catch (err) { if (!ignoreFailedExtractions && err.message.indexOf("No extraction algorithm available") < 0) { From 50f0f708052ff684e3c1134fdee887e00b5e71b0 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 14:49:50 +0100 Subject: [PATCH 371/754] 9.39.2 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index ffde1368..62b4627e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cyberchef", - "version": "9.39.1", + "version": "9.39.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cyberchef", - "version": "9.39.1", + "version": "9.39.2", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index cea3fb19..8f392c43 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.39.1", + "version": "9.39.2", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From a9657ac5c7af0101e011086afae4e2fbc28baa46 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 14:51:08 +0100 Subject: [PATCH 372/754] 9.39.3 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 62b4627e..a56add40 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cyberchef", - "version": "9.39.2", + "version": "9.39.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cyberchef", - "version": "9.39.2", + "version": "9.39.3", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index 8f392c43..38144a24 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.39.2", + "version": "9.39.3", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 65aeae9c1e9414665dc898fe4036972f10c3376c Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 14:53:07 +0100 Subject: [PATCH 373/754] 9.39.4 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index a56add40..db1ff36e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cyberchef", - "version": "9.39.3", + "version": "9.39.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cyberchef", - "version": "9.39.3", + "version": "9.39.4", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index 38144a24..29d617bc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.39.3", + "version": "9.39.4", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 4b018bf421422600bf114a9053558a4dd13dfb85 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 14:55:32 +0100 Subject: [PATCH 374/754] 9.39.5 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index db1ff36e..88d50c51 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cyberchef", - "version": "9.39.4", + "version": "9.39.5", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cyberchef", - "version": "9.39.4", + "version": "9.39.5", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index 29d617bc..2416f720 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.39.4", + "version": "9.39.5", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 2f097e5dfcc03b577478b622c3ae17bffcc64e61 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 15:15:53 +0100 Subject: [PATCH 375/754] Tidied up Base85 issues --- src/core/operations/FromBase85.mjs | 11 ++++------- tests/lib/TestRegister.mjs | 7 +++++++ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/core/operations/FromBase85.mjs b/src/core/operations/FromBase85.mjs index 01024f1a..f9b37c74 100644 --- a/src/core/operations/FromBase85.mjs +++ b/src/core/operations/FromBase85.mjs @@ -85,6 +85,10 @@ class FromBase85 extends Operation { throw new OperationError("Alphabet must be of length 85"); } + // Remove delimiters if present + const matches = input.match(/^<~(.+?)~>$/); + if (matches !== null) input = matches[1]; + // Remove non-alphabet characters if (removeNonAlphChars) { const re = new RegExp("[^" + alphabet.replace(/[[\]\\\-^$]/g, "\\$&") + "]", "g"); @@ -93,13 +97,6 @@ class FromBase85 extends Operation { if (input.length === 0) return []; - input = input.replace(/\s+/g, ""); - - if (encoding === "Standard") { - const matches = input.match(/<~(.+?)~>/); - if (matches !== null) input = matches[1]; - } - let i = 0; let block, blockBytes; while (i < input.length) { diff --git a/tests/lib/TestRegister.mjs b/tests/lib/TestRegister.mjs index 634e3b62..8b687fcc 100644 --- a/tests/lib/TestRegister.mjs +++ b/tests/lib/TestRegister.mjs @@ -12,6 +12,7 @@ import Chef from "../../src/core/Chef.mjs"; import Utils from "../../src/core/Utils.mjs"; import cliProgress from "cli-progress"; +import log from "loglevel"; /** * Object to store and run the list of tests. @@ -50,6 +51,9 @@ class TestRegister { * Runs all the tests in the register. */ async runTests () { + // Turn off logging to avoid messy errors + log.setLevel("silent", false); + const progBar = new cliProgress.SingleBar({ format: formatter, stopOnComplete: true @@ -128,6 +132,9 @@ class TestRegister { progBar.increment(); } + // Turn logging back on + log.setLevel("info", false); + return testResults; } From 1fb1d9cbb75c49f171112f061a2ab4dc4cd140bd Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 15:16:00 +0100 Subject: [PATCH 376/754] 9.39.6 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 88d50c51..0efed1ea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cyberchef", - "version": "9.39.5", + "version": "9.39.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cyberchef", - "version": "9.39.5", + "version": "9.39.6", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index 2416f720..d370000d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.39.5", + "version": "9.39.6", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 7d4e5545715ed6b279e3d6860ae537fd70c986c4 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 15:26:33 +0100 Subject: [PATCH 377/754] Tweaks to P-List Viewer operation --- src/core/config/Categories.json | 2 +- src/core/operations/PLISTViewer.mjs | 33 +++++++++-------------------- 2 files changed, 11 insertions(+), 24 deletions(-) diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 240ddbc3..a2c85ea3 100644 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -457,7 +457,7 @@ "Frequency distribution", "Index of Coincidence", "Chi Square", - "PLIST Viewer", + "P-list Viewer", "Disassemble x86", "Pseudo-Random Number Generator", "Generate UUID", diff --git a/src/core/operations/PLISTViewer.mjs b/src/core/operations/PLISTViewer.mjs index b8a90c5b..67a42359 100644 --- a/src/core/operations/PLISTViewer.mjs +++ b/src/core/operations/PLISTViewer.mjs @@ -7,36 +7,23 @@ import Operation from "../Operation.mjs"; /** - * PLIST Viewer operation + * P-list Viewer operation */ -class PLISTViewer extends Operation { +class PlistViewer extends Operation { /** - * PLISTViewer constructor + * PlistViewer constructor */ constructor() { super(); - this.name = "PLIST Viewer"; - this.module = "Other"; - this.description = "Converts PLISTXML file into a human readable format."; - this.infoURL = ""; + this.name = "P-list Viewer"; + this.module = "Default"; + this.description = "In the macOS, iOS, NeXTSTEP, and GNUstep programming frameworks, property list files are files that store serialized objects. Property list files use the filename extension .plist, and thus are often referred to as p-list files.

    This operation displays plist files in a human readable format."; + this.infoURL = "https://wikipedia.org/wiki/Property_list"; this.inputType = "string"; this.outputType = "string"; - this.args = [ - /* Example arguments. See the project wiki for full details. - { - name: "First arg", - type: "string", - value: "Don't Panic" - }, - { - name: "Second arg", - type: "number", - value: 42 - } - */ - ]; + this.args = []; } /** @@ -46,7 +33,7 @@ class PLISTViewer extends Operation { */ run(input, args) { - // Regexes are designed to transform the xml format into a reasonably more readable string format. + // Regexes are designed to transform the xml format into a more readable string format. input = input.slice(input.indexOf("/g, "plist => ") .replace(//g, "{") @@ -143,4 +130,4 @@ class PLISTViewer extends Operation { } } -export default PLISTViewer; +export default PlistViewer; From c9d29c89bb29e379254745af03ff7268797391df Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 15:27:01 +0100 Subject: [PATCH 378/754] 9.40.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0efed1ea..34863028 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cyberchef", - "version": "9.39.6", + "version": "9.40.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cyberchef", - "version": "9.39.6", + "version": "9.40.0", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index d370000d..375c2c2e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.39.6", + "version": "9.40.0", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 94700dab897c898f55b474be0b1832180ee47dec Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 15:28:39 +0100 Subject: [PATCH 379/754] Updated CHANGELOG --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index af8843e5..22506911 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ All major and minor version changes will be documented in this file. Details of ## Details +### [9.40.0] - 2022-07-08 +- Added 'P-list Viewer' operation [@n1073645] | [#906] + ### [9.39.0] - 2022-06-09 - Added 'ELF Info' operation [@n1073645] | [#1364] @@ -294,6 +297,7 @@ All major and minor version changes will be documented in this file. Details of +[9.40.0]: https://github.com/gchq/CyberChef/releases/tag/v9.40.0 [9.39.0]: https://github.com/gchq/CyberChef/releases/tag/v9.39.0 [9.38.0]: https://github.com/gchq/CyberChef/releases/tag/v9.38.0 [9.37.0]: https://github.com/gchq/CyberChef/releases/tag/v9.37.0 @@ -491,6 +495,7 @@ All major and minor version changes will be documented in this file. Details of [#674]: https://github.com/gchq/CyberChef/pull/674 [#683]: https://github.com/gchq/CyberChef/pull/683 [#865]: https://github.com/gchq/CyberChef/pull/865 +[#906]: https://github.com/gchq/CyberChef/pull/906 [#912]: https://github.com/gchq/CyberChef/pull/912 [#917]: https://github.com/gchq/CyberChef/pull/917 [#934]: https://github.com/gchq/CyberChef/pull/934 From 6cccc2c786ef8dd24547930e3f567157e176b06d Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 15:36:30 +0100 Subject: [PATCH 380/754] Tidied Caesar Box Cipher --- src/core/operations/CaesarBoxCipher.mjs | 2 +- tests/operations/tests/CaesarBoxCipher.mjs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/operations/CaesarBoxCipher.mjs b/src/core/operations/CaesarBoxCipher.mjs index 9c835b4b..680db900 100644 --- a/src/core/operations/CaesarBoxCipher.mjs +++ b/src/core/operations/CaesarBoxCipher.mjs @@ -19,7 +19,7 @@ class CaesarBoxCipher extends Operation { this.name = "Caesar Box Cipher"; this.module = "Ciphers"; - this.description = "Caesar Box Encryption uses a box, a rectangle (or a square), or at least a size W caracterizing its width."; + this.description = "Caesar Box is a transposition cipher used in the Roman Empire, in which letters of the message are written in rows in a square (or a rectangle) and then, read by column."; this.infoURL = "https://www.dcode.fr/caesar-box-cipher"; this.inputType = "string"; this.outputType = "string"; diff --git a/tests/operations/tests/CaesarBoxCipher.mjs b/tests/operations/tests/CaesarBoxCipher.mjs index 3ccdae66..a7b36ef0 100644 --- a/tests/operations/tests/CaesarBoxCipher.mjs +++ b/tests/operations/tests/CaesarBoxCipher.mjs @@ -1,5 +1,5 @@ /** - * Base58 tests. + * Caesar Box Cipher tests. * * @author n1073645 [n1073645@gmail.com] * From 74bb8d92dc379d256a3974ae2b346c6555c7e94e Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 15:36:36 +0100 Subject: [PATCH 381/754] 9.41.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 34863028..42139c37 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cyberchef", - "version": "9.40.0", + "version": "9.41.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cyberchef", - "version": "9.40.0", + "version": "9.41.0", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index 375c2c2e..06043fd6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.40.0", + "version": "9.41.0", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 98a95c8bbfc0233835dde1716be0db4b0dec5b23 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 15:38:12 +0100 Subject: [PATCH 382/754] Updated CHANGELOG --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 22506911..82730071 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ All major and minor version changes will be documented in this file. Details of ## Details +### [9.41.0] - 2022-07-08 +- Added 'Caesar Box Cipher' operation [@n1073645] | [#1066] + ### [9.40.0] - 2022-07-08 - Added 'P-list Viewer' operation [@n1073645] | [#906] @@ -297,6 +300,7 @@ All major and minor version changes will be documented in this file. Details of +[9.41.0]: https://github.com/gchq/CyberChef/releases/tag/v9.41.0 [9.40.0]: https://github.com/gchq/CyberChef/releases/tag/v9.40.0 [9.39.0]: https://github.com/gchq/CyberChef/releases/tag/v9.39.0 [9.38.0]: https://github.com/gchq/CyberChef/releases/tag/v9.38.0 @@ -511,6 +515,7 @@ All major and minor version changes will be documented in this file. Details of [#1045]: https://github.com/gchq/CyberChef/pull/1045 [#1049]: https://github.com/gchq/CyberChef/pull/1049 [#1065]: https://github.com/gchq/CyberChef/pull/1065 +[#1066]: https://github.com/gchq/CyberChef/pull/1066 [#1083]: https://github.com/gchq/CyberChef/pull/1083 [#1189]: https://github.com/gchq/CyberChef/pull/1189 [#1242]: https://github.com/gchq/CyberChef/pull/1242 From a6aa40db976e5c9532b62e2845d4e6d3d79cdc3b Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 15:47:35 +0100 Subject: [PATCH 383/754] Tidied LS47 operations --- src/core/lib/LS47.mjs | 6 +++--- src/core/operations/LS47Decrypt.mjs | 5 ++--- src/core/operations/LS47Encrypt.mjs | 5 ++--- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/core/lib/LS47.mjs b/src/core/lib/LS47.mjs index 6696aafc..ac7ca839 100644 --- a/src/core/lib/LS47.mjs +++ b/src/core/lib/LS47.mjs @@ -102,10 +102,10 @@ function checkKey(key) { counts[letters.charAt(i)] = 0; for (const elem of letters) { if (letters.indexOf(elem) === -1) - throw new OperationError("Letter " + elem + " not in LS47!"); + throw new OperationError("Letter " + elem + " not in LS47"); counts[elem]++; if (counts[elem] > 1) - throw new OperationError("Letter duplicated in the key!"); + throw new OperationError("Letter duplicated in the key"); } } @@ -120,7 +120,7 @@ function findPos (key, letter) { const index = key.indexOf(letter); if (index >= 0 && index < 49) return [Math.floor(index/7), index%7]; - throw new OperationError("Letter " + letter + " is not in the key!"); + throw new OperationError("Letter " + letter + " is not in the key"); } /** diff --git a/src/core/operations/LS47Decrypt.mjs b/src/core/operations/LS47Decrypt.mjs index cb92cd27..d5764d7f 100644 --- a/src/core/operations/LS47Decrypt.mjs +++ b/src/core/operations/LS47Decrypt.mjs @@ -20,8 +20,8 @@ class LS47Decrypt extends Operation { this.name = "LS47 Decrypt"; this.module = "Crypto"; - this.description = "This is a slight improvement of the ElsieFour cipher as described by Alan Kaminsky. We use 7x7 characters instead of original (barely fitting) 6x6, to be able to encrypt some structured information. We also describe a simple key-expansion algorithm, because remembering passwords is popular. Similar security considerations as with ElsieFour hold.\nThe LS47 alphabet consists of following characters: _abcdefghijklmnopqrstuvwxyz.0123456789,-+*/:?!'()\nA LS47 key is a permutation of the alphabet that is then represented in a 7x7 grid used for the encryption or decryption."; - this.infoURL = "https://gitea.blesmrt.net/exa/ls47/src/branch/master"; + this.description = "This is a slight improvement of the ElsieFour cipher as described by Alan Kaminsky. We use 7x7 characters instead of original (barely fitting) 6x6, to be able to encrypt some structured information. We also describe a simple key-expansion algorithm, because remembering passwords is popular. Similar security considerations as with ElsieFour hold.
    The LS47 alphabet consists of following characters: _abcdefghijklmnopqrstuvwxyz.0123456789,-+*/:?!'()
    An LS47 key is a permutation of the alphabet that is then represented in a 7x7 grid used for the encryption or decryption."; + this.infoURL = "https://github.com/exaexa/ls47"; this.inputType = "string"; this.outputType = "string"; this.args = [ @@ -44,7 +44,6 @@ class LS47Decrypt extends Operation { * @returns {string} */ run(input, args) { - this.paddingSize = parseInt(args[1], 10); LS47.initTiles(); diff --git a/src/core/operations/LS47Encrypt.mjs b/src/core/operations/LS47Encrypt.mjs index 51283844..02f7d994 100644 --- a/src/core/operations/LS47Encrypt.mjs +++ b/src/core/operations/LS47Encrypt.mjs @@ -20,8 +20,8 @@ class LS47Encrypt extends Operation { this.name = "LS47 Encrypt"; this.module = "Crypto"; - this.description = "This is a slight improvement of the ElsieFour cipher as described by Alan Kaminsky. We use 7x7 characters instead of original (barely fitting) 6x6, to be able to encrypt some structured information. We also describe a simple key-expansion algorithm, because remembering passwords is popular. Similar security considerations as with ElsieFour hold.\nThe LS47 alphabet consists of following characters: _abcdefghijklmnopqrstuvwxyz.0123456789,-+*/:?!'()\nA LS47 key is a permutation of the alphabet that is then represented in a 7x7 grid used for the encryption or decryption."; - this.infoURL = "https://gitea.blesmrt.net/exa/ls47/src/branch/master"; + this.description = "This is a slight improvement of the ElsieFour cipher as described by Alan Kaminsky. We use 7x7 characters instead of original (barely fitting) 6x6, to be able to encrypt some structured information. We also describe a simple key-expansion algorithm, because remembering passwords is popular. Similar security considerations as with ElsieFour hold.
    The LS47 alphabet consists of following characters: _abcdefghijklmnopqrstuvwxyz.0123456789,-+*/:?!'()
    A LS47 key is a permutation of the alphabet that is then represented in a 7x7 grid used for the encryption or decryption."; + this.infoURL = "https://github.com/exaexa/ls47"; this.inputType = "string"; this.outputType = "string"; this.args = [ @@ -49,7 +49,6 @@ class LS47Encrypt extends Operation { * @returns {string} */ run(input, args) { - this.paddingSize = parseInt(args[1], 10); LS47.initTiles(); From b828b50ccc2e0e4096cef212d4932d0ba3c65ec3 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 15:47:42 +0100 Subject: [PATCH 384/754] 9.42.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 42139c37..24730227 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cyberchef", - "version": "9.41.0", + "version": "9.42.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cyberchef", - "version": "9.41.0", + "version": "9.42.0", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index 06043fd6..a24c996f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.41.0", + "version": "9.42.0", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 2ffce23c67bda3a4ccf1f1665234c78b1addfe20 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 15:52:00 +0100 Subject: [PATCH 385/754] Updated CHANGELOG --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 82730071..0dcf5b17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ All major and minor version changes will be documented in this file. Details of ## Details +### [9.42.0] - 2022-07-08 +- Added 'LS47 Encrypt' and 'LS47 Decrypt' operations [@n1073645] | [#951] + ### [9.41.0] - 2022-07-08 - Added 'Caesar Box Cipher' operation [@n1073645] | [#1066] @@ -300,6 +303,7 @@ All major and minor version changes will be documented in this file. Details of +[9.42.0]: https://github.com/gchq/CyberChef/releases/tag/v9.42.0 [9.41.0]: https://github.com/gchq/CyberChef/releases/tag/v9.41.0 [9.40.0]: https://github.com/gchq/CyberChef/releases/tag/v9.40.0 [9.39.0]: https://github.com/gchq/CyberChef/releases/tag/v9.39.0 @@ -504,6 +508,7 @@ All major and minor version changes will be documented in this file. Details of [#917]: https://github.com/gchq/CyberChef/pull/917 [#934]: https://github.com/gchq/CyberChef/pull/934 [#948]: https://github.com/gchq/CyberChef/pull/948 +[#951]: https://github.com/gchq/CyberChef/pull/951 [#952]: https://github.com/gchq/CyberChef/pull/952 [#965]: https://github.com/gchq/CyberChef/pull/965 [#966]: https://github.com/gchq/CyberChef/pull/966 From eb5663a1eddd7f9400ced8cddcc40caf200a0eac Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 16:02:24 +0100 Subject: [PATCH 386/754] Tidied ROT brute forcing ops --- src/core/operations/ROT13BruteForce.mjs | 26 ++++++++++++------------- src/core/operations/ROT47BruteForce.mjs | 26 ++++++++++++------------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/core/operations/ROT13BruteForce.mjs b/src/core/operations/ROT13BruteForce.mjs index bdf9d40a..aefe2ab7 100644 --- a/src/core/operations/ROT13BruteForce.mjs +++ b/src/core/operations/ROT13BruteForce.mjs @@ -40,28 +40,28 @@ class ROT13BruteForce extends Operation { value: false }, { - "name": "Sample length", - "type": "number", - "value": 100 + name: "Sample length", + type: "number", + value: 100 }, { - "name": "Sample offset", - "type": "number", - "value": 0 + name: "Sample offset", + type: "number", + value: 0 }, { - "name": "Print amount", - "type": "boolean", - "value": true + name: "Print amount", + type: "boolean", + value: true }, { - "name": "Crib (known plaintext string)", - "type": "string", - "value": "" + name: "Crib (known plaintext string)", + type: "string", + value: "" } ]; } - + /** * @param {byteArray} input * @param {Object[]} args diff --git a/src/core/operations/ROT47BruteForce.mjs b/src/core/operations/ROT47BruteForce.mjs index 5fce5259..5f346e00 100644 --- a/src/core/operations/ROT47BruteForce.mjs +++ b/src/core/operations/ROT47BruteForce.mjs @@ -25,28 +25,28 @@ class ROT47BruteForce extends Operation { this.outputType = "string"; this.args = [ { - "name": "Sample length", - "type": "number", - "value": 100 + name: "Sample length", + type: "number", + value: 100 }, { - "name": "Sample offset", - "type": "number", - "value": 0 + name: "Sample offset", + type: "number", + value: 0 }, { - "name": "Print amount", - "type": "boolean", - "value": true + name: "Print amount", + type: "boolean", + value: true }, { - "name": "Crib (known plaintext string)", - "type": "string", - "value": "" + name: "Crib (known plaintext string)", + type: "string", + value: "" } ]; } - + /** * @param {byteArray} input * @param {Object[]} args From dfd9afc2c42712bfc231b27ee57fadaf39006ea4 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 16:02:35 +0100 Subject: [PATCH 387/754] 9.43.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 24730227..489598a6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cyberchef", - "version": "9.42.0", + "version": "9.43.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cyberchef", - "version": "9.42.0", + "version": "9.43.0", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index a24c996f..5b816668 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.42.0", + "version": "9.43.0", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From f97ce18ff97648e4a20be36b48b6ad462ca07290 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 16:03:42 +0100 Subject: [PATCH 388/754] Updated CHANGELOG --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0dcf5b17..9cbe89ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ All major and minor version changes will be documented in this file. Details of ## Details +### [9.43.0] - 2022-07-08 +- Added 'ROT13 Brute Force' and 'ROT47 Brute Force' operations [@mikecat] | [#1264] + ### [9.42.0] - 2022-07-08 - Added 'LS47 Encrypt' and 'LS47 Decrypt' operations [@n1073645] | [#951] @@ -303,6 +306,7 @@ All major and minor version changes will be documented in this file. Details of +[9.43.0]: https://github.com/gchq/CyberChef/releases/tag/v9.43.0 [9.42.0]: https://github.com/gchq/CyberChef/releases/tag/v9.42.0 [9.41.0]: https://github.com/gchq/CyberChef/releases/tag/v9.41.0 [9.40.0]: https://github.com/gchq/CyberChef/releases/tag/v9.40.0 @@ -430,6 +434,7 @@ All major and minor version changes will be documented in this file. Details of [@t-8ch]: https://github.com/t-8ch [@hettysymes]: https://github.com/hettysymes [@swesven]: https://github.com/swesven +[@mikecat]: https://github.com/mikecat [8ad18b]: https://github.com/gchq/CyberChef/commit/8ad18bc7db6d9ff184ba3518686293a7685bf7b7 [9a33498]: https://github.com/gchq/CyberChef/commit/9a33498fed26a8df9c9f35f39a78a174bf50a513 @@ -528,3 +533,5 @@ All major and minor version changes will be documented in this file. Details of [#1313]: https://github.com/gchq/CyberChef/pull/1313 [#1326]: https://github.com/gchq/CyberChef/pull/1326 [#1364]: https://github.com/gchq/CyberChef/pull/1364 +[#1264]: https://github.com/gchq/CyberChef/pull/1264 + From a7fc455e05cb461d574d2647a262bb4db39f863c Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 16:24:47 +0100 Subject: [PATCH 389/754] 9.44.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5fcbc00c..80c49ca8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cyberchef", - "version": "9.43.0", + "version": "9.44.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cyberchef", - "version": "9.43.0", + "version": "9.44.0", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index dd37cb00..05a8d6a1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.43.0", + "version": "9.44.0", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From f1d318f2295b19be107dfe09c656b3fadc96c445 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 16:25:59 +0100 Subject: [PATCH 390/754] Updated CHANGELOG --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9cbe89ed..9f0e9159 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ All major and minor version changes will be documented in this file. Details of ## Details +### [9.44.0] - 2022-07-08 +- Added 'LZString Compress' and 'LZString Decompress' operations [@crespyl] | [#1266] + ### [9.43.0] - 2022-07-08 - Added 'ROT13 Brute Force' and 'ROT47 Brute Force' operations [@mikecat] | [#1264] @@ -306,6 +309,7 @@ All major and minor version changes will be documented in this file. Details of +[9.44.0]: https://github.com/gchq/CyberChef/releases/tag/v9.44.0 [9.43.0]: https://github.com/gchq/CyberChef/releases/tag/v9.43.0 [9.42.0]: https://github.com/gchq/CyberChef/releases/tag/v9.42.0 [9.41.0]: https://github.com/gchq/CyberChef/releases/tag/v9.41.0 @@ -435,6 +439,7 @@ All major and minor version changes will be documented in this file. Details of [@hettysymes]: https://github.com/hettysymes [@swesven]: https://github.com/swesven [@mikecat]: https://github.com/mikecat +[@crespyl]: https://github.com/crespyl [8ad18b]: https://github.com/gchq/CyberChef/commit/8ad18bc7db6d9ff184ba3518686293a7685bf7b7 [9a33498]: https://github.com/gchq/CyberChef/commit/9a33498fed26a8df9c9f35f39a78a174bf50a513 @@ -534,4 +539,5 @@ All major and minor version changes will be documented in this file. Details of [#1326]: https://github.com/gchq/CyberChef/pull/1326 [#1364]: https://github.com/gchq/CyberChef/pull/1364 [#1264]: https://github.com/gchq/CyberChef/pull/1264 +[#1266]: https://github.com/gchq/CyberChef/pull/1266 From 25086386c64cd8c880034653c331b9b8c280e47b Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 16:33:16 +0100 Subject: [PATCH 391/754] Tidied ROT8000 --- src/core/operations/ROT8000.mjs | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/core/operations/ROT8000.mjs b/src/core/operations/ROT8000.mjs index 1f039de0..322ceaa3 100644 --- a/src/core/operations/ROT8000.mjs +++ b/src/core/operations/ROT8000.mjs @@ -20,7 +20,7 @@ class ROT8000 extends Operation { this.name = "ROT8000"; this.module = "Default"; this.description = "The simple Caesar-cypher encryption that replaces each Unicode character with the one 0x8000 places forward or back along the alphabet."; - this.infoURL = "https://github.com/rottytooth/rot8000"; + this.infoURL = "https://rot8000.com/info"; this.inputType = "string"; this.outputType = "string"; this.args = []; @@ -35,7 +35,25 @@ class ROT8000 extends Operation { // Inspired from https://github.com/rottytooth/rot8000/blob/main/rot8000.js // these come from the valid-code-point-transitions.json file generated from the c# proj // this is done bc: 1) don't trust JS's understanging of surrogate pairs and 2) consistency with original rot8000 - const validCodePoints = JSON.parse('{"33":true,"127":false,"161":true,"5760":false,"5761":true,"8192":false,"8203":true,"8232":false,"8234":true,"8239":false,"8240":true,"8287":false,"8288":true,"12288":false,"12289":true,"55296":false,"57344":true}'); + const validCodePoints = { + "33": true, + "127": false, + "161": true, + "5760": false, + "5761": true, + "8192": false, + "8203": true, + "8232": false, + "8234": true, + "8239": false, + "8240": true, + "8287": false, + "8288": true, + "12288": false, + "12289": true, + "55296": false, + "57344": true + }; const bmpSize = 0x10000; const rotList = {}; // the mapping of char to rotated char const hiddenBlocks = []; From 6a10e94bfd902b52e3af04e79d47524b7ddf29e1 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 16:33:33 +0100 Subject: [PATCH 392/754] 9.45.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 80c49ca8..6b3a5d60 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cyberchef", - "version": "9.44.0", + "version": "9.45.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cyberchef", - "version": "9.44.0", + "version": "9.45.0", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index 05a8d6a1..2bd3ca72 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.44.0", + "version": "9.45.0", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 683bd3e5db089a83794e9884c0c3d89a309acbef Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 16:34:21 +0100 Subject: [PATCH 393/754] Updated CHANGELOG --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f0e9159..28a07ec7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ All major and minor version changes will be documented in this file. Details of ## Details +### [9.45.0] - 2022-07-08 +- Added 'ROT8000' operation [@thomasleplus] | [#1250] + ### [9.44.0] - 2022-07-08 - Added 'LZString Compress' and 'LZString Decompress' operations [@crespyl] | [#1266] @@ -309,6 +312,7 @@ All major and minor version changes will be documented in this file. Details of +[9.45.0]: https://github.com/gchq/CyberChef/releases/tag/v9.45.0 [9.44.0]: https://github.com/gchq/CyberChef/releases/tag/v9.44.0 [9.43.0]: https://github.com/gchq/CyberChef/releases/tag/v9.43.0 [9.42.0]: https://github.com/gchq/CyberChef/releases/tag/v9.42.0 @@ -440,6 +444,7 @@ All major and minor version changes will be documented in this file. Details of [@swesven]: https://github.com/swesven [@mikecat]: https://github.com/mikecat [@crespyl]: https://github.com/crespyl +[@thomasleplus]: https://github.com/thomasleplus [8ad18b]: https://github.com/gchq/CyberChef/commit/8ad18bc7db6d9ff184ba3518686293a7685bf7b7 [9a33498]: https://github.com/gchq/CyberChef/commit/9a33498fed26a8df9c9f35f39a78a174bf50a513 @@ -540,4 +545,5 @@ All major and minor version changes will be documented in this file. Details of [#1364]: https://github.com/gchq/CyberChef/pull/1364 [#1264]: https://github.com/gchq/CyberChef/pull/1264 [#1266]: https://github.com/gchq/CyberChef/pull/1266 +[#1250]: https://github.com/gchq/CyberChef/pull/1250 From 4200ed4eb9881a4065a9cae0765cfbf56b365f61 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 17:16:35 +0100 Subject: [PATCH 394/754] Tidied Cetacean ciphers --- package-lock.json | 11 ++++++++- src/core/config/Categories.json | 4 ++-- src/core/operations/CetaceanCipherDecode.mjs | 23 +++++++++--------- src/core/operations/CetaceanCipherEncode.mjs | 25 +++++++++----------- 4 files changed, 34 insertions(+), 29 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6b3a5d60..cb17b30e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -56,6 +56,7 @@ "lodash": "^4.17.21", "loglevel": "^1.8.0", "loglevel-message-prefix": "^3.0.0", + "lz-string": "^1.4.4", "markdown-it": "^13.0.1", "moment": "^2.29.3", "moment-timezone": "^0.5.34", @@ -10120,6 +10121,14 @@ "node": ">=10" } }, + "node_modules/lz-string": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", + "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==", + "bin": { + "lz-string": "bin/bin.js" + } + }, "node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -23564,7 +23573,7 @@ "lz-string": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", - "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=" + "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==" }, "make-dir": { "version": "3.1.0", diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 19ab89d3..8ac60048 100644 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -77,8 +77,6 @@ "Blowfish Decrypt", "DES Encrypt", "DES Decrypt", - "Cetacean Cipher Encode", - "Cetacean Cipher Decode", "Triple DES Encrypt", "Triple DES Decrypt", "LS47 Encrypt", @@ -114,6 +112,8 @@ "Atbash Cipher", "CipherSaber2 Encrypt", "CipherSaber2 Decrypt", + "Cetacean Cipher Encode", + "Cetacean Cipher Decode", "Substitute", "Derive PBKDF2 key", "Derive EVP key", diff --git a/src/core/operations/CetaceanCipherDecode.mjs b/src/core/operations/CetaceanCipherDecode.mjs index a79b98c5..a50fe6b7 100644 --- a/src/core/operations/CetaceanCipherDecode.mjs +++ b/src/core/operations/CetaceanCipherDecode.mjs @@ -20,7 +20,7 @@ class CetaceanCipherDecode extends Operation { this.name = "Cetacean Cipher Decode"; this.module = "Ciphers"; this.description = "Decode Cetacean Cipher input.

    e.g. EEEEEEEEEeeEeEEEEEEEEEEEEeeEeEEe becomes hi"; - this.infoURL = ""; + this.infoURL = "https://hitchhikers.fandom.com/wiki/Dolphins"; this.inputType = "string"; this.outputType = "string"; @@ -30,7 +30,7 @@ class CetaceanCipherDecode extends Operation { flags: "", args: [] } - ] + ]; } /** @@ -40,24 +40,23 @@ class CetaceanCipherDecode extends Operation { */ run(input, args) { const binaryArray = []; - for ( const char of input ) { - if ( char === ' ' ) { - binaryArray.push(...[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 ]); + for (const char of input) { + if (char === " ") { + binaryArray.push(...[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0]); } else { - binaryArray.push( char === 'e' ? 1 : 0 ); + binaryArray.push(char === "e" ? 1 : 0); } } const byteArray = []; - for ( let i = 0; i < binaryArray.length; i += 16 ) { - byteArray.push(binaryArray.slice(i, i + 16).join('')) + for (let i = 0; i < binaryArray.length; i += 16) { + byteArray.push(binaryArray.slice(i, i + 16).join("")); } - return byteArray.map( byte => - String.fromCharCode(parseInt( byte , 2 ) - ) - ).join(''); + return byteArray.map(byte => + String.fromCharCode(parseInt(byte, 2)) + ).join(""); } } diff --git a/src/core/operations/CetaceanCipherEncode.mjs b/src/core/operations/CetaceanCipherEncode.mjs index e32e4f81..ec5f76d6 100644 --- a/src/core/operations/CetaceanCipherEncode.mjs +++ b/src/core/operations/CetaceanCipherEncode.mjs @@ -5,6 +5,7 @@ */ import Operation from "../Operation.mjs"; +import {toBinary} from "../lib/Binary.mjs"; /** * Cetacean Cipher Encode operation @@ -19,8 +20,8 @@ class CetaceanCipherEncode extends Operation { this.name = "Cetacean Cipher Encode"; this.module = "Ciphers"; - this.description = "Converts any input into Cetacean Cipher.

    e.g. hi becomes EEEEEEEEEeeEeEEEEEEEEEEEEeeEeEEe\""; - this.infoURL = ""; + this.description = "Converts any input into Cetacean Cipher.

    e.g. hi becomes EEEEEEEEEeeEeEEEEEEEEEEEEeeEeEEe"; + this.infoURL = "https://hitchhikers.fandom.com/wiki/Dolphins"; this.inputType = "string"; this.outputType = "string"; } @@ -31,23 +32,19 @@ class CetaceanCipherEncode extends Operation { * @returns {string} */ run(input, args) { - let result = []; - let charArray = input.split(''); + const result = []; + const charArray = input.split(""); - charArray.map( ( character ) => { - if ( character === ' ' ) { - result.push( character ); + charArray.map(character => { + if (character === " ") { + result.push(character); } else { - const binaryArray = this.encodeToBinary( character ).split(''); - result.push( binaryArray.map(( str ) => str === '1' ? 'e' : 'E' ).join('')); + const binaryArray = toBinary(character.charCodeAt(0), "None", 16).split(""); + result.push(binaryArray.map(str => str === "1" ? "e" : "E").join("")); } }); - return result.join(''); - } - - encodeToBinary( char, padding = 16 ) { - return char.charCodeAt(0).toString(2).padStart( padding, '0'); + return result.join(""); } } From 85496684d8f184e134a9a38f7c6fbf235ba611fa Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 17:17:23 +0100 Subject: [PATCH 395/754] 9.46.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index cb17b30e..e1712692 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cyberchef", - "version": "9.45.0", + "version": "9.46.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cyberchef", - "version": "9.45.0", + "version": "9.46.0", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index 2bd3ca72..48d6f693 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.45.0", + "version": "9.46.0", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 037590f83128fb856f2e590f133201a39d2c7d2a Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 8 Jul 2022 17:18:20 +0100 Subject: [PATCH 396/754] Updated CHANGELOG --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 28a07ec7..f5d0712d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ All major and minor version changes will be documented in this file. Details of ## Details +### [9.46.0] - 2022-07-08 +- Added 'Cetacean Cipher Encode' and 'Cetacean Cipher Decode' operations [@valdelaseras] | [#1308] + ### [9.45.0] - 2022-07-08 - Added 'ROT8000' operation [@thomasleplus] | [#1250] @@ -312,6 +315,7 @@ All major and minor version changes will be documented in this file. Details of +[9.46.0]: https://github.com/gchq/CyberChef/releases/tag/v9.46.0 [9.45.0]: https://github.com/gchq/CyberChef/releases/tag/v9.45.0 [9.44.0]: https://github.com/gchq/CyberChef/releases/tag/v9.44.0 [9.43.0]: https://github.com/gchq/CyberChef/releases/tag/v9.43.0 @@ -445,6 +449,7 @@ All major and minor version changes will be documented in this file. Details of [@mikecat]: https://github.com/mikecat [@crespyl]: https://github.com/crespyl [@thomasleplus]: https://github.com/thomasleplus +[@valdelaseras]: https://github.com/valdelaseras [8ad18b]: https://github.com/gchq/CyberChef/commit/8ad18bc7db6d9ff184ba3518686293a7685bf7b7 [9a33498]: https://github.com/gchq/CyberChef/commit/9a33498fed26a8df9c9f35f39a78a174bf50a513 @@ -546,4 +551,5 @@ All major and minor version changes will be documented in this file. Details of [#1264]: https://github.com/gchq/CyberChef/pull/1264 [#1266]: https://github.com/gchq/CyberChef/pull/1266 [#1250]: https://github.com/gchq/CyberChef/pull/1250 +[#1308]: https://github.com/gchq/CyberChef/pull/1308 From 890f645eebd6665f9fffbebcfb200a518190f008 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Sun, 10 Jul 2022 22:01:22 +0100 Subject: [PATCH 397/754] Overhauled Highlighting to work with new editor and support multiple selections --- src/core/ChefWorker.js | 2 +- src/core/operations/ToHex.mjs | 6 +- src/web/Manager.mjs | 8 - src/web/waiters/HighlighterWaiter.mjs | 419 +++++--------------------- src/web/waiters/InputWaiter.mjs | 24 +- src/web/waiters/OutputWaiter.mjs | 33 +- src/web/waiters/TabWaiter.mjs | 3 - src/web/waiters/WorkerWaiter.mjs | 2 +- 8 files changed, 104 insertions(+), 393 deletions(-) diff --git a/src/core/ChefWorker.js b/src/core/ChefWorker.js index f4a17f63..d46a705d 100644 --- a/src/core/ChefWorker.js +++ b/src/core/ChefWorker.js @@ -186,7 +186,7 @@ async function getDishTitle(data) { * * @param {Object[]} recipeConfig * @param {string} direction - * @param {Object} pos - The position object for the highlight. + * @param {Object[]} pos - The position object for the highlight. * @param {number} pos.start - The start offset. * @param {number} pos.end - The end offset. */ diff --git a/src/core/operations/ToHex.mjs b/src/core/operations/ToHex.mjs index 71893105..092155a9 100644 --- a/src/core/operations/ToHex.mjs +++ b/src/core/operations/ToHex.mjs @@ -76,7 +76,7 @@ class ToHex extends Operation { } const lineSize = args[1], - len = (delim === "\r\n" ? 1 : delim.length) + commaLen; + len = delim.length + commaLen; const countLF = function(p) { // Count the number of LFs from 0 upto p @@ -105,7 +105,7 @@ class ToHex extends Operation { * @returns {Object[]} pos */ highlightReverse(pos, args) { - let delim, commaLen; + let delim, commaLen = 0; if (args[0] === "0x with comma") { delim = "0x"; commaLen = 1; @@ -114,7 +114,7 @@ class ToHex extends Operation { } const lineSize = args[1], - len = (delim === "\r\n" ? 1 : delim.length) + commaLen, + len = delim.length + commaLen, width = len + 2; const countLF = function(p) { diff --git a/src/web/Manager.mjs b/src/web/Manager.mjs index 2477bb60..a46379e9 100755 --- a/src/web/Manager.mjs +++ b/src/web/Manager.mjs @@ -153,10 +153,6 @@ class Manager { this.addListeners("#input-text,#input-file", "dragover", this.input.inputDragover, this.input); this.addListeners("#input-text,#input-file", "dragleave", this.input.inputDragleave, this.input); this.addListeners("#input-text,#input-file", "drop", this.input.inputDrop, this.input); - document.getElementById("input-text").addEventListener("scroll", this.highlighter.inputScroll.bind(this.highlighter)); - document.getElementById("input-text").addEventListener("mouseup", this.highlighter.inputMouseup.bind(this.highlighter)); - document.getElementById("input-text").addEventListener("mousemove", this.highlighter.inputMousemove.bind(this.highlighter)); - this.addMultiEventListener("#input-text", "mousedown dblclick select", this.highlighter.inputMousedown, this.highlighter); document.querySelector("#input-file .close").addEventListener("click", this.input.clearIoClick.bind(this.input)); document.getElementById("btn-new-tab").addEventListener("click", this.input.addInputClick.bind(this.input)); document.getElementById("btn-previous-input-tab").addEventListener("mousedown", this.input.previousTabClick.bind(this.input)); @@ -188,10 +184,6 @@ class Manager { document.getElementById("undo-switch").addEventListener("click", this.output.undoSwitchClick.bind(this.output)); document.getElementById("maximise-output").addEventListener("click", this.output.maximiseOutputClick.bind(this.output)); document.getElementById("magic").addEventListener("click", this.output.magicClick.bind(this.output)); - document.getElementById("output-text").addEventListener("scroll", this.highlighter.outputScroll.bind(this.highlighter)); - document.getElementById("output-text").addEventListener("mouseup", this.highlighter.outputMouseup.bind(this.highlighter)); - document.getElementById("output-text").addEventListener("mousemove", this.highlighter.outputMousemove.bind(this.highlighter)); - this.addMultiEventListener("#output-text", "mousedown dblclick select", this.highlighter.outputMousedown, this.highlighter); this.addDynamicListener("#output-file-download", "click", this.output.downloadFile, this.output); this.addDynamicListener("#output-file-show-all", "click", this.output.showAllFile, this.output); this.addDynamicListener("#output-file-slice i", "click", this.output.displayFileSlice, this.output); diff --git a/src/web/waiters/HighlighterWaiter.mjs b/src/web/waiters/HighlighterWaiter.mjs index d1340165..8b4375fe 100755 --- a/src/web/waiters/HighlighterWaiter.mjs +++ b/src/web/waiters/HighlighterWaiter.mjs @@ -4,17 +4,7 @@ * @license Apache-2.0 */ -/** - * HighlighterWaiter data type enum for the input. - * @enum - */ -const INPUT = 0; - -/** - * HighlighterWaiter data type enum for the output. - * @enum - */ -const OUTPUT = 1; +import {EditorSelection} from "@codemirror/state"; /** @@ -32,309 +22,81 @@ class HighlighterWaiter { this.app = app; this.manager = manager; - this.mouseButtonDown = false; - this.mouseTarget = null; + this.currentSelectionRanges = []; } - /** - * Determines if the current text selection is running backwards or forwards. - * StackOverflow answer id: 12652116 + * Handler for selection change events in the input and output * - * @private - * @returns {boolean} - */ - _isSelectionBackwards() { - let backwards = false; - const sel = window.getSelection(); - - if (!sel.isCollapsed) { - const range = document.createRange(); - range.setStart(sel.anchorNode, sel.anchorOffset); - range.setEnd(sel.focusNode, sel.focusOffset); - backwards = range.collapsed; - range.detach(); - } - return backwards; - } - - - /** - * Calculates the text offset of a position in an HTML element, ignoring HTML tags. - * - * @private - * @param {element} node - The parent HTML node. - * @param {number} offset - The offset since the last HTML element. - * @returns {number} - */ - _getOutputHtmlOffset(node, offset) { - const sel = window.getSelection(); - const range = document.createRange(); - - range.selectNodeContents(document.getElementById("output-html")); - range.setEnd(node, offset); - sel.removeAllRanges(); - sel.addRange(range); - - return sel.toString().length; - } - - - /** - * Gets the current selection offsets in the output HTML, ignoring HTML tags. - * - * @private - * @returns {Object} pos - * @returns {number} pos.start - * @returns {number} pos.end - */ - _getOutputHtmlSelectionOffsets() { - const sel = window.getSelection(); - let range, - start = 0, - end = 0, - backwards = false; - - if (sel.rangeCount) { - range = sel.getRangeAt(sel.rangeCount - 1); - backwards = this._isSelectionBackwards(); - start = this._getOutputHtmlOffset(range.startContainer, range.startOffset); - end = this._getOutputHtmlOffset(range.endContainer, range.endOffset); - sel.removeAllRanges(); - sel.addRange(range); - - if (backwards) { - // If selecting backwards, reverse the start and end offsets for the selection to - // prevent deselecting as the drag continues. - sel.collapseToEnd(); - sel.extend(sel.anchorNode, range.startOffset); - } - } - - return { - start: start, - end: end - }; - } - - - /** - * Handler for input scroll events. - * Scrolls the highlighter pane to match the input textarea position. - * - * @param {event} e - */ - inputScroll(e) { - const el = e.target; - document.getElementById("input-highlighter").scrollTop = el.scrollTop; - document.getElementById("input-highlighter").scrollLeft = el.scrollLeft; - } - - - /** - * Handler for output scroll events. - * Scrolls the highlighter pane to match the output textarea position. - * - * @param {event} e - */ - outputScroll(e) { - const el = e.target; - document.getElementById("output-highlighter").scrollTop = el.scrollTop; - document.getElementById("output-highlighter").scrollLeft = el.scrollLeft; - } - - - /** - * Handler for input mousedown events. - * Calculates the current selection info, and highlights the corresponding data in the output. - * - * @param {event} e - */ - inputMousedown(e) { - this.mouseButtonDown = true; - this.mouseTarget = INPUT; - this.removeHighlights(); - - const sel = document.getSelection(); - const start = sel.baseOffset; - const end = sel.extentOffset; - - if (start !== 0 || end !== 0) { - this.highlightOutput([{start: start, end: end}]); - } - } - - - /** - * Handler for output mousedown events. - * Calculates the current selection info, and highlights the corresponding data in the input. - * - * @param {event} e - */ - outputMousedown(e) { - this.mouseButtonDown = true; - this.mouseTarget = OUTPUT; - this.removeHighlights(); - - const sel = document.getSelection(); - const start = sel.baseOffset; - const end = sel.extentOffset; - - if (start !== 0 || end !== 0) { - this.highlightInput([{start: start, end: end}]); - } - } - - - /** - * Handler for input mouseup events. - * - * @param {event} e - */ - inputMouseup(e) { - this.mouseButtonDown = false; - } - - - /** - * Handler for output mouseup events. - * - * @param {event} e - */ - outputMouseup(e) { - this.mouseButtonDown = false; - } - - - /** - * Handler for input mousemove events. - * Calculates the current selection info, and highlights the corresponding data in the output. - * - * @param {event} e - */ - inputMousemove(e) { - // Check that the left mouse button is pressed - if (!this.mouseButtonDown || - e.which !== 1 || - this.mouseTarget !== INPUT) - return; - - const sel = document.getSelection(); - const start = sel.baseOffset; - const end = sel.extentOffset; - - if (start !== 0 || end !== 0) { - this.highlightOutput([{start: start, end: end}]); - } - } - - - /** - * Handler for output mousemove events. - * Calculates the current selection info, and highlights the corresponding data in the input. - * - * @param {event} e - */ - outputMousemove(e) { - // Check that the left mouse button is pressed - if (!this.mouseButtonDown || - e.which !== 1 || - this.mouseTarget !== OUTPUT) - return; - - const sel = document.getSelection(); - const start = sel.baseOffset; - const end = sel.extentOffset; - - if (start !== 0 || end !== 0) { - this.highlightInput([{start: start, end: end}]); - } - } - - - /** - * Given start and end offsets, writes the HTML for the selection info element with the correct - * padding. - * - * @param {number} start - The start offset. - * @param {number} end - The end offset. - * @returns {string} - */ - selectionInfo(start, end) { - const len = end.toString().length; - const width = len < 2 ? 2 : len; - const startStr = start.toString().padStart(width, " ").replace(/ /g, " "); - const endStr = end.toString().padStart(width, " ").replace(/ /g, " "); - const lenStr = (end-start).toString().padStart(width, " ").replace(/ /g, " "); - - return "start: " + startStr + "
    end: " + endStr + "
    length: " + lenStr; - } - - - /** - * Removes highlighting and selection information. - */ - removeHighlights() { - document.getElementById("input-highlighter").innerHTML = ""; - document.getElementById("output-highlighter").innerHTML = ""; - } - - - /** - * Highlights the given offsets in the output. + * Highlights the given offsets in the input or output. * We will only highlight if: * - input hasn't changed since last bake * - last bake was a full bake * - all operations in the recipe support highlighting * - * @param {Object} pos - The position object for the highlight. - * @param {number} pos.start - The start offset. - * @param {number} pos.end - The end offset. + * @param {string} io + * @param {ViewUpdate} e */ - highlightOutput(pos) { + selectionChange(io, e) { + // Confirm we are not currently baking if (!this.app.autoBake_ || this.app.baking) return false; - this.manager.worker.highlight(this.app.getRecipeConfig(), "forward", pos); + + // Confirm this was a user-generated event to prevent looping + // from setting the selection in this class + if (!e.transactions[0].isUserEvent("select")) return false; + + const view = io === "input" ? + this.manager.output.outputEditorView : + this.manager.input.inputEditorView; + + this.currentSelectionRanges = []; + + // Confirm some non-empty ranges are set + const selectionRanges = e.state.selection.ranges.filter(r => !r.empty); + if (!selectionRanges.length) { + this.resetSelections(view); + return; + } + + // Loop through ranges and send request for output offsets for each one + const direction = io === "input" ? "forward" : "reverse"; + for (const range of selectionRanges) { + const pos = [{ + start: range.from, + end: range.to + }]; + this.manager.worker.highlight(this.app.getRecipeConfig(), direction, pos); + } } - /** - * Highlights the given offsets in the input. - * We will only highlight if: - * - input hasn't changed since last bake - * - last bake was a full bake - * - all operations in the recipe support highlighting - * - * @param {Object} pos - The position object for the highlight. - * @param {number} pos.start - The start offset. - * @param {number} pos.end - The end offset. + * Resets the current set of selections in the given view + * @param {EditorView} view */ - highlightInput(pos) { - if (!this.app.autoBake_ || this.app.baking) return false; - this.manager.worker.highlight(this.app.getRecipeConfig(), "reverse", pos); + resetSelections(view) { + this.currentSelectionRanges = []; + + // Clear current selection in output or input + view.dispatch({ + selection: EditorSelection.create([EditorSelection.range(0, 0)]) + }); } /** * Displays highlight offsets sent back from the Chef. * - * @param {Object} pos - The position object for the highlight. + * @param {Object[]} pos - The position object for the highlight. * @param {number} pos.start - The start offset. * @param {number} pos.end - The end offset. * @param {string} direction */ displayHighlights(pos, direction) { if (!pos) return; - if (this.manager.tabs.getActiveInputTab() !== this.manager.tabs.getActiveOutputTab()) return; const io = direction === "forward" ? "output" : "input"; - - // TODO - // document.getElementById(io + "-selection-info").innerHTML = this.selectionInfo(pos[0].start, pos[0].end); - this.highlight( - document.getElementById(io + "-text"), - document.getElementById(io + "-highlighter"), - pos); + this.highlight(io, pos); } @@ -342,74 +104,35 @@ class HighlighterWaiter { * Adds the relevant HTML to the specified highlight element such that highlighting appears * underneath the correct offset. * - * @param {element} textarea - The input or output textarea. - * @param {element} highlighter - The input or output highlighter element. - * @param {Object} pos - The position object for the highlight. - * @param {number} pos.start - The start offset. - * @param {number} pos.end - The end offset. + * @param {string} io - The input or output + * @param {Object[]} ranges - An array of position objects to highlight + * @param {number} ranges.start - The start offset + * @param {number} ranges.end - The end offset */ - async highlight(textarea, highlighter, pos) { - // if (!this.app.options.showHighlighter) return false; - // if (!this.app.options.attemptHighlight) return false; + async highlight(io, ranges) { + if (!this.app.options.showHighlighter) return false; + if (!this.app.options.attemptHighlight) return false; + if (!ranges || !ranges.length) return false; - // // Check if there is a carriage return in the output dish as this will not - // // be displayed by the HTML textarea and will mess up highlighting offsets. - // if (await this.manager.output.containsCR()) return false; + const view = io === "input" ? + this.manager.input.inputEditorView : + this.manager.output.outputEditorView; - // const startPlaceholder = "[startHighlight]"; - // const startPlaceholderRegex = /\[startHighlight\]/g; - // const endPlaceholder = "[endHighlight]"; - // const endPlaceholderRegex = /\[endHighlight\]/g; - // // let text = textarea.value; // TODO + // Add new SelectionRanges to existing ones + for (const range of ranges) { + if (!range.start || !range.end) continue; + this.currentSelectionRanges.push( + EditorSelection.range(range.start, range.end) + ); + } - // // Put placeholders in position - // // If there's only one value, select that - // // If there are multiple, ignore the first one and select all others - // if (pos.length === 1) { - // if (pos[0].end < pos[0].start) return; - // text = text.slice(0, pos[0].start) + - // startPlaceholder + text.slice(pos[0].start, pos[0].end) + endPlaceholder + - // text.slice(pos[0].end, text.length); - // } else { - // // O(n^2) - Can anyone improve this without overwriting placeholders? - // let result = "", - // endPlaced = true; - - // for (let i = 0; i < text.length; i++) { - // for (let j = 1; j < pos.length; j++) { - // if (pos[j].end < pos[j].start) continue; - // if (pos[j].start === i) { - // result += startPlaceholder; - // endPlaced = false; - // } - // if (pos[j].end === i) { - // result += endPlaceholder; - // endPlaced = true; - // } - // } - // result += text[i]; - // } - // if (!endPlaced) result += endPlaceholder; - // text = result; - // } - - // const cssClass = "hl1"; - - // // Remove HTML tags - // text = text - // .replace(/&/g, "&") - // .replace(//g, ">") - // .replace(/\n/g, " ") - // // Convert placeholders to tags - // .replace(startPlaceholderRegex, "") - // .replace(endPlaceholderRegex, "") + " "; - - // // Adjust width to allow for scrollbars - // highlighter.style.width = textarea.clientWidth + "px"; - // highlighter.innerHTML = text; - // highlighter.scrollTop = textarea.scrollTop; - // highlighter.scrollLeft = textarea.scrollLeft; + // Set selection + if (this.currentSelectionRanges.length) { + view.dispatch({ + selection: EditorSelection.create(this.currentSelectionRanges), + scrollIntoView: true + }); + } } } diff --git a/src/web/waiters/InputWaiter.mjs b/src/web/waiters/InputWaiter.mjs index 0dc44dbe..ff512f69 100644 --- a/src/web/waiters/InputWaiter.mjs +++ b/src/web/waiters/InputWaiter.mjs @@ -87,6 +87,7 @@ class InputWaiter { const initialState = EditorState.create({ doc: null, extensions: [ + // Editor extensions history(), highlightSpecialChars({render: renderSpecialChar}), drawSelection(), @@ -95,13 +96,19 @@ class InputWaiter { bracketMatching(), highlightSelectionMatches(), search({top: true}), + EditorState.allowMultipleSelections.of(true), + + // Custom extensions statusBar({ label: "Input", eolHandler: this.eolChange.bind(this) }), + + // Mutable state this.inputEditorConf.lineWrapping.of(EditorView.lineWrapping), this.inputEditorConf.eol.of(EditorState.lineSeparator.of("\n")), - EditorState.allowMultipleSelections.of(true), + + // Keymap keymap.of([ // Explicitly insert a tab rather than indenting the line { key: "Tab", run: insertTab }, @@ -112,6 +119,12 @@ class InputWaiter { ...defaultKeymap, ...searchKeymap ]), + + // Event listeners + EditorView.updateListener.of(e => { + if (e.selectionSet) + this.manager.highlighter.selectionChange("input", e); + }) ] }); @@ -771,9 +784,6 @@ class InputWaiter { const fileOverlay = document.getElementById("input-file"); if (fileOverlay.style.display === "block") return; - // Remove highlighting from input and output panes as the offsets might be different now - this.manager.highlighter.removeHighlights(); - const value = this.getInput(); const activeTab = this.manager.tabs.getActiveInputTab(); @@ -1033,9 +1043,6 @@ class InputWaiter { this.manager.output.removeAllOutputs(); this.manager.output.terminateZipWorker(); - this.manager.highlighter.removeHighlights(); - getSelection().removeAllRanges(); - const tabsList = document.getElementById("input-tabs"); const tabsListChildren = tabsList.children; @@ -1073,9 +1080,6 @@ class InputWaiter { const inputNum = this.manager.tabs.getActiveInputTab(); if (inputNum === -1) return; - this.manager.highlighter.removeHighlights(); - getSelection().removeAllRanges(); - this.updateInputValue(inputNum, "", true); this.set({ diff --git a/src/web/waiters/OutputWaiter.mjs b/src/web/waiters/OutputWaiter.mjs index 496b0ac5..d1fd2532 100755 --- a/src/web/waiters/OutputWaiter.mjs +++ b/src/web/waiters/OutputWaiter.mjs @@ -67,6 +67,7 @@ class OutputWaiter { const initialState = EditorState.create({ doc: null, extensions: [ + // Editor extensions EditorState.readOnly.of(true), htmlPlugin(this.htmlOutput), highlightSpecialChars({render: renderSpecialChar}), @@ -76,18 +77,30 @@ class OutputWaiter { bracketMatching(), highlightSelectionMatches(), search({top: true}), + EditorState.allowMultipleSelections.of(true), + + // Custom extensiosn statusBar({ label: "Output", bakeStats: this.bakeStats, eolHandler: this.eolChange.bind(this) }), + + // Mutable state this.outputEditorConf.lineWrapping.of(EditorView.lineWrapping), this.outputEditorConf.eol.of(EditorState.lineSeparator.of("\n")), - EditorState.allowMultipleSelections.of(true), + + // Keymap keymap.of([ ...defaultKeymap, ...searchKeymap ]), + + // Event listeners + EditorView.updateListener.of(e => { + if (e.selectionSet) + this.manager.highlighter.selectionChange("output", e); + }) ] }); @@ -817,9 +830,6 @@ class OutputWaiter { this.hideMagicButton(); - this.manager.highlighter.removeHighlights(); - getSelection().removeAllRanges(); - if (!this.manager.tabs.changeOutputTab(inputNum)) { let direction = "right"; if (currentNum > inputNum) { @@ -1343,21 +1353,6 @@ class OutputWaiter { document.body.removeChild(textarea); } - /** - * Returns true if the output contains carriage returns - * - * @returns {boolean} - */ - async containsCR() { - const dish = this.getOutputDish(this.manager.tabs.getActiveOutputTab()); - if (dish === null) return; - - if (dish.type === Dish.STRING) { - const data = await dish.get(Dish.STRING); - return data.indexOf("\r") >= 0; - } - } - /** * Handler for switch click events. * Moves the current output into the input textarea. diff --git a/src/web/waiters/TabWaiter.mjs b/src/web/waiters/TabWaiter.mjs index 384b1ab7..f5b0efd4 100644 --- a/src/web/waiters/TabWaiter.mjs +++ b/src/web/waiters/TabWaiter.mjs @@ -305,9 +305,6 @@ class TabWaiter { changeTab(inputNum, io) { const tabsList = document.getElementById(`${io}-tabs`); - this.manager.highlighter.removeHighlights(); - getSelection().removeAllRanges(); - let found = false; for (let i = 0; i < tabsList.children.length; i++) { const tabNum = parseInt(tabsList.children.item(i).getAttribute("inputNum"), 10); diff --git a/src/web/waiters/WorkerWaiter.mjs b/src/web/waiters/WorkerWaiter.mjs index 7fcaa509..a63bfc1f 100644 --- a/src/web/waiters/WorkerWaiter.mjs +++ b/src/web/waiters/WorkerWaiter.mjs @@ -794,7 +794,7 @@ class WorkerWaiter { * * @param {Object[]} recipeConfig * @param {string} direction - * @param {Object} pos - The position object for the highlight. + * @param {Object[]} pos - The position object for the highlight. * @param {number} pos.start - The start offset. * @param {number} pos.end - The end offset. */ From 157dacb3a52fd082ffd203d5a88e328217260eb2 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 11 Jul 2022 11:43:48 +0100 Subject: [PATCH 398/754] Improved highlighting colours and selection ranges --- src/web/stylesheets/layout/_io.css | 22 +++++++++++ src/web/stylesheets/themes/_classic.css | 10 ++--- src/web/waiters/HighlighterWaiter.mjs | 51 ++++++++++--------------- src/web/waiters/InputWaiter.mjs | 3 +- 4 files changed, 50 insertions(+), 36 deletions(-) diff --git a/src/web/stylesheets/layout/_io.css b/src/web/stylesheets/layout/_io.css index ba670f3d..cb196709 100755 --- a/src/web/stylesheets/layout/_io.css +++ b/src/web/stylesheets/layout/_io.css @@ -440,6 +440,28 @@ filter: brightness(98%); } +/* Highlighting */ +.ͼ2.cm-focused .cm-selectionBackground { + background-color: var(--hl5); +} + +.ͼ2 .cm-selectionBackground { + background-color: var(--hl1); +} + +.ͼ1 .cm-selectionMatch { + background-color: var(--hl2); +} + +.ͼ1.cm-focused .cm-cursor.cm-cursor-primary { + border-color: var(--primary-font-colour); +} + +.ͼ1 .cm-cursor.cm-cursor-primary { + display: block; + border-color: var(--subtext-font-colour); +} + /* Status bar */ diff --git a/src/web/stylesheets/themes/_classic.css b/src/web/stylesheets/themes/_classic.css index 3b3bd555..971c1c57 100755 --- a/src/web/stylesheets/themes/_classic.css +++ b/src/web/stylesheets/themes/_classic.css @@ -110,11 +110,11 @@ /* Highlighter colours */ - --hl1: #fff000; - --hl2: #95dfff; - --hl3: #ffb6b6; - --hl4: #fcf8e3; - --hl5: #8de768; + --hl1: #ffee00aa; + --hl2: #95dfffaa; + --hl3: #ffb6b6aa; + --hl4: #fcf8e3aa; + --hl5: #8de768aa; /* Scrollbar */ diff --git a/src/web/waiters/HighlighterWaiter.mjs b/src/web/waiters/HighlighterWaiter.mjs index 8b4375fe..189d3777 100755 --- a/src/web/waiters/HighlighterWaiter.mjs +++ b/src/web/waiters/HighlighterWaiter.mjs @@ -45,18 +45,10 @@ class HighlighterWaiter { // from setting the selection in this class if (!e.transactions[0].isUserEvent("select")) return false; - const view = io === "input" ? - this.manager.output.outputEditorView : - this.manager.input.inputEditorView; - this.currentSelectionRanges = []; // Confirm some non-empty ranges are set - const selectionRanges = e.state.selection.ranges.filter(r => !r.empty); - if (!selectionRanges.length) { - this.resetSelections(view); - return; - } + const selectionRanges = e.state.selection.ranges; // Loop through ranges and send request for output offsets for each one const direction = io === "input" ? "forward" : "reverse"; @@ -69,19 +61,6 @@ class HighlighterWaiter { } } - /** - * Resets the current set of selections in the given view - * @param {EditorView} view - */ - resetSelections(view) { - this.currentSelectionRanges = []; - - // Clear current selection in output or input - view.dispatch({ - selection: EditorSelection.create([EditorSelection.range(0, 0)]) - }); - } - /** * Displays highlight offsets sent back from the Chef. @@ -120,18 +99,30 @@ class HighlighterWaiter { // Add new SelectionRanges to existing ones for (const range of ranges) { - if (!range.start || !range.end) continue; - this.currentSelectionRanges.push( - EditorSelection.range(range.start, range.end) - ); + if (typeof range.start !== "number" || + typeof range.end !== "number") + continue; + const selection = range.end <= range.start ? + EditorSelection.cursor(range.start) : + EditorSelection.range(range.start, range.end); + + this.currentSelectionRanges.push(selection); } // Set selection if (this.currentSelectionRanges.length) { - view.dispatch({ - selection: EditorSelection.create(this.currentSelectionRanges), - scrollIntoView: true - }); + try { + view.dispatch({ + selection: EditorSelection.create(this.currentSelectionRanges), + scrollIntoView: true + }); + } catch (err) { + // Ignore Range Errors + if (!err.toString().startsWith("RangeError")) { + console.error(err); + } + + } } } diff --git a/src/web/waiters/InputWaiter.mjs b/src/web/waiters/InputWaiter.mjs index ff512f69..69417b92 100644 --- a/src/web/waiters/InputWaiter.mjs +++ b/src/web/waiters/InputWaiter.mjs @@ -12,7 +12,7 @@ import {toBase64} from "../../core/lib/Base64.mjs"; import {isImage} from "../../core/lib/FileType.mjs"; import { - EditorView, keymap, highlightSpecialChars, drawSelection, rectangularSelection, crosshairCursor + EditorView, keymap, highlightSpecialChars, drawSelection, rectangularSelection, crosshairCursor, dropCursor } from "@codemirror/view"; import {EditorState, Compartment} from "@codemirror/state"; import {defaultKeymap, insertTab, insertNewline, history, historyKeymap} from "@codemirror/commands"; @@ -93,6 +93,7 @@ class InputWaiter { drawSelection(), rectangularSelection(), crosshairCursor(), + dropCursor(), bracketMatching(), highlightSelectionMatches(), search({top: true}), From 5c8aac5572b687186d390d07c7206e068df25a19 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 11 Jul 2022 13:43:19 +0100 Subject: [PATCH 399/754] Improved input change update responsiveness --- src/core/operations/ParseColourCode.mjs | 2 +- src/web/App.mjs | 9 +++-- src/web/Manager.mjs | 1 - src/web/waiters/InputWaiter.mjs | 53 ++++++------------------- src/web/waiters/OutputWaiter.mjs | 4 +- 5 files changed, 20 insertions(+), 49 deletions(-) diff --git a/src/core/operations/ParseColourCode.mjs b/src/core/operations/ParseColourCode.mjs index 045d8f05..31e575a1 100644 --- a/src/core/operations/ParseColourCode.mjs +++ b/src/core/operations/ParseColourCode.mjs @@ -113,7 +113,7 @@ CMYK: ${cmyk} }).on('colorpickerChange', function(e) { var color = e.color.string('rgba'); window.app.manager.input.setInput(color); - window.app.manager.input.debounceInputChange(new Event("keyup")); + window.app.manager.input.inputChange(new Event("keyup")); }); `; } diff --git a/src/web/App.mjs b/src/web/App.mjs index 2d45d1f1..4ead8bc4 100755 --- a/src/web/App.mjs +++ b/src/web/App.mjs @@ -728,10 +728,11 @@ class App { * @param {event} e */ stateChange(e) { - this.progress = 0; - this.autoBake(); - - this.updateTitle(true, null, true); + debounce(function() { + this.progress = 0; + this.autoBake(); + this.updateTitle(true, null, true); + }, 20, "stateChange", this, [])(); } diff --git a/src/web/Manager.mjs b/src/web/Manager.mjs index a46379e9..9d03c728 100755 --- a/src/web/Manager.mjs +++ b/src/web/Manager.mjs @@ -146,7 +146,6 @@ class Manager { this.addDynamicListener("textarea.arg", "drop", this.recipe.textArgDrop, this.recipe); // Input - document.getElementById("input-text").addEventListener("keyup", this.input.debounceInputChange.bind(this.input)); document.getElementById("reset-layout").addEventListener("click", this.app.resetLayout.bind(this.app)); this.addListeners("#clr-io,#btn-close-all-tabs", "click", this.input.clearAllIoClick, this.input); this.addListeners("#open-file,#open-folder", "change", this.input.inputOpen, this.input); diff --git a/src/web/waiters/InputWaiter.mjs b/src/web/waiters/InputWaiter.mjs index 69417b92..6a1b57df 100644 --- a/src/web/waiters/InputWaiter.mjs +++ b/src/web/waiters/InputWaiter.mjs @@ -41,24 +41,6 @@ class InputWaiter { this.inputTextEl = document.getElementById("input-text"); this.initEditor(); - // Define keys that don't change the input so we don't have to autobake when they are pressed - this.badKeys = [ - 16, // Shift - 17, // Ctrl - 18, // Alt - 19, // Pause - 20, // Caps - 27, // Esc - 33, 34, 35, 36, // PgUp, PgDn, End, Home - 37, 38, 39, 40, // Directional - 44, // PrntScrn - 91, 92, // Win - 93, // Context - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, // F1-12 - 144, // Num - 145, // Scroll - ]; - this.inputWorker = null; this.loaderWorkers = []; this.workerId = 0; @@ -125,6 +107,8 @@ class InputWaiter { EditorView.updateListener.of(e => { if (e.selectionSet) this.manager.highlighter.selectionChange("input", e); + if (e.docChanged) + this.inputChange(e); }) ] }); @@ -396,7 +380,7 @@ class InputWaiter { this.showLoadingInfo(r.data, true); break; case "setInput": - debounce(this.set, 50, "setInput", this, [r.data.inputObj, r.data.silent])(); + this.set(r.data.inputObj, r.data.silent); break; case "inputAdded": this.inputAdded(r.data.changeTab, r.data.inputNum); @@ -762,41 +746,30 @@ class InputWaiter { }); } - /** - * Handler for input change events. - * Debounces the input so we don't call autobake too often. - * - * @param {event} e - */ - debounceInputChange(e) { - debounce(this.inputChange, 50, "inputChange", this, [e])(); - } - /** * Handler for input change events. * Updates the value stored in the inputWorker + * Debounces the input so we don't call autobake too often. * * @param {event} e * * @fires Manager#statechange */ inputChange(e) { - // Ignore this function if the input is a file - const fileOverlay = document.getElementById("input-file"); - if (fileOverlay.style.display === "block") return; + debounce(function(e) { + // Ignore this function if the input is a file + const fileOverlay = document.getElementById("input-file"); + if (fileOverlay.style.display === "block") return; - const value = this.getInput(); - const activeTab = this.manager.tabs.getActiveInputTab(); + const value = this.getInput(); + const activeTab = this.manager.tabs.getActiveInputTab(); - this.app.progress = 0; + this.updateInputValue(activeTab, value); + this.manager.tabs.updateInputTabHeader(activeTab, value.slice(0, 100).replace(/[\n\r]/g, "")); - this.updateInputValue(activeTab, value); - this.manager.tabs.updateInputTabHeader(activeTab, value.slice(0, 100).replace(/[\n\r]/g, "")); - - if (e && this.badKeys.indexOf(e.keyCode) < 0) { // Fire the statechange event as the input has been modified window.dispatchEvent(this.manager.statechange); - } + }, 20, "inputChange", this, [e])(); } /** diff --git a/src/web/waiters/OutputWaiter.mjs b/src/web/waiters/OutputWaiter.mjs index d1fd2532..3f031ac7 100755 --- a/src/web/waiters/OutputWaiter.mjs +++ b/src/web/waiters/OutputWaiter.mjs @@ -847,9 +847,7 @@ class OutputWaiter { } } - debounce(this.set, 50, "setOutput", this, [inputNum])(); - - this.outputTextEl.scroll(0, 0); // TODO + this.set(inputNum); if (changeInput) { this.manager.input.changeTab(inputNum, false); From 0dc2322269d4fd26bc6b2aa07f6cb0cd9e3cbce6 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 11 Jul 2022 13:57:28 +0100 Subject: [PATCH 400/754] Fixed dropping text in the input --- src/web/Manager.mjs | 6 +++--- src/web/waiters/InputWaiter.mjs | 16 ++++++---------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/web/Manager.mjs b/src/web/Manager.mjs index 9d03c728..820b1a8d 100755 --- a/src/web/Manager.mjs +++ b/src/web/Manager.mjs @@ -149,9 +149,9 @@ class Manager { document.getElementById("reset-layout").addEventListener("click", this.app.resetLayout.bind(this.app)); this.addListeners("#clr-io,#btn-close-all-tabs", "click", this.input.clearAllIoClick, this.input); this.addListeners("#open-file,#open-folder", "change", this.input.inputOpen, this.input); - this.addListeners("#input-text,#input-file", "dragover", this.input.inputDragover, this.input); - this.addListeners("#input-text,#input-file", "dragleave", this.input.inputDragleave, this.input); - this.addListeners("#input-text,#input-file", "drop", this.input.inputDrop, this.input); + this.addListeners("#input-wrapper", "dragover", this.input.inputDragover, this.input); + this.addListeners("#input-wrapper", "dragleave", this.input.inputDragleave, this.input); + this.addListeners("#input-wrapper", "drop", this.input.inputDrop, this.input); document.querySelector("#input-file .close").addEventListener("click", this.input.clearIoClick.bind(this.input)); document.getElementById("btn-new-tab").addEventListener("click", this.input.addInputClick.bind(this.input)); document.getElementById("btn-previous-input-tab").addEventListener("mousedown", this.input.previousTabClick.bind(this.input)); diff --git a/src/web/waiters/InputWaiter.mjs b/src/web/waiters/InputWaiter.mjs index 6a1b57df..ed8f174b 100644 --- a/src/web/waiters/InputWaiter.mjs +++ b/src/web/waiters/InputWaiter.mjs @@ -797,7 +797,10 @@ class InputWaiter { inputDragleave(e) { e.stopPropagation(); e.preventDefault(); - e.target.closest("#input-text,#input-file").classList.remove("dropping-file"); + // Dragleave often fires when moving between lines in the editor. + // If the target element is within the input-text element, we are still on target. + if (!this.inputTextEl.contains(e.target)) + e.target.closest("#input-text,#input-file").classList.remove("dropping-file"); } /** @@ -813,17 +816,10 @@ class InputWaiter { e.stopPropagation(); e.preventDefault(); - - const text = e.dataTransfer.getData("Text"); - e.target.closest("#input-text,#input-file").classList.remove("dropping-file"); - if (text) { - // Append the text to the current input and fire inputChange() - this.setInput(this.getInput() + text); - this.inputChange(e); - return; - } + // Dropped text is handled by the editor itself + if (e.dataTransfer.getData("Text")) return; if (e.dataTransfer.files && e.dataTransfer.files.length > 0) { this.loadUIFiles(e.dataTransfer.files); From 893b84d0426754d0b21647ef25564f6d9b19f95e Mon Sep 17 00:00:00 2001 From: Luis Martinez Date: Sat, 28 May 2022 00:17:59 -0500 Subject: [PATCH 401/754] xxtea encryption added --- src/core/config/Categories.json | 3 +- src/core/operations/XXTEA.mjs | 182 ++++++++++++++++++++++++++++++++ 2 files changed, 184 insertions(+), 1 deletion(-) create mode 100644 src/core/operations/XXTEA.mjs diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 8ac60048..26e56905 100644 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -131,7 +131,8 @@ "Typex", "Lorenz", "Colossus", - "SIGABA" + "SIGABA", + "XXTEA" ] }, { diff --git a/src/core/operations/XXTEA.mjs b/src/core/operations/XXTEA.mjs new file mode 100644 index 00000000..e8264c4d --- /dev/null +++ b/src/core/operations/XXTEA.mjs @@ -0,0 +1,182 @@ +/** + * @author devcydo [devcydo@gmail.com] + * @author Ma Bingyao [mabingyao@gmail.com] + * @copyright Crown Copyright 2022 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import {toBase64} from "../lib/Base64.mjs"; +import Utils from "../Utils.mjs"; + +/** + * XXTEA Encrypt operation + */ +class XXTEAEncrypt extends Operation { + + /** + * XXTEAEncrypt constructor + */ + constructor() { + super(); + + this.name = "XXTEA"; + this.module = "Default"; + this.description = "Corrected Block TEA (often referred to as XXTEA) is a block cipher designed to correct weaknesses in the original Block TEA. XXTEA operates on variable-length blocks that are some arbitrary multiple of 32 bits in size (minimum 64 bits). The number of full cycles depends on the block size, but there are at least six (rising to 32 for small block sizes). The original Block TEA applies the XTEA round function to each word in the block and combines it additively with its leftmost neighbour. Slow diffusion rate of the decryption process was immediately exploited to break the cipher. Corrected Block TEA uses a more involved round function which makes use of both immediate neighbours in processing each word in the block."; + this.infoURL = "https://wikipedia.org/wiki/XXTEA"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + "name": "Key", + "type": "string", + "value": "", + }, + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + let key = args[0]; + + if (input === undefined || input === null || input.length === 0) { + throw new OperationError("Invalid input length (0)"); + } + + if (key === undefined || key === null || key.length === 0) { + throw new OperationError("Invalid key length (0)"); + } + + input = Utils.convertToByteString(input, "utf8"); + key = Utils.convertToByteString(key, "utf8"); + + input = this.convertToUint32Array(input, true); + key = this.fixLength(this.convertToUint32Array(key, false)); + + let encrypted = this.encryptUint32Array(input, key); + + encrypted = toBase64(this.toBinaryString(encrypted, false)); + + return encrypted; + } + + /** + * Convert Uint32Array to binary string + * + * @param {Uint32Array} v + * @param {Boolean} includeLength + * @returns {string} + */ + toBinaryString(v, includeLENGTH) { + const LENGTH = v.LENGTH; + let n = LENGTH << 2; + if (includeLENGTH) { + const M = v[LENGTH - 1]; + n -= 4; + if ((M < n - 3) || (M > n)) { + return null; + } + n = M; + } + for (let i = 0; i < LENGTH; i++) { + v[i] = String.fromCharCode( + v[i] & 0xFF, + v[i] >>> 8 & 0xFF, + v[i] >>> 16 & 0xFF, + v[i] >>> 24 & 0xFF + ); + } + const RESULT = v.join(""); + if (includeLENGTH) { + return RESULT.substring(0, n); + } + return RESULT; + } + + /** + * @param {number} sum + * @param {number} y + * @param {number} z + * @param {number} p + * @param {number} e + * @param {number} k + * @returns {number} + */ + mx(sum, y, z, p, e, k) { + return ((z >>> 5 ^ y << 2) + (y >>> 3 ^ z << 4)) ^ ((sum ^ y) + (k[p & 3 ^ e] ^ z)); + } + + + /** + * Encrypt Uint32Array + * + * @param {Uint32Array} v + * @param {number} k + * @returns {Uint32Array} + */ + encryptUint32Array(v, k) { + const LENGTH = v.LENGTH; + const N = LENGTH - 1; + let y, z, sum, e, p, q; + z = v[N]; + sum = 0; + for (q = Math.floor(6 + 52 / LENGTH) | 0; q > 0; --q) { + sum = (sum + 0x9E3779B9) & 0xFFFFFFFF; + e = sum >>> 2 & 3; + for (p = 0; p < N; ++p) { + y = v[p + 1]; + z = v[p] = (v[p] + this.mx(sum, y, z, p, e, k)) & 0xFFFFFFFF; + } + y = v[0]; + z = v[N] = (v[N] + this.mx(sum, y, z, N, e, k)) & 0xFFFFFFFF; + } + return v; + } + + /** + * Fixes the Uint32Array lenght to 4 + * + * @param {Uint32Array} k + * @returns {Uint32Array} + */ + fixLength(k) { + if (k.length < 4) { + k.length = 4; + } + return k; + } + + /** + * Convert string to Uint32Array + * + * @param {string} bs + * @param {Boolean} includeLength + * @returns {Uint32Array} + */ + convertToUint32Array(bs, includeLength) { + const LENGTH = bs.LENGTH; + let n = LENGTH >> 2; + if ((LENGTH & 3) !== 0) { + ++n; + } + let v; + if (includeLength) { + v = new Array(n + 1); + v[n] = LENGTH; + } else { + v = new Array(n); + } + for (let i = 0; i < LENGTH; ++i) { + v[i >> 2] |= bs.charCodeAt(i) << ((i & 3) << 3); + } + return v; + } + +} + +export default XXTEAEncrypt; From 653af6a3005f872d98ca0d59f0aa118e48f88bb7 Mon Sep 17 00:00:00 2001 From: Luis Martinez Date: Sat, 28 May 2022 00:20:51 -0500 Subject: [PATCH 402/754] xxtea encryption added --- src/core/operations/XXTEA.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/operations/XXTEA.mjs b/src/core/operations/XXTEA.mjs index e8264c4d..4fa0706d 100644 --- a/src/core/operations/XXTEA.mjs +++ b/src/core/operations/XXTEA.mjs @@ -98,7 +98,7 @@ class XXTEAEncrypt extends Operation { return RESULT; } - /** + /** * @param {number} sum * @param {number} y * @param {number} z From c14098a27c47bf345f1f119b970248fd573fa9d6 Mon Sep 17 00:00:00 2001 From: Luis Martinez Date: Mon, 11 Jul 2022 19:38:59 -0500 Subject: [PATCH 403/754] tests added and XXTEA not working correctly fixed --- src/core/operations/XXTEA.mjs | 6 ++-- tests/operations/tests/XXTEA.mjs | 62 ++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 tests/operations/tests/XXTEA.mjs diff --git a/src/core/operations/XXTEA.mjs b/src/core/operations/XXTEA.mjs index 4fa0706d..1a0a4368 100644 --- a/src/core/operations/XXTEA.mjs +++ b/src/core/operations/XXTEA.mjs @@ -73,7 +73,7 @@ class XXTEAEncrypt extends Operation { * @returns {string} */ toBinaryString(v, includeLENGTH) { - const LENGTH = v.LENGTH; + const LENGTH = v.length; let n = LENGTH << 2; if (includeLENGTH) { const M = v[LENGTH - 1]; @@ -120,7 +120,7 @@ class XXTEAEncrypt extends Operation { * @returns {Uint32Array} */ encryptUint32Array(v, k) { - const LENGTH = v.LENGTH; + const LENGTH = v.length; const N = LENGTH - 1; let y, z, sum, e, p, q; z = v[N]; @@ -159,7 +159,7 @@ class XXTEAEncrypt extends Operation { * @returns {Uint32Array} */ convertToUint32Array(bs, includeLength) { - const LENGTH = bs.LENGTH; + const LENGTH = bs.length; let n = LENGTH >> 2; if ((LENGTH & 3) !== 0) { ++n; diff --git a/tests/operations/tests/XXTEA.mjs b/tests/operations/tests/XXTEA.mjs new file mode 100644 index 00000000..4787f086 --- /dev/null +++ b/tests/operations/tests/XXTEA.mjs @@ -0,0 +1,62 @@ +/** + * Base64 tests. + * + * @author devcydo [devcydo@gmail.com] + * + * @copyright Crown Copyright 2022 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "XXTEA", + input: "Hello World! 你好,中国!", + expectedOutput: "QncB1C0rHQoZ1eRiPM4dsZtRi9pNrp7sqvX76cFXvrrIHXL6", + reecipeConfig: [ + { + args: "1234567890" + }, + ], + }, + { + name: "XXTEA", + input: "ნუ პანიკას", + expectedOutput: "PbWjnbFmP8Apu2MKOGNbjeW/72IZLlLMS/g82ozLxwE=", + reecipeConfig: [ + { + args: "1234567890" + }, + ], + }, + { + name: "XXTEA", + input: "ნუ პანიკას", + expectedOutput: "dHrOJ4ClIx6gH33NPSafYR2GG7UqsazY6Xfb0iekBY4=", + reecipeConfig: [ + { + args: "ll3kj209d2" + }, + ], + }, + { + name: "XXTEA", + input: "", + expectedOutput: "Invalid input length (0)", + reecipeConfig: [ + { + args: "1234567890" + }, + ], + }, + { + name: "XXTEA", + input: "", + expectedOutput: "Invalid input length (0)", + reecipeConfig: [ + { + args: "" + }, + ], + }, +]); From e9dd7eceb8e04983085980f913e8ea94b1a11f8d Mon Sep 17 00:00:00 2001 From: john19696 Date: Thu, 14 Jul 2022 14:27:59 +0100 Subject: [PATCH 404/754] upgrade to nodejs v18 --- .nvmrc | 2 +- package-lock.json | 63 ++++++++++++++++++++++++++++++++++------------- package.json | 2 +- 3 files changed, 48 insertions(+), 19 deletions(-) diff --git a/.nvmrc b/.nvmrc index 8e2afd34..3c032078 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -17 \ No newline at end of file +18 diff --git a/package-lock.json b/package-lock.json index e1712692..f174ec5d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -100,7 +100,7 @@ "babel-loader": "^8.2.5", "babel-plugin-dynamic-import-node": "^2.3.3", "babel-plugin-transform-builtin-extend": "1.1.2", - "chromedriver": "^101.0.0", + "chromedriver": "^103.0.0", "cli-progress": "^3.11.1", "colors": "^1.4.0", "copy-webpack-plugin": "^11.0.0", @@ -3337,12 +3337,27 @@ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "node_modules/axios": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", - "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", "dev": true, "dependencies": { - "follow-redirects": "^1.14.4" + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, + "node_modules/axios/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" } }, "node_modules/babel-code-frame": { @@ -4496,14 +4511,14 @@ } }, "node_modules/chromedriver": { - "version": "101.0.0", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-101.0.0.tgz", - "integrity": "sha512-LkkWxy6KM/0YdJS8qBeg5vfkTZTRamhBfOttb4oic4echDgWvCU1E8QcBbUBOHqZpSrYMyi7WMKmKMhXFUaZ+w==", + "version": "103.0.0", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-103.0.0.tgz", + "integrity": "sha512-7BHf6HWt0PeOHCzWO8qlnD13sARzr5AKTtG8Csn+czsuAsajwPxdLNtry5GPh8HYFyl+i0M+yg3bT43AGfgU9w==", "dev": true, "hasInstallScript": true, "dependencies": { "@testim/chrome-version": "^1.1.2", - "axios": "^0.24.0", + "axios": "^0.27.2", "del": "^6.0.0", "extract-zip": "^2.0.1", "https-proxy-agent": "^5.0.0", @@ -18301,12 +18316,26 @@ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "axios": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", - "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", "dev": true, "requires": { - "follow-redirects": "^1.14.4" + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + }, + "dependencies": { + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } } }, "babel-code-frame": { @@ -19208,13 +19237,13 @@ "dev": true }, "chromedriver": { - "version": "101.0.0", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-101.0.0.tgz", - "integrity": "sha512-LkkWxy6KM/0YdJS8qBeg5vfkTZTRamhBfOttb4oic4echDgWvCU1E8QcBbUBOHqZpSrYMyi7WMKmKMhXFUaZ+w==", + "version": "103.0.0", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-103.0.0.tgz", + "integrity": "sha512-7BHf6HWt0PeOHCzWO8qlnD13sARzr5AKTtG8Csn+czsuAsajwPxdLNtry5GPh8HYFyl+i0M+yg3bT43AGfgU9w==", "dev": true, "requires": { "@testim/chrome-version": "^1.1.2", - "axios": "^0.24.0", + "axios": "^0.27.2", "del": "^6.0.0", "extract-zip": "^2.0.1", "https-proxy-agent": "^5.0.0", diff --git a/package.json b/package.json index 48d6f693..46aca7d9 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "babel-loader": "^8.2.5", "babel-plugin-dynamic-import-node": "^2.3.3", "babel-plugin-transform-builtin-extend": "1.1.2", - "chromedriver": "^101.0.0", + "chromedriver": "^103.0.0", "cli-progress": "^3.11.1", "colors": "^1.4.0", "copy-webpack-plugin": "^11.0.0", From 7c8a185a3d0f48275cad43a9b94a60cbfddc04f6 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Mon, 18 Jul 2022 18:39:41 +0100 Subject: [PATCH 405/754] HTML outputs can now be selected and handle control characters correctly --- src/core/Utils.mjs | 21 ++- src/core/operations/Magic.mjs | 2 +- src/core/operations/ROT13BruteForce.mjs | 6 +- src/core/operations/ROT47BruteForce.mjs | 6 +- .../operations/TextEncodingBruteForce.mjs | 2 +- src/core/operations/ToHexdump.mjs | 29 ++-- src/core/operations/XORBruteForce.mjs | 6 +- src/web/html/index.html | 2 - src/web/stylesheets/layout/_io.css | 21 +-- src/web/stylesheets/utils/_overrides.css | 8 ++ src/web/utils/copyOverride.mjs | 125 ++++++++++++++++++ src/web/utils/editorUtils.mjs | 70 +++++++++- src/web/utils/htmlWidget.mjs | 47 ++++++- src/web/waiters/OptionsWaiter.mjs | 7 - src/web/waiters/OutputWaiter.mjs | 88 +++++------- src/web/waiters/RecipeWaiter.mjs | 3 +- 16 files changed, 319 insertions(+), 124 deletions(-) create mode 100644 src/web/utils/copyOverride.mjs diff --git a/src/core/Utils.mjs b/src/core/Utils.mjs index 5f36cae9..b72a6028 100755 --- a/src/core/Utils.mjs +++ b/src/core/Utils.mjs @@ -174,17 +174,13 @@ class Utils { * @returns {string} */ static printable(str, preserveWs=false, onlyAscii=false) { - if (isWebEnvironment() && window.app && !window.app.options.treatAsUtf8) { - str = Utils.byteArrayToChars(Utils.strToByteArray(str)); - } - if (onlyAscii) { return str.replace(/[^\x20-\x7f]/g, "."); } // eslint-disable-next-line no-misleading-character-class const re = /[\0-\x08\x0B-\x0C\x0E-\x1F\x7F-\x9F\xAD\u0378\u0379\u037F-\u0383\u038B\u038D\u03A2\u0528-\u0530\u0557\u0558\u0560\u0588\u058B-\u058E\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08A1\u08AD-\u08E3\u08FF\u0978\u0980\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0C00\u0C04\u0C0D\u0C11\u0C29\u0C34\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5A-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C80\u0C81\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D01\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D4F-\u0D56\u0D58-\u0D5F\u0D64\u0D65\u0D76-\u0D78\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F5-\u13FF\u169D-\u169F\u16F1-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191D-\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C80-\u1CBF\u1CC8-\u1CCF\u1CF7-\u1CFF\u1DE7-\u1DFB\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BB-\u20CF\u20F1-\u20FF\u218A-\u218F\u23F4-\u23FF\u2427-\u243F\u244B-\u245F\u2700\u2B4D-\u2B4F\u2B5A-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E3C-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FCD-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA698-\uA69E\uA6F8-\uA6FF\uA78F\uA794-\uA79F\uA7AB-\uA7F7\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C5-\uA8CD\uA8DA-\uA8DF\uA8FC-\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9E0-\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAA7C-\uAA7F\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F-\uABBF\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE27-\uFE2F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF]/g; - const wsRe = /[\x09-\x10\x0D\u2028\u2029]/g; + const wsRe = /[\x09-\x10\u2028\u2029]/g; str = str.replace(re, "."); if (!preserveWs) str = str.replace(wsRe, "."); @@ -192,6 +188,21 @@ class Utils { } + /** + * Returns a string with whitespace represented as special characters from the + * Unicode Private Use Area, which CyberChef will display as control characters. + * Private Use Area characters are in the range U+E000..U+F8FF. + * https://en.wikipedia.org/wiki/Private_Use_Areas + * @param {string} str + * @returns {string} + */ + static escapeWhitespace(str) { + return str.replace(/[\x09-\x10]/g, function(c) { + return String.fromCharCode(0xe000 + c.charCodeAt(0)); + }); + } + + /** * Parse a string entered by a user and replace escaped chars with the bytes they represent. * diff --git a/src/core/operations/Magic.mjs b/src/core/operations/Magic.mjs index d5357d95..69cad1db 100644 --- a/src/core/operations/Magic.mjs +++ b/src/core/operations/Magic.mjs @@ -149,7 +149,7 @@ class Magic extends Operation { output += ` ${Utils.generatePrettyRecipe(option.recipe, true)} - ${Utils.escapeHtml(Utils.printable(Utils.truncate(option.data, 99)))} + ${Utils.escapeHtml(Utils.escapeWhitespace(Utils.truncate(option.data, 99)))} ${language}${fileType}${matchingOps}${useful}${validUTF8}${entropy} `; }); diff --git a/src/core/operations/ROT13BruteForce.mjs b/src/core/operations/ROT13BruteForce.mjs index aefe2ab7..7468ee11 100644 --- a/src/core/operations/ROT13BruteForce.mjs +++ b/src/core/operations/ROT13BruteForce.mjs @@ -86,12 +86,12 @@ class ROT13BruteForce extends Operation { } const rotatedString = Utils.byteArrayToUtf8(rotated); if (rotatedString.toLowerCase().indexOf(cribLower) >= 0) { - const rotatedStringPrintable = Utils.printable(rotatedString, false); + const rotatedStringEscaped = Utils.escapeWhitespace(rotatedString); if (printAmount) { const amountStr = "Amount = " + (" " + amount).slice(-2) + ": "; - result.push(amountStr + rotatedStringPrintable); + result.push(amountStr + rotatedStringEscaped); } else { - result.push(rotatedStringPrintable); + result.push(rotatedStringEscaped); } } } diff --git a/src/core/operations/ROT47BruteForce.mjs b/src/core/operations/ROT47BruteForce.mjs index 5f346e00..fa1e90dc 100644 --- a/src/core/operations/ROT47BruteForce.mjs +++ b/src/core/operations/ROT47BruteForce.mjs @@ -66,12 +66,12 @@ class ROT47BruteForce extends Operation { } const rotatedString = Utils.byteArrayToUtf8(rotated); if (rotatedString.toLowerCase().indexOf(cribLower) >= 0) { - const rotatedStringPrintable = Utils.printable(rotatedString, false); + const rotatedStringEscaped = Utils.escapeWhitespace(rotatedString); if (printAmount) { const amountStr = "Amount = " + (" " + amount).slice(-2) + ": "; - result.push(amountStr + rotatedStringPrintable); + result.push(amountStr + rotatedStringEscaped); } else { - result.push(rotatedStringPrintable); + result.push(rotatedStringEscaped); } } } diff --git a/src/core/operations/TextEncodingBruteForce.mjs b/src/core/operations/TextEncodingBruteForce.mjs index 18eb071e..ef8b7f80 100644 --- a/src/core/operations/TextEncodingBruteForce.mjs +++ b/src/core/operations/TextEncodingBruteForce.mjs @@ -79,7 +79,7 @@ class TextEncodingBruteForce extends Operation { let table = ""; for (const enc in encodings) { - const value = Utils.escapeHtml(Utils.printable(encodings[enc], true)); + const value = Utils.escapeHtml(Utils.escapeWhitespace(encodings[enc])); table += ``; } diff --git a/src/core/operations/ToHexdump.mjs b/src/core/operations/ToHexdump.mjs index c657adeb..a52b0451 100644 --- a/src/core/operations/ToHexdump.mjs +++ b/src/core/operations/ToHexdump.mjs @@ -63,33 +63,32 @@ class ToHexdump extends Operation { if (length < 1 || Math.round(length) !== length) throw new OperationError("Width must be a positive integer"); - let output = ""; + const lines = []; for (let i = 0; i < data.length; i += length) { - const buff = data.slice(i, i+length); - let hexa = ""; - for (let j = 0; j < buff.length; j++) { - hexa += Utils.hex(buff[j], padding) + " "; - } - let lineNo = Utils.hex(i, 8); + const buff = data.slice(i, i+length); + const hex = []; + buff.forEach(b => hex.push(Utils.hex(b, padding))); + let hexStr = hex.join(" ").padEnd(length*(padding+1), " "); + + const ascii = Utils.printable(Utils.byteArrayToChars(buff), false, unixFormat); + const asciiStr = ascii.padEnd(buff.length, " "); + if (upperCase) { - hexa = hexa.toUpperCase(); + hexStr = hexStr.toUpperCase(); lineNo = lineNo.toUpperCase(); } - output += lineNo + " " + - hexa.padEnd(length*(padding+1), " ") + - " |" + - Utils.printable(Utils.byteArrayToChars(buff), false, unixFormat).padEnd(buff.length, " ") + - "|\n"; + lines.push(`${lineNo} ${hexStr} |${asciiStr}|`); + if (includeFinalLength && i+buff.length === data.length) { - output += Utils.hex(i+buff.length, 8) + "\n"; + lines.push(Utils.hex(i+buff.length, 8)); } } - return output.slice(0, -1); + return lines.join("\n"); } /** diff --git a/src/core/operations/XORBruteForce.mjs b/src/core/operations/XORBruteForce.mjs index 9b548df8..8c097731 100644 --- a/src/core/operations/XORBruteForce.mjs +++ b/src/core/operations/XORBruteForce.mjs @@ -126,11 +126,7 @@ class XORBruteForce extends Operation { if (crib && resultUtf8.toLowerCase().indexOf(crib) < 0) continue; if (printKey) record += "Key = " + Utils.hex(key, (2*keyLength)) + ": "; - if (outputHex) { - record += toHex(result); - } else { - record += Utils.printable(resultUtf8, false); - } + record += outputHex ? toHex(result) : Utils.escapeWhitespace(resultUtf8); output.push(record); } diff --git a/src/web/html/index.html b/src/web/html/index.html index 3eb150e5..a7931de5 100755 --- a/src/web/html/index.html +++ b/src/web/html/index.html @@ -264,7 +264,6 @@
    -
    @@ -341,7 +340,6 @@
    -
    diff --git a/src/web/stylesheets/layout/_io.css b/src/web/stylesheets/layout/_io.css index cb196709..ea15b6ac 100755 --- a/src/web/stylesheets/layout/_io.css +++ b/src/web/stylesheets/layout/_io.css @@ -177,31 +177,12 @@ } .textarea-wrapper textarea, -.textarea-wrapper #output-text, -.textarea-wrapper #output-highlighter { +.textarea-wrapper #output-text { font-family: var(--fixed-width-font-family); font-size: var(--fixed-width-font-size); color: var(--fixed-width-font-colour); } -#input-highlighter, -#output-highlighter { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - padding: 3px; - margin: 0; - overflow: hidden; - letter-spacing: normal; - white-space: pre-wrap; - word-wrap: break-word; - color: #fff; - background-color: transparent; - border: none; - pointer-events: none; -} - #output-loader { position: absolute; bottom: 0; diff --git a/src/web/stylesheets/utils/_overrides.css b/src/web/stylesheets/utils/_overrides.css index fa216836..920aab89 100755 --- a/src/web/stylesheets/utils/_overrides.css +++ b/src/web/stylesheets/utils/_overrides.css @@ -232,3 +232,11 @@ optgroup { .colorpicker-color div { height: 100px; } + + +/* CodeMirror */ + +.ͼ2 .cm-specialChar, +.cm-specialChar { + color: red; +} diff --git a/src/web/utils/copyOverride.mjs b/src/web/utils/copyOverride.mjs new file mode 100644 index 00000000..51b2386b --- /dev/null +++ b/src/web/utils/copyOverride.mjs @@ -0,0 +1,125 @@ +/** + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2022 + * @license Apache-2.0 + * + * In order to render whitespace characters as control character pictures in the output, even + * when they are the designated line separator, CyberChef sometimes chooses to represent them + * internally using the Unicode Private Use Area (https://en.wikipedia.org/wiki/Private_Use_Areas). + * See `Utils.escapeWhitespace()` for an example of this. + * + * The `renderSpecialChar()` function understands that it should display these characters as + * control pictures. When copying data from the Output, we need to replace these PUA characters + * with their original values, so we override the DOM "copy" event and modify the copied data + * if required. This handler is based closely on the built-in CodeMirror handler and defers to the + * built-in handler if PUA characters are not present in the copied data, in order to minimise the + * impact of breaking changes. + */ + +import {EditorView} from "@codemirror/view"; + +/** + * Copies the currently selected text from the state doc. + * Based on the built-in implementation with a few unrequired bits taken out: + * https://github.com/codemirror/view/blob/7d9c3e54396242d17b3164a0e244dcc234ee50ee/src/input.ts#L604 + * + * @param {EditorState} state + * @returns {Object} + */ +function copiedRange(state) { + const content = []; + let linewise = false; + for (const range of state.selection.ranges) if (!range.empty) { + content.push(state.sliceDoc(range.from, range.to)); + } + if (!content.length) { + // Nothing selected, do a line-wise copy + let upto = -1; + for (const {from} of state.selection.ranges) { + const line = state.doc.lineAt(from); + if (line.number > upto) { + content.push(line.text); + } + upto = line.number; + } + linewise = true; + } + + return {text: content.join(state.lineBreak), linewise}; +} + +/** + * Regex to match characters in the Private Use Area of the Unicode table. + */ +const PUARegex = new RegExp("[\ue000-\uf8ff]"); +const PUARegexG = new RegExp("[\ue000-\uf8ff]", "g"); +/** + * Regex tto match Unicode Control Pictures. + */ +const CPRegex = new RegExp("[\u2400-\u243f]"); +const CPRegexG = new RegExp("[\u2400-\u243f]", "g"); + +/** + * Overrides the DOM "copy" handler in the CodeMirror editor in order to return the original + * values of control characters that have been represented in the Unicode Private Use Area for + * visual purposes. + * Based on the built-in copy handler with some modifications: + * https://github.com/codemirror/view/blob/7d9c3e54396242d17b3164a0e244dcc234ee50ee/src/input.ts#L629 + * + * This handler will defer to the built-in version if no PUA characters are present. + * + * @returns {Extension} + */ +export function copyOverride() { + return EditorView.domEventHandlers({ + copy(event, view) { + const {text, linewise} = copiedRange(view.state); + if (!text && !linewise) return; + + // If there are no PUA chars in the copied text, return false and allow the built-in + // copy handler to fire + if (!PUARegex.test(text)) return false; + + // If PUA chars are detected, modify them back to their original values and copy that instead + const rawText = text.replace(PUARegexG, function(c) { + return String.fromCharCode(c.charCodeAt(0) - 0xe000); + }); + + event.preventDefault(); + event.clipboardData.clearData(); + event.clipboardData.setData("text/plain", rawText); + + // Returning true prevents CodeMirror default handlers from firing + return true; + } + }); +} + + +/** + * Handler for copy events in output-html decorations. If there are control pictures present, + * this handler will convert them back to their raw form before copying. If there are no + * control pictures present, it will do nothing and defer to the default browser handler. + * + * @param {ClipboardEvent} event + * @returns {boolean} + */ +export function htmlCopyOverride(event) { + const text = window.getSelection().toString(); + if (!text) return; + + // If there are no control picture chars in the copied text, return false and allow the built-in + // copy handler to fire + if (!CPRegex.test(text)) return false; + + // If control picture chars are detected, modify them back to their original values and copy that instead + const rawText = text.replace(CPRegexG, function(c) { + return String.fromCharCode(c.charCodeAt(0) - 0x2400); + }); + + event.preventDefault(); + event.clipboardData.clearData(); + event.clipboardData.setData("text/plain", rawText); + + return true; +} diff --git a/src/web/utils/editorUtils.mjs b/src/web/utils/editorUtils.mjs index fe6b83d4..cb0ebed1 100644 --- a/src/web/utils/editorUtils.mjs +++ b/src/web/utils/editorUtils.mjs @@ -6,12 +6,41 @@ * @license Apache-2.0 */ +import Utils from "../../core/Utils.mjs"; + +// Descriptions for named control characters +const Names = { + 0: "null", + 7: "bell", + 8: "backspace", + 10: "line feed", + 11: "vertical tab", + 13: "carriage return", + 27: "escape", + 8203: "zero width space", + 8204: "zero width non-joiner", + 8205: "zero width joiner", + 8206: "left-to-right mark", + 8207: "right-to-left mark", + 8232: "line separator", + 8237: "left-to-right override", + 8238: "right-to-left override", + 8233: "paragraph separator", + 65279: "zero width no-break space", + 65532: "object replacement" +}; + +// Regex for Special Characters to be replaced +const UnicodeRegexpSupport = /x/.unicode != null ? "gu" : "g"; +const Specials = new RegExp("[\u0000-\u0008\u000a-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\u202d\u202e\ufeff\ufff9-\ufffc\ue000-\uf8ff]", UnicodeRegexpSupport); + /** * Override for rendering special characters. * Should mirror the toDOM function in * https://github.com/codemirror/view/blob/main/src/special-chars.ts#L150 * But reverts the replacement of line feeds with newline control pictures. + * * @param {number} code * @param {string} desc * @param {string} placeholder @@ -19,10 +48,47 @@ */ export function renderSpecialChar(code, desc, placeholder) { const s = document.createElement("span"); - // CodeMirror changes 0x0a to "NL" instead of "LF". We change it back. - s.textContent = code === 0x0a ? "\u240a" : placeholder; + + // CodeMirror changes 0x0a to "NL" instead of "LF". We change it back along with its description. + if (code === 0x0a) { + placeholder = "\u240a"; + desc = desc.replace("newline", "line feed"); + } + + // Render CyberChef escaped characters correctly - see Utils.escapeWhitespace + if (code >= 0xe000 && code <= 0xf8ff) { + code = code - 0xe000; + placeholder = String.fromCharCode(0x2400 + code); + desc = "Control character " + (Names[code] || "0x" + code.toString(16)); + } + + s.textContent = placeholder; s.title = desc; s.setAttribute("aria-label", desc); s.className = "cm-specialChar"; return s; } + + +/** + * Given a string, returns that string with any control characters replaced with HTML + * renderings of control pictures. + * + * @param {string} str + * @param {boolean} [preserveWs=false] + * @param {string} [lineBreak="\n"] + * @returns {html} + */ +export function escapeControlChars(str, preserveWs=false, lineBreak="\n") { + if (!preserveWs) + str = Utils.escapeWhitespace(str); + + return str.replace(Specials, function(c) { + if (lineBreak.includes(c)) return c; + const code = c.charCodeAt(0); + const desc = "Control character " + (Names[code] || "0x" + code.toString(16)); + const placeholder = code > 32 ? "\u2022" : String.fromCharCode(9216 + code); + const n = renderSpecialChar(code, desc, placeholder); + return n.outerHTML; + }); +} diff --git a/src/web/utils/htmlWidget.mjs b/src/web/utils/htmlWidget.mjs index fbce9b49..5e5c41c1 100644 --- a/src/web/utils/htmlWidget.mjs +++ b/src/web/utils/htmlWidget.mjs @@ -5,6 +5,9 @@ */ import {WidgetType, Decoration, ViewPlugin} from "@codemirror/view"; +import {escapeControlChars} from "./editorUtils.mjs"; +import {htmlCopyOverride} from "./copyOverride.mjs"; + /** * Adds an HTML widget to the Code Mirror editor @@ -14,9 +17,10 @@ class HTMLWidget extends WidgetType { /** * HTMLWidget consructor */ - constructor(html) { + constructor(html, view) { super(); this.html = html; + this.view = view; } /** @@ -27,9 +31,45 @@ class HTMLWidget extends WidgetType { const wrap = document.createElement("span"); wrap.setAttribute("id", "output-html"); wrap.innerHTML = this.html; + + // Find text nodes and replace unprintable chars with control codes + this.walkTextNodes(wrap); + + // Add a handler for copy events to ensure the control codes are copied correctly + wrap.addEventListener("copy", htmlCopyOverride); return wrap; } + /** + * Walks all text nodes in a given element + * @param {DOMNode} el + */ + walkTextNodes(el) { + for (const node of el.childNodes) { + switch (node.nodeType) { + case Node.TEXT_NODE: + this.replaceControlChars(node); + break; + default: + if (node.nodeName !== "SCRIPT" && + node.nodeName !== "STYLE") + this.walkTextNodes(node); + break; + } + } + } + + /** + * Renders control characters in text nodes + * @param {DOMNode} textNode + */ + replaceControlChars(textNode) { + const val = escapeControlChars(textNode.nodeValue, true, this.view.state.lineBreak); + const node = document.createElement("null"); + node.innerHTML = val; + textNode.parentNode.replaceChild(node, textNode); + } + } /** @@ -42,7 +82,7 @@ function decorateHTML(view, html) { const widgets = []; if (html.length) { const deco = Decoration.widget({ - widget: new HTMLWidget(html), + widget: new HTMLWidget(html, view), side: 1 }); widgets.push(deco.range(0)); @@ -79,7 +119,8 @@ export function htmlPlugin(htmlOutput) { } } }, { - decorations: v => v.decorations + decorations: v => v.decorations, + } ); diff --git a/src/web/waiters/OptionsWaiter.mjs b/src/web/waiters/OptionsWaiter.mjs index 7d9a3e2d..36beef7e 100755 --- a/src/web/waiters/OptionsWaiter.mjs +++ b/src/web/waiters/OptionsWaiter.mjs @@ -141,13 +141,6 @@ class OptionsWaiter { setWordWrap() { this.manager.input.setWordWrap(this.app.options.wordWrap); this.manager.output.setWordWrap(this.app.options.wordWrap); - document.getElementById("input-highlighter").classList.remove("word-wrap"); - document.getElementById("output-highlighter").classList.remove("word-wrap"); - - if (!this.app.options.wordWrap) { - document.getElementById("input-highlighter").classList.add("word-wrap"); - document.getElementById("output-highlighter").classList.add("word-wrap"); - } } diff --git a/src/web/waiters/OutputWaiter.mjs b/src/web/waiters/OutputWaiter.mjs index 3f031ac7..deaeaed3 100755 --- a/src/web/waiters/OutputWaiter.mjs +++ b/src/web/waiters/OutputWaiter.mjs @@ -5,7 +5,7 @@ * @license Apache-2.0 */ -import Utils, { debounce } from "../../core/Utils.mjs"; +import Utils, {debounce} from "../../core/Utils.mjs"; import Dish from "../../core/Dish.mjs"; import FileSaver from "file-saver"; import ZipWorker from "worker-loader?inline=no-fallback!../workers/ZipWorker.mjs"; @@ -19,8 +19,9 @@ import {bracketMatching} from "@codemirror/language"; import {search, searchKeymap, highlightSelectionMatches} from "@codemirror/search"; import {statusBar} from "../utils/statusBar.mjs"; -import {renderSpecialChar} from "../utils/editorUtils.mjs"; import {htmlPlugin} from "../utils/htmlWidget.mjs"; +import {copyOverride} from "../utils/copyOverride.mjs"; +import {renderSpecialChar} from "../utils/editorUtils.mjs"; /** * Waiter to handle events related to the output @@ -61,7 +62,8 @@ class OutputWaiter { initEditor() { this.outputEditorConf = { eol: new Compartment, - lineWrapping: new Compartment + lineWrapping: new Compartment, + drawSelection: new Compartment }; const initialState = EditorState.create({ @@ -69,9 +71,10 @@ class OutputWaiter { extensions: [ // Editor extensions EditorState.readOnly.of(true), - htmlPlugin(this.htmlOutput), - highlightSpecialChars({render: renderSpecialChar}), - drawSelection(), + highlightSpecialChars({ + render: renderSpecialChar, // Custom character renderer to handle special cases + addSpecialChars: /[\ue000-\uf8ff]/g // Add the Unicode Private Use Area which we use for some whitespace chars + }), rectangularSelection(), crosshairCursor(), bracketMatching(), @@ -79,16 +82,19 @@ class OutputWaiter { search({top: true}), EditorState.allowMultipleSelections.of(true), - // Custom extensiosn + // Custom extensions statusBar({ label: "Output", bakeStats: this.bakeStats, eolHandler: this.eolChange.bind(this) }), + htmlPlugin(this.htmlOutput), + copyOverride(), // Mutable state this.outputEditorConf.lineWrapping.of(EditorView.lineWrapping), this.outputEditorConf.eol.of(EditorState.lineSeparator.of("\n")), + this.outputEditorConf.drawSelection.of(drawSelection()), // Keymap keymap.of([ @@ -153,6 +159,14 @@ class OutputWaiter { * @param {string} data */ setOutput(data) { + // Turn drawSelection back on + this.outputEditorView.dispatch({ + effects: this.outputEditorConf.drawSelection.reconfigure( + drawSelection() + ) + }); + + // Insert data into editor this.outputEditorView.dispatch({ changes: { from: 0, @@ -173,6 +187,11 @@ class OutputWaiter { // triggers the htmlWidget to render the HTML. this.setOutput(""); + // Turn off drawSelection + this.outputEditorView.dispatch({ + effects: this.outputEditorConf.drawSelection.reconfigure([]) + }); + // Execute script sections const scriptElements = document.getElementById("output-html").querySelectorAll("script"); for (let i = 0; i < scriptElements.length; i++) { @@ -414,8 +433,6 @@ class OutputWaiter { if (typeof inputNum !== "number") inputNum = parseInt(inputNum, 10); const outputFile = document.getElementById("output-file"); - const outputHighlighter = document.getElementById("output-highlighter"); - const inputHighlighter = document.getElementById("input-highlighter"); // If pending or baking, show loader and status message // If error, style the tab and handle the error @@ -447,8 +464,6 @@ class OutputWaiter { this.outputTextEl.style.display = "block"; this.outputTextEl.classList.remove("blur"); outputFile.style.display = "none"; - outputHighlighter.display = "none"; - inputHighlighter.display = "none"; this.clearHTMLOutput(); if (output.error) { @@ -463,8 +478,6 @@ class OutputWaiter { if (output.data === null) { this.outputTextEl.style.display = "block"; outputFile.style.display = "none"; - outputHighlighter.display = "block"; - inputHighlighter.display = "block"; this.clearHTMLOutput(); this.setOutput(""); @@ -478,15 +491,11 @@ class OutputWaiter { switch (output.data.type) { case "html": outputFile.style.display = "none"; - outputHighlighter.style.display = "none"; - inputHighlighter.style.display = "none"; this.setHTMLOutput(output.data.result); break; case "ArrayBuffer": this.outputTextEl.style.display = "block"; - outputHighlighter.display = "none"; - inputHighlighter.display = "none"; this.clearHTMLOutput(); this.setOutput(""); @@ -497,8 +506,6 @@ class OutputWaiter { default: this.outputTextEl.style.display = "block"; outputFile.style.display = "none"; - outputHighlighter.display = "block"; - inputHighlighter.display = "block"; this.clearHTMLOutput(); this.setOutput(output.data.result); @@ -1215,8 +1222,6 @@ class OutputWaiter { document.querySelector("#output-loader .loading-msg").textContent = "Loading file slice..."; this.toggleLoader(true); const outputFile = document.getElementById("output-file"), - outputHighlighter = document.getElementById("output-highlighter"), - inputHighlighter = document.getElementById("input-highlighter"), showFileOverlay = document.getElementById("show-file-overlay"), sliceFromEl = document.getElementById("output-file-slice-from"), sliceToEl = document.getElementById("output-file-slice-to"), @@ -1238,8 +1243,6 @@ class OutputWaiter { this.outputTextEl.style.display = "block"; outputFile.style.display = "none"; - outputHighlighter.display = "block"; - inputHighlighter.display = "block"; this.toggleLoader(false); } @@ -1251,8 +1254,6 @@ class OutputWaiter { document.querySelector("#output-loader .loading-msg").textContent = "Loading entire file at user instruction. This may cause a crash..."; this.toggleLoader(true); const outputFile = document.getElementById("output-file"), - outputHighlighter = document.getElementById("output-highlighter"), - inputHighlighter = document.getElementById("input-highlighter"), showFileOverlay = document.getElementById("show-file-overlay"), output = this.outputs[this.manager.tabs.getActiveOutputTab()].data; @@ -1270,8 +1271,6 @@ class OutputWaiter { this.outputTextEl.style.display = "block"; outputFile.style.display = "none"; - outputHighlighter.display = "block"; - inputHighlighter.display = "block"; this.toggleLoader(false); } @@ -1319,36 +1318,13 @@ class OutputWaiter { } const output = await dish.get(Dish.STRING); + const self = this; - // Create invisible textarea to populate with the raw dish string (not the printable version that - // contains dots instead of the actual bytes) - const textarea = document.createElement("textarea"); - textarea.style.position = "fixed"; - textarea.style.top = 0; - textarea.style.left = 0; - textarea.style.width = 0; - textarea.style.height = 0; - textarea.style.border = "none"; - - textarea.value = output; - document.body.appendChild(textarea); - - let success = false; - try { - textarea.select(); - success = output && document.execCommand("copy"); - } catch (err) { - success = false; - } - - if (success) { - this.app.alert("Copied raw output successfully.", 2000); - } else { - this.app.alert("Sorry, the output could not be copied.", 3000); - } - - // Clean up - document.body.removeChild(textarea); + navigator.clipboard.writeText(output).then(function() { + self.app.alert("Copied raw output successfully.", 2000); + }, function(err) { + self.app.alert("Sorry, the output could not be copied.", 3000); + }); } /** diff --git a/src/web/waiters/RecipeWaiter.mjs b/src/web/waiters/RecipeWaiter.mjs index f4107e66..d907a67c 100755 --- a/src/web/waiters/RecipeWaiter.mjs +++ b/src/web/waiters/RecipeWaiter.mjs @@ -7,6 +7,7 @@ import HTMLOperation from "../HTMLOperation.mjs"; import Sortable from "sortablejs"; import Utils from "../../core/Utils.mjs"; +import {escapeControlChars} from "../utils/editorUtils.mjs"; /** @@ -568,7 +569,7 @@ class RecipeWaiter { const registerList = []; for (let i = 0; i < registers.length; i++) { - registerList.push(`$R${numPrevRegisters + i} = ${Utils.escapeHtml(Utils.truncate(Utils.printable(registers[i]), 100))}`); + registerList.push(`$R${numPrevRegisters + i} = ${escapeControlChars(Utils.escapeHtml(Utils.truncate(registers[i], 100)))}`); } const registerListEl = `
    ${registerList.join("
    ")} From 2f89130f41d195cd86bfc2e7bc85036dc66cb7eb Mon Sep 17 00:00:00 2001 From: Oliver Rahner Date: Thu, 21 Jul 2022 16:36:15 +0200 Subject: [PATCH 406/754] fix protobuf field order --- src/core/lib/Protobuf.mjs | 2 +- tests/operations/tests/Protobuf.mjs | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/core/lib/Protobuf.mjs b/src/core/lib/Protobuf.mjs index 135933ca..e131d3a5 100644 --- a/src/core/lib/Protobuf.mjs +++ b/src/core/lib/Protobuf.mjs @@ -184,7 +184,7 @@ class Protobuf { bytes: String, longs: Number, enums: String, - defualts: true + defaults: true }); const output = {}; diff --git a/tests/operations/tests/Protobuf.mjs b/tests/operations/tests/Protobuf.mjs index 17adfd88..2131e723 100644 --- a/tests/operations/tests/Protobuf.mjs +++ b/tests/operations/tests/Protobuf.mjs @@ -40,10 +40,10 @@ TestRegister.addTests([ "Apple": [ 28 ], - "Banana": "You", "Carrot": [ "Me" - ] + ], + "Banana": "You" }, null, 4), recipeConfig: [ { @@ -72,10 +72,10 @@ TestRegister.addTests([ "Apple": [ 28 ], - "Banana": "You", "Carrot": [ "Me" - ] + ], + "Banana": "You" }, "Unknown Fields": { "4": 43, @@ -111,10 +111,10 @@ TestRegister.addTests([ "Apple": [ 28 ], - "Banana": "You", "Carrot": [ "Me" ], + "Banana": "You", "Date": 43, "Elderberry": { "Fig": "abc123", @@ -154,10 +154,10 @@ TestRegister.addTests([ input: "0d1c0000001203596f751a024d65202b2a0a0a06616263313233120031ba32a96cc10200003801", expectedOutput: JSON.stringify({ "Test": { - "Banana (string)": "You", "Carrot (string)": [ "Me" ], + "Banana (string)": "You", "Date (int32)": 43, "Imbe (Options)": "Option1" }, From 475282984bda96535fb7d41c9d61d561a1c5b720 Mon Sep 17 00:00:00 2001 From: Philippe Arteau Date: Fri, 29 Jul 2022 14:32:46 -0400 Subject: [PATCH 407/754] Minor typos --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 07257ede..021e3515 100755 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ You can use as many operations as you like in simple or complex ways. Some examp - Whenever you modify the input or the recipe, CyberChef will automatically "bake" for you and produce the output immediately. - This can be turned off and operated manually if it is affecting performance (if the input is very large, for instance). - Automated encoding detection - - CyberChef uses [a number of techniques](https://github.com/gchq/CyberChef/wiki/Automatic-detection-of-encoded-data-using-CyberChef-Magic) to attempt to automatically detect which encodings your data is under. If it finds a suitable operation which can make sense of your data, it displays the 'magic' icon in the Output field which you can click to decode your data. + - CyberChef uses [a number of techniques](https://github.com/gchq/CyberChef/wiki/Automatic-detection-of-encoded-data-using-CyberChef-Magic) to attempt to automatically detect which encodings your data is under. If it finds a suitable operation that make sense of your data, it displays the 'magic' icon in the Output field which you can click to decode your data. - Breakpoints - You can set breakpoints on any operation in your recipe to pause execution before running it. - You can also step through the recipe one operation at a time to see what the data looks like at each stage. @@ -66,7 +66,7 @@ You can use as many operations as you like in simple or complex ways. Some examp - Highlighting - When you highlight text in the input or output, the offset and length values will be displayed and, if possible, the corresponding data will be highlighted in the output or input respectively (example: [highlight the word 'question' in the input to see where it appears in the output][11]). - Save to file and load from file - - You can save the output to a file at any time or load a file by dragging and dropping it into the input field. Files up to around 2GB are supported (depending on your browser), however some operations may take a very long time to run over this much data. + - You can save the output to a file at any time or load a file by dragging and dropping it into the input field. Files up to around 2GB are supported (depending on your browser), however, some operations may take a very long time to run over this much data. - CyberChef is entirely client-side - It should be noted that none of your recipe configuration or input (either text or files) is ever sent to the CyberChef web server - all processing is carried out within your browser, on your own computer. - Due to this feature, CyberChef can be downloaded and run locally. You can use the link in the top left corner of the app to download a full copy of CyberChef and drop it into a virtual machine, share it with other people, or host it in a closed network. @@ -74,7 +74,7 @@ You can use as many operations as you like in simple or complex ways. Some examp ## Deep linking -By manipulation of CyberChef's URL hash, you can change the initial settings with which the page opens. +By manipulating CyberChef's URL hash, you can change the initial settings with which the page opens. The format is `https://gchq.github.io/CyberChef/#recipe=Operation()&input=...` Supported arguments are `recipe`, `input` (encoded in Base64), and `theme`. @@ -90,12 +90,12 @@ CyberChef is built to support ## Node.js support -CyberChef is built to fully support Node.js `v10` and partially supports `v12`. Named imports using a deep import specifier does not work in `v12`. For more information, see the Node API page in the project [wiki pages](https://github.com/gchq/CyberChef/wiki) +CyberChef is built to fully support Node.js `v10` and partially supports `v12`. Named imports using a deep import specifier do not work in `v12`. For more information, see the Node API page in the project [wiki pages](https://github.com/gchq/CyberChef/wiki) ## Contributing -Contributing a new operation to CyberChef is super easy! There is a quickstart script which will walk you through the process. If you can write basic JavaScript, you can write a CyberChef operation. +Contributing a new operation to CyberChef is super easy! The quickstart script will walk you through the process. If you can write basic JavaScript, you can write a CyberChef operation. An installation walkthrough, how-to guides for adding new operations and themes, descriptions of the repository structure, available data types and coding conventions can all be found in the project [wiki pages](https://github.com/gchq/CyberChef/wiki). From 69e59916e25be3fe8511ca8134df2e0b444de166 Mon Sep 17 00:00:00 2001 From: jeiea Date: Wed, 17 Aug 2022 02:12:39 +0900 Subject: [PATCH 408/754] feat: support boolean and null in JSON to CSV --- src/core/operations/JSONToCSV.mjs | 7 +++++-- tests/operations/tests/JSONtoCSV.mjs | 11 +++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/core/operations/JSONToCSV.mjs b/src/core/operations/JSONToCSV.mjs index 7eb3e3b4..875ff6e8 100644 --- a/src/core/operations/JSONToCSV.mjs +++ b/src/core/operations/JSONToCSV.mjs @@ -114,8 +114,11 @@ class JSONToCSV extends Operation { * @returns {string} */ escapeCellContents(data, force=false) { - if (typeof data === "number") data = data.toString(); - if (force && typeof data !== "string") data = JSON.stringify(data); + if (data !== "string") { + const isPrimitive = data == null || typeof data !== "object"; + if (isPrimitive) data = `${data}`; + else if (force) data = JSON.stringify(data); + } // Double quotes should be doubled up data = data.replace(/"/g, '""'); diff --git a/tests/operations/tests/JSONtoCSV.mjs b/tests/operations/tests/JSONtoCSV.mjs index a9a0867e..faf373d1 100644 --- a/tests/operations/tests/JSONtoCSV.mjs +++ b/tests/operations/tests/JSONtoCSV.mjs @@ -46,6 +46,17 @@ TestRegister.addTests([ }, ], }, + { + name: "JSON to CSV: boolean and null as values", + input: JSON.stringify({a: false, b: null, c: 3}), + expectedOutput: "a,b,c\r\nfalse,null,3\r\n", + recipeConfig: [ + { + op: "JSON to CSV", + args: [",", "\\r\\n"] + }, + ], + }, { name: "JSON to CSV: JSON as an array", input: JSON.stringify([{a: 1, b: "2", c: 3}]), From e93aa42697b5101791b2bc1238f8b687c08cf84f Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 2 Sep 2022 12:56:04 +0100 Subject: [PATCH 409/754] Input and output character encodings can now be set --- src/core/Chef.mjs | 8 +- src/core/ChefWorker.js | 7 +- src/core/Utils.mjs | 8 + src/core/lib/ChrEnc.mjs | 13 +- src/core/operations/DecodeText.mjs | 8 +- src/core/operations/EncodeText.mjs | 8 +- .../operations/TextEncodingBruteForce.mjs | 10 +- src/web/Manager.mjs | 1 - src/web/html/index.html | 3 - src/web/stylesheets/layout/_io.css | 42 ++- src/web/utils/htmlWidget.mjs | 11 +- src/web/utils/statusBar.mjs | 231 +++++++++++++--- src/web/waiters/InputWaiter.mjs | 168 +++++++----- src/web/waiters/OutputWaiter.mjs | 132 ++++----- src/web/workers/InputWorker.mjs | 255 +++++------------- 15 files changed, 482 insertions(+), 423 deletions(-) diff --git a/src/core/Chef.mjs b/src/core/Chef.mjs index 36998cec..140774bc 100755 --- a/src/core/Chef.mjs +++ b/src/core/Chef.mjs @@ -68,16 +68,10 @@ class Chef { // Present the raw result await recipe.present(this.dish); - // Depending on the size of the output, we may send it back as a string or an ArrayBuffer. - // This can prevent unnecessary casting as an ArrayBuffer can be easily downloaded as a file. - // The threshold is specified in KiB. - const threshold = (options.ioDisplayThreshold || 1024) * 1024; const returnType = this.dish.type === Dish.HTML ? Dish.HTML : - this.dish.size > threshold ? - Dish.ARRAY_BUFFER : - Dish.STRING; + Dish.ARRAY_BUFFER; return { dish: rawDish, diff --git a/src/core/ChefWorker.js b/src/core/ChefWorker.js index d46a705d..8989875a 100644 --- a/src/core/ChefWorker.js +++ b/src/core/ChefWorker.js @@ -101,14 +101,17 @@ async function bake(data) { // Ensure the relevant modules are loaded self.loadRequiredModules(data.recipeConfig); try { - self.inputNum = (data.inputNum !== undefined) ? data.inputNum : -1; + self.inputNum = data.inputNum === undefined ? -1 : data.inputNum; const response = await self.chef.bake( data.input, // The user's input data.recipeConfig, // The configuration of the recipe data.options // Options set by the user ); - const transferable = (data.input instanceof ArrayBuffer) ? [data.input] : undefined; + const transferable = (response.dish.value instanceof ArrayBuffer) ? + [response.dish.value] : + undefined; + self.postMessage({ action: "bakeComplete", data: Object.assign(response, { diff --git a/src/core/Utils.mjs b/src/core/Utils.mjs index b72a6028..604b7b8c 100755 --- a/src/core/Utils.mjs +++ b/src/core/Utils.mjs @@ -406,6 +406,7 @@ class Utils { * Utils.strToArrayBuffer("你好"); */ static strToArrayBuffer(str) { + log.debug("Converting string to array buffer"); const arr = new Uint8Array(str.length); let i = str.length, b; while (i--) { @@ -432,6 +433,7 @@ class Utils { * Utils.strToUtf8ArrayBuffer("你好"); */ static strToUtf8ArrayBuffer(str) { + log.debug("Converting string to UTF8 array buffer"); const utf8Str = utf8.encode(str); if (str.length !== utf8Str.length) { @@ -461,6 +463,7 @@ class Utils { * Utils.strToByteArray("你好"); */ static strToByteArray(str) { + log.debug("Converting string to byte array"); const byteArray = new Array(str.length); let i = str.length, b; while (i--) { @@ -487,6 +490,7 @@ class Utils { * Utils.strToUtf8ByteArray("你好"); */ static strToUtf8ByteArray(str) { + log.debug("Converting string to UTF8 byte array"); const utf8Str = utf8.encode(str); if (str.length !== utf8Str.length) { @@ -515,6 +519,7 @@ class Utils { * Utils.strToCharcode("你好"); */ static strToCharcode(str) { + log.debug("Converting string to charcode"); const charcode = []; for (let i = 0; i < str.length; i++) { @@ -549,6 +554,7 @@ class Utils { * Utils.byteArrayToUtf8([228,189,160,229,165,189]); */ static byteArrayToUtf8(byteArray) { + log.debug("Converting byte array to UTF8"); const str = Utils.byteArrayToChars(byteArray); try { const utf8Str = utf8.decode(str); @@ -581,6 +587,7 @@ class Utils { * Utils.byteArrayToChars([20320,22909]); */ static byteArrayToChars(byteArray) { + log.debug("Converting byte array to chars"); if (!byteArray) return ""; let str = ""; // String concatenation appears to be faster than an array join @@ -603,6 +610,7 @@ class Utils { * Utils.arrayBufferToStr(Uint8Array.from([104,101,108,108,111]).buffer); */ static arrayBufferToStr(arrayBuffer, utf8=true) { + log.debug("Converting array buffer to str"); const arr = new Uint8Array(arrayBuffer); return utf8 ? Utils.byteArrayToUtf8(arr) : Utils.byteArrayToChars(arr); } diff --git a/src/core/lib/ChrEnc.mjs b/src/core/lib/ChrEnc.mjs index c5cb5605..8934d137 100644 --- a/src/core/lib/ChrEnc.mjs +++ b/src/core/lib/ChrEnc.mjs @@ -9,7 +9,7 @@ /** * Character encoding format mappings. */ -export const IO_FORMAT = { +export const CHR_ENC_CODE_PAGES = { "UTF-8 (65001)": 65001, "UTF-7 (65000)": 65000, "UTF-16LE (1200)": 1200, @@ -164,6 +164,17 @@ export const IO_FORMAT = { "Simplified Chinese GB18030 (54936)": 54936, }; + +export const CHR_ENC_SIMPLE_LOOKUP = {}; +export const CHR_ENC_SIMPLE_REVERSE_LOOKUP = {}; + +for (const name in CHR_ENC_CODE_PAGES) { + const simpleName = name.match(/(^.+)\([\d/]+\)$/)[1]; + + CHR_ENC_SIMPLE_LOOKUP[simpleName] = CHR_ENC_CODE_PAGES[name]; + CHR_ENC_SIMPLE_REVERSE_LOOKUP[CHR_ENC_CODE_PAGES[name]] = simpleName; +} + /** * Unicode Normalisation Forms * diff --git a/src/core/operations/DecodeText.mjs b/src/core/operations/DecodeText.mjs index 9b01b79f..0fc9d2b5 100644 --- a/src/core/operations/DecodeText.mjs +++ b/src/core/operations/DecodeText.mjs @@ -6,7 +6,7 @@ import Operation from "../Operation.mjs"; import cptable from "codepage"; -import {IO_FORMAT} from "../lib/ChrEnc.mjs"; +import {CHR_ENC_CODE_PAGES} from "../lib/ChrEnc.mjs"; /** * Decode text operation @@ -26,7 +26,7 @@ class DecodeText extends Operation { "

    ", "Supported charsets are:", "
      ", - Object.keys(IO_FORMAT).map(e => `
    • ${e}
    • `).join("\n"), + Object.keys(CHR_ENC_CODE_PAGES).map(e => `
    • ${e}
    • `).join("\n"), "
    ", ].join("\n"); this.infoURL = "https://wikipedia.org/wiki/Character_encoding"; @@ -36,7 +36,7 @@ class DecodeText extends Operation { { "name": "Encoding", "type": "option", - "value": Object.keys(IO_FORMAT) + "value": Object.keys(CHR_ENC_CODE_PAGES) } ]; } @@ -47,7 +47,7 @@ class DecodeText extends Operation { * @returns {string} */ run(input, args) { - const format = IO_FORMAT[args[0]]; + const format = CHR_ENC_CODE_PAGES[args[0]]; return cptable.utils.decode(format, new Uint8Array(input)); } diff --git a/src/core/operations/EncodeText.mjs b/src/core/operations/EncodeText.mjs index 8fc61fce..8cc1450f 100644 --- a/src/core/operations/EncodeText.mjs +++ b/src/core/operations/EncodeText.mjs @@ -6,7 +6,7 @@ import Operation from "../Operation.mjs"; import cptable from "codepage"; -import {IO_FORMAT} from "../lib/ChrEnc.mjs"; +import {CHR_ENC_CODE_PAGES} from "../lib/ChrEnc.mjs"; /** * Encode text operation @@ -26,7 +26,7 @@ class EncodeText extends Operation { "

    ", "Supported charsets are:", "
      ", - Object.keys(IO_FORMAT).map(e => `
    • ${e}
    • `).join("\n"), + Object.keys(CHR_ENC_CODE_PAGES).map(e => `
    • ${e}
    • `).join("\n"), "
    ", ].join("\n"); this.infoURL = "https://wikipedia.org/wiki/Character_encoding"; @@ -36,7 +36,7 @@ class EncodeText extends Operation { { "name": "Encoding", "type": "option", - "value": Object.keys(IO_FORMAT) + "value": Object.keys(CHR_ENC_CODE_PAGES) } ]; } @@ -47,7 +47,7 @@ class EncodeText extends Operation { * @returns {ArrayBuffer} */ run(input, args) { - const format = IO_FORMAT[args[0]]; + const format = CHR_ENC_CODE_PAGES[args[0]]; const encoded = cptable.utils.encode(format, input); return new Uint8Array(encoded).buffer; } diff --git a/src/core/operations/TextEncodingBruteForce.mjs b/src/core/operations/TextEncodingBruteForce.mjs index ef8b7f80..ae96fd0a 100644 --- a/src/core/operations/TextEncodingBruteForce.mjs +++ b/src/core/operations/TextEncodingBruteForce.mjs @@ -8,7 +8,7 @@ import Operation from "../Operation.mjs"; import Utils from "../Utils.mjs"; import cptable from "codepage"; -import {IO_FORMAT} from "../lib/ChrEnc.mjs"; +import {CHR_ENC_CODE_PAGES} from "../lib/ChrEnc.mjs"; /** * Text Encoding Brute Force operation @@ -28,7 +28,7 @@ class TextEncodingBruteForce extends Operation { "

    ", "Supported charsets are:", "
      ", - Object.keys(IO_FORMAT).map(e => `
    • ${e}
    • `).join("\n"), + Object.keys(CHR_ENC_CODE_PAGES).map(e => `
    • ${e}
    • `).join("\n"), "
    " ].join("\n"); this.infoURL = "https://wikipedia.org/wiki/Character_encoding"; @@ -51,15 +51,15 @@ class TextEncodingBruteForce extends Operation { */ run(input, args) { const output = {}, - charsets = Object.keys(IO_FORMAT), + charsets = Object.keys(CHR_ENC_CODE_PAGES), mode = args[0]; charsets.forEach(charset => { try { if (mode === "Decode") { - output[charset] = cptable.utils.decode(IO_FORMAT[charset], input); + output[charset] = cptable.utils.decode(CHR_ENC_CODE_PAGES[charset], input); } else { - output[charset] = Utils.arrayBufferToStr(cptable.utils.encode(IO_FORMAT[charset], input)); + output[charset] = Utils.arrayBufferToStr(cptable.utils.encode(CHR_ENC_CODE_PAGES[charset], input)); } } catch (err) { output[charset] = "Could not decode."; diff --git a/src/web/Manager.mjs b/src/web/Manager.mjs index 820b1a8d..793b61de 100755 --- a/src/web/Manager.mjs +++ b/src/web/Manager.mjs @@ -180,7 +180,6 @@ class Manager { document.getElementById("save-all-to-file").addEventListener("click", this.output.saveAllClick.bind(this.output)); document.getElementById("copy-output").addEventListener("click", this.output.copyClick.bind(this.output)); document.getElementById("switch").addEventListener("click", this.output.switchClick.bind(this.output)); - document.getElementById("undo-switch").addEventListener("click", this.output.undoSwitchClick.bind(this.output)); document.getElementById("maximise-output").addEventListener("click", this.output.maximiseOutputClick.bind(this.output)); document.getElementById("magic").addEventListener("click", this.output.magicClick.bind(this.output)); this.addDynamicListener("#output-file-download", "click", this.output.downloadFile, this.output); diff --git a/src/web/html/index.html b/src/web/html/index.html index a7931de5..68d69a78 100755 --- a/src/web/html/index.html +++ b/src/web/html/index.html @@ -300,9 +300,6 @@ - diff --git a/src/web/stylesheets/layout/_io.css b/src/web/stylesheets/layout/_io.css index ea15b6ac..185b3bdb 100755 --- a/src/web/stylesheets/layout/_io.css +++ b/src/web/stylesheets/layout/_io.css @@ -224,7 +224,7 @@ #output-file { position: absolute; left: 0; - bottom: 0; + top: 50%; width: 100%; display: none; } @@ -446,6 +446,10 @@ /* Status bar */ +.cm-panel input::placeholder { + font-size: 12px !important; +} + .ͼ2 .cm-panels { background-color: var(--secondary-background-colour); border-color: var(--secondary-border-colour); @@ -509,12 +513,38 @@ background-color: #ddd } -/* Show the dropup menu on hover */ -.cm-status-bar-select:hover .cm-status-bar-select-content { - display: block; -} - /* Change the background color of the dropup button when the dropup content is shown */ .cm-status-bar-select:hover .cm-status-bar-select-btn { background-color: #f1f1f1; } + +/* The search field */ +.cm-status-bar-filter-input { + box-sizing: border-box; + font-size: 12px; + padding-left: 10px !important; + border: none; +} + +.cm-status-bar-filter-search { + border-top: 1px solid #ddd; +} + +/* Show the dropup menu */ +.cm-status-bar-select .show { + display: block; +} + +.cm-status-bar-select-scroll { + overflow-y: auto; + max-height: 300px; +} + +.chr-enc-value { + max-width: 150px; + display: inline-block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + vertical-align: middle; +} \ No newline at end of file diff --git a/src/web/utils/htmlWidget.mjs b/src/web/utils/htmlWidget.mjs index 5e5c41c1..34800933 100644 --- a/src/web/utils/htmlWidget.mjs +++ b/src/web/utils/htmlWidget.mjs @@ -65,9 +65,11 @@ class HTMLWidget extends WidgetType { */ replaceControlChars(textNode) { const val = escapeControlChars(textNode.nodeValue, true, this.view.state.lineBreak); - const node = document.createElement("null"); - node.innerHTML = val; - textNode.parentNode.replaceChild(node, textNode); + if (val.length !== textNode.nodeValue.length) { + const node = document.createElement("span"); + node.innerHTML = val; + textNode.parentNode.replaceChild(node, textNode); + } } } @@ -119,8 +121,7 @@ export function htmlPlugin(htmlOutput) { } } }, { - decorations: v => v.decorations, - + decorations: v => v.decorations } ); diff --git a/src/web/utils/statusBar.mjs b/src/web/utils/statusBar.mjs index 431d8a3d..f9be5006 100644 --- a/src/web/utils/statusBar.mjs +++ b/src/web/utils/statusBar.mjs @@ -5,6 +5,7 @@ */ import {showPanel} from "@codemirror/view"; +import {CHR_ENC_SIMPLE_LOOKUP, CHR_ENC_SIMPLE_REVERSE_LOOKUP} from "../../core/lib/ChrEnc.mjs"; /** * A Status bar extension for CodeMirror @@ -19,6 +20,10 @@ class StatusBarPanel { this.label = opts.label; this.bakeStats = opts.bakeStats ? opts.bakeStats : null; this.eolHandler = opts.eolHandler; + this.chrEncHandler = opts.chrEncHandler; + + this.eolVal = null; + this.chrEncVal = null; this.dom = this.buildDOM(); } @@ -40,19 +45,42 @@ class StatusBarPanel { dom.appendChild(rhs); // Event listeners - dom.addEventListener("click", this.eolSelectClick.bind(this), false); + dom.querySelectorAll(".cm-status-bar-select-btn").forEach( + el => el.addEventListener("click", this.showDropUp.bind(this), false) + ); + dom.querySelector(".eol-select").addEventListener("click", this.eolSelectClick.bind(this), false); + dom.querySelector(".chr-enc-select").addEventListener("click", this.chrEncSelectClick.bind(this), false); + dom.querySelector(".cm-status-bar-filter-input").addEventListener("keyup", this.chrEncFilter.bind(this), false); return dom; } + /** + * Handler for dropup clicks + * Shows/Hides the dropup + * @param {Event} e + */ + showDropUp(e) { + const el = e.target + .closest(".cm-status-bar-select") + .querySelector(".cm-status-bar-select-content"); + + el.classList.add("show"); + + // Focus the filter input if present + const filter = el.querySelector(".cm-status-bar-filter-input"); + if (filter) filter.focus(); + + // Set up a listener to close the menu if the user clicks outside of it + hideOnClickOutside(el, e); + } + /** * Handler for EOL Select clicks * Sets the line separator * @param {Event} e */ eolSelectClick(e) { - e.preventDefault(); - const eolLookup = { "LF": "\u000a", "VT": "\u000b", @@ -65,8 +93,46 @@ class StatusBarPanel { }; const eolval = eolLookup[e.target.getAttribute("data-val")]; + if (eolval === undefined) return; + // Call relevant EOL change handler this.eolHandler(eolval); + hideElement(e.target.closest(".cm-status-bar-select-content")); + } + + /** + * Handler for Chr Enc Select clicks + * Sets the character encoding + * @param {Event} e + */ + chrEncSelectClick(e) { + const chrEncVal = parseInt(e.target.getAttribute("data-val"), 10); + + if (isNaN(chrEncVal)) return; + + this.chrEncHandler(chrEncVal); + this.updateCharEnc(chrEncVal); + hideElement(e.target.closest(".cm-status-bar-select-content")); + } + + /** + * Handler for Chr Enc keyup events + * Filters the list of selectable character encodings + * @param {Event} e + */ + chrEncFilter(e) { + const input = e.target; + const filter = input.value.toLowerCase(); + const div = input.closest(".cm-status-bar-select-content"); + const a = div.getElementsByTagName("a"); + for (let i = 0; i < a.length; i++) { + const txtValue = a[i].textContent || a[i].innerText; + if (txtValue.toLowerCase().includes(filter)) { + a[i].style.display = "block"; + } else { + a[i].style.display = "none"; + } + } } /** @@ -121,33 +187,48 @@ class StatusBarPanel { } /** - * Gets the current character encoding of the document - * @param {EditorState} state - */ - updateCharEnc(state) { - // const charenc = this.dom.querySelector("#char-enc-value"); - // TODO - // charenc.textContent = "TODO"; - } - - /** - * Returns what the current EOL separator is set to + * Sets the current EOL separator in the status bar * @param {EditorState} state */ updateEOL(state) { + if (state.lineBreak === this.eolVal) return; + const eolLookup = { - "\u000a": "LF", - "\u000b": "VT", - "\u000c": "FF", - "\u000d": "CR", - "\u000d\u000a": "CRLF", - "\u0085": "NEL", - "\u2028": "LS", - "\u2029": "PS" + "\u000a": ["LF", "Line Feed"], + "\u000b": ["VT", "Vertical Tab"], + "\u000c": ["FF", "Form Feed"], + "\u000d": ["CR", "Carriage Return"], + "\u000d\u000a": ["CRLF", "Carriage Return + Line Feed"], + "\u0085": ["NEL", "Next Line"], + "\u2028": ["LS", "Line Separator"], + "\u2029": ["PS", "Paragraph Separator"] }; const val = this.dom.querySelector(".eol-value"); - val.textContent = eolLookup[state.lineBreak]; + const button = val.closest(".cm-status-bar-select-btn"); + const eolName = eolLookup[state.lineBreak]; + val.textContent = eolName[0]; + button.setAttribute("title", `End of line sequence: ${eolName[1]}`); + button.setAttribute("data-original-title", `End of line sequence: ${eolName[1]}`); + this.eolVal = state.lineBreak; + } + + + /** + * Gets the current character encoding of the document + * @param {number} chrEncVal + */ + updateCharEnc(chrEncVal) { + if (chrEncVal === this.chrEncVal) return; + + const name = CHR_ENC_SIMPLE_REVERSE_LOOKUP[chrEncVal] ? CHR_ENC_SIMPLE_REVERSE_LOOKUP[chrEncVal] : "Raw Bytes"; + + const val = this.dom.querySelector(".chr-enc-value"); + const button = val.closest(".cm-status-bar-select-btn"); + val.textContent = name; + button.setAttribute("title", `${this.label} character encoding: ${name}`); + button.setAttribute("data-original-title", `${this.label} character encoding: ${name}`); + this.chrEncVal = chrEncVal; } /** @@ -168,6 +249,19 @@ class StatusBarPanel { } } + /** + * Updates the sizing of elements that need to fit correctly + * @param {EditorView} view + */ + updateSizing(view) { + const viewHeight = view.contentDOM.clientHeight; + this.dom.querySelectorAll(".cm-status-bar-select-scroll").forEach( + el => { + el.style.maxHeight = (viewHeight - 50) + "px"; + } + ); + } + /** * Builds the Left-hand-side widgets * @returns {string} @@ -197,39 +291,98 @@ class StatusBarPanel { /** * Builds the Right-hand-side widgets * Event listener set up in Manager + * * @returns {string} */ constructRHS() { + const chrEncOptions = Object.keys(CHR_ENC_SIMPLE_LOOKUP).map(name => + `${name}` + ).join(""); + return ` - - language - UTF-16 - +
    + + text_fields Raw Bytes + +
    +
    + Raw Bytes + ${chrEncOptions} +
    + +
    +
    keyboard_return - `; } } +const elementsWithListeners = {}; + +/** + * Hides the provided element when a click is made outside of it + * @param {Element} element + * @param {Event} instantiatingEvent + */ +function hideOnClickOutside(element, instantiatingEvent) { + /** + * Handler for document click events + * Closes element if click is outside it. + * @param {Event} event + */ + const outsideClickListener = event => { + // Don't trigger if we're clicking inside the element, or if the element + // is not visible, or if this is the same click event that opened it. + if (!element.contains(event.target) && + event.timeStamp !== instantiatingEvent.timeStamp) { + hideElement(element); + } + }; + + if (!Object.keys(elementsWithListeners).includes(element)) { + document.addEventListener("click", outsideClickListener); + elementsWithListeners[element] = outsideClickListener; + } +} + +/** + * Hides the specified element and removes the click listener for it + * @param {Element} element + */ +function hideElement(element) { + element.classList.remove("show"); + document.removeEventListener("click", elementsWithListeners[element]); + delete elementsWithListeners[element]; +} + + /** * A panel constructor factory building a panel that re-counts the stats every time the document changes. * @param {Object} opts @@ -240,7 +393,7 @@ function makePanel(opts) { return (view) => { sbPanel.updateEOL(view.state); - sbPanel.updateCharEnc(view.state); + sbPanel.updateCharEnc(opts.initialChrEncVal); sbPanel.updateBakeStats(); sbPanel.updateStats(view.state.doc); sbPanel.updateSelection(view.state, false); @@ -250,8 +403,10 @@ function makePanel(opts) { update(update) { sbPanel.updateEOL(update.state); sbPanel.updateSelection(update.state, update.selectionSet); - sbPanel.updateCharEnc(update.state); sbPanel.updateBakeStats(); + if (update.geometryChanged) { + sbPanel.updateSizing(update.view); + } if (update.docChanged) { sbPanel.updateStats(update.state.doc); } diff --git a/src/web/waiters/InputWaiter.mjs b/src/web/waiters/InputWaiter.mjs index ed8f174b..caa1a098 100644 --- a/src/web/waiters/InputWaiter.mjs +++ b/src/web/waiters/InputWaiter.mjs @@ -10,6 +10,7 @@ import InputWorker from "worker-loader?inline=no-fallback!../workers/InputWorker import Utils, {debounce} from "../../core/Utils.mjs"; import {toBase64} from "../../core/lib/Base64.mjs"; import {isImage} from "../../core/lib/FileType.mjs"; +import cptable from "codepage"; import { EditorView, keymap, highlightSpecialChars, drawSelection, rectangularSelection, crosshairCursor, dropCursor @@ -39,6 +40,7 @@ class InputWaiter { this.manager = manager; this.inputTextEl = document.getElementById("input-text"); + this.inputChrEnc = 0; this.initEditor(); this.inputWorker = null; @@ -84,7 +86,9 @@ class InputWaiter { // Custom extensions statusBar({ label: "Input", - eolHandler: this.eolChange.bind(this) + eolHandler: this.eolChange.bind(this), + chrEncHandler: this.chrEncChange.bind(this), + initialChrEncVal: this.inputChrEnc }), // Mutable state @@ -122,19 +126,30 @@ class InputWaiter { /** * Handler for EOL change events * Sets the line separator + * @param {string} eolVal */ - eolChange(eolval) { + eolChange(eolVal) { const oldInputVal = this.getInput(); // Update the EOL value this.inputEditorView.dispatch({ - effects: this.inputEditorConf.eol.reconfigure(EditorState.lineSeparator.of(eolval)) + effects: this.inputEditorConf.eol.reconfigure(EditorState.lineSeparator.of(eolVal)) }); // Reset the input so that lines are recalculated, preserving the old EOL values this.setInput(oldInputVal); } + /** + * Handler for Chr Enc change events + * Sets the input character encoding + * @param {number} chrEncVal + */ + chrEncChange(chrEncVal) { + this.inputChrEnc = chrEncVal; + this.inputChange(); + } + /** * Sets word wrap on the input editor * @param {boolean} wrap @@ -380,7 +395,7 @@ class InputWaiter { this.showLoadingInfo(r.data, true); break; case "setInput": - this.set(r.data.inputObj, r.data.silent); + this.set(r.data.inputNum, r.data.inputObj, r.data.silent); break; case "inputAdded": this.inputAdded(r.data.changeTab, r.data.inputNum); @@ -403,9 +418,6 @@ class InputWaiter { case "setUrl": this.setUrl(r.data); break; - case "inputSwitch": - this.manager.output.inputSwitch(r.data); - break; case "getInput": case "getInputNums": this.callbacks[r.data.id](r.data); @@ -435,22 +447,36 @@ class InputWaiter { /** * Sets the input in the input area * - * @param {object} inputData - Object containing the input and its metadata - * @param {number} inputData.inputNum - The unique inputNum for the selected input - * @param {string | object} inputData.input - The actual input data - * @param {string} inputData.name - The name of the input file - * @param {number} inputData.size - The size in bytes of the input file - * @param {string} inputData.type - The MIME type of the input file - * @param {number} inputData.progress - The load progress of the input file + * @param {number} inputNum + * @param {Object} inputData - Object containing the input and its metadata + * @param {string} type + * @param {ArrayBuffer} buffer + * @param {string} stringSample + * @param {Object} file + * @param {string} file.name + * @param {number} file.size + * @param {string} file.type + * @param {string} status + * @param {number} progress * @param {boolean} [silent=false] - If false, fires the manager statechange event */ - async set(inputData, silent=false) { + async set(inputNum, inputData, silent=false) { return new Promise(function(resolve, reject) { const activeTab = this.manager.tabs.getActiveInputTab(); - if (inputData.inputNum !== activeTab) return; + if (inputNum !== activeTab) return; - if (typeof inputData.input === "string") { - this.setInput(inputData.input); + if (inputData.file) { + this.setFile(inputNum, inputData, silent); + } else { + // TODO Per-tab encodings? + let inputVal; + if (this.inputChrEnc > 0) { + inputVal = cptable.utils.decode(this.inputChrEnc, new Uint8Array(inputData.buffer)); + } else { + inputVal = Utils.arrayBufferToStr(inputData.buffer); + } + + this.setInput(inputVal); const fileOverlay = document.getElementById("input-file"), fileName = document.getElementById("input-file-name"), fileSize = document.getElementById("input-file-size"), @@ -466,8 +492,8 @@ class InputWaiter { this.inputTextEl.classList.remove("blur"); // Set URL to current input - const inputStr = toBase64(inputData.input, "A-Za-z0-9+/"); - if (inputStr.length >= 0 && inputStr.length <= 68267) { + if (inputVal.length >= 0 && inputVal.length <= 51200) { + const inputStr = toBase64(inputVal, "A-Za-z0-9+/"); this.setUrl({ includeInput: true, input: inputStr @@ -475,8 +501,6 @@ class InputWaiter { } if (!silent) window.dispatchEvent(this.manager.statechange); - } else { - this.setFile(inputData, silent); } }.bind(this)); @@ -485,18 +509,22 @@ class InputWaiter { /** * Displays file details * - * @param {object} inputData - Object containing the input and its metadata - * @param {number} inputData.inputNum - The unique inputNum for the selected input - * @param {string | object} inputData.input - The actual input data - * @param {string} inputData.name - The name of the input file - * @param {number} inputData.size - The size in bytes of the input file - * @param {string} inputData.type - The MIME type of the input file - * @param {number} inputData.progress - The load progress of the input file + * @param {number} inputNum + * @param {Object} inputData - Object containing the input and its metadata + * @param {string} type + * @param {ArrayBuffer} buffer + * @param {string} stringSample + * @param {Object} file + * @param {string} file.name + * @param {number} file.size + * @param {string} file.type + * @param {string} status + * @param {number} progress * @param {boolean} [silent=true] - If false, fires the manager statechange event */ - setFile(inputData, silent=true) { + setFile(inputNum, inputData, silent=true) { const activeTab = this.manager.tabs.getActiveInputTab(); - if (inputData.inputNum !== activeTab) return; + if (inputNum !== activeTab) return; const fileOverlay = document.getElementById("input-file"), fileName = document.getElementById("input-file-name"), @@ -505,9 +533,9 @@ class InputWaiter { fileLoaded = document.getElementById("input-file-loaded"); fileOverlay.style.display = "block"; - fileName.textContent = inputData.name; - fileSize.textContent = inputData.size + " bytes"; - fileType.textContent = inputData.type; + fileName.textContent = inputData.file.name; + fileSize.textContent = inputData.file.size + " bytes"; + fileType.textContent = inputData.file.type; if (inputData.status === "error") { fileLoaded.textContent = "Error"; fileLoaded.style.color = "#FF0000"; @@ -516,7 +544,7 @@ class InputWaiter { fileLoaded.textContent = inputData.progress + "%"; } - this.displayFilePreview(inputData); + this.displayFilePreview(inputNum, inputData); if (!silent) window.dispatchEvent(this.manager.statechange); } @@ -583,19 +611,18 @@ class InputWaiter { /** * Shows a chunk of the file in the input behind the file overlay * + * @param {number} inputNum - The inputNum of the file being displayed * @param {Object} inputData - Object containing the input data - * @param {number} inputData.inputNum - The inputNum of the file being displayed - * @param {ArrayBuffer} inputData.input - The actual input to display + * @param {string} inputData.stringSample - The first 4096 bytes of input as a string */ - displayFilePreview(inputData) { + displayFilePreview(inputNum, inputData) { const activeTab = this.manager.tabs.getActiveInputTab(), - input = inputData.input; - if (inputData.inputNum !== activeTab) return; + input = inputData.buffer; + if (inputNum !== activeTab) return; this.inputTextEl.classList.add("blur"); - this.setInput(Utils.arrayBufferToStr(input.slice(0, 4096))); + this.setInput(input.stringSample); this.renderFileThumb(); - } /** @@ -623,46 +650,40 @@ class InputWaiter { * * @param {number} inputNum * @param {string | ArrayBuffer} value - * @param {boolean} [force=false] - If true, forces the value to be updated even if the type is different to the currently stored type */ updateInputValue(inputNum, value, force=false) { - let includeInput = false; - const recipeStr = toBase64(value, "A-Za-z0-9+/"); // B64 alphabet with no padding - if (recipeStr.length > 0 && recipeStr.length <= 68267) { - includeInput = true; + // Prepare the value as a buffer (full value) and a string sample (up to 4096 bytes) + let buffer; + let stringSample = ""; + + // If value is a string, interpret it using the specified character encoding + if (typeof value === "string") { + stringSample = value.slice(0, 4096); + if (this.inputChrEnc > 0) { + buffer = cptable.utils.encode(this.inputChrEnc, value); + buffer = new Uint8Array(buffer).buffer; + } else { + buffer = Utils.strToArrayBuffer(value); + } + } else { + buffer = value; + stringSample = Utils.arrayBufferToStr(value.slice(0, 4096)); } + + + const recipeStr = buffer.byteLength < 51200 ? toBase64(buffer, "A-Za-z0-9+/") : ""; // B64 alphabet with no padding this.setUrl({ - includeInput: includeInput, + includeInput: recipeStr.length > 0 && buffer.byteLength < 51200, input: recipeStr }); - // Value is either a string set by the input or an ArrayBuffer from a LoaderWorker, - // so is safe to use typeof === "string" - const transferable = (typeof value !== "string") ? [value] : undefined; + const transferable = [buffer]; this.inputWorker.postMessage({ action: "updateInputValue", data: { inputNum: inputNum, - value: value, - force: force - } - }, transferable); - } - - /** - * Updates the .data property for the input of the specified inputNum. - * Used for switching the output into the input - * - * @param {number} inputNum - The inputNum of the input we're changing - * @param {object} inputData - The new data object - */ - updateInputObj(inputNum, inputData) { - const transferable = (typeof inputData !== "string") ? [inputData.fileBuffer] : undefined; - this.inputWorker.postMessage({ - action: "updateInputObj", - data: { - inputNum: inputNum, - data: inputData + buffer: buffer, + stringSample: stringSample } }, transferable); } @@ -1052,9 +1073,8 @@ class InputWaiter { this.updateInputValue(inputNum, "", true); - this.set({ - inputNum: inputNum, - input: "" + this.set(inputNum, { + buffer: new ArrayBuffer() }); this.manager.tabs.updateInputTabHeader(inputNum, ""); diff --git a/src/web/waiters/OutputWaiter.mjs b/src/web/waiters/OutputWaiter.mjs index deaeaed3..f0b03d72 100755 --- a/src/web/waiters/OutputWaiter.mjs +++ b/src/web/waiters/OutputWaiter.mjs @@ -9,6 +9,7 @@ import Utils, {debounce} from "../../core/Utils.mjs"; import Dish from "../../core/Dish.mjs"; import FileSaver from "file-saver"; import ZipWorker from "worker-loader?inline=no-fallback!../workers/ZipWorker.mjs"; +import cptable from "codepage"; import { EditorView, keymap, highlightSpecialChars, drawSelection, rectangularSelection, crosshairCursor @@ -48,6 +49,7 @@ class OutputWaiter { html: "", changed: false }; + this.outputChrEnc = 0; this.initEditor(); this.outputs = {}; @@ -86,7 +88,9 @@ class OutputWaiter { statusBar({ label: "Output", bakeStats: this.bakeStats, - eolHandler: this.eolChange.bind(this) + eolHandler: this.eolChange.bind(this), + chrEncHandler: this.chrEncChange.bind(this), + initialChrEncVal: this.outputChrEnc }), htmlPlugin(this.htmlOutput), copyOverride(), @@ -119,19 +123,29 @@ class OutputWaiter { /** * Handler for EOL change events * Sets the line separator + * @param {string} eolVal */ - eolChange(eolval) { + eolChange(eolVal) { const oldOutputVal = this.getOutput(); // Update the EOL value this.outputEditorView.dispatch({ - effects: this.outputEditorConf.eol.reconfigure(EditorState.lineSeparator.of(eolval)) + effects: this.outputEditorConf.eol.reconfigure(EditorState.lineSeparator.of(eolVal)) }); // Reset the output so that lines are recalculated, preserving the old EOL values this.setOutput(oldOutputVal); } + /** + * Handler for Chr Enc change events + * Sets the output character encoding + * @param {number} chrEncVal + */ + chrEncChange(chrEncVal) { + this.outputChrEnc = chrEncVal; + } + /** * Sets word wrap on the output editor * @param {boolean} wrap @@ -193,7 +207,8 @@ class OutputWaiter { }); // Execute script sections - const scriptElements = document.getElementById("output-html").querySelectorAll("script"); + const outputHTML = document.getElementById("output-html"); + const scriptElements = outputHTML ? outputHTML.querySelectorAll("script") : []; for (let i = 0; i < scriptElements.length; i++) { try { eval(scriptElements[i].innerHTML); // eslint-disable-line no-eval @@ -405,8 +420,6 @@ class OutputWaiter { removeAllOutputs() { this.outputs = {}; - this.resetSwitch(); - const tabsList = document.getElementById("output-tabs"); const tabsListChildren = tabsList.children; @@ -418,19 +431,18 @@ class OutputWaiter { } /** - * Sets the output in the output textarea. + * Sets the output in the output pane. * * @param {number} inputNum */ async set(inputNum) { + inputNum = parseInt(inputNum, 10); if (inputNum !== this.manager.tabs.getActiveOutputTab() || !this.outputExists(inputNum)) return; this.toggleLoader(true); return new Promise(async function(resolve, reject) { - const output = this.outputs[inputNum], - activeTab = this.manager.tabs.getActiveOutputTab(); - if (typeof inputNum !== "number") inputNum = parseInt(inputNum, 10); + const output = this.outputs[inputNum]; const outputFile = document.getElementById("output-file"); @@ -491,17 +503,33 @@ class OutputWaiter { switch (output.data.type) { case "html": outputFile.style.display = "none"; + // TODO what if the HTML content needs to be in a certain character encoding? + // Grey out chr enc selection? Set back to Raw Bytes? this.setHTMLOutput(output.data.result); break; - case "ArrayBuffer": + case "ArrayBuffer": { this.outputTextEl.style.display = "block"; + outputFile.style.display = "none"; this.clearHTMLOutput(); - this.setOutput(""); - this.setFile(await this.getDishBuffer(output.data.dish), activeTab); + let outputVal = ""; + if (this.outputChrEnc === 0) { + outputVal = Utils.arrayBufferToStr(output.data.result); + } else { + try { + outputVal = cptable.utils.decode(this.outputChrEnc, new Uint8Array(output.data.result)); + } catch (err) { + outputVal = err; + } + } + + this.setOutput(outputVal); + + // this.setFile(await this.getDishBuffer(output.data.dish), activeTab); break; + } case "string": default: this.outputTextEl.style.display = "block"; @@ -1333,7 +1361,6 @@ class OutputWaiter { */ async switchClick() { const activeTab = this.manager.tabs.getActiveOutputTab(); - const transferable = []; const switchButton = document.getElementById("switch"); switchButton.classList.add("spin"); @@ -1341,82 +1368,15 @@ class OutputWaiter { switchButton.firstElementChild.innerHTML = "autorenew"; $(switchButton).tooltip("hide"); - let active = await this.getDishBuffer(this.getOutputDish(activeTab)); + const activeData = await this.getDishBuffer(this.getOutputDish(activeTab)); - if (!this.outputExists(activeTab)) { - this.resetSwitchButton(); - return; - } - - if (this.outputs[activeTab].data.type === "string" && - active.byteLength <= this.app.options.ioDisplayThreshold * 1024) { - const dishString = await this.getDishStr(this.getOutputDish(activeTab)); - active = dishString; - } else { - transferable.push(active); - } - - this.manager.input.inputWorker.postMessage({ - action: "inputSwitch", - data: { + if (this.outputExists(activeTab)) { + this.manager.input.set({ inputNum: activeTab, - outputData: active - } - }, transferable); - } - - /** - * Handler for when the inputWorker has switched the inputs. - * Stores the old input - * - * @param {object} switchData - * @param {number} switchData.inputNum - * @param {string | object} switchData.data - * @param {ArrayBuffer} switchData.data.fileBuffer - * @param {number} switchData.data.size - * @param {string} switchData.data.type - * @param {string} switchData.data.name - */ - inputSwitch(switchData) { - this.switchOrigData = switchData; - document.getElementById("undo-switch").disabled = false; - - this.resetSwitchButton(); - - } - - /** - * Handler for undo switch click events. - * Removes the output from the input and replaces the input that was removed. - */ - undoSwitchClick() { - this.manager.input.updateInputObj(this.switchOrigData.inputNum, this.switchOrigData.data); - - this.manager.input.fileLoaded(this.switchOrigData.inputNum); - - this.resetSwitch(); - } - - /** - * Removes the switch data and resets the switch buttons - */ - resetSwitch() { - if (this.switchOrigData !== undefined) { - delete this.switchOrigData; + input: activeData + }); } - const undoSwitch = document.getElementById("undo-switch"); - undoSwitch.disabled = true; - $(undoSwitch).tooltip("hide"); - - this.resetSwitchButton(); - } - - /** - * Resets the switch button to its usual state - */ - resetSwitchButton() { - const switchButton = document.getElementById("switch"); switchButton.classList.remove("spin"); switchButton.disabled = false; switchButton.firstElementChild.innerHTML = "open_in_browser"; diff --git a/src/web/workers/InputWorker.mjs b/src/web/workers/InputWorker.mjs index 9912995b..e1c75de9 100644 --- a/src/web/workers/InputWorker.mjs +++ b/src/web/workers/InputWorker.mjs @@ -3,12 +3,12 @@ * Handles storage, modification and retrieval of the inputs. * * @author j433866 [j433866@gmail.com] + * @author n1474335 [n1474335@gmail.com] * @copyright Crown Copyright 2019 * @license Apache-2.0 */ import Utils from "../../core/Utils.mjs"; -import {detectFileType} from "../../core/lib/FileType.mjs"; // Default max values // These will be correctly calculated automatically @@ -16,6 +16,21 @@ self.maxWorkers = 4; self.maxTabs = 1; self.pendingFiles = []; + +/** + * Dictionary of inputs keyed on the inputNum + * Each entry is an object with the following type: + * @typedef {Object} Input + * @property {string} type + * @property {ArrayBuffer} buffer + * @property {string} stringSample + * @property {Object} file + * @property {string} file.name + * @property {number} file.size + * @property {string} file.type + * @property {string} status + * @property {number} progress + */ self.inputs = {}; self.loaderWorkers = []; self.currentInputNum = 1; @@ -53,9 +68,6 @@ self.addEventListener("message", function(e) { case "updateInputValue": self.updateInputValue(r.data); break; - case "updateInputObj": - self.updateInputObj(r.data); - break; case "updateInputProgress": self.updateInputProgress(r.data); break; @@ -75,7 +87,7 @@ self.addEventListener("message", function(e) { log.setLevel(r.data, false); break; case "addInput": - self.addInput(r.data, "string"); + self.addInput(r.data, "userinput"); break; case "refreshTabs": self.refreshTabs(r.data.inputNum, r.data.direction); @@ -98,9 +110,6 @@ self.addEventListener("message", function(e) { case "loaderWorkerMessage": self.handleLoaderMessage(r.data); break; - case "inputSwitch": - self.inputSwitch(r.data); - break; case "updateTabHeader": self.updateTabHeader(r.data); break; @@ -213,13 +222,10 @@ self.bakeInput = function(inputNum, bakeId) { return; } - let inputData = inputObj.data; - if (typeof inputData !== "string") inputData = inputData.fileBuffer; - self.postMessage({ action: "queueInput", data: { - input: inputData, + input: inputObj.buffer, inputNum: inputNum, bakeId: bakeId } @@ -236,23 +242,6 @@ self.getInputObj = function(inputNum) { return self.inputs[inputNum]; }; -/** - * Gets the stored value for a specific inputNum. - * - * @param {number} inputNum - The input we want to get the value of - * @returns {string | ArrayBuffer} - */ -self.getInputValue = function(inputNum) { - if (self.inputs[inputNum]) { - if (typeof self.inputs[inputNum].data === "string") { - return self.inputs[inputNum].data; - } else { - return self.inputs[inputNum].data.fileBuffer; - } - } - return ""; -}; - /** * Gets the stored value or object for a specific inputNum and sends it to the inputWaiter. * @@ -263,7 +252,7 @@ self.getInputValue = function(inputNum) { */ self.getInput = function(inputData) { const inputNum = inputData.inputNum, - data = (inputData.getObj) ? self.getInputObj(inputNum) : self.getInputValue(inputNum); + data = (inputData.getObj) ? self.getInputObj(inputNum) : self.inputs[inputNum].buffer; self.postMessage({ action: "getInput", data: { @@ -421,17 +410,15 @@ self.getNearbyNums = function(inputNum, direction) { self.updateTabHeader = function(inputNum) { const input = self.getInputObj(inputNum); if (input === null || input === undefined) return; - let inputData = input.data; - if (typeof inputData !== "string") { - inputData = input.data.name; - } - inputData = inputData.replace(/[\n\r]/g, ""); + + let header = input.type === "file" ? input.file.name : input.stringSample; + header = header.slice(0, 100).replace(/[\n\r]/g, ""); self.postMessage({ action: "updateTabHeader", data: { inputNum: inputNum, - input: inputData.slice(0, 100) + input: header } }); }; @@ -450,37 +437,15 @@ self.setInput = function(inputData) { const input = self.getInputObj(inputNum); if (input === undefined || input === null) return; - let inputVal = input.data; - const inputObj = { - inputNum: inputNum, - input: inputVal - }; - if (typeof inputVal !== "string") { - inputObj.name = inputVal.name; - inputObj.size = inputVal.size; - inputObj.type = inputVal.type; - inputObj.progress = input.progress; - inputObj.status = input.status; - inputVal = inputVal.fileBuffer; - const fileSlice = inputVal.slice(0, 512001); - inputObj.input = fileSlice; + self.postMessage({ + action: "setInput", + data: { + inputNum: inputNum, + inputObj: input, + silent: silent + } + }); - self.postMessage({ - action: "setInput", - data: { - inputObj: inputObj, - silent: silent - } - }, [fileSlice]); - } else { - self.postMessage({ - action: "setInput", - data: { - inputObj: inputObj, - silent: silent - } - }); - } self.updateTabHeader(inputNum); }; @@ -546,54 +511,23 @@ self.updateInputProgress = function(inputData) { * * @param {object} inputData * @param {number} inputData.inputNum - The input that's having its value updated - * @param {string | ArrayBuffer} inputData.value - The new value of the input - * @param {boolean} inputData.force - If true, still updates the input value if the input type is different to the stored value + * @param {ArrayBuffer} inputData.buffer - The new value of the input as a buffer + * @param {string} [inputData.stringSample] - A sample of the value as a string (truncated to 4096 chars) */ self.updateInputValue = function(inputData) { - const inputNum = inputData.inputNum; + const inputNum = parseInt(inputData.inputNum, 10); if (inputNum < 1) return; - if (Object.prototype.hasOwnProperty.call(self.inputs[inputNum].data, "fileBuffer") && - typeof inputData.value === "string" && !inputData.force) return; - const value = inputData.value; - if (self.inputs[inputNum] !== undefined) { - if (typeof value === "string") { - self.inputs[inputNum].data = value; - } else { - self.inputs[inputNum].data.fileBuffer = value; - } - self.inputs[inputNum].status = "loaded"; - self.inputs[inputNum].progress = 100; - return; + + if (!Object.prototype.hasOwnProperty.call(self.inputs, inputNum)) + throw new Error(`No input with ID ${inputNum} exists`); + + self.inputs[inputNum].buffer = inputData.buffer; + if (!("stringSample" in inputData)) { + inputData.stringSample = Utils.arrayBufferToStr(inputData.buffer.slice(0, 4096)); } - - // If we get to here, an input for inputNum could not be found, - // so create a new one. Only do this if the value is a string, as - // loadFiles will create the input object for files - if (typeof value === "string") { - self.inputs.push({ - inputNum: inputNum, - data: value, - status: "loaded", - progress: 100 - }); - } -}; - -/** - * Update the stored data object for an input. - * Used if we need to change a string to an ArrayBuffer - * - * @param {object} inputData - * @param {number} inputData.inputNum - The number of the input we're updating - * @param {object} inputData.data - The new data object for the input - */ -self.updateInputObj = function(inputData) { - const inputNum = inputData.inputNum; - const data = inputData.data; - - if (self.getInputObj(inputNum) === undefined) return; - - self.inputs[inputNum].data = data; + self.inputs[inputNum].stringSample = inputData.stringSample; + self.inputs[inputNum].status = "loaded"; + self.inputs[inputNum].progress = 100; }; /** @@ -632,8 +566,7 @@ self.loaderWorkerReady = function(workerData) { /** * Handler for messages sent by loaderWorkers. - * (Messages are sent between the inputWorker and - * loaderWorkers via the main thread) + * (Messages are sent between the inputWorker and loaderWorkers via the main thread) * * @param {object} r - The data sent by the loaderWorker * @param {number} r.inputNum - The inputNum which the message corresponds to @@ -667,7 +600,7 @@ self.handleLoaderMessage = function(r) { self.updateInputValue({ inputNum: inputNum, - value: r.fileBuffer + buffer: r.fileBuffer }); self.postMessage({ @@ -757,7 +690,8 @@ self.loadFiles = function(filesData) { let lastInputNum = -1; const inputNums = []; for (let i = 0; i < files.length; i++) { - if (i === 0 && self.getInputValue(activeTab) === "") { + // If the first input is empty, replace it rather than adding a new one + if (i === 0 && (!self.inputs[activeTab].buffer || self.inputs[activeTab].buffer.byteLength === 0)) { self.removeInput({ inputNum: activeTab, refreshTabs: false, @@ -798,7 +732,7 @@ self.loadFiles = function(filesData) { * Adds an input to the input dictionary * * @param {boolean} [changetab=false] - Whether or not to change to the new input - * @param {string} type - Either "string" or "file" + * @param {string} type - Either "userinput" or "file" * @param {Object} fileData - Contains information about the file to be added to the input (only used when type is "file") * @param {string} fileData.name - The filename of the input being added * @param {number} fileData.size - The file size (in bytes) of the input being added @@ -810,25 +744,30 @@ self.addInput = function( type, fileData = { name: "unknown", - size: "unknown", + size: 0, type: "unknown" }, inputNum = self.currentInputNum++ ) { self.numInputs++; const newInputObj = { - inputNum: inputNum + type: null, + buffer: new ArrayBuffer(), + stringSample: "", + file: null, + status: "pending", + progress: 0 }; switch (type) { - case "string": - newInputObj.data = ""; + case "userinput": + newInputObj.type = "userinput"; newInputObj.status = "loaded"; newInputObj.progress = 100; break; case "file": - newInputObj.data = { - fileBuffer: new ArrayBuffer(), + newInputObj.type = "file"; + newInputObj.file = { name: fileData.name, size: fileData.size, type: fileData.type @@ -837,7 +776,7 @@ self.addInput = function( newInputObj.progress = 0; break; default: - log.error(`Invalid type '${type}'.`); + log.error(`Invalid input type '${type}'.`); return -1; } self.inputs[inputNum] = newInputObj; @@ -976,18 +915,18 @@ self.filterTabs = function(searchData) { self.inputs[iNum].status === "loading" && showLoading || self.inputs[iNum].status === "loaded" && showLoaded) { try { - if (typeof self.inputs[iNum].data === "string") { + if (self.inputs[iNum].type === "userinput") { if (filterType.toLowerCase() === "content" && - filterExp.test(self.inputs[iNum].data.slice(0, 4096))) { - textDisplay = self.inputs[iNum].data.slice(0, 4096); + filterExp.test(self.inputs[iNum].stringSample)) { + textDisplay = self.inputs[iNum].stringSample; addInput = true; } } else { if ((filterType.toLowerCase() === "filename" && - filterExp.test(self.inputs[iNum].data.name)) || - filterType.toLowerCase() === "content" && - filterExp.test(Utils.arrayBufferToStr(self.inputs[iNum].data.fileBuffer.slice(0, 4096)))) { - textDisplay = self.inputs[iNum].data.name; + filterExp.test(self.inputs[iNum].file.name)) || + (filterType.toLowerCase() === "content" && + filterExp.test(self.inputs[iNum].stringSample))) { + textDisplay = self.inputs[iNum].file.name; addInput = true; } } @@ -1021,61 +960,3 @@ self.filterTabs = function(searchData) { data: inputs }); }; - -/** - * Swaps the input and outputs, and sends the old input back to the main thread. - * - * @param {object} switchData - * @param {number} switchData.inputNum - The inputNum of the input to be switched to - * @param {string | ArrayBuffer} switchData.outputData - The data to switch to - */ -self.inputSwitch = function(switchData) { - const currentInput = self.getInputObj(switchData.inputNum); - const currentData = currentInput.data; - if (currentInput === undefined || currentInput === null) return; - - if (typeof switchData.outputData !== "string") { - const output = new Uint8Array(switchData.outputData), - types = detectFileType(output); - let type = "unknown", - ext = "dat"; - if (types.length) { - type = types[0].mime; - ext = types[0].extension.split(",", 1)[0]; - } - - // ArrayBuffer - self.updateInputObj({ - inputNum: switchData.inputNum, - data: { - fileBuffer: switchData.outputData, - name: `output.${ext}`, - size: switchData.outputData.byteLength.toLocaleString(), - type: type - } - }); - } else { - // String - self.updateInputValue({ - inputNum: switchData.inputNum, - value: switchData.outputData, - force: true - }); - } - - self.postMessage({ - action: "inputSwitch", - data: { - data: currentData, - inputNum: switchData.inputNum - } - }); - - self.postMessage({ - action: "fileLoaded", - data: { - inputNum: switchData.inputNum - } - }); - -}; From 16b79e32f6ea4e4a00984f2d5d8a854f8d4275a4 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 2 Sep 2022 14:33:41 +0100 Subject: [PATCH 410/754] File details are now displayed in a side panel and the input is still editable --- src/web/Manager.mjs | 2 - src/web/html/index.html | 15 -- src/web/stylesheets/layout/_io.css | 48 +++++- src/web/utils/fileDetails.mjs | 134 +++++++++++++++ src/web/utils/sidePanel.mjs | 254 +++++++++++++++++++++++++++++ src/web/waiters/InputWaiter.mjs | 213 ++++++++---------------- 6 files changed, 500 insertions(+), 166 deletions(-) create mode 100644 src/web/utils/fileDetails.mjs create mode 100644 src/web/utils/sidePanel.mjs diff --git a/src/web/Manager.mjs b/src/web/Manager.mjs index 793b61de..730d6e2e 100755 --- a/src/web/Manager.mjs +++ b/src/web/Manager.mjs @@ -152,7 +152,6 @@ class Manager { this.addListeners("#input-wrapper", "dragover", this.input.inputDragover, this.input); this.addListeners("#input-wrapper", "dragleave", this.input.inputDragleave, this.input); this.addListeners("#input-wrapper", "drop", this.input.inputDrop, this.input); - document.querySelector("#input-file .close").addEventListener("click", this.input.clearIoClick.bind(this.input)); document.getElementById("btn-new-tab").addEventListener("click", this.input.addInputClick.bind(this.input)); document.getElementById("btn-previous-input-tab").addEventListener("mousedown", this.input.previousTabClick.bind(this.input)); document.getElementById("btn-next-input-tab").addEventListener("mousedown", this.input.nextTabClick.bind(this.input)); @@ -218,7 +217,6 @@ class Manager { this.addDynamicListener(".option-item select", "change", this.options.selectChange, this.options); document.getElementById("theme").addEventListener("change", this.options.themeChange.bind(this.options)); document.getElementById("logLevel").addEventListener("change", this.options.logLevelChange.bind(this.options)); - document.getElementById("imagePreview").addEventListener("change", this.input.renderFileThumb.bind(this.input)); // Misc window.addEventListener("keydown", this.bindings.parseInput.bind(this.bindings)); diff --git a/src/web/html/index.html b/src/web/html/index.html index 68d69a78..6e2c60a3 100755 --- a/src/web/html/index.html +++ b/src/web/html/index.html @@ -265,21 +265,6 @@
    -
    -
    -
    -
    - -
    - - Name:
    - Size:
    - Type:
    - Loaded: -
    -
    -
    -
    diff --git a/src/web/stylesheets/layout/_io.css b/src/web/stylesheets/layout/_io.css index 185b3bdb..9c64fe85 100755 --- a/src/web/stylesheets/layout/_io.css +++ b/src/web/stylesheets/layout/_io.css @@ -220,7 +220,6 @@ transition: all 0.5s ease; } -#input-file, #output-file { position: absolute; left: 0; @@ -450,9 +449,10 @@ font-size: 12px !important; } -.ͼ2 .cm-panels { +.ͼ2 .cm-panels, +.ͼ2 .cm-side-panels { background-color: var(--secondary-background-colour); - border-color: var(--secondary-border-colour); + border-color: var(--primary-border-colour); color: var(--primary-font-colour); } @@ -547,4 +547,44 @@ text-overflow: ellipsis; white-space: nowrap; vertical-align: middle; -} \ No newline at end of file +} + + +/* File details panel */ + +.cm-file-details { + text-align: center; + display: flex; + flex-direction: column; + align-items: center; + overflow-y: auto; + padding-bottom: 21px; + height: 100%; +} + +.file-details-heading { + font-weight: bold; + margin: 10px 0 10px 0; +} + +.file-details-data { + text-align: left; + margin: 10px 2px; +} + +.file-details-data td { + padding: 0 3px; + max-width: 130px; + min-width: 60px; + overflow: hidden; + vertical-align: top; + word-break: break-all; +} + +.file-details-error { + color: #f00; +} + +.file-details-thumbnail { + max-width: 180px; +} diff --git a/src/web/utils/fileDetails.mjs b/src/web/utils/fileDetails.mjs new file mode 100644 index 00000000..f8e3003b --- /dev/null +++ b/src/web/utils/fileDetails.mjs @@ -0,0 +1,134 @@ +/** + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2022 + * @license Apache-2.0 + */ + +import {showSidePanel} from "./sidePanel.mjs"; +import Utils from "../../core/Utils.mjs"; +import {isImage} from "../../core/lib/FileType.mjs"; + +/** + * A File Details extension for CodeMirror + */ +class FileDetailsPanel { + + /** + * FileDetailsPanel constructor + * @param {Object} opts + */ + constructor(opts) { + this.fileDetails = opts.fileDetails; + this.progress = opts.progress; + this.status = opts.status; + this.buffer = opts.buffer; + this.renderPreview = opts.renderPreview; + this.dom = this.buildDOM(); + this.renderFileThumb(); + } + + /** + * Builds the file details DOM tree + * @returns {DOMNode} + */ + buildDOM() { + const dom = document.createElement("div"); + + dom.className = "cm-file-details"; + const fileThumb = require("../static/images/file-128x128.png"); + dom.innerHTML = ` +

    File details

    + +
    EncodingValue
    ${enc}${value}
    + + + + + + + + + + + + + + + + +
    Name: + ${Utils.escapeHtml(this.fileDetails.name)} +
    Size: + ${Utils.escapeHtml(this.fileDetails.size)} bytes +
    Type: + ${Utils.escapeHtml(this.fileDetails.type)} +
    Loaded: + ${this.status === "error" ? "Error" : this.progress + "%"} +
    + `; + + return dom; + } + + /** + * Render the file thumbnail + */ + renderFileThumb() { + if (!this.renderPreview) { + this.resetFileThumb(); + return; + } + const fileThumb = this.dom.querySelector(".file-details-thumbnail"); + const fileType = this.dom.querySelector(".file-details-type"); + const fileBuffer = new Uint8Array(this.buffer); + const type = isImage(fileBuffer); + + if (type && type !== "image/tiff" && fileBuffer.byteLength <= 512000) { + // Most browsers don't support displaying TIFFs, so ignore them + // Don't render images over 512,000 bytes + const blob = new Blob([fileBuffer], {type: type}), + url = URL.createObjectURL(blob); + fileThumb.src = url; + } else { + this.resetFileThumb(); + } + fileType.textContent = type; + } + + /** + * Reset the file thumbnail to the default icon + */ + resetFileThumb() { + const fileThumb = this.dom.querySelector(".file-details-thumbnail"); + fileThumb.src = require("../static/images/file-128x128.png"); + } + +} + +/** + * A panel constructor factory building a panel that displays file details + * @param {Object} opts + * @returns {Function} + */ +function makePanel(opts) { + const fdPanel = new FileDetailsPanel(opts); + + return (view) => { + return { + dom: fdPanel.dom, + width: 200, + update(update) { + } + }; + }; +} + +/** + * A function that build the extension that enables the panel in an editor. + * @param {Object} opts + * @returns {Extension} + */ +export function fileDetailsPanel(opts) { + const panelMaker = makePanel(opts); + return showSidePanel.of(panelMaker); +} diff --git a/src/web/utils/sidePanel.mjs b/src/web/utils/sidePanel.mjs new file mode 100644 index 00000000..a8de0931 --- /dev/null +++ b/src/web/utils/sidePanel.mjs @@ -0,0 +1,254 @@ +/** + * A modification of the CodeMirror Panel extension to enable panels to the + * left and right of the editor. + * Based on code here: https://github.com/codemirror/view/blob/main/src/panel.ts + * + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2022 + * @license Apache-2.0 + */ + +import {EditorView, ViewPlugin} from "@codemirror/view"; +import {Facet} from "@codemirror/state"; + +const panelConfig = Facet.define({ + combine(configs) { + let leftContainer, rightContainer; + for (const c of configs) { + leftContainer = leftContainer || c.leftContainer; + rightContainer = rightContainer || c.rightContainer; + } + return {leftContainer, rightContainer}; + } +}); + +/** + * Configures the panel-managing extension. + * @param {PanelConfig} config + * @returns Extension + */ +export function panels(config) { + return config ? [panelConfig.of(config)] : []; +} + +/** + * Get the active panel created by the given constructor, if any. + * This can be useful when you need access to your panels' DOM + * structure. + * @param {EditorView} view + * @param {PanelConstructor} panel + * @returns {Panel} + */ +export function getPanel(view, panel) { + const plugin = view.plugin(panelPlugin); + const index = plugin ? plugin.specs.indexOf(panel) : -1; + return index > -1 ? plugin.panels[index] : null; +} + +const panelPlugin = ViewPlugin.fromClass(class { + + /** + * @param {EditorView} view + */ + constructor(view) { + this.input = view.state.facet(showSidePanel); + this.specs = this.input.filter(s => s); + this.panels = this.specs.map(spec => spec(view)); + const conf = view.state.facet(panelConfig); + this.left = new PanelGroup(view, true, conf.leftContainer); + this.right = new PanelGroup(view, false, conf.rightContainer); + this.left.sync(this.panels.filter(p => p.left)); + this.right.sync(this.panels.filter(p => !p.left)); + for (const p of this.panels) { + p.dom.classList.add("cm-panel"); + if (p.mount) p.mount(); + } + } + + /** + * @param {ViewUpdate} update + */ + update(update) { + const conf = update.state.facet(panelConfig); + if (this.left.container !== conf.leftContainer) { + this.left.sync([]); + this.left = new PanelGroup(update.view, true, conf.leftContainer); + } + if (this.right.container !== conf.rightContainer) { + this.right.sync([]); + this.right = new PanelGroup(update.view, false, conf.rightContainer); + } + this.left.syncClasses(); + this.right.syncClasses(); + const input = update.state.facet(showSidePanel); + if (input !== this.input) { + const specs = input.filter(x => x); + const panels = [], left = [], right = [], mount = []; + for (const spec of specs) { + const known = this.specs.indexOf(spec); + let panel; + if (known < 0) { + panel = spec(update.view); + mount.push(panel); + } else { + panel = this.panels[known]; + if (panel.update) panel.update(update); + } + panels.push(panel) + ;(panel.left ? left : right).push(panel); + } + this.specs = specs; + this.panels = panels; + this.left.sync(left); + this.right.sync(right); + for (const p of mount) { + p.dom.classList.add("cm-panel"); + if (p.mount) p.mount(); + } + } else { + for (const p of this.panels) if (p.update) p.update(update); + } + } + + /** + * Destroy panel + */ + destroy() { + this.left.sync([]); + this.right.sync([]); + } +}, { + // provide: PluginField.scrollMargins.from(value => ({left: value.left.scrollMargin(), right: value.right.scrollMargin()})) +}); + +/** + * PanelGroup + */ +class PanelGroup { + + /** + * @param {EditorView} view + * @param {boolean} left + * @param {HTMLElement} container + */ + constructor(view, left, container) { + this.view = view; + this.left = left; + this.container = container; + this.dom = undefined; + this.classes = ""; + this.panels = []; + this.bufferWidth = 0; + this.syncClasses(); + } + + /** + * @param {Panel[]} panels + */ + sync(panels) { + for (const p of this.panels) if (p.destroy && panels.indexOf(p) < 0) p.destroy(); + this.panels = panels; + this.syncDOM(); + } + + /** + * Synchronise the DOM + */ + syncDOM() { + if (this.panels.length === 0) { + if (this.dom) { + this.dom.remove(); + this.dom = undefined; + } + return; + } + + const parent = this.container || this.view.dom; + if (!this.dom) { + this.dom = document.createElement("div"); + this.dom.className = this.left ? "cm-side-panels cm-panels-left" : "cm-side-panels cm-panels-right"; + parent.insertBefore(this.dom, parent.firstChild); + } + + let curDOM = this.dom.firstChild; + for (const panel of this.panels) { + if (panel.dom.parentNode === this.dom) { + while (curDOM !== panel.dom) curDOM = rm(curDOM); + curDOM = curDOM.nextSibling; + } else { + this.dom.insertBefore(panel.dom, curDOM); + this.bufferWidth = panel.width; + panel.dom.style.width = panel.width + "px"; + this.dom.style.width = this.bufferWidth + "px"; + } + } + while (curDOM) curDOM = rm(curDOM); + + const margin = this.left ? "marginLeft" : "marginRight"; + parent.querySelector(".cm-scroller").style[margin] = this.bufferWidth + "px"; + } + + /** + * + */ + scrollMargin() { + return !this.dom || this.container ? 0 : + Math.max(0, this.left ? + this.dom.getBoundingClientRect().right - Math.max(0, this.view.scrollDOM.getBoundingClientRect().left) : + Math.min(innerHeight, this.view.scrollDOM.getBoundingClientRect().right) - this.dom.getBoundingClientRect().left); + } + + /** + * + */ + syncClasses() { + if (!this.container || this.classes === this.view.themeClasses) return; + for (const cls of this.classes.split(" ")) if (cls) this.container.classList.remove(cls); + for (const cls of (this.classes = this.view.themeClasses).split(" ")) if (cls) this.container.classList.add(cls); + } +} + +/** + * @param {ChildNode} node + * @returns HTMLElement + */ +function rm(node) { + const next = node.nextSibling; + node.remove(); + return next; +} + +const baseTheme = EditorView.baseTheme({ + ".cm-side-panels": { + boxSizing: "border-box", + position: "absolute", + height: "100%", + top: 0, + bottom: 0 + }, + "&light .cm-side-panels": { + backgroundColor: "#f5f5f5", + color: "black" + }, + "&light .cm-panels-left": { + borderRight: "1px solid #ddd", + left: 0 + }, + "&light .cm-panels-right": { + borderLeft: "1px solid #ddd", + right: 0 + }, + "&dark .cm-side-panels": { + backgroundColor: "#333338", + color: "white" + } +}); + +/** + * Opening a panel is done by providing a constructor function for + * the panel through this facet. (The panel is closed again when its + * constructor is no longer provided.) Values of `null` are ignored. + */ +export const showSidePanel = Facet.define({ + enables: [panelPlugin, baseTheme] +}); diff --git a/src/web/waiters/InputWaiter.mjs b/src/web/waiters/InputWaiter.mjs index caa1a098..000940a4 100644 --- a/src/web/waiters/InputWaiter.mjs +++ b/src/web/waiters/InputWaiter.mjs @@ -9,7 +9,6 @@ import LoaderWorker from "worker-loader?inline=no-fallback!../workers/LoaderWork import InputWorker from "worker-loader?inline=no-fallback!../workers/InputWorker.mjs"; import Utils, {debounce} from "../../core/Utils.mjs"; import {toBase64} from "../../core/lib/Base64.mjs"; -import {isImage} from "../../core/lib/FileType.mjs"; import cptable from "codepage"; import { @@ -21,6 +20,7 @@ import {bracketMatching} from "@codemirror/language"; import {search, searchKeymap, highlightSelectionMatches} from "@codemirror/search"; import {statusBar} from "../utils/statusBar.mjs"; +import {fileDetailsPanel} from "../utils/fileDetails.mjs"; import {renderSpecialChar} from "../utils/editorUtils.mjs"; @@ -65,7 +65,8 @@ class InputWaiter { initEditor() { this.inputEditorConf = { eol: new Compartment, - lineWrapping: new Compartment + lineWrapping: new Compartment, + fileDetailsPanel: new Compartment }; const initialState = EditorState.create({ @@ -92,6 +93,7 @@ class InputWaiter { }), // Mutable state + this.inputEditorConf.fileDetailsPanel.of([]), this.inputEditorConf.lineWrapping.of(EditorView.lineWrapping), this.inputEditorConf.eol.of(EditorState.lineSeparator.of("\n")), @@ -466,43 +468,32 @@ class InputWaiter { if (inputNum !== activeTab) return; if (inputData.file) { - this.setFile(inputNum, inputData, silent); + this.setFile(inputNum, inputData); } else { - // TODO Per-tab encodings? - let inputVal; - if (this.inputChrEnc > 0) { - inputVal = cptable.utils.decode(this.inputChrEnc, new Uint8Array(inputData.buffer)); - } else { - inputVal = Utils.arrayBufferToStr(inputData.buffer); - } - - this.setInput(inputVal); - const fileOverlay = document.getElementById("input-file"), - fileName = document.getElementById("input-file-name"), - fileSize = document.getElementById("input-file-size"), - fileType = document.getElementById("input-file-type"), - fileLoaded = document.getElementById("input-file-loaded"); - - fileOverlay.style.display = "none"; - fileName.textContent = ""; - fileSize.textContent = ""; - fileType.textContent = ""; - fileLoaded.textContent = ""; - - this.inputTextEl.classList.remove("blur"); - - // Set URL to current input - if (inputVal.length >= 0 && inputVal.length <= 51200) { - const inputStr = toBase64(inputVal, "A-Za-z0-9+/"); - this.setUrl({ - includeInput: true, - input: inputStr - }); - } - - if (!silent) window.dispatchEvent(this.manager.statechange); + this.clearFile(inputNum); } + // TODO Per-tab encodings? + let inputVal; + if (this.inputChrEnc > 0) { + inputVal = cptable.utils.decode(this.inputChrEnc, new Uint8Array(inputData.buffer)); + } else { + inputVal = Utils.arrayBufferToStr(inputData.buffer); + } + + this.setInput(inputVal); + + // Set URL to current input + if (inputVal.length >= 0 && inputVal.length <= 51200) { + const inputStr = toBase64(inputVal, "A-Za-z0-9+/"); + this.setUrl({ + includeInput: true, + input: inputStr + }); + } + + if (!silent) window.dispatchEvent(this.manager.statechange); + }.bind(this)); } @@ -520,33 +511,38 @@ class InputWaiter { * @param {string} file.type * @param {string} status * @param {number} progress - * @param {boolean} [silent=true] - If false, fires the manager statechange event */ - setFile(inputNum, inputData, silent=true) { + setFile(inputNum, inputData) { const activeTab = this.manager.tabs.getActiveInputTab(); if (inputNum !== activeTab) return; - const fileOverlay = document.getElementById("input-file"), - fileName = document.getElementById("input-file-name"), - fileSize = document.getElementById("input-file-size"), - fileType = document.getElementById("input-file-type"), - fileLoaded = document.getElementById("input-file-loaded"); + // Create file details panel + this.inputEditorView.dispatch({ + effects: this.inputEditorConf.fileDetailsPanel.reconfigure( + fileDetailsPanel({ + fileDetails: inputData.file, + progress: inputData.progress, + status: inputData.status, + buffer: inputData.buffer, + renderPreview: this.app.options.imagePreview + }) + ) + }); + } - fileOverlay.style.display = "block"; - fileName.textContent = inputData.file.name; - fileSize.textContent = inputData.file.size + " bytes"; - fileType.textContent = inputData.file.type; - if (inputData.status === "error") { - fileLoaded.textContent = "Error"; - fileLoaded.style.color = "#FF0000"; - } else { - fileLoaded.style.color = ""; - fileLoaded.textContent = inputData.progress + "%"; - } + /** + * Clears the file details panel + * + * @param {number} inputNum + */ + clearFile(inputNum) { + const activeTab = this.manager.tabs.getActiveInputTab(); + if (inputNum !== activeTab) return; - this.displayFilePreview(inputNum, inputData); - - if (!silent) window.dispatchEvent(this.manager.statechange); + // Clear file details panel + this.inputEditorView.dispatch({ + effects: this.inputEditorConf.fileDetailsPanel.reconfigure([]) + }); } /** @@ -571,60 +567,6 @@ class InputWaiter { this.updateFileProgress(inputNum, 100); } - /** - * Render the input thumbnail - */ - async renderFileThumb() { - const activeTab = this.manager.tabs.getActiveInputTab(), - input = await this.getInputValue(activeTab), - fileThumb = document.getElementById("input-file-thumbnail"); - - if (typeof input === "string" || - !this.app.options.imagePreview) { - this.resetFileThumb(); - return; - } - - const inputArr = new Uint8Array(input), - type = isImage(inputArr); - - if (type && type !== "image/tiff" && inputArr.byteLength <= 512000) { - // Most browsers don't support displaying TIFFs, so ignore them - // Don't render images over 512000 bytes - const blob = new Blob([inputArr], {type: type}), - url = URL.createObjectURL(blob); - fileThumb.src = url; - } else { - this.resetFileThumb(); - } - - } - - /** - * Reset the input thumbnail to the default icon - */ - resetFileThumb() { - const fileThumb = document.getElementById("input-file-thumbnail"); - fileThumb.src = require("../static/images/file-128x128.png").default; - } - - /** - * Shows a chunk of the file in the input behind the file overlay - * - * @param {number} inputNum - The inputNum of the file being displayed - * @param {Object} inputData - Object containing the input data - * @param {string} inputData.stringSample - The first 4096 bytes of input as a string - */ - displayFilePreview(inputNum, inputData) { - const activeTab = this.manager.tabs.getActiveInputTab(), - input = inputData.buffer; - if (inputNum !== activeTab) return; - this.inputTextEl.classList.add("blur"); - this.setInput(input.stringSample); - - this.renderFileThumb(); - } - /** * Updates the displayed load progress for a file * @@ -632,17 +574,19 @@ class InputWaiter { * @param {number | string} progress - Either a number or "error" */ updateFileProgress(inputNum, progress) { - const activeTab = this.manager.tabs.getActiveInputTab(); - if (inputNum !== activeTab) return; + // const activeTab = this.manager.tabs.getActiveInputTab(); + // if (inputNum !== activeTab) return; - const fileLoaded = document.getElementById("input-file-loaded"); - if (progress === "error") { - fileLoaded.textContent = "Error"; - fileLoaded.style.color = "#FF0000"; - } else { - fileLoaded.textContent = progress + "%"; - fileLoaded.style.color = ""; - } + // TODO + + // const fileLoaded = document.getElementById("input-file-loaded"); + // if (progress === "error") { + // fileLoaded.textContent = "Error"; + // fileLoaded.style.color = "#FF0000"; + // } else { + // fileLoaded.textContent = progress + "%"; + // fileLoaded.style.color = ""; + // } } /** @@ -778,10 +722,6 @@ class InputWaiter { */ inputChange(e) { debounce(function(e) { - // Ignore this function if the input is a file - const fileOverlay = document.getElementById("input-file"); - if (fileOverlay.style.display === "block") return; - const value = this.getInput(); const activeTab = this.manager.tabs.getActiveInputTab(); @@ -806,7 +746,7 @@ class InputWaiter { e.stopPropagation(); e.preventDefault(); - e.target.closest("#input-text,#input-file").classList.add("dropping-file"); + e.target.closest("#input-text").classList.add("dropping-file"); } /** @@ -821,7 +761,7 @@ class InputWaiter { // Dragleave often fires when moving between lines in the editor. // If the target element is within the input-text element, we are still on target. if (!this.inputTextEl.contains(e.target)) - e.target.closest("#input-text,#input-file").classList.remove("dropping-file"); + e.target.closest("#input-text").classList.remove("dropping-file"); } /** @@ -837,7 +777,7 @@ class InputWaiter { e.stopPropagation(); e.preventDefault(); - e.target.closest("#input-text,#input-file").classList.remove("dropping-file"); + e.target.closest("#input-text").classList.remove("dropping-file"); // Dropped text is handled by the editor itself if (e.dataTransfer.getData("Text")) return; @@ -1063,23 +1003,6 @@ class InputWaiter { window.dispatchEvent(this.manager.statechange); } - /** - * Handler for clear IO click event. - * Resets the input for the current tab - */ - clearIoClick() { - const inputNum = this.manager.tabs.getActiveInputTab(); - if (inputNum === -1) return; - - this.updateInputValue(inputNum, "", true); - - this.set(inputNum, { - buffer: new ArrayBuffer() - }); - - this.manager.tabs.updateInputTabHeader(inputNum, ""); - } - /** * Sets the console log level in the worker. * From 406da9fa2c8bc5b40e16b9dbb7251966f03a413c Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 2 Sep 2022 20:15:07 +0100 Subject: [PATCH 411/754] Efficiency improvements to reduce unnecessary casting --- src/core/Utils.mjs | 9 +++++- src/web/waiters/InputWaiter.mjs | 1 - src/web/waiters/OutputWaiter.mjs | 47 ++++++++++++++++---------------- 3 files changed, 31 insertions(+), 26 deletions(-) diff --git a/src/core/Utils.mjs b/src/core/Utils.mjs index 604b7b8c..fec3b9be 100755 --- a/src/core/Utils.mjs +++ b/src/core/Utils.mjs @@ -407,6 +407,7 @@ class Utils { */ static strToArrayBuffer(str) { log.debug("Converting string to array buffer"); + if (!str) return new ArrayBuffer; const arr = new Uint8Array(str.length); let i = str.length, b; while (i--) { @@ -434,6 +435,7 @@ class Utils { */ static strToUtf8ArrayBuffer(str) { log.debug("Converting string to UTF8 array buffer"); + if (!str) return new ArrayBuffer; const utf8Str = utf8.encode(str); if (str.length !== utf8Str.length) { @@ -464,6 +466,7 @@ class Utils { */ static strToByteArray(str) { log.debug("Converting string to byte array"); + if (!str) return []; const byteArray = new Array(str.length); let i = str.length, b; while (i--) { @@ -491,6 +494,7 @@ class Utils { */ static strToUtf8ByteArray(str) { log.debug("Converting string to UTF8 byte array"); + if (!str) return []; const utf8Str = utf8.encode(str); if (str.length !== utf8Str.length) { @@ -520,6 +524,7 @@ class Utils { */ static strToCharcode(str) { log.debug("Converting string to charcode"); + if (!str) return []; const charcode = []; for (let i = 0; i < str.length; i++) { @@ -555,6 +560,7 @@ class Utils { */ static byteArrayToUtf8(byteArray) { log.debug("Converting byte array to UTF8"); + if (!byteArray || !byteArray.length) return ""; const str = Utils.byteArrayToChars(byteArray); try { const utf8Str = utf8.decode(str); @@ -588,7 +594,7 @@ class Utils { */ static byteArrayToChars(byteArray) { log.debug("Converting byte array to chars"); - if (!byteArray) return ""; + if (!byteArray || !byteArray.length) return ""; let str = ""; // String concatenation appears to be faster than an array join for (let i = 0; i < byteArray.length;) { @@ -611,6 +617,7 @@ class Utils { */ static arrayBufferToStr(arrayBuffer, utf8=true) { log.debug("Converting array buffer to str"); + if (!arrayBuffer || !arrayBuffer.byteLength) return ""; const arr = new Uint8Array(arrayBuffer); return utf8 ? Utils.byteArrayToUtf8(arr) : Utils.byteArrayToChars(arr); } diff --git a/src/web/waiters/InputWaiter.mjs b/src/web/waiters/InputWaiter.mjs index 000940a4..86ad9873 100644 --- a/src/web/waiters/InputWaiter.mjs +++ b/src/web/waiters/InputWaiter.mjs @@ -997,7 +997,6 @@ class InputWaiter { this.setupInputWorker(); this.manager.worker.setupChefWorker(); this.addInput(true); - this.bakeAll(); // Fire the statechange event as the input has been modified window.dispatchEvent(this.manager.statechange); diff --git a/src/web/waiters/OutputWaiter.mjs b/src/web/waiters/OutputWaiter.mjs index f0b03d72..a247375e 100755 --- a/src/web/waiters/OutputWaiter.mjs +++ b/src/web/waiters/OutputWaiter.mjs @@ -49,6 +49,8 @@ class OutputWaiter { html: "", changed: false }; + // Hold a copy of the currently displayed output so that we don't have to update it unnecessarily + this.currentOutputCache = null; this.outputChrEnc = 0; this.initEditor(); @@ -170,9 +172,26 @@ class OutputWaiter { /** * Sets the value of the current output - * @param {string} data + * @param {string|ArrayBuffer} data */ setOutput(data) { + // Don't do anything if the output hasn't changed + if (data === this.currentOutputCache) return; + this.currentOutputCache = data; + + // If data is an ArrayBuffer, convert to a string in the correct character encoding + if (data instanceof ArrayBuffer) { + if (this.outputChrEnc === 0) { + data = Utils.arrayBufferToStr(data); + } else { + try { + data = cptable.utils.decode(this.outputChrEnc, new Uint8Array(data)); + } catch (err) { + data = err; + } + } + } + // Turn drawSelection back on this.outputEditorView.dispatch({ effects: this.outputEditorConf.drawSelection.reconfigure( @@ -508,28 +527,7 @@ class OutputWaiter { this.setHTMLOutput(output.data.result); break; - case "ArrayBuffer": { - this.outputTextEl.style.display = "block"; - outputFile.style.display = "none"; - - this.clearHTMLOutput(); - - let outputVal = ""; - if (this.outputChrEnc === 0) { - outputVal = Utils.arrayBufferToStr(output.data.result); - } else { - try { - outputVal = cptable.utils.decode(this.outputChrEnc, new Uint8Array(output.data.result)); - } catch (err) { - outputVal = err; - } - } - - this.setOutput(outputVal); - - // this.setFile(await this.getDishBuffer(output.data.dish), activeTab); - break; - } + case "ArrayBuffer": case "string": default: this.outputTextEl.style.display = "block"; @@ -1136,7 +1134,8 @@ class OutputWaiter { * @param {number} inputNum */ async displayTabInfo(inputNum) { - if (!this.outputExists(inputNum)) return; + // Don't display anything if there are no, or only one, tabs + if (!this.outputExists(inputNum) || Object.keys(this.outputs).length <= 1) return; const dish = this.getOutputDish(inputNum); let tabStr = ""; From 65d883496bc3fc8c214e27542e3378ff554e1fd5 Mon Sep 17 00:00:00 2001 From: IsSafrullah Date: Tue, 6 Sep 2022 03:52:42 +0700 Subject: [PATCH 412/754] fix select when change theme --- src/web/stylesheets/utils/_overrides.css | 27 ++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/src/web/stylesheets/utils/_overrides.css b/src/web/stylesheets/utils/_overrides.css index c06d3b8c..e1c36c12 100755 --- a/src/web/stylesheets/utils/_overrides.css +++ b/src/web/stylesheets/utils/_overrides.css @@ -82,7 +82,17 @@ a:focus { border-color: var(--btn-success-hover-border-colour); } -select.form-control:not([size]):not([multiple]), select.custom-file-control:not([size]):not([multiple]) { +select.form-control, +select.form-control:focus { + background-color: var(--primary-background-colour) !important; +} + +select.form-control:focus { + transition: none !important; +} + +select.form-control:not([size]):not([multiple]), +select.custom-file-control:not([size]):not([multiple]) { height: unset !important; } @@ -145,7 +155,8 @@ optgroup { color: var(--primary-font-colour); } -.table-bordered th, .table-bordered td { +.table-bordered th, +.table-bordered td { border: 1px solid var(--table-border-colour); } @@ -172,7 +183,9 @@ optgroup { color: var(--subtext-font-colour); } -.nav-tabs>li>a.nav-link.active, .nav-tabs>li>a.nav-link.active:focus, .nav-tabs>li>a.nav-link.active:hover { +.nav-tabs>li>a.nav-link.active, +.nav-tabs>li>a.nav-link.active:focus, +.nav-tabs>li>a.nav-link.active:hover { background-color: var(--secondary-background-colour); border-color: var(--secondary-border-colour); border-bottom-color: transparent; @@ -183,7 +196,8 @@ optgroup { border-color: var(--primary-border-colour); } -.nav a.nav-link:focus, .nav a.nav-link:hover { +.nav a.nav-link:focus, +.nav a.nav-link:hover { background-color: var(--secondary-border-colour); } @@ -199,7 +213,8 @@ optgroup { color: var(--primary-font-colour); } -.dropdown-menu a:focus, .dropdown-menu a:hover { +.dropdown-menu a:focus, +.dropdown-menu a:hover { background-color: var(--secondary-background-colour); color: var(--primary-font-colour); } @@ -231,4 +246,4 @@ optgroup { .colorpicker-color, .colorpicker-color div { height: 100px; -} +} \ No newline at end of file From 3893c22275142774cd32d7f946a019ea130e35e0 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 9 Sep 2022 16:35:21 +0100 Subject: [PATCH 413/754] Changing the output encoding no longer triggers a full bake --- src/web/utils/statusBar.mjs | 12 +++++++++--- src/web/waiters/OutputWaiter.mjs | 7 +++++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/web/utils/statusBar.mjs b/src/web/utils/statusBar.mjs index f9be5006..efabea81 100644 --- a/src/web/utils/statusBar.mjs +++ b/src/web/utils/statusBar.mjs @@ -81,6 +81,9 @@ class StatusBarPanel { * @param {Event} e */ eolSelectClick(e) { + // preventDefault is required to stop the URL being modified and popState being triggered + e.preventDefault(); + const eolLookup = { "LF": "\u000a", "VT": "\u000b", @@ -106,6 +109,9 @@ class StatusBarPanel { * @param {Event} e */ chrEncSelectClick(e) { + // preventDefault is required to stop the URL being modified and popState being triggered + e.preventDefault(); // TODO - this breaks the menus when you click the button itself + const chrEncVal = parseInt(e.target.getAttribute("data-val"), 10); if (isNaN(chrEncVal)) return; @@ -366,9 +372,9 @@ function hideOnClickOutside(element, instantiatingEvent) { } }; - if (!Object.keys(elementsWithListeners).includes(element)) { - document.addEventListener("click", outsideClickListener); + if (!Object.prototype.hasOwnProperty.call(elementsWithListeners, element)) { elementsWithListeners[element] = outsideClickListener; + document.addEventListener("click", elementsWithListeners[element], false); } } @@ -378,7 +384,7 @@ function hideOnClickOutside(element, instantiatingEvent) { */ function hideElement(element) { element.classList.remove("show"); - document.removeEventListener("click", elementsWithListeners[element]); + document.removeEventListener("click", elementsWithListeners[element], false); delete elementsWithListeners[element]; } diff --git a/src/web/waiters/OutputWaiter.mjs b/src/web/waiters/OutputWaiter.mjs index a247375e..f1965c77 100755 --- a/src/web/waiters/OutputWaiter.mjs +++ b/src/web/waiters/OutputWaiter.mjs @@ -146,6 +146,8 @@ class OutputWaiter { */ chrEncChange(chrEncVal) { this.outputChrEnc = chrEncVal; + // Reset the output, forcing it to re-decode the data with the new character encoding + this.setOutput(this.currentOutputCache, true); } /** @@ -173,10 +175,11 @@ class OutputWaiter { /** * Sets the value of the current output * @param {string|ArrayBuffer} data + * @param {boolean} [force=false] */ - setOutput(data) { + setOutput(data, force=false) { // Don't do anything if the output hasn't changed - if (data === this.currentOutputCache) return; + if (!force && data === this.currentOutputCache) return; this.currentOutputCache = data; // If data is an ArrayBuffer, convert to a string in the correct character encoding From 86b43b4ffae14d9b85935fa9dc7e6ee0d30a1c2f Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 9 Sep 2022 16:39:10 +0100 Subject: [PATCH 414/754] Updated README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 021e3515..48811566 100755 --- a/README.md +++ b/README.md @@ -77,7 +77,7 @@ You can use as many operations as you like in simple or complex ways. Some examp By manipulating CyberChef's URL hash, you can change the initial settings with which the page opens. The format is `https://gchq.github.io/CyberChef/#recipe=Operation()&input=...` -Supported arguments are `recipe`, `input` (encoded in Base64), and `theme`. +Supported arguments are `recipe`, `input` (encoded in Base64), and `theme`. ## Browser support @@ -90,7 +90,7 @@ CyberChef is built to support ## Node.js support -CyberChef is built to fully support Node.js `v10` and partially supports `v12`. Named imports using a deep import specifier do not work in `v12`. For more information, see the Node API page in the project [wiki pages](https://github.com/gchq/CyberChef/wiki) +CyberChef is built to fully support Node.js `v16`. For more information, see the Node API page in the project [wiki pages](https://github.com/gchq/CyberChef/wiki) ## Contributing From cef7a7b27d6e8fca45f314eef15516ea183a9e2c Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 9 Sep 2022 16:44:41 +0100 Subject: [PATCH 415/754] Lint --- src/web/stylesheets/utils/_overrides.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/web/stylesheets/utils/_overrides.css b/src/web/stylesheets/utils/_overrides.css index e1c36c12..7deabe7d 100755 --- a/src/web/stylesheets/utils/_overrides.css +++ b/src/web/stylesheets/utils/_overrides.css @@ -246,4 +246,4 @@ optgroup { .colorpicker-color, .colorpicker-color div { height: 100px; -} \ No newline at end of file +} From d90d845f27273c28a4f590401a3c0ed15437d827 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 9 Sep 2022 16:51:38 +0100 Subject: [PATCH 416/754] 9.46.1 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index e1712692..3cdc4234 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cyberchef", - "version": "9.46.0", + "version": "9.46.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cyberchef", - "version": "9.46.0", + "version": "9.46.1", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index 48d6f693..b45d9b25 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "9.46.0", + "version": "9.46.1", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", From 1dd1b839b8fc6b446d589afa2bbdc3b6bf1b2af0 Mon Sep 17 00:00:00 2001 From: n1474335 Date: Fri, 9 Sep 2022 20:39:28 +0100 Subject: [PATCH 417/754] Switched jsonpath library to jsonpath-plus. Fixes #1318 --- package-lock.json | 135 ++---------------------- package.json | 2 +- src/core/operations/JPathExpression.mjs | 33 +++--- tests/operations/tests/Code.mjs | 35 ++++-- 4 files changed, 57 insertions(+), 148 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3cdc4234..c9d63374 100644 --- a/package-lock.json +++ b/package-lock.json @@ -46,7 +46,7 @@ "js-sha3": "^0.8.0", "jsesc": "^3.0.2", "json5": "^2.2.1", - "jsonpath": "^1.1.1", + "jsonpath-plus": "^7.2.0", "jsonwebtoken": "^8.5.1", "jsqr": "^1.4.0", "jsrsasign": "^10.5.23", @@ -9498,26 +9498,12 @@ "node": ">=6" } }, - "node_modules/jsonpath": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", - "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", - "dependencies": { - "esprima": "1.2.2", - "static-eval": "2.0.2", - "underscore": "1.12.1" - } - }, - "node_modules/jsonpath/node_modules/esprima": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", - "integrity": "sha1-dqD9Zvz+FU/SkmZ9wmQBl1CxZXs=", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, + "node_modules/jsonpath-plus": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.2.0.tgz", + "integrity": "sha512-zBfiUPM5nD0YZSBT/o/fbCUlCcepMIdP0CJZxM1+KgA4f2T206f6VAg9e7mX35+KlMaIc5qXW34f3BnwJ3w+RA==", "engines": { - "node": ">=0.4.0" + "node": ">=12.0.0" } }, "node_modules/jsonwebtoken": { @@ -14055,52 +14041,6 @@ "node": ">=8" } }, - "node_modules/static-eval": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", - "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", - "dependencies": { - "escodegen": "^1.8.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==", - "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/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/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==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", @@ -14767,11 +14707,6 @@ "node": ">=0.10.0" } }, - "node_modules/underscore": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" - }, "node_modules/underscore.string": { "version": "3.3.6", "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.6.tgz", @@ -23025,22 +22960,10 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" }, - "jsonpath": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", - "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", - "requires": { - "esprima": "1.2.2", - "static-eval": "2.0.2", - "underscore": "1.12.1" - }, - "dependencies": { - "esprima": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", - "integrity": "sha1-dqD9Zvz+FU/SkmZ9wmQBl1CxZXs=" - } - } + "jsonpath-plus": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.2.0.tgz", + "integrity": "sha512-zBfiUPM5nD0YZSBT/o/fbCUlCcepMIdP0CJZxM1+KgA4f2T206f6VAg9e7mX35+KlMaIc5qXW34f3BnwJ3w+RA==" }, "jsonwebtoken": { "version": "8.5.1", @@ -26583,39 +26506,6 @@ } } }, - "static-eval": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", - "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", - "requires": { - "escodegen": "^1.8.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==", - "requires": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true - } - } - }, "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", @@ -27126,11 +27016,6 @@ "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", "dev": true }, - "underscore": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" - }, "underscore.string": { "version": "3.3.6", "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.6.tgz", diff --git a/package.json b/package.json index b45d9b25..c1b60b18 100644 --- a/package.json +++ b/package.json @@ -123,7 +123,7 @@ "js-sha3": "^0.8.0", "jsesc": "^3.0.2", "json5": "^2.2.1", - "jsonpath": "^1.1.1", + "jsonpath-plus": "^7.2.0", "jsonwebtoken": "^8.5.1", "jsqr": "^1.4.0", "jsrsasign": "^10.5.23", diff --git a/src/core/operations/JPathExpression.mjs b/src/core/operations/JPathExpression.mjs index 328fc83f..73a27433 100644 --- a/src/core/operations/JPathExpression.mjs +++ b/src/core/operations/JPathExpression.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import jpath from "jsonpath"; +import {JSONPath} from "jsonpath-plus"; import Operation from "../Operation.mjs"; import OperationError from "../errors/OperationError.mjs"; @@ -27,14 +27,20 @@ class JPathExpression extends Operation { this.outputType = "string"; this.args = [ { - "name": "Query", - "type": "string", - "value": "" + name: "Query", + type: "string", + value: "" }, { - "name": "Result delimiter", - "type": "binaryShortString", - "value": "\\n" + name: "Result delimiter", + type: "binaryShortString", + value: "\\n" + }, + { + name: "Prevent eval", + type: "boolean", + value: true, + description: "Evaluated expressions are disabled by default for security reasons" } ]; } @@ -45,18 +51,21 @@ class JPathExpression extends Operation { * @returns {string} */ run(input, args) { - const [query, delimiter] = args; - let results, - obj; + const [query, delimiter, preventEval] = args; + let results, jsonObj; try { - obj = JSON.parse(input); + jsonObj = JSON.parse(input); } catch (err) { throw new OperationError(`Invalid input JSON: ${err.message}`); } try { - results = jpath.query(obj, query); + results = JSONPath({ + path: query, + json: jsonObj, + preventEval: preventEval + }); } catch (err) { throw new OperationError(`Invalid JPath expression: ${err.message}`); } diff --git a/tests/operations/tests/Code.mjs b/tests/operations/tests/Code.mjs index 94179553..6ff1d97c 100644 --- a/tests/operations/tests/Code.mjs +++ b/tests/operations/tests/Code.mjs @@ -185,11 +185,11 @@ TestRegister.addTests([ { name: "JPath Expression: Empty expression", input: JSON.stringify(JSON_TEST_DATA), - expectedOutput: "Invalid JPath expression: we need a path", + expectedOutput: "", recipeConfig: [ { "op": "JPath expression", - "args": ["", "\n"] + "args": ["", "\n", true] } ], }, @@ -205,7 +205,7 @@ TestRegister.addTests([ recipeConfig: [ { "op": "JPath expression", - "args": ["$.store.book[*].author", "\n"] + "args": ["$.store.book[*].author", "\n", true] } ], }, @@ -223,7 +223,7 @@ TestRegister.addTests([ recipeConfig: [ { "op": "JPath expression", - "args": ["$..title", "\n"] + "args": ["$..title", "\n", true] } ], }, @@ -238,7 +238,7 @@ TestRegister.addTests([ recipeConfig: [ { "op": "JPath expression", - "args": ["$.store.*", "\n"] + "args": ["$.store.*", "\n", true] } ], }, @@ -249,7 +249,7 @@ TestRegister.addTests([ recipeConfig: [ { "op": "JPath expression", - "args": ["$..book[-1:]", "\n"] + "args": ["$..book[-1:]", "\n", true] } ], }, @@ -263,7 +263,7 @@ TestRegister.addTests([ recipeConfig: [ { "op": "JPath expression", - "args": ["$..book[:2]", "\n"] + "args": ["$..book[:2]", "\n", true] } ], }, @@ -277,7 +277,7 @@ TestRegister.addTests([ recipeConfig: [ { "op": "JPath expression", - "args": ["$..book[?(@.isbn)]", "\n"] + "args": ["$..book[?(@.isbn)]", "\n", false] } ], }, @@ -292,7 +292,7 @@ TestRegister.addTests([ recipeConfig: [ { "op": "JPath expression", - "args": ["$..book[?(@.price<30 && @.category==\"fiction\")]", "\n"] + "args": ["$..book[?(@.price<30 && @.category==\"fiction\")]", "\n", false] } ], }, @@ -306,10 +306,25 @@ TestRegister.addTests([ recipeConfig: [ { "op": "JPath expression", - "args": ["$..book[?(@.price<10)]", "\n"] + "args": ["$..book[?(@.price<10)]", "\n", false] } ], }, + { + name: "JPath Expression: Script-based expression", + input: "[{}]", + recipeConfig: [ + { + "op": "JPath expression", + "args": [ + "$..[?(({__proto__:[].constructor}).constructor(\"self.postMessage({action:'bakeComplete',data:{bakeId:1,dish:{type:1,value:''},duration:1,error:false,id:undefined,inputNum:2,progress:1,result:'