diff --git a/logic-exercises/d8-estrutura-de-dados/__MACOSX/._template-backend b/logic-exercises/d8-estrutura-de-dados/__MACOSX/._template-backend new file mode 100644 index 0000000..fa27571 Binary files /dev/null and b/logic-exercises/d8-estrutura-de-dados/__MACOSX/._template-backend differ diff --git a/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-backend/._.DS_Store b/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-backend/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-backend/._.DS_Store differ diff --git a/semana17/Aula49-filtros-ordenacao-paginacao/Exercicio-filtros-ordenacao-paginacao/tsconfig.json b/semana17/Aula49-filtros-ordenacao-paginacao/Exercicio-filtros-ordenacao-paginacao/tsconfig.json index c5f074d..7410f19 100644 --- a/semana17/Aula49-filtros-ordenacao-paginacao/Exercicio-filtros-ordenacao-paginacao/tsconfig.json +++ b/semana17/Aula49-filtros-ordenacao-paginacao/Exercicio-filtros-ordenacao-paginacao/tsconfig.json @@ -4,7 +4,7 @@ "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, "outDir": "./build" /* Redirect output structure to the directory. */, "rootDir": "./src" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, - "strict": true /* Enable all strict type-checking options. */, + // "strict": true /* Enable all strict type-checking options. */, "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */, "resolveJsonModule": true diff --git a/semana23/desafio-pokemon-go-redfox/.gitignore b/semana23/desafio-pokemon-go-redfox/.gitignore new file mode 100644 index 0000000..600a295 --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/.gitignore @@ -0,0 +1,5 @@ +node_modules +build +.env +.vscode +pokemonGo.xlsx \ No newline at end of file diff --git a/semana23/desafio-pokemon-go-redfox/README.md b/semana23/desafio-pokemon-go-redfox/README.md new file mode 100644 index 0000000..0c31df6 --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/README.md @@ -0,0 +1,23 @@ +# Case Back end + +url: https://pokemon-case.herokuapp.com/ +documentation: https://documenter.getpostman.com/view/14555245/UUxwDpfS + +**Sobre** +Api que busca dados dos pokemon. + + +**Recursos utilizados** +- Nodejs; +- MySQL; +- express; +- typescript; +- uuid; +- knex; + + +**O que contém:** +- Endpoint Get All Pokemon: que busca todos os pokemon, mostrando um limite de 15 por página; +- Endpoint Get Pokemon By Id: pesquisa por id; +- Endpoint Get Pokemon By Filter By Order By Page: pesquisa palavras no name ou type. Ordena por pelo statTotal, atk, def, sta, cp40 ou cp39, de forma crescente ou decrescente. + diff --git a/semana23/desafio-pokemon-go-redfox/app.ts b/semana23/desafio-pokemon-go-redfox/app.ts new file mode 100644 index 0000000..17f0ead --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/app.ts @@ -0,0 +1,22 @@ +import express, { Request, Response } from "express"; +import dotenv from "dotenv"; +import { AddressInfo } from "net"; + + + +dotenv.config(); + +export const app = express(); + +app.use(express.json()); + +const server = app.listen(process.env.PORT || 3003, () => { + if (server) { + const address = server.address() as AddressInfo; + console.log(`Server is running in http://localhost:${address.port}`); + } else { + console.error(`Failure upon starting server.`); + } +}); + +export default app; diff --git a/semana23/desafio-pokemon-go-redfox/jest.config.js b/semana23/desafio-pokemon-go-redfox/jest.config.js new file mode 100644 index 0000000..91188d1 --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/jest.config.js @@ -0,0 +1,24 @@ +module.exports = { + roots: ["/tests"], + transform: { + "^.+\\.tsx?$": "ts-jest", + }, + testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$", + moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"], +}; + +// // jest.config.js +// // Sync object +// /** @type {import('@jest/types').Config.InitialOptions} */ +// const config = { +// verbose: true, +// }; + +// module.exports = config; + +// // Or async function +// module.exports = async () => { +// return { +// verbose: true, +// }; +// }; \ No newline at end of file diff --git a/semana23/desafio-pokemon-go-redfox/package-lock.json b/semana23/desafio-pokemon-go-redfox/package-lock.json new file mode 100644 index 0000000..e19700b --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/package-lock.json @@ -0,0 +1,8906 @@ +{ + "name": "pokemongo", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "pokemongo", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@types/bcryptjs": "^2.4.2", + "@types/express": "^4.17.13", + "@types/jest": "^27.0.1", + "@types/jsonwebtoken": "^8.5.5", + "@types/knex": "^0.16.1", + "@types/uuid": "^8.3.1", + "bcryptjs": "^2.4.3", + "cors": "^2.8.5", + "dotenv": "^10.0.0", + "express": "^4.17.1", + "jest": "^27.2.0", + "jsonwebtoken": "^8.5.1", + "knex": "^0.95.11", + "migration": "^0.3.0", + "moment": "^2.29.1", + "mysql": "^2.18.1", + "ts-jest": "^27.0.5", + "ts-node": "^10.2.1", + "typescript": "^4.4.2", + "uuid": "^8.3.2", + "xlsx": "^0.17.1", + "xlsx-to-json": "^0.3.0" + } + }, + "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==", + "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==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.15.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz", + "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helpers": "^7.15.4", + "@babel/parser": "^7.15.5", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4", + "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/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", + "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", + "dependencies": { + "@babel/types": "^7.15.4", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "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=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", + "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", + "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-function-name": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "dependencies": { + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", + "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.4.tgz", + "integrity": "sha512-9fHHSGE9zTC++KuXLZcB5FKgvlV83Ox+NLUmQTawovwlJ85+QMhk1CnVk406CQVj97LaWod6KVjl2Sfgw9Aktw==", + "dependencies": { + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-simple-access": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-validator-identifier": "^7.14.9", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "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==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", + "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", + "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "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==", + "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==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", + "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", + "dependencies": { + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "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==", + "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==", + "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/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@babel/highlight/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/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.15.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.5.tgz", + "integrity": "sha512-2hQstc6I7T6tQsWzlboMh3SgMRPaS4H6H7cPQsJkdzTzEGqQrpLDsE2BGASU5sBPoEQyHzeqU6C8uKbFeEk6sg==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.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==", + "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-typescript": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz", + "integrity": "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.4.tgz", + "integrity": "sha512-0f1HJFuGmmbrKTCZtbm3cU+b/AqdEYk5toj5iQur58xkVMlS0JWaKxTBSmCXd47uiN7vbcozAupm6Mvs80GNhw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "node_modules/@cspotcode/source-map-consumer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", + "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.6.1.tgz", + "integrity": "sha512-DX3Z+T5dt1ockmPdobJS/FAsQPW4V4SrWEhD2iYQT2Cb2tQsiMnYxrcUH9By/Z3B+v0S5LMBkQtV/XOBbpLEOg==", + "dependencies": { + "@cspotcode/source-map-consumer": "0.8.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.2.0.tgz", + "integrity": "sha512-35z+RqsK2CCgNxn+lWyK8X4KkaDtfL4BggT7oeZ0JffIiAiEYFYPo5B67V50ZubqDS1ehBrdCR2jduFnIrZOYw==", + "dependencies": { + "@jest/types": "^27.1.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.2.0", + "jest-util": "^27.2.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.2.0.tgz", + "integrity": "sha512-E/2NHhq+VMo18DpKkoty8Sjey8Kps5Cqa88A8NP757s6JjYqPdioMuyUBhDiIOGCdQByEp0ou3jskkTszMS0nw==", + "dependencies": { + "@jest/console": "^27.2.0", + "@jest/reporters": "^27.2.0", + "@jest/test-result": "^27.2.0", + "@jest/transform": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^27.1.1", + "jest-config": "^27.2.0", + "jest-haste-map": "^27.2.0", + "jest-message-util": "^27.2.0", + "jest-regex-util": "^27.0.6", + "jest-resolve": "^27.2.0", + "jest-resolve-dependencies": "^27.2.0", + "jest-runner": "^27.2.0", + "jest-runtime": "^27.2.0", + "jest-snapshot": "^27.2.0", + "jest-util": "^27.2.0", + "jest-validate": "^27.2.0", + "jest-watcher": "^27.2.0", + "micromatch": "^4.0.4", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/environment": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.2.0.tgz", + "integrity": "sha512-iPWmQI0wRIYSZX3wKu4FXHK4eIqkfq6n1DCDJS+v3uby7SOXrHvX4eiTBuEdSvtDRMTIH2kjrSkjHf/F9JIYyQ==", + "dependencies": { + "@jest/fake-timers": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/node": "*", + "jest-mock": "^27.1.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.2.0.tgz", + "integrity": "sha512-gSu3YHvQOoVaTWYGgHFB7IYFtcF2HBzX4l7s47VcjvkUgL4/FBnE20x7TNLa3W6ABERtGd5gStSwsA8bcn+c4w==", + "dependencies": { + "@jest/types": "^27.1.1", + "@sinonjs/fake-timers": "^7.0.2", + "@types/node": "*", + "jest-message-util": "^27.2.0", + "jest-mock": "^27.1.1", + "jest-util": "^27.2.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.2.0.tgz", + "integrity": "sha512-raqk9Gf9WC3hlBa57rmRmJfRl9hom2b+qEE/ifheMtwn5USH5VZxzrHHOZg0Zsd/qC2WJ8UtyTwHKQAnNlDMdg==", + "dependencies": { + "@jest/environment": "^27.2.0", + "@jest/types": "^27.1.1", + "expect": "^27.2.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.2.0.tgz", + "integrity": "sha512-7wfkE3iRTLaT0F51h1mnxH3nQVwDCdbfgXiLuCcNkF1FnxXLH9utHqkSLIiwOTV1AtmiE0YagHbOvx4rnMP/GA==", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.2.0", + "@jest/test-result": "^27.2.0", + "@jest/transform": "^27.2.0", + "@jest/types": "^27.1.1", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^27.2.0", + "jest-resolve": "^27.2.0", + "jest-util": "^27.2.0", + "jest-worker": "^27.2.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/source-map": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.0.6.tgz", + "integrity": "sha512-Fek4mi5KQrqmlY07T23JRi0e7Z9bXTOOD86V/uS0EIW4PClvPDqZOyFlLpNJheS6QI0FNX1CgmPjtJ4EA/2M+g==", + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.2.0.tgz", + "integrity": "sha512-JPPqn8h0RGr4HyeY1Km+FivDIjTFzDROU46iAvzVjD42ooGwYoqYO/MQTilhfajdz6jpVnnphFrKZI5OYrBONA==", + "dependencies": { + "@jest/console": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.2.0.tgz", + "integrity": "sha512-PrqarcpzOU1KSAK7aPwfL8nnpaqTMwPe7JBPnaOYRDSe/C6AoJiL5Kbnonqf1+DregxZIRAoDg69R9/DXMGqXA==", + "dependencies": { + "@jest/test-result": "^27.2.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.2.0", + "jest-runtime": "^27.2.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.2.0.tgz", + "integrity": "sha512-Q8Q/8xXIZYllk1AF7Ou5sV3egOZsdY/Wlv09CSbcexBRcC1Qt6lVZ7jRFAZtbHsEEzvOCyFEC4PcrwKwyjXtCg==", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.1.1", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.2.0", + "jest-regex-util": "^27.0.6", + "jest-util": "^27.2.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/types": { + "version": "27.1.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.1.1.tgz", + "integrity": "sha512-yqJPDDseb0mXgKqmNqypCsb85C22K1aY5+LUxh7syIM9n/b0AsaltxNy+o6tt29VcfGDpYEve175bm3uOhcehA==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "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==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" + }, + "node_modules/@types/babel__core": { + "version": "7.1.16", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz", + "integrity": "sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz", + "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", + "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/bcryptjs": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@types/bcryptjs/-/bcryptjs-2.4.2.tgz", + "integrity": "sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ==" + }, + "node_modules/@types/body-parser": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz", + "integrity": "sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==", + "dependencies": { + "@types/connect": "*", + "@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==", + "dependencies": { + "@types/node": "*" + } + }, + "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==", + "dependencies": { + "@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.24", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz", + "integrity": "sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.0.1.tgz", + "integrity": "sha512-HTLpVXHrY69556ozYkcq47TtQJXpcWAWfkoqz+ZGz2JnmZhzlRjprCIyFnetSy8gpDWwTTGBcRVv1J1I1vBrHw==", + "dependencies": { + "jest-diff": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, + "node_modules/@types/jsonwebtoken": { + "version": "8.5.5", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.5.tgz", + "integrity": "sha512-OGqtHQ7N5/Ap/TUwO6IgHDuLiAoTmHhGpNvgkCm/F4N6pKzx/RBSfr2OXZSwC6vkfnsEdb6+7DNZVtiXiwdwFw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/knex": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@types/knex/-/knex-0.16.1.tgz", + "integrity": "sha512-54gWD1HWwdVx5iLHaJ1qxH3I6KyBsj5fFqzRpXFn7REWiEB2jwspeVCombNsocSrqPd7IRPqKrsIME7/cD+TFQ==", + "deprecated": "This is a stub types definition. knex provides its own type definitions, so you do not need this installed.", + "dependencies": { + "knex": "*" + } + }, + "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==" + }, + "node_modules/@types/node": { + "version": "16.7.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.13.tgz", + "integrity": "sha512-pLUPDn+YG3FYEt/pHI74HmnJOWzeR+tOIQzUx93pi9M7D8OE7PSLr97HboXwk5F+JS+TLtWuzCOW97AHjmOXXA==" + }, + "node_modules/@types/prettier": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.2.tgz", + "integrity": "sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog==" + }, + "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==" + }, + "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==" + }, + "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==", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + }, + "node_modules/@types/uuid": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.1.tgz", + "integrity": "sha512-Y2mHTRAbqfFkpjldbkHGY8JIzRN6XqYRliG8/24FcHm2D2PwW24fl5xMRTVGdrb7iMrwCaIEbLWerGIkXuFWVg==" + }, + "node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", + "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==" + }, + "node_modules/abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + }, + "node_modules/accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dependencies": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", + "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/adler-32": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz", + "integrity": "sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=", + "dependencies": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + }, + "bin": { + "adler32": "bin/adler32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "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==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "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/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "node_modules/babel-jest": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.2.0.tgz", + "integrity": "sha512-bS2p+KGGVVmWXBa8+i6SO/xzpiz2Q/2LnqLbQknPKefWXVZ67YIjA4iXup/jMOEZplga9PpWn+wrdb3UdDwRaA==", + "dependencies": { + "@jest/transform": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^27.2.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.2.0.tgz", + "integrity": "sha512-TOux9khNKdi64mW+0OIhcmbAn75tTlzKhxmiNXevQaPbrBYK7YKjP1jl6NHTJ6XR5UgUrJbCnWlKVnJn29dfjw==", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@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-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.2.0.tgz", + "integrity": "sha512-z7MgQ3peBwN5L5aCqBKnF6iqdlvZvFUQynEhu0J+X9nHLU72jO3iY331lcYrg+AssJ8q7xsv5/3AICzVmJ/wvg==", + "dependencies": { + "babel-plugin-jest-hoist": "^27.2.0", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "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/bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=" + }, + "node_modules/bignumber.js": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==", + "engines": { + "node": "*" + } + }, + "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==", + "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/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/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "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==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==" + }, + "node_modules/browserslist": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.0.tgz", + "integrity": "sha512-g2BJ2a0nEYvEFQC208q8mVAhfNwpZ5Mu8BwgtCdZKO3qx98HChmeg448fPdUzld8aFmfLgVh7yymqV+q1lJZ5g==", + "dependencies": { + "caniuse-lite": "^1.0.30001254", + "colorette": "^1.3.0", + "electron-to-chromium": "^1.3.830", + "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/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dependencies": { + "node-int64": "^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/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "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.30001255", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001255.tgz", + "integrity": "sha512-F+A3N9jTZL882f/fg/WWVnKSu6IOo3ueLz4zwaOPbPYHNmM/ZaDUyzyJwS1mZhX7Ex5jqTyW599Gdelh5PDYLQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/cfb": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.1.tgz", + "integrity": "sha512-wT2ScPAFGSVy7CY+aauMezZBnNrfnaLSrxHUHdea+Td/86vrk6ZquggV+ssBR88zNs0OnBkL2+lf9q0K+zVGzQ==", + "dependencies": { + "adler-32": "~1.3.0", + "crc-32": "~1.2.0", + "printj": "~1.3.0" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/cfb/node_modules/adler-32": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.0.tgz", + "integrity": "sha512-f5nltvjl+PRUh6YNfUstRaXwJxtfnKEWhAWWlmKvh+Y3J2+98a0KKVYDEhz6NdKGqswLhjNGznxfSsZGOvOd9g==", + "dependencies": { + "printj": "~1.2.2" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/cfb/node_modules/adler-32/node_modules/printj": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/printj/-/printj-1.2.3.tgz", + "integrity": "sha512-sanczS6xOJOg7IKDvi4sGOUOe7c1tsEzjwlLFH/zgwx/uyImVM9/rgBkc8AfiQa/Vg54nRd8mkm9yI7WV/O+WA==", + "bin": { + "printj": "bin/printj.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/cfb/node_modules/printj": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/printj/-/printj-1.3.0.tgz", + "integrity": "sha512-017o8YIaz8gLhaNxRB9eBv2mWXI2CtzhPJALnQTP+OPpuUfP0RMWqr/mHCzqVeu1AQxfzSfAtAq66vKB8y7Lzg==", + "bin": { + "printj": "bin/printj.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "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/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==" + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" + }, + "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/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.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/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" + }, + "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/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/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" + }, + "node_modules/colors": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "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/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "engines": [ + "node >= 6.0" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-stream/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/content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "engines": { + "node": ">= 0.6" + } + }, + "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==", + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "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=" + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/crc-32": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz", + "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==", + "dependencies": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + }, + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + }, + "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==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "node_modules/csv": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/csv/-/csv-0.3.7.tgz", + "integrity": "sha1-pPijY/AHLNFVGB5rtJvVjlSXsxw=", + "engines": { + "node": ">= 0.1.90" + } + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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/decimal.js": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==" + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=" + }, + "node_modules/deep-is": { + "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/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz", + "integrity": "sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "engines": { + "node": ">=10" + } + }, + "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=" + }, + "node_modules/electron-to-chromium": { + "version": "1.3.832", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.832.tgz", + "integrity": "sha512-x7lO8tGoW0CyV53qON4Lb5Rok9ipDelNdBIAiYUZ03dqy4u9vohMM1qV047+s/hiyJiqUWX/3PNwkX3kexX5ig==" + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "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==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "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=" + }, + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } + }, + "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/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/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/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=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "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": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/expect": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.2.0.tgz", + "integrity": "sha512-oOTbawMQv7AK1FZURbPTgGSzmhxkjFzoARSvDjOMnOpeWuYQx1tP6rXu9MIX5mrACmyCAM7fSNP8IJO2f1p0CQ==", + "dependencies": { + "@jest/types": "^27.1.1", + "ansi-styles": "^5.0.0", + "jest-get-type": "^27.0.6", + "jest-matcher-utils": "^27.2.0", + "jest-message-util": "^27.2.0", + "jest-regex-util": "^27.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/expect/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "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/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/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fflate": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.3.11.tgz", + "integrity": "sha512-Rr5QlUeGN1mbOHlaqcSYMKVpPbgLy0AWT/W0EHxA6NGI12yO1jpoui2zBBvU2G824ltM6Ut8BFgfHSBGfkmS0A==" + }, + "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==", + "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==", + "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/finalhandler/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/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "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/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/frac": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", + "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "engines": { + "node": ">= 0.6" + } + }, + "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": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "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/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==", + "engines": { + "node": ">=6.9.0" + } + }, + "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==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/getopts": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.2.5.tgz", + "integrity": "sha512-9jb7AW5p3in+IiJWhQiZmmwkpLaR/ccTWdWQCtZM66HJcHHLegowh4q4tSD7gouUyeNvFWRavfK9GXosQHDpFA==" + }, + "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/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "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==" + }, + "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-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/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "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==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-errors/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "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==", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "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==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "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==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/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/interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "engines": { + "node": ">= 0.10" + } + }, + "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==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dependencies": { + "ci-info": "^3.1.1" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "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==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "engines": { + "node": ">=6" + } + }, + "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==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.2.0.tgz", + "integrity": "sha512-oUqVXyvh5YwEWl263KWdPUAqEzBFzGHdFLQ05hUnITr1tH+9SscEI9A/GH9eBClA+Nw1ct+KNuuOV6wlnmBPcg==", + "dependencies": { + "@jest/core": "^27.2.0", + "import-local": "^3.0.2", + "jest-cli": "^27.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "27.1.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.1.1.tgz", + "integrity": "sha512-5TV9+fYlC2A6hu3qtoyGHprBwCAn0AuGA77bZdUgYvVlRMjHXo063VcWTEAyx6XAZ85DYHqp0+aHKbPlfRDRvA==", + "dependencies": { + "@jest/types": "^27.1.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.2.0.tgz", + "integrity": "sha512-WwENhaZwOARB1nmcboYPSv/PwHBUGRpA4MEgszjr9DLCl97MYw0qZprBwLb7rNzvMwfIvNGG7pefQ5rxyBlzIA==", + "dependencies": { + "@jest/environment": "^27.2.0", + "@jest/test-result": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.2.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.2.0", + "jest-matcher-utils": "^27.2.0", + "jest-message-util": "^27.2.0", + "jest-runtime": "^27.2.0", + "jest-snapshot": "^27.2.0", + "jest-util": "^27.2.0", + "pretty-format": "^27.2.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-cli": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.2.0.tgz", + "integrity": "sha512-bq1X/B/b1kT9y1zIFMEW3GFRX1HEhFybiqKdbxM+j11XMMYSbU9WezfyWIhrSOmPT+iODLATVjfsCnbQs7cfIA==", + "dependencies": { + "@jest/core": "^27.2.0", + "@jest/test-result": "^27.2.0", + "@jest/types": "^27.1.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "jest-config": "^27.2.0", + "jest-util": "^27.2.0", + "jest-validate": "^27.2.0", + "prompts": "^2.0.1", + "yargs": "^16.0.3" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.2.0.tgz", + "integrity": "sha512-Z1romHpxeNwLxQtouQ4xt07bY6HSFGKTo0xJcvOK3u6uJHveA4LB2P+ty9ArBLpTh3AqqPxsyw9l9GMnWBYS9A==", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^27.2.0", + "@jest/types": "^27.1.1", + "babel-jest": "^27.2.0", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "jest-circus": "^27.2.0", + "jest-environment-jsdom": "^27.2.0", + "jest-environment-node": "^27.2.0", + "jest-get-type": "^27.0.6", + "jest-jasmine2": "^27.2.0", + "jest-regex-util": "^27.0.6", + "jest-resolve": "^27.2.0", + "jest-runner": "^27.2.0", + "jest-util": "^27.2.0", + "jest-validate": "^27.2.0", + "micromatch": "^4.0.4", + "pretty-format": "^27.2.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.2.0.tgz", + "integrity": "sha512-QSO9WC6btFYWtRJ3Hac0sRrkspf7B01mGrrQEiCW6TobtViJ9RWL0EmOs/WnBsZDsI/Y2IoSHZA2x6offu0sYw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.0.6", + "jest-get-type": "^27.0.6", + "pretty-format": "^27.2.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.0.6.tgz", + "integrity": "sha512-Fid6dPcjwepTFraz0YxIMCi7dejjJ/KL9FBjPYhBp4Sv1Y9PdhImlKZqYU555BlN4TQKaTc+F2Av1z+anVyGkA==", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.2.0.tgz", + "integrity": "sha512-biDmmUQjg+HZOB7MfY2RHSFL3j418nMoC3TK3pGAj880fQQSxvQe1y2Wy23JJJNUlk6YXiGU0yWy86Le1HBPmA==", + "dependencies": { + "@jest/types": "^27.1.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.0.6", + "jest-util": "^27.2.0", + "pretty-format": "^27.2.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.2.0.tgz", + "integrity": "sha512-wNQJi6Rd/AkUWqTc4gWhuTIFPo7tlMK0RPZXeM6AqRHZA3D3vwvTa9ktAktyVyWYmUoXdYstOfyYMG3w4jt7eA==", + "dependencies": { + "@jest/environment": "^27.2.0", + "@jest/fake-timers": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/node": "*", + "jest-mock": "^27.1.1", + "jest-util": "^27.2.0", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.2.0.tgz", + "integrity": "sha512-WbW+vdM4u88iy6Q3ftUEQOSgMPtSgjm3qixYYK2AKEuqmFO2zmACTw1vFUB0qI/QN88X6hA6ZkVKIdIWWzz+yg==", + "dependencies": { + "@jest/environment": "^27.2.0", + "@jest/fake-timers": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/node": "*", + "jest-mock": "^27.1.1", + "jest-util": "^27.2.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.6.tgz", + "integrity": "sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.2.0.tgz", + "integrity": "sha512-laFet7QkNlWjwZtMGHCucLvF8o9PAh2cgePRck1+uadSM4E4XH9J4gnx4do+a6do8ZV5XHNEAXEkIoNg5XUH2Q==", + "dependencies": { + "@jest/types": "^27.1.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^27.0.6", + "jest-serializer": "^27.0.6", + "jest-util": "^27.2.0", + "jest-worker": "^27.2.0", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.2.0.tgz", + "integrity": "sha512-NcPzZBk6IkDW3Z2V8orGueheGJJYfT5P0zI/vTO/Jp+R9KluUdgFrgwfvZ0A34Kw6HKgiWFILZmh3oQ/eS+UxA==", + "dependencies": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^27.2.0", + "@jest/source-map": "^27.0.6", + "@jest/test-result": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.2.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.2.0", + "jest-matcher-utils": "^27.2.0", + "jest-message-util": "^27.2.0", + "jest-runtime": "^27.2.0", + "jest-snapshot": "^27.2.0", + "jest-util": "^27.2.0", + "pretty-format": "^27.2.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-leak-detector": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.2.0.tgz", + "integrity": "sha512-e91BIEmbZw5+MHkB4Hnrq7S86coTxUMCkz4n7DLmQYvl9pEKmRx9H/JFH87bBqbIU5B2Ju1soKxRWX6/eGFGpA==", + "dependencies": { + "jest-get-type": "^27.0.6", + "pretty-format": "^27.2.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.2.0.tgz", + "integrity": "sha512-F+LG3iTwJ0gPjxBX6HCyrARFXq6jjiqhwBQeskkJQgSLeF1j6ui1RTV08SR7O51XTUhtc8zqpDj8iCG4RGmdKw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.2.0", + "jest-get-type": "^27.0.6", + "pretty-format": "^27.2.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.2.0.tgz", + "integrity": "sha512-y+sfT/94CiP8rKXgwCOzO1mUazIEdEhrLjuiu+RKmCP+8O/TJTSne9dqQRbFIHBtlR2+q7cddJlWGir8UATu5w==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.1.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.2.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-mock": { + "version": "27.1.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.1.1.tgz", + "integrity": "sha512-SClsFKuYBf+6SSi8jtAYOuPw8DDMsTElUWEae3zq7vDhH01ayVSIHUSIa8UgbDOUalCFp6gNsaikN0rbxN4dbw==", + "dependencies": { + "@jest/types": "^27.1.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.6.tgz", + "integrity": "sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.2.0.tgz", + "integrity": "sha512-v09p9Ib/VtpHM6Cz+i9lEAv1Z/M5NVxsyghRHRMEUOqwPQs3zwTdwp1xS3O/k5LocjKiGS0OTaJoBSpjbM2Jlw==", + "dependencies": { + "@jest/types": "^27.1.1", + "chalk": "^4.0.0", + "escalade": "^3.1.1", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.2.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.2.0", + "jest-validate": "^27.2.0", + "resolve": "^1.20.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.2.0.tgz", + "integrity": "sha512-EY5jc/Y0oxn+oVEEldTidmmdVoZaknKPyDORA012JUdqPyqPL+lNdRyI3pGti0RCydds6coaw6xt4JQY54dKsg==", + "dependencies": { + "@jest/types": "^27.1.1", + "jest-regex-util": "^27.0.6", + "jest-snapshot": "^27.2.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.2.0.tgz", + "integrity": "sha512-Cl+BHpduIc0cIVTjwoyx0pQk4Br8gn+wkr35PmKCmzEdOUnQ2wN7QVXA8vXnMQXSlFkN/+KWnk20TAVBmhgrww==", + "dependencies": { + "@jest/console": "^27.2.0", + "@jest/environment": "^27.2.0", + "@jest/test-result": "^27.2.0", + "@jest/transform": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-docblock": "^27.0.6", + "jest-environment-jsdom": "^27.2.0", + "jest-environment-node": "^27.2.0", + "jest-haste-map": "^27.2.0", + "jest-leak-detector": "^27.2.0", + "jest-message-util": "^27.2.0", + "jest-resolve": "^27.2.0", + "jest-runtime": "^27.2.0", + "jest-util": "^27.2.0", + "jest-worker": "^27.2.0", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.2.0.tgz", + "integrity": "sha512-6gRE9AVVX49hgBbWQ9PcNDeM4upMUXzTpBs0kmbrjyotyUyIJixLPsYjpeTFwAA07PVLDei1iAm2chmWycdGdQ==", + "dependencies": { + "@jest/console": "^27.2.0", + "@jest/environment": "^27.2.0", + "@jest/fake-timers": "^27.2.0", + "@jest/globals": "^27.2.0", + "@jest/source-map": "^27.0.6", + "@jest/test-result": "^27.2.0", + "@jest/transform": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.2.0", + "jest-message-util": "^27.2.0", + "jest-mock": "^27.1.1", + "jest-regex-util": "^27.0.6", + "jest-resolve": "^27.2.0", + "jest-snapshot": "^27.2.0", + "jest-util": "^27.2.0", + "jest-validate": "^27.2.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^16.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-serializer": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.6.tgz", + "integrity": "sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA==", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.2.0.tgz", + "integrity": "sha512-MukJvy3KEqemCT2FoT3Gum37CQqso/62PKTfIzWmZVTsLsuyxQmJd2PI5KPcBYFqLlA8LgZLHM8ZlazkVt8LsQ==", + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/parser": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.2.0", + "graceful-fs": "^4.2.4", + "jest-diff": "^27.2.0", + "jest-get-type": "^27.0.6", + "jest-haste-map": "^27.2.0", + "jest-matcher-utils": "^27.2.0", + "jest-message-util": "^27.2.0", + "jest-resolve": "^27.2.0", + "jest-util": "^27.2.0", + "natural-compare": "^1.4.0", + "pretty-format": "^27.2.0", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/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/jest-util": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.2.0.tgz", + "integrity": "sha512-T5ZJCNeFpqcLBpx+Hl9r9KoxBCUqeWlJ1Htli+vryigZVJ1vuLB9j35grEBASp4R13KFkV7jM52bBGnArpJN6A==", + "dependencies": { + "@jest/types": "^27.1.1", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.2.0.tgz", + "integrity": "sha512-uIEZGkFKk3+4liA81Xu0maG5aGDyPLdp+4ed244c+Ql0k3aLWQYcMbaMLXOIFcb83LPHzYzqQ8hwNnIxTqfAGQ==", + "dependencies": { + "@jest/types": "^27.1.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.0.6", + "leven": "^3.1.0", + "pretty-format": "^27.2.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.2.0.tgz", + "integrity": "sha512-SjRWhnr+qO8aBsrcnYIyF+qRxNZk6MZH8TIDgvi+VlsyrvOyqg0d+Rm/v9KHiTtC9mGGeFi9BFqgavyWib6xLg==", + "dependencies": { + "@jest/test-result": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.2.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-worker": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.0.tgz", + "integrity": "sha512-laB0ZVIBz+voh/QQy9dmUuuDsadixeerrKqyVpgPz+CCWiOYjOBabUXHIXZhsdvkWbLqSHbgkAHWl5cg24Q6RA==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "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/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==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "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/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/jszip": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-2.4.0.tgz", + "integrity": "sha1-SHqTt2w7/6bLCFzWHrk06r4tKU8=", + "dependencies": { + "pako": "~0.2.5" + } + }, + "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/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/knex": { + "version": "0.95.11", + "resolved": "https://registry.npmjs.org/knex/-/knex-0.95.11.tgz", + "integrity": "sha512-grDetD91O8VoQVCFqeWTgkzdq5406W6rggF/lK1hHuwzmjDs/0m9KxyncGdZbklTi7aUgHvw3+Cfy4x7FvpdaQ==", + "dependencies": { + "colorette": "1.2.1", + "commander": "^7.1.0", + "debug": "4.3.2", + "escalade": "^3.1.1", + "esm": "^3.2.25", + "getopts": "2.2.5", + "interpret": "^2.2.0", + "lodash": "^4.17.21", + "pg-connection-string": "2.5.0", + "rechoir": "0.7.0", + "resolve-from": "^5.0.0", + "tarn": "^3.0.1", + "tildify": "2.0.0" + }, + "bin": { + "knex": "bin/cli.js" + }, + "engines": { + "node": ">=10" + }, + "peerDependenciesMeta": { + "mysql": { + "optional": true + }, + "mysql2": { + "optional": true + }, + "pg": { + "optional": true + }, + "sqlite3": { + "optional": true + }, + "tedious": { + "optional": true + } + } + }, + "node_modules/knex/node_modules/colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, + "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/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/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "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.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.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.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + }, + "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==", + "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==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + }, + "node_modules/makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dependencies": { + "tmpl": "1.0.x" + } + }, + "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=", + "engines": { + "node": ">= 0.6" + } + }, + "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=" + }, + "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==" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "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==", + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/migration": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/migration/-/migration-0.3.0.tgz", + "integrity": "sha1-CaI0W5iS1FFJxpMWB6W3ZeYbioY=", + "dependencies": { + "moment": "~2.0.0" + }, + "bin": { + "migrate": "bin/migrate" + }, + "engines": { + "node": ">=0.8.0", + "npm": ">=1.2.10" + } + }, + "node_modules/migration/node_modules/moment": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.0.0.tgz", + "integrity": "sha1-K7xbRMMhg3aTq278rb1G7ZRiEf4=", + "engines": { + "node": "*" + } + }, + "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==", + "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==", + "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==", + "engines": { + "node": ">=6" + } + }, + "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/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/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/mysql": { + "version": "2.18.1", + "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz", + "integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==", + "dependencies": { + "bignumber.js": "9.0.0", + "readable-stream": "2.3.7", + "safe-buffer": "5.1.2", + "sqlstring": "2.3.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "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=" + }, + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + }, + "node_modules/node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "engines": { + "node": ">=0.10.0" + } + }, + "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==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dependencies": { + "ee-first": "1.1.1" + }, + "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==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/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/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "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-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "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==" + }, + "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=" + }, + "node_modules/pg-connection-string": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", + "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" + }, + "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==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dependencies": { + "node-modules-regexp": "^1.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "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==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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-format": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.2.0.tgz", + "integrity": "sha512-KyJdmgBkMscLqo8A7K77omgLx5PWPiXJswtTtFV7XgVZv2+qPk6UivpXXO+5k6ZEbWIbLoKdx1pZ6ldINzbwTA==", + "dependencies": { + "@jest/types": "^27.1.1", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/printj": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", + "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==", + "bin": { + "printj": "bin/printj.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/prompts": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", + "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "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==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "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==" + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "engines": { + "node": ">=0.6" + } + }, + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "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/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/rechoir": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", + "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", + "dependencies": { + "resolve": "^1.9.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "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=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "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==", + "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/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/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=" + }, + "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==" + }, + "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==", + "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/setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "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==", + "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==", + "engines": { + "node": ">=8" + } + }, + "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==" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "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-support": { + "version": "0.5.20", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", + "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "node_modules/sqlstring": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", + "integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ssf": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz", + "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", + "dependencies": { + "frac": "~1.1.2" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "engines": { + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">=6" + } + }, + "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/supports-hyperlinks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", + "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "node_modules/tarn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.1.tgz", + "integrity": "sha512-6usSlV9KyHsspvwu2duKH+FMUhqJnAh6J5J/4MITl8s94iSUQTLkJggdiewKv4RyARQccnigV48Z+khiuVZDJw==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/throat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==" + }, + "node_modules/tildify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", + "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "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=", + "engines": { + "node": ">=4" + } + }, + "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==", + "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==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-jest": { + "version": "27.0.5", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.0.5.tgz", + "integrity": "sha512-lIJApzfTaSSbtlksfFNHkWOzLJuuSm4faFAfo5kvzOiRAuoN4/eKxVJ2zEAho8aecE04qX6K1pAzfH5QHL1/8w==", + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^27.0.0", + "json5": "2.x", + "lodash": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@types/jest": "^27.0.0", + "babel-jest": ">=27.0.0 <28", + "jest": "^27.0.0", + "typescript": ">=3.8 <5.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@types/jest": { + "optional": true + }, + "babel-jest": { + "optional": true + } + } + }, + "node_modules/ts-jest/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/ts-node": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.2.1.tgz", + "integrity": "sha512-hCnyOyuGmD5wHleOQX6NIjJtYVIO8bPP8F2acWkB4W06wdlkgyvJtubO/I9NkI88hCFECbsEgoLc0VNkYmcSfw==", + "dependencies": { + "@cspotcode/source-map-support": "0.6.1", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "engines": { + "node": ">=0.4.0" + } + }, + "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": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "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==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.2.tgz", + "integrity": "sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.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==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "engines": { + "node": ">= 0.8" + } + }, + "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/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "engines": { + "node": ">= 0.4.0" + } + }, + "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==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-to-istanbul": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz", + "integrity": "sha512-LkmXi8UUNxnCC+JlH7/fsfsKr5AU110l+SYGJimWNkWhxbN5EyeOtm1MJ0hhvqMMOhGwBj1Fp70Yv9i+hX0QAg==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/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/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/voc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/voc/-/voc-1.2.0.tgz", + "integrity": "sha512-BOuDjFFYvJdZO6e/N65AlaDItXo2TgyLjeyRYcqgAPkXpp5yTJcvkL2n+syO1r9Qc5g96tfBD2tuiMhYDmaGcA==", + "bin": { + "voc": "voc.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/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==", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dependencies": { + "makeerror": "1.0.x" + } + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/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==" + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wmf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", + "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/word": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz", + "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==", + "engines": { + "node": ">=0.8" + } + }, + "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/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/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", + "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", + "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/xlsx": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.17.1.tgz", + "integrity": "sha512-SrvK+kMEjiVIKYyJSjSIJwzm2cZn8nQWVh708g7O+pTsmgjoa+uYNLEUn7jmwQdMI/ffCHcY5yEvwBXssBwpRA==", + "dependencies": { + "adler-32": "~1.2.0", + "cfb": "^1.1.4", + "codepage": "~1.15.0", + "commander": "~2.17.1", + "crc-32": "~1.2.0", + "exit-on-epipe": "~1.0.1", + "fflate": "^0.3.8", + "ssf": "~0.11.2", + "wmf": "~1.0.1", + "word": "~0.3.0" + }, + "bin": { + "xlsx": "bin/xlsx.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/xlsx-to-json": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/xlsx-to-json/-/xlsx-to-json-0.3.0.tgz", + "integrity": "sha1-9UhdZOyoRZEoneeVuv0SzDrHaaw=", + "dependencies": { + "csv": "~0.3.6", + "xlsx": "0.7.12" + } + }, + "node_modules/xlsx-to-json/node_modules/codepage": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.3.8.tgz", + "integrity": "sha1-Ty5dfAl13ij4hJgFjcta/KtqX3E=", + "dependencies": { + "commander": "", + "concat-stream": "", + "voc": "" + }, + "bin": { + "codepage": "bin/codepage.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/xlsx-to-json/node_modules/frac": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/frac/-/frac-0.3.1.tgz", + "integrity": "sha1-V3Z3t/3L5vr3xGHxgB00E3zaQ1Q=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/xlsx-to-json/node_modules/ssf": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.8.2.tgz", + "integrity": "sha1-udTcahwbz3b4q/qW19dlb7Kr7NY=", + "dependencies": { + "colors": "0.6.2", + "frac": "0.3.1", + "voc": "" + }, + "bin": { + "ssf": "bin/ssf.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/xlsx-to-json/node_modules/xlsx": { + "version": "0.7.12", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.7.12.tgz", + "integrity": "sha1-cUSDHY7NScBiFB98SJddGkAJiOQ=", + "dependencies": { + "adler-32": "", + "cfb": ">=0.10.0", + "codepage": "~1.3.6", + "commander": "", + "crc-32": "", + "jszip": "2.4.0", + "ssf": "~0.8.1" + }, + "bin": { + "xlsx": "bin/xlsx.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/xlsx/node_modules/commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" + }, + "node_modules/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==" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "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/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "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==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "engines": { + "node": ">=6" + } + } + }, + "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==", + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@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==" + }, + "@babel/core": { + "version": "7.15.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz", + "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helpers": "^7.15.4", + "@babel/parser": "^7.15.5", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4", + "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" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "@babel/generator": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", + "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", + "requires": { + "@babel/types": "^7.15.4", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "@babel/helper-compilation-targets": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", + "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", + "requires": { + "@babel/compat-data": "^7.15.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + } + }, + "@babel/helper-function-name": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "requires": { + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-module-imports": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", + "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.4.tgz", + "integrity": "sha512-9fHHSGE9zTC++KuXLZcB5FKgvlV83Ox+NLUmQTawovwlJ85+QMhk1CnVk406CQVj97LaWod6KVjl2Sfgw9Aktw==", + "requires": { + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-simple-access": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-validator-identifier": "^7.14.9", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@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==" + }, + "@babel/helper-replace-supers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", + "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", + "requires": { + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-simple-access": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", + "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@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==" + }, + "@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==" + }, + "@babel/helpers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", + "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", + "requires": { + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@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==", + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "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" + } + }, + "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==", + "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=" + }, + "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=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "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": { + "version": "7.15.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.5.tgz", + "integrity": "sha512-2hQstc6I7T6tQsWzlboMh3SgMRPaS4H6H7cPQsJkdzTzEGqQrpLDsE2BGASU5sBPoEQyHzeqU6C8uKbFeEk6sg==" + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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==", + "requires": { + "@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==", + "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", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz", + "integrity": "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/template": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/traverse": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.4.tgz", + "integrity": "sha512-0f1HJFuGmmbrKTCZtbm3cU+b/AqdEYk5toj5iQur58xkVMlS0JWaKxTBSmCXd47uiN7vbcozAupm6Mvs80GNhw==", + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "@cspotcode/source-map-consumer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", + "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==" + }, + "@cspotcode/source-map-support": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.6.1.tgz", + "integrity": "sha512-DX3Z+T5dt1ockmPdobJS/FAsQPW4V4SrWEhD2iYQT2Cb2tQsiMnYxrcUH9By/Z3B+v0S5LMBkQtV/XOBbpLEOg==", + "requires": { + "@cspotcode/source-map-consumer": "0.8.0" + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" + }, + "@jest/console": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.2.0.tgz", + "integrity": "sha512-35z+RqsK2CCgNxn+lWyK8X4KkaDtfL4BggT7oeZ0JffIiAiEYFYPo5B67V50ZubqDS1ehBrdCR2jduFnIrZOYw==", + "requires": { + "@jest/types": "^27.1.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.2.0", + "jest-util": "^27.2.0", + "slash": "^3.0.0" + } + }, + "@jest/core": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.2.0.tgz", + "integrity": "sha512-E/2NHhq+VMo18DpKkoty8Sjey8Kps5Cqa88A8NP757s6JjYqPdioMuyUBhDiIOGCdQByEp0ou3jskkTszMS0nw==", + "requires": { + "@jest/console": "^27.2.0", + "@jest/reporters": "^27.2.0", + "@jest/test-result": "^27.2.0", + "@jest/transform": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^27.1.1", + "jest-config": "^27.2.0", + "jest-haste-map": "^27.2.0", + "jest-message-util": "^27.2.0", + "jest-regex-util": "^27.0.6", + "jest-resolve": "^27.2.0", + "jest-resolve-dependencies": "^27.2.0", + "jest-runner": "^27.2.0", + "jest-runtime": "^27.2.0", + "jest-snapshot": "^27.2.0", + "jest-util": "^27.2.0", + "jest-validate": "^27.2.0", + "jest-watcher": "^27.2.0", + "micromatch": "^4.0.4", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "@jest/environment": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.2.0.tgz", + "integrity": "sha512-iPWmQI0wRIYSZX3wKu4FXHK4eIqkfq6n1DCDJS+v3uby7SOXrHvX4eiTBuEdSvtDRMTIH2kjrSkjHf/F9JIYyQ==", + "requires": { + "@jest/fake-timers": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/node": "*", + "jest-mock": "^27.1.1" + } + }, + "@jest/fake-timers": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.2.0.tgz", + "integrity": "sha512-gSu3YHvQOoVaTWYGgHFB7IYFtcF2HBzX4l7s47VcjvkUgL4/FBnE20x7TNLa3W6ABERtGd5gStSwsA8bcn+c4w==", + "requires": { + "@jest/types": "^27.1.1", + "@sinonjs/fake-timers": "^7.0.2", + "@types/node": "*", + "jest-message-util": "^27.2.0", + "jest-mock": "^27.1.1", + "jest-util": "^27.2.0" + } + }, + "@jest/globals": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.2.0.tgz", + "integrity": "sha512-raqk9Gf9WC3hlBa57rmRmJfRl9hom2b+qEE/ifheMtwn5USH5VZxzrHHOZg0Zsd/qC2WJ8UtyTwHKQAnNlDMdg==", + "requires": { + "@jest/environment": "^27.2.0", + "@jest/types": "^27.1.1", + "expect": "^27.2.0" + } + }, + "@jest/reporters": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.2.0.tgz", + "integrity": "sha512-7wfkE3iRTLaT0F51h1mnxH3nQVwDCdbfgXiLuCcNkF1FnxXLH9utHqkSLIiwOTV1AtmiE0YagHbOvx4rnMP/GA==", + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.2.0", + "@jest/test-result": "^27.2.0", + "@jest/transform": "^27.2.0", + "@jest/types": "^27.1.1", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^27.2.0", + "jest-resolve": "^27.2.0", + "jest-util": "^27.2.0", + "jest-worker": "^27.2.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.0.0" + } + }, + "@jest/source-map": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.0.6.tgz", + "integrity": "sha512-Fek4mi5KQrqmlY07T23JRi0e7Z9bXTOOD86V/uS0EIW4PClvPDqZOyFlLpNJheS6QI0FNX1CgmPjtJ4EA/2M+g==", + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.2.0.tgz", + "integrity": "sha512-JPPqn8h0RGr4HyeY1Km+FivDIjTFzDROU46iAvzVjD42ooGwYoqYO/MQTilhfajdz6jpVnnphFrKZI5OYrBONA==", + "requires": { + "@jest/console": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.2.0.tgz", + "integrity": "sha512-PrqarcpzOU1KSAK7aPwfL8nnpaqTMwPe7JBPnaOYRDSe/C6AoJiL5Kbnonqf1+DregxZIRAoDg69R9/DXMGqXA==", + "requires": { + "@jest/test-result": "^27.2.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.2.0", + "jest-runtime": "^27.2.0" + } + }, + "@jest/transform": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.2.0.tgz", + "integrity": "sha512-Q8Q/8xXIZYllk1AF7Ou5sV3egOZsdY/Wlv09CSbcexBRcC1Qt6lVZ7jRFAZtbHsEEzvOCyFEC4PcrwKwyjXtCg==", + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.1.1", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.2.0", + "jest-regex-util": "^27.0.6", + "jest-util": "^27.2.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "27.1.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.1.1.tgz", + "integrity": "sha512-yqJPDDseb0mXgKqmNqypCsb85C22K1aY5+LUxh7syIM9n/b0AsaltxNy+o6tt29VcfGDpYEve175bm3uOhcehA==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + }, + "@tsconfig/node10": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" + }, + "@tsconfig/node12": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" + }, + "@tsconfig/node14": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" + }, + "@tsconfig/node16": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" + }, + "@types/babel__core": { + "version": "7.1.16", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz", + "integrity": "sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz", + "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", + "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/bcryptjs": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@types/bcryptjs/-/bcryptjs-2.4.2.tgz", + "integrity": "sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ==" + }, + "@types/body-parser": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz", + "integrity": "sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==", + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "requires": { + "@types/node": "*" + } + }, + "@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==", + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.24", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz", + "integrity": "sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==", + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.0.1.tgz", + "integrity": "sha512-HTLpVXHrY69556ozYkcq47TtQJXpcWAWfkoqz+ZGz2JnmZhzlRjprCIyFnetSy8gpDWwTTGBcRVv1J1I1vBrHw==", + "requires": { + "jest-diff": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, + "@types/jsonwebtoken": { + "version": "8.5.5", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.5.tgz", + "integrity": "sha512-OGqtHQ7N5/Ap/TUwO6IgHDuLiAoTmHhGpNvgkCm/F4N6pKzx/RBSfr2OXZSwC6vkfnsEdb6+7DNZVtiXiwdwFw==", + "requires": { + "@types/node": "*" + } + }, + "@types/knex": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@types/knex/-/knex-0.16.1.tgz", + "integrity": "sha512-54gWD1HWwdVx5iLHaJ1qxH3I6KyBsj5fFqzRpXFn7REWiEB2jwspeVCombNsocSrqPd7IRPqKrsIME7/cD+TFQ==", + "requires": { + "knex": "*" + } + }, + "@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" + }, + "@types/node": { + "version": "16.7.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.13.tgz", + "integrity": "sha512-pLUPDn+YG3FYEt/pHI74HmnJOWzeR+tOIQzUx93pi9M7D8OE7PSLr97HboXwk5F+JS+TLtWuzCOW97AHjmOXXA==" + }, + "@types/prettier": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.2.tgz", + "integrity": "sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog==" + }, + "@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==" + }, + "@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==" + }, + "@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==", + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + }, + "@types/uuid": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.1.tgz", + "integrity": "sha512-Y2mHTRAbqfFkpjldbkHGY8JIzRN6XqYRliG8/24FcHm2D2PwW24fl5xMRTVGdrb7iMrwCaIEbLWerGIkXuFWVg==" + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", + "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==" + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", + "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==" + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + } + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + }, + "adler-32": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz", + "integrity": "sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=", + "requires": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + } + }, + "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==", + "requires": { + "debug": "4" + } + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "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" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "babel-jest": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.2.0.tgz", + "integrity": "sha512-bS2p+KGGVVmWXBa8+i6SO/xzpiz2Q/2LnqLbQknPKefWXVZ67YIjA4iXup/jMOEZplga9PpWn+wrdb3UdDwRaA==", + "requires": { + "@jest/transform": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^27.2.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.2.0.tgz", + "integrity": "sha512-TOux9khNKdi64mW+0OIhcmbAn75tTlzKhxmiNXevQaPbrBYK7YKjP1jl6NHTJ6XR5UgUrJbCnWlKVnJn29dfjw==", + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@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-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.2.0.tgz", + "integrity": "sha512-z7MgQ3peBwN5L5aCqBKnF6iqdlvZvFUQynEhu0J+X9nHLU72jO3iY331lcYrg+AssJ8q7xsv5/3AICzVmJ/wvg==", + "requires": { + "babel-plugin-jest-hoist": "^27.2.0", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=" + }, + "bignumber.js": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "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==" + }, + "browserslist": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.0.tgz", + "integrity": "sha512-g2BJ2a0nEYvEFQC208q8mVAhfNwpZ5Mu8BwgtCdZKO3qx98HChmeg448fPdUzld8aFmfLgVh7yymqV+q1lJZ5g==", + "requires": { + "caniuse-lite": "^1.0.30001254", + "colorette": "^1.3.0", + "electron-to-chromium": "^1.3.830", + "escalade": "^3.1.1", + "node-releases": "^1.1.75" + } + }, + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "requires": { + "node-int64": "^0.4.0" + } + }, + "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=" + }, + "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==" + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "caniuse-lite": { + "version": "1.0.30001255", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001255.tgz", + "integrity": "sha512-F+A3N9jTZL882f/fg/WWVnKSu6IOo3ueLz4zwaOPbPYHNmM/ZaDUyzyJwS1mZhX7Ex5jqTyW599Gdelh5PDYLQ==" + }, + "cfb": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.1.tgz", + "integrity": "sha512-wT2ScPAFGSVy7CY+aauMezZBnNrfnaLSrxHUHdea+Td/86vrk6ZquggV+ssBR88zNs0OnBkL2+lf9q0K+zVGzQ==", + "requires": { + "adler-32": "~1.3.0", + "crc-32": "~1.2.0", + "printj": "~1.3.0" + }, + "dependencies": { + "adler-32": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.0.tgz", + "integrity": "sha512-f5nltvjl+PRUh6YNfUstRaXwJxtfnKEWhAWWlmKvh+Y3J2+98a0KKVYDEhz6NdKGqswLhjNGznxfSsZGOvOd9g==", + "requires": { + "printj": "~1.2.2" + }, + "dependencies": { + "printj": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/printj/-/printj-1.2.3.tgz", + "integrity": "sha512-sanczS6xOJOg7IKDvi4sGOUOe7c1tsEzjwlLFH/zgwx/uyImVM9/rgBkc8AfiQa/Vg54nRd8mkm9yI7WV/O+WA==" + } + } + }, + "printj": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/printj/-/printj-1.3.0.tgz", + "integrity": "sha512-017o8YIaz8gLhaNxRB9eBv2mWXI2CtzhPJALnQTP+OPpuUfP0RMWqr/mHCzqVeu1AQxfzSfAtAq66vKB8y7Lzg==" + } + } + }, + "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" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==" + }, + "cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" + }, + "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" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "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==" + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" + }, + "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==" + }, + "colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" + }, + "colors": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + }, + "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" + } + } + } + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "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==", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "crc-32": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz", + "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==", + "requires": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + } + }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + } + } + }, + "csv": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/csv/-/csv-0.3.7.tgz", + "integrity": "sha1-pPijY/AHLNFVGB5rtJvVjlSXsxw=" + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "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" + } + }, + "decimal.js": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==" + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=" + }, + "deep-is": { + "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==" + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + }, + "diff-sequences": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz", + "integrity": "sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==" + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" + } + } + }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" + }, + "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==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "electron-to-chromium": { + "version": "1.3.832", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.832.tgz", + "integrity": "sha512-x7lO8tGoW0CyV53qON4Lb5Rok9ipDelNdBIAiYUZ03dqy4u9vohMM1qV047+s/hiyJiqUWX/3PNwkX3kexX5ig==" + }, + "emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==" + }, + "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==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + }, + "escodegen": { + "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": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==" + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "estraverse": { + "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", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "requires": { + "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" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" + }, + "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==" + }, + "expect": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.2.0.tgz", + "integrity": "sha512-oOTbawMQv7AK1FZURbPTgGSzmhxkjFzoARSvDjOMnOpeWuYQx1tP6rXu9MIX5mrACmyCAM7fSNP8IJO2f1p0CQ==", + "requires": { + "@jest/types": "^27.1.1", + "ansi-styles": "^5.0.0", + "jest-get-type": "^27.0.6", + "jest-matcher-utils": "^27.2.0", + "jest-message-util": "^27.2.0", + "jest-regex-util": "^27.0.6" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + } + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "requires": { + "bser": "2.1.1" + } + }, + "fflate": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.3.11.tgz", + "integrity": "sha512-Rr5QlUeGN1mbOHlaqcSYMKVpPbgLy0AWT/W0EHxA6NGI12yO1jpoui2zBBvU2G824ltM6Ut8BFgfHSBGfkmS0A==" + }, + "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==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "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" + } + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "frac": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", + "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "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==" + }, + "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==" + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "getopts": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.2.5.tgz", + "integrity": "sha512-9jb7AW5p3in+IiJWhQiZmmwkpLaR/ccTWdWQCtZM66HJcHHLegowh4q4tSD7gouUyeNvFWRavfK9GXosQHDpFA==" + }, + "glob": { + "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", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.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==" + }, + "graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "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==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "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==", + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "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==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "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==" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==" + }, + "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==" + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "requires": { + "ci-info": "^3.1.1" + } + }, + "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==", + "requires": { + "has": "^1.0.3" + } + }, + "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==" + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==" + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.2.0.tgz", + "integrity": "sha512-oUqVXyvh5YwEWl263KWdPUAqEzBFzGHdFLQ05hUnITr1tH+9SscEI9A/GH9eBClA+Nw1ct+KNuuOV6wlnmBPcg==", + "requires": { + "@jest/core": "^27.2.0", + "import-local": "^3.0.2", + "jest-cli": "^27.2.0" + } + }, + "jest-changed-files": { + "version": "27.1.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.1.1.tgz", + "integrity": "sha512-5TV9+fYlC2A6hu3qtoyGHprBwCAn0AuGA77bZdUgYvVlRMjHXo063VcWTEAyx6XAZ85DYHqp0+aHKbPlfRDRvA==", + "requires": { + "@jest/types": "^27.1.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + } + }, + "jest-circus": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.2.0.tgz", + "integrity": "sha512-WwENhaZwOARB1nmcboYPSv/PwHBUGRpA4MEgszjr9DLCl97MYw0qZprBwLb7rNzvMwfIvNGG7pefQ5rxyBlzIA==", + "requires": { + "@jest/environment": "^27.2.0", + "@jest/test-result": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.2.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.2.0", + "jest-matcher-utils": "^27.2.0", + "jest-message-util": "^27.2.0", + "jest-runtime": "^27.2.0", + "jest-snapshot": "^27.2.0", + "jest-util": "^27.2.0", + "pretty-format": "^27.2.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + } + }, + "jest-cli": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.2.0.tgz", + "integrity": "sha512-bq1X/B/b1kT9y1zIFMEW3GFRX1HEhFybiqKdbxM+j11XMMYSbU9WezfyWIhrSOmPT+iODLATVjfsCnbQs7cfIA==", + "requires": { + "@jest/core": "^27.2.0", + "@jest/test-result": "^27.2.0", + "@jest/types": "^27.1.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "jest-config": "^27.2.0", + "jest-util": "^27.2.0", + "jest-validate": "^27.2.0", + "prompts": "^2.0.1", + "yargs": "^16.0.3" + } + }, + "jest-config": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.2.0.tgz", + "integrity": "sha512-Z1romHpxeNwLxQtouQ4xt07bY6HSFGKTo0xJcvOK3u6uJHveA4LB2P+ty9ArBLpTh3AqqPxsyw9l9GMnWBYS9A==", + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^27.2.0", + "@jest/types": "^27.1.1", + "babel-jest": "^27.2.0", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "jest-circus": "^27.2.0", + "jest-environment-jsdom": "^27.2.0", + "jest-environment-node": "^27.2.0", + "jest-get-type": "^27.0.6", + "jest-jasmine2": "^27.2.0", + "jest-regex-util": "^27.0.6", + "jest-resolve": "^27.2.0", + "jest-runner": "^27.2.0", + "jest-util": "^27.2.0", + "jest-validate": "^27.2.0", + "micromatch": "^4.0.4", + "pretty-format": "^27.2.0" + } + }, + "jest-diff": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.2.0.tgz", + "integrity": "sha512-QSO9WC6btFYWtRJ3Hac0sRrkspf7B01mGrrQEiCW6TobtViJ9RWL0EmOs/WnBsZDsI/Y2IoSHZA2x6offu0sYw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.0.6", + "jest-get-type": "^27.0.6", + "pretty-format": "^27.2.0" + } + }, + "jest-docblock": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.0.6.tgz", + "integrity": "sha512-Fid6dPcjwepTFraz0YxIMCi7dejjJ/KL9FBjPYhBp4Sv1Y9PdhImlKZqYU555BlN4TQKaTc+F2Av1z+anVyGkA==", + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.2.0.tgz", + "integrity": "sha512-biDmmUQjg+HZOB7MfY2RHSFL3j418nMoC3TK3pGAj880fQQSxvQe1y2Wy23JJJNUlk6YXiGU0yWy86Le1HBPmA==", + "requires": { + "@jest/types": "^27.1.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.0.6", + "jest-util": "^27.2.0", + "pretty-format": "^27.2.0" + } + }, + "jest-environment-jsdom": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.2.0.tgz", + "integrity": "sha512-wNQJi6Rd/AkUWqTc4gWhuTIFPo7tlMK0RPZXeM6AqRHZA3D3vwvTa9ktAktyVyWYmUoXdYstOfyYMG3w4jt7eA==", + "requires": { + "@jest/environment": "^27.2.0", + "@jest/fake-timers": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/node": "*", + "jest-mock": "^27.1.1", + "jest-util": "^27.2.0", + "jsdom": "^16.6.0" + } + }, + "jest-environment-node": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.2.0.tgz", + "integrity": "sha512-WbW+vdM4u88iy6Q3ftUEQOSgMPtSgjm3qixYYK2AKEuqmFO2zmACTw1vFUB0qI/QN88X6hA6ZkVKIdIWWzz+yg==", + "requires": { + "@jest/environment": "^27.2.0", + "@jest/fake-timers": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/node": "*", + "jest-mock": "^27.1.1", + "jest-util": "^27.2.0" + } + }, + "jest-get-type": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.6.tgz", + "integrity": "sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg==" + }, + "jest-haste-map": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.2.0.tgz", + "integrity": "sha512-laFet7QkNlWjwZtMGHCucLvF8o9PAh2cgePRck1+uadSM4E4XH9J4gnx4do+a6do8ZV5XHNEAXEkIoNg5XUH2Q==", + "requires": { + "@jest/types": "^27.1.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^27.0.6", + "jest-serializer": "^27.0.6", + "jest-util": "^27.2.0", + "jest-worker": "^27.2.0", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-jasmine2": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.2.0.tgz", + "integrity": "sha512-NcPzZBk6IkDW3Z2V8orGueheGJJYfT5P0zI/vTO/Jp+R9KluUdgFrgwfvZ0A34Kw6HKgiWFILZmh3oQ/eS+UxA==", + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^27.2.0", + "@jest/source-map": "^27.0.6", + "@jest/test-result": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.2.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.2.0", + "jest-matcher-utils": "^27.2.0", + "jest-message-util": "^27.2.0", + "jest-runtime": "^27.2.0", + "jest-snapshot": "^27.2.0", + "jest-util": "^27.2.0", + "pretty-format": "^27.2.0", + "throat": "^6.0.1" + } + }, + "jest-leak-detector": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.2.0.tgz", + "integrity": "sha512-e91BIEmbZw5+MHkB4Hnrq7S86coTxUMCkz4n7DLmQYvl9pEKmRx9H/JFH87bBqbIU5B2Ju1soKxRWX6/eGFGpA==", + "requires": { + "jest-get-type": "^27.0.6", + "pretty-format": "^27.2.0" + } + }, + "jest-matcher-utils": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.2.0.tgz", + "integrity": "sha512-F+LG3iTwJ0gPjxBX6HCyrARFXq6jjiqhwBQeskkJQgSLeF1j6ui1RTV08SR7O51XTUhtc8zqpDj8iCG4RGmdKw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.2.0", + "jest-get-type": "^27.0.6", + "pretty-format": "^27.2.0" + } + }, + "jest-message-util": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.2.0.tgz", + "integrity": "sha512-y+sfT/94CiP8rKXgwCOzO1mUazIEdEhrLjuiu+RKmCP+8O/TJTSne9dqQRbFIHBtlR2+q7cddJlWGir8UATu5w==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.1.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.2.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "27.1.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.1.1.tgz", + "integrity": "sha512-SClsFKuYBf+6SSi8jtAYOuPw8DDMsTElUWEae3zq7vDhH01ayVSIHUSIa8UgbDOUalCFp6gNsaikN0rbxN4dbw==", + "requires": { + "@jest/types": "^27.1.1", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "requires": {} + }, + "jest-regex-util": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.6.tgz", + "integrity": "sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ==" + }, + "jest-resolve": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.2.0.tgz", + "integrity": "sha512-v09p9Ib/VtpHM6Cz+i9lEAv1Z/M5NVxsyghRHRMEUOqwPQs3zwTdwp1xS3O/k5LocjKiGS0OTaJoBSpjbM2Jlw==", + "requires": { + "@jest/types": "^27.1.1", + "chalk": "^4.0.0", + "escalade": "^3.1.1", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.2.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.2.0", + "jest-validate": "^27.2.0", + "resolve": "^1.20.0", + "slash": "^3.0.0" + } + }, + "jest-resolve-dependencies": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.2.0.tgz", + "integrity": "sha512-EY5jc/Y0oxn+oVEEldTidmmdVoZaknKPyDORA012JUdqPyqPL+lNdRyI3pGti0RCydds6coaw6xt4JQY54dKsg==", + "requires": { + "@jest/types": "^27.1.1", + "jest-regex-util": "^27.0.6", + "jest-snapshot": "^27.2.0" + } + }, + "jest-runner": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.2.0.tgz", + "integrity": "sha512-Cl+BHpduIc0cIVTjwoyx0pQk4Br8gn+wkr35PmKCmzEdOUnQ2wN7QVXA8vXnMQXSlFkN/+KWnk20TAVBmhgrww==", + "requires": { + "@jest/console": "^27.2.0", + "@jest/environment": "^27.2.0", + "@jest/test-result": "^27.2.0", + "@jest/transform": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-docblock": "^27.0.6", + "jest-environment-jsdom": "^27.2.0", + "jest-environment-node": "^27.2.0", + "jest-haste-map": "^27.2.0", + "jest-leak-detector": "^27.2.0", + "jest-message-util": "^27.2.0", + "jest-resolve": "^27.2.0", + "jest-runtime": "^27.2.0", + "jest-util": "^27.2.0", + "jest-worker": "^27.2.0", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + } + }, + "jest-runtime": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.2.0.tgz", + "integrity": "sha512-6gRE9AVVX49hgBbWQ9PcNDeM4upMUXzTpBs0kmbrjyotyUyIJixLPsYjpeTFwAA07PVLDei1iAm2chmWycdGdQ==", + "requires": { + "@jest/console": "^27.2.0", + "@jest/environment": "^27.2.0", + "@jest/fake-timers": "^27.2.0", + "@jest/globals": "^27.2.0", + "@jest/source-map": "^27.0.6", + "@jest/test-result": "^27.2.0", + "@jest/transform": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.2.0", + "jest-message-util": "^27.2.0", + "jest-mock": "^27.1.1", + "jest-regex-util": "^27.0.6", + "jest-resolve": "^27.2.0", + "jest-snapshot": "^27.2.0", + "jest-util": "^27.2.0", + "jest-validate": "^27.2.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^16.0.3" + } + }, + "jest-serializer": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.6.tgz", + "integrity": "sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA==", + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + } + }, + "jest-snapshot": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.2.0.tgz", + "integrity": "sha512-MukJvy3KEqemCT2FoT3Gum37CQqso/62PKTfIzWmZVTsLsuyxQmJd2PI5KPcBYFqLlA8LgZLHM8ZlazkVt8LsQ==", + "requires": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/parser": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.2.0", + "graceful-fs": "^4.2.4", + "jest-diff": "^27.2.0", + "jest-get-type": "^27.0.6", + "jest-haste-map": "^27.2.0", + "jest-matcher-utils": "^27.2.0", + "jest-message-util": "^27.2.0", + "jest-resolve": "^27.2.0", + "jest-util": "^27.2.0", + "natural-compare": "^1.4.0", + "pretty-format": "^27.2.0", + "semver": "^7.3.2" + }, + "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" + } + } + } + }, + "jest-util": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.2.0.tgz", + "integrity": "sha512-T5ZJCNeFpqcLBpx+Hl9r9KoxBCUqeWlJ1Htli+vryigZVJ1vuLB9j35grEBASp4R13KFkV7jM52bBGnArpJN6A==", + "requires": { + "@jest/types": "^27.1.1", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + }, + "jest-validate": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.2.0.tgz", + "integrity": "sha512-uIEZGkFKk3+4liA81Xu0maG5aGDyPLdp+4ed244c+Ql0k3aLWQYcMbaMLXOIFcb83LPHzYzqQ8hwNnIxTqfAGQ==", + "requires": { + "@jest/types": "^27.1.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.0.6", + "leven": "^3.1.0", + "pretty-format": "^27.2.0" + }, + "dependencies": { + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" + } + } + }, + "jest-watcher": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.2.0.tgz", + "integrity": "sha512-SjRWhnr+qO8aBsrcnYIyF+qRxNZk6MZH8TIDgvi+VlsyrvOyqg0d+Rm/v9KHiTtC9mGGeFi9BFqgavyWib6xLg==", + "requires": { + "@jest/test-result": "^27.2.0", + "@jest/types": "^27.1.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.2.0", + "string-length": "^4.0.1" + } + }, + "jest-worker": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.0.tgz", + "integrity": "sha512-laB0ZVIBz+voh/QQy9dmUuuDsadixeerrKqyVpgPz+CCWiOYjOBabUXHIXZhsdvkWbLqSHbgkAHWl5cg24Q6RA==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "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==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "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==", + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "requires": { + "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" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "jszip": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-2.4.0.tgz", + "integrity": "sha1-SHqTt2w7/6bLCFzWHrk06r4tKU8=", + "requires": { + "pako": "~0.2.5" + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "knex": { + "version": "0.95.11", + "resolved": "https://registry.npmjs.org/knex/-/knex-0.95.11.tgz", + "integrity": "sha512-grDetD91O8VoQVCFqeWTgkzdq5406W6rggF/lK1hHuwzmjDs/0m9KxyncGdZbklTi7aUgHvw3+Cfy4x7FvpdaQ==", + "requires": { + "colorette": "1.2.1", + "commander": "^7.1.0", + "debug": "4.3.2", + "escalade": "^3.1.1", + "esm": "^3.2.25", + "getopts": "2.2.5", + "interpret": "^2.2.0", + "lodash": "^4.17.21", + "pg-connection-string": "2.5.0", + "rechoir": "0.7.0", + "resolve-from": "^5.0.0", + "tarn": "^3.0.1", + "tildify": "2.0.0" + }, + "dependencies": { + "colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" + } + } + }, + "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==" + }, + "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" + } + }, + "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" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + }, + "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==", + "requires": { + "yallist": "^4.0.0" + } + }, + "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==", + "requires": { + "semver": "^6.0.0" + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "requires": { + "tmpl": "1.0.x" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "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==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "migration": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/migration/-/migration-0.3.0.tgz", + "integrity": "sha1-CaI0W5iS1FFJxpMWB6W3ZeYbioY=", + "requires": { + "moment": "~2.0.0" + }, + "dependencies": { + "moment": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.0.0.tgz", + "integrity": "sha1-K7xbRMMhg3aTq278rb1G7ZRiEf4=" + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "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==" + }, + "mime-types": { + "version": "2.1.32", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", + "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "requires": { + "mime-db": "1.49.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "mysql": { + "version": "2.18.1", + "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz", + "integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==", + "requires": { + "bignumber.js": "9.0.0", + "readable-stream": "2.3.7", + "safe-buffer": "5.1.2", + "sqlstring": "2.3.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=" + }, + "node-releases": { + "version": "1.1.75", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz", + "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==" + }, + "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" + } + }, + "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==" + }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "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==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "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==" + }, + "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=" + }, + "pg-connection-string": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", + "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "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==", + "requires": { + "find-up": "^4.0.0" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "pretty-format": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.2.0.tgz", + "integrity": "sha512-KyJdmgBkMscLqo8A7K77omgLx5PWPiXJswtTtFV7XgVZv2+qPk6UivpXXO+5k6ZEbWIbLoKdx1pZ6ldINzbwTA==", + "requires": { + "@jest/types": "^27.1.1", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + } + } + }, + "printj": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", + "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==" + }, + "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==" + }, + "prompts": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", + "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "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==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "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==" + }, + "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==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rechoir": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", + "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", + "requires": { + "resolve": "^1.9.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "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==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "requires": { + "xmlchars": "^2.2.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "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" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "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==" + } + } + }, + "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==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "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==", + "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==" + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "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-support": { + "version": "0.5.20", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", + "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "sqlstring": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", + "integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=" + }, + "ssf": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz", + "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", + "requires": { + "frac": "~1.1.2" + } + }, + "stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "requires": { + "escape-string-regexp": "^2.0.0" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "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", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + }, + "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==" + }, + "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" + } + }, + "supports-hyperlinks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", + "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, + "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==" + }, + "tarn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.1.tgz", + "integrity": "sha512-6usSlV9KyHsspvwu2duKH+FMUhqJnAh6J5J/4MITl8s94iSUQTLkJggdiewKv4RyARQccnigV48Z+khiuVZDJw==" + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "throat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==" + }, + "tildify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", + "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==" + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "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=" + }, + "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==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + } + }, + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "requires": { + "punycode": "^2.1.1" + } + }, + "ts-jest": { + "version": "27.0.5", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.0.5.tgz", + "integrity": "sha512-lIJApzfTaSSbtlksfFNHkWOzLJuuSm4faFAfo5kvzOiRAuoN4/eKxVJ2zEAho8aecE04qX6K1pAzfH5QHL1/8w==", + "requires": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^27.0.0", + "json5": "2.x", + "lodash": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "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" + } + } + } + }, + "ts-node": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.2.1.tgz", + "integrity": "sha512-hCnyOyuGmD5wHleOQX6NIjJtYVIO8bPP8F2acWkB4W06wdlkgyvJtubO/I9NkI88hCFECbsEgoLc0VNkYmcSfw==", + "requires": { + "@cspotcode/source-map-support": "0.6.1", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "yn": "3.1.1" + }, + "dependencies": { + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" + } + } + }, + "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" + } + }, + "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==" + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.2.tgz", + "integrity": "sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ==" + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "v8-to-istanbul": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz", + "integrity": "sha512-LkmXi8UUNxnCC+JlH7/fsfsKr5AU110l+SYGJimWNkWhxbN5EyeOtm1MJ0hhvqMMOhGwBj1Fp70Yv9i+hX0QAg==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "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==" + } + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "voc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/voc/-/voc-1.2.0.tgz", + "integrity": "sha512-BOuDjFFYvJdZO6e/N65AlaDItXo2TgyLjeyRYcqgAPkXpp5yTJcvkL2n+syO1r9Qc5g96tfBD2tuiMhYDmaGcA==" + }, + "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==", + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "requires": { + "makeerror": "1.0.x" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + }, + "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==", + "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==" + }, + "whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "wmf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", + "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==" + }, + "word": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz", + "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==" + }, + "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==" + }, + "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" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", + "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", + "requires": {} + }, + "xlsx": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.17.1.tgz", + "integrity": "sha512-SrvK+kMEjiVIKYyJSjSIJwzm2cZn8nQWVh708g7O+pTsmgjoa+uYNLEUn7jmwQdMI/ffCHcY5yEvwBXssBwpRA==", + "requires": { + "adler-32": "~1.2.0", + "cfb": "^1.1.4", + "codepage": "~1.15.0", + "commander": "~2.17.1", + "crc-32": "~1.2.0", + "exit-on-epipe": "~1.0.1", + "fflate": "^0.3.8", + "ssf": "~0.11.2", + "wmf": "~1.0.1", + "word": "~0.3.0" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" + } + } + }, + "xlsx-to-json": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/xlsx-to-json/-/xlsx-to-json-0.3.0.tgz", + "integrity": "sha1-9UhdZOyoRZEoneeVuv0SzDrHaaw=", + "requires": { + "csv": "~0.3.6", + "xlsx": "0.7.12" + }, + "dependencies": { + "codepage": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.3.8.tgz", + "integrity": "sha1-Ty5dfAl13ij4hJgFjcta/KtqX3E=", + "requires": { + "commander": "", + "concat-stream": "", + "voc": "" + } + }, + "frac": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/frac/-/frac-0.3.1.tgz", + "integrity": "sha1-V3Z3t/3L5vr3xGHxgB00E3zaQ1Q=" + }, + "ssf": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.8.2.tgz", + "integrity": "sha1-udTcahwbz3b4q/qW19dlb7Kr7NY=", + "requires": { + "colors": "0.6.2", + "frac": "0.3.1", + "voc": "" + } + }, + "xlsx": { + "version": "0.7.12", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.7.12.tgz", + "integrity": "sha1-cUSDHY7NScBiFB98SJddGkAJiOQ=", + "requires": { + "adler-32": "", + "cfb": ">=0.10.0", + "codepage": "~1.3.6", + "commander": "", + "crc-32": "", + "jszip": "2.4.0", + "ssf": "~0.8.1" + } + } + } + }, + "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==" + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "y18n": { + "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", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "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==" + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" + } + } +} diff --git a/semana23/desafio-pokemon-go-redfox/package.json b/semana23/desafio-pokemon-go-redfox/package.json new file mode 100644 index 0000000..f575342 --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/package.json @@ -0,0 +1,41 @@ +{ + "name": "pokemongo", + "version": "1.0.0", + "description": "projeto", + "main": "index.js", + "scripts": { + "test": "node ./node_modules/jest/bin/jest.js", + "start": "ts-node ./src/index.ts", + "migrations": "ts-node ./src/data/CreateTables.ts" + }, + "keywords": [ + "api", + "" + ], + "author": "micheline barros", + "license": "ISC", + "dependencies": { + "@types/bcryptjs": "^2.4.2", + "@types/express": "^4.17.13", + "@types/jest": "^27.0.1", + "@types/jsonwebtoken": "^8.5.5", + "@types/knex": "^0.16.1", + "@types/uuid": "^8.3.1", + "bcryptjs": "^2.4.3", + "cors": "^2.8.5", + "dotenv": "^10.0.0", + "express": "^4.17.1", + "jest": "^27.2.0", + "jsonwebtoken": "^8.5.1", + "knex": "^0.95.11", + "migration": "^0.3.0", + "moment": "^2.29.1", + "mysql": "^2.18.1", + "ts-jest": "^27.0.5", + "ts-node": "^10.2.1", + "typescript": "^4.4.2", + "uuid": "^8.3.2", + "xlsx": "^0.17.1", + "xlsx-to-json": "^0.3.0" + } +} diff --git a/semana23/desafio-pokemon-go-redfox/request.http b/semana23/desafio-pokemon-go-redfox/request.http new file mode 100644 index 0000000..dbe3a9d --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/request.http @@ -0,0 +1,11 @@ +# @name signup + +GET http://localhost:3003/pokemon/23 + +### + +GET http://localhost:3003/pokemon/all + +### + +GET http://localhost:3003/pokemon/filtros? \ No newline at end of file diff --git a/semana23/desafio-pokemon-go-redfox/src/business/PokemonBusiness.ts b/semana23/desafio-pokemon-go-redfox/src/business/PokemonBusiness.ts new file mode 100644 index 0000000..5645bdc --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/src/business/PokemonBusiness.ts @@ -0,0 +1,37 @@ +import { NotFoundError } from "../error/NotFoundError"; +import { PokemonData } from '../data/PokemonData'; + +export class PokemonBusiness{ + constructor( + private pokemonData: PokemonData + ){} + async getPokemon(offset: number, sort: string, order: string){ + + const result = await this.pokemonData.getPokemon(offset, sort, order) + + return result + + } + + async getPokemonById(id: number){ + if(!id){ + throw new NotFoundError("Not found") + } + + const result = await this.pokemonData.getPokemonById(id) + + return result + + } + + async getPokemonFilterOrderPage(nameOrtype: string, sort: string, order: string, offset: number){ + + const result = await this.pokemonData.getPokemonFilterOrderPage(nameOrtype as string, sort as string, order as string, offset) + + return result + + } + +} + +// export default new PokemonBusiness() \ No newline at end of file diff --git a/semana23/desafio-pokemon-go-redfox/src/controller/PokemonController.ts b/semana23/desafio-pokemon-go-redfox/src/controller/PokemonController.ts new file mode 100644 index 0000000..b6bbe8c --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/src/controller/PokemonController.ts @@ -0,0 +1,65 @@ +import { Request, Response } from "express"; +import { PokemonBusiness } from "../business/PokemonBusiness"; +import { PokemonData } from "../data/PokemonData"; + +export class PokemonController{ + + async getPokemonController(req: Request, res: Response){ + try { + const page = Number(req.query.page) || 1; + const offset: number = 5 * (page -1); + + const sort = req.query.sort === "id" ? "id" : "name" + + const order = req.query.order === "desc" ? "desc" : "asc"; + + const pokemonBusiness = new PokemonBusiness(new PokemonData) + const result = await pokemonBusiness.getPokemon(offset, sort, order) + + res.status(200).send(result) + + } catch (error) { + res.status(400).send({ error: error.message }); + } + } + + async getPokemonByIdController(req: Request, res: Response){ + try { + const id = Number(req.params.id); + + const pokemonBusiness = new PokemonBusiness(new PokemonData) + const result = await pokemonBusiness.getPokemonById(id) + + res.status(200).send(result) + + } catch (error) { + res.status(400).send({ error: error.message }); + } + } + + async getPokemonFilterOrderPageController(req: Request, res: Response){ + try { + const nameOrtype = req.query.name? req.query.name : req.query.type? req.query.type : "%"; + + const sort = req.query.sort === "statTotal" ? "stat_total" : req.query.sort === "atk" ? "atk" : req.query.sort === "def" ? "def": req.query.sort === "sta" ? "sta" : req.query.sort === "cp40" ? "cp_40" : req.query.sort === "cp39" ? "cp_39" : "name" + + const order = req.query.order === "desc" ? "desc" : "asc"; + + const page = Number(req.query.page) || 1; + + const offset: number = 5 * (page -1); + + + + const pokemonBusiness = new PokemonBusiness(new PokemonData) + const result = await pokemonBusiness.getPokemonFilterOrderPage(nameOrtype as string, sort as string, order as string, offset) + + res.status(200).send(result) + + } catch (error) { + res.status(400).send({ error: error.message }); + } + } + + +} \ No newline at end of file diff --git a/semana23/desafio-pokemon-go-redfox/src/data/BaseDatabase.ts b/semana23/desafio-pokemon-go-redfox/src/data/BaseDatabase.ts new file mode 100644 index 0000000..1e7ba64 --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/src/data/BaseDatabase.ts @@ -0,0 +1,40 @@ +import knex, { Knex } from "knex"; +import dotenv from "dotenv"; + + +dotenv.config(); + +export abstract class BaseDatabase { + + protected TABLE_NAME: any = { + Pokemon: 'table_pokemon' + } + + private static connection: Knex | null = null; + + protected getConnection(): Knex{ + if(!BaseDatabase.connection){ + BaseDatabase.connection = knex({ + client: "mysql", + connection: { + host: process.env.DB_HOST, + port: 3306, + user: process.env.DB_USER, + password: process.env.DB_PASSWORD, + database: process.env.DB_DATABASE_NAME, + multipleStatements: true + }, + }); + } + + return BaseDatabase.connection; + } + + public static async destroyConnection(): Promise{ + if(BaseDatabase.connection){ + await BaseDatabase.connection.destroy(); + BaseDatabase.connection = null; + } + } +} + diff --git a/semana23/desafio-pokemon-go-redfox/src/data/CreateTables.ts b/semana23/desafio-pokemon-go-redfox/src/data/CreateTables.ts new file mode 100644 index 0000000..43fb9f6 --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/src/data/CreateTables.ts @@ -0,0 +1,44 @@ +import { BaseDatabase } from './BaseDatabase'; +import pokemonGo from "./pokemonGo.json" + +const printError = (error: any) => {console.log(error.sqlMessage || error.message)} + +export class CreateTables extends BaseDatabase{ + public createTable = async (): Promise => { + const result = await this.getConnection().raw(` + CREATE TABLE IF NOT EXISTS table_pokemon( + id INT PRIMARY KEY, + name VARCHAR(150) NOT NULL UNIQUE, + generation INT, + evolution_stage VARCHAR(65), + family_id VARCHAR(65), + type_1 VARCHAR(150), + type_2 VARCHAR(150), + stat_total INT, + atk INT , + def INT, + sta INT, + legendary INT, + cp_40 INT, + cp_39 INT + ); + `) + .then(() => { console.log("Tabela pokemón criada")}) + .catch(printError) + } + + insertPokemon = () => this.getConnection() + .into("table_pokemon") + .insert(pokemonGo) + .then(() => { console.log("Dados pokemon criados") }) + .catch(printError) + + closeConnection = () => { this.getConnection().destroy() } + +} + +const createDB = new CreateTables(); + +createDB.createTable() + +createDB.insertPokemon() \ No newline at end of file diff --git a/semana23/desafio-pokemon-go-redfox/src/data/PokemonData.ts b/semana23/desafio-pokemon-go-redfox/src/data/PokemonData.ts new file mode 100644 index 0000000..ca221fd --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/src/data/PokemonData.ts @@ -0,0 +1,111 @@ +import { NotFoundError } from "../error/NotFoundError"; +import { Pokemon, PokemonInputDTO, PokemonOutputDTO, } from "../model/Pokemon"; +import { BaseDatabase } from "./BaseDatabase"; + +export class PokemonData extends BaseDatabase{ + + async getPokemon(offset: number, sort: string, order: string): Promise{ + + try { + const result = await this.getConnection() + .select("*") + .into(this.TABLE_NAME.Pokemon) + .limit(15) + .offset(offset) + .orderBy(sort,order) + + + + if(!result.length){ + throw new NotFoundError("Not found") + } + + return result.map((pokemon: PokemonOutputDTO) => { + return { + id: Number(pokemon.id), + name: pokemon.name, + generation: pokemon.generation, + evolutionStage: pokemon.evolutionStage, + familyId: pokemon.familyId, + type1: pokemon.type1, + type2: pokemon.type2, + statTotal:pokemon.statTotal, + atk: pokemon.atk, + sta: pokemon.sta, + legendary: pokemon.legendary, + cp40: pokemon.cp40, + cp39: pokemon.cp39 + }}) + + + + + } catch (error) { + throw new Error(error.sqlMessage || error.message); + } + + } + + async getPokemonById(id: number): Promise{ + + try { + const result = await this.getConnection() + .select("*") + .where('id', id) + .into(this.TABLE_NAME.Pokemon) + + + if(!result.length){ + throw new NotFoundError("Not found") + } + + + return Pokemon.toPokemonModel(result[0]) + + + } catch (error) { + throw new Error(error.sqlMessage || error.message); + } + + } + + async getPokemonFilterOrderPage(nameOrtype: string, sort:any, order: string, offset: number): Promise{ + + try { + const result = await this.getConnection() + .where('name', "like", `%${nameOrtype}%`) + .orWhere('type_1', "like", `%${nameOrtype}%`) + .orWhere('type_2', "like", `%${nameOrtype}%`) + .into(this.TABLE_NAME.Pokemon) + .orderBy(sort, order) + .limit(15) + .offset(offset) + + if(!result.length){ + throw new NotFoundError("Not found") + } + + return result.map((pokemon: PokemonOutputDTO) => { + return { + id: Number(pokemon.id), + name: pokemon.name, + generation: pokemon.generation, + evolutionStage: pokemon.evolutionStage, + familyId: pokemon.familyId, + type1: pokemon.type1, + type2: pokemon.type2, + statTotal:pokemon.statTotal, + atk: pokemon.atk, + sta: pokemon.sta, + legendary: pokemon.legendary, + cp40: pokemon.cp40, + cp39: pokemon.cp39 + }}) + + + } catch (error) { + throw new Error(error.sqlMessage || error.message); + } + + } +} \ No newline at end of file diff --git a/semana23/desafio-pokemon-go-redfox/src/data/pokemonGo.json b/semana23/desafio-pokemon-go-redfox/src/data/pokemonGo.json new file mode 100644 index 0000000..6e792ce --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/src/data/pokemonGo.json @@ -0,0 +1 @@ +[{"cp_39":"967","id":"1","name":"Bulbasaur","generation":"1","evolution_stage":"1","family_id":"1","type_1":"grass","type_2":"poison","stat_total":"326","atk":"118","def":"118","sta":"90","legendary":"0","cp_40":"981"},{"cp_39":"1529","id":"2","name":"Ivysaur","generation":"1","evolution_stage":"2","family_id":"1","type_1":"grass","type_2":"poison","stat_total":"422","atk":"151","def":"151","sta":"120","legendary":"0","cp_40":"1552"},{"cp_39":"2531","id":"3","name":"Venusaur","generation":"1","evolution_stage":"3","family_id":"1","type_1":"grass","type_2":"poison","stat_total":"556","atk":"198","def":"198","sta":"160","legendary":"0","cp_40":"2568"},{"cp_39":"819","id":"4","name":"Charmander","generation":"1","evolution_stage":"1","family_id":"2","type_1":"fire","type_2":"","stat_total":"290","atk":"116","def":"96","sta":"78","legendary":"0","cp_40":"831"},{"cp_39":"1462","id":"5","name":"Charmeleon","generation":"1","evolution_stage":"2","family_id":"2","type_1":"fire","type_2":"","stat_total":"403","atk":"158","def":"129","sta":"116","legendary":"0","cp_40":"1484"},{"cp_39":"2648","id":"6","name":"Charizard","generation":"1","evolution_stage":"3","family_id":"2","type_1":"fire","type_2":"flying","stat_total":"555","atk":"223","def":"176","sta":"156","legendary":"0","cp_40":"2686"},{"cp_39":"797","id":"7","name":"Squirtle","generation":"1","evolution_stage":"1","family_id":"3","type_1":"water","type_2":"","stat_total":"304","atk":"94","def":"122","sta":"88","legendary":"0","cp_40":"808"},{"cp_39":"1305","id":"8","name":"Wartortle","generation":"1","evolution_stage":"2","family_id":"3","type_1":"water","type_2":"","stat_total":"399","atk":"126","def":"155","sta":"118","legendary":"0","cp_40":"1324"},{"cp_39":"2259","id":"9","name":"Blastoise","generation":"1","evolution_stage":"3","family_id":"3","type_1":"water","type_2":"","stat_total":"539","atk":"171","def":"210","sta":"158","legendary":"0","cp_40":"2291"},{"cp_39":"387","id":"10","name":"Caterpie","generation":"1","evolution_stage":"1","family_id":"4","type_1":"bug","type_2":"","stat_total":"207","atk":"55","def":"62","sta":"90","legendary":"0","cp_40":"393"},{"cp_39":"413","id":"11","name":"Metapod","generation":"1","evolution_stage":"2","family_id":"4","type_1":"bug","type_2":"","stat_total":"239","atk":"45","def":"94","sta":"100","legendary":"0","cp_40":"419"},{"cp_39":"1677","id":"12","name":"Butterfree","generation":"1","evolution_stage":"3","family_id":"4","type_1":"bug","type_2":"flying","stat_total":"438","atk":"167","def":"151","sta":"120","legendary":"0","cp_40":"1701"},{"cp_39":"391","id":"13","name":"Weedle","generation":"1","evolution_stage":"1","family_id":"5","type_1":"bug","type_2":"poison","stat_total":"198","atk":"63","def":"55","sta":"80","legendary":"0","cp_40":"397"},{"cp_39":"386","id":"14","name":"Kakuna","generation":"1","evolution_stage":"2","family_id":"5","type_1":"bug","type_2":"poison","stat_total":"222","atk":"46","def":"86","sta":"90","legendary":"0","cp_40":"392"},{"cp_39":"1752","id":"15","name":"Beedrill","generation":"1","evolution_stage":"3","family_id":"5","type_1":"bug","type_2":"poison","stat_total":"449","atk":"169","def":"150","sta":"130","legendary":"0","cp_40":"1777"},{"cp_39":"572","id":"16","name":"Pidgey","generation":"1","evolution_stage":"1","family_id":"6","type_1":"normal","type_2":"flying","stat_total":"241","atk":"85","def":"76","sta":"80","legendary":"0","cp_40":"580"},{"cp_39":"1070","id":"17","name":"Pidgeotto","generation":"1","evolution_stage":"2","family_id":"6","type_1":"normal","type_2":"flying","stat_total":"351","atk":"117","def":"108","sta":"126","legendary":"0","cp_40":"1085"},{"cp_39":"1966","id":"18","name":"Pidgeot","generation":"1","evolution_stage":"3","family_id":"6","type_1":"normal","type_2":"flying","stat_total":"489","atk":"166","def":"157","sta":"166","legendary":"0","cp_40":"1994"},{"cp_39":"580","id":"19","name":"Rattata","generation":"1","evolution_stage":"1","family_id":"7","type_1":"normal","type_2":"","stat_total":"233","atk":"103","def":"70","sta":"60","legendary":"0","cp_40":"588"},{"cp_39":"1527","id":"20","name":"Raticate","generation":"1","evolution_stage":"2","family_id":"7","type_1":"normal","type_2":"","stat_total":"415","atk":"161","def":"144","sta":"110","legendary":"0","cp_40":"1549"},{"cp_39":"664","id":"21","name":"Spearow","generation":"1","evolution_stage":"1","family_id":"8","type_1":"normal","type_2":"flying","stat_total":"253","atk":"112","def":"61","sta":"80","legendary":"0","cp_40":"673"},{"cp_39":"1788","id":"22","name":"Fearow","generation":"1","evolution_stage":"2","family_id":"8","type_1":"normal","type_2":"flying","stat_total":"447","atk":"182","def":"135","sta":"130","legendary":"0","cp_40":"1814"},{"cp_39":"767","id":"23","name":"Ekans","generation":"1","evolution_stage":"1","family_id":"9","type_1":"poison","type_2":"","stat_total":"282","atk":"110","def":"102","sta":"70","legendary":"0","cp_40":"778"},{"cp_39":"1712","id":"24","name":"Arbok","generation":"1","evolution_stage":"2","family_id":"9","type_1":"poison","type_2":"","stat_total":"445","atk":"167","def":"158","sta":"120","legendary":"0","cp_40":"1737"},{"cp_39":"776","id":"25","name":"Pikachu","generation":"1","evolution_stage":"1","family_id":"10","type_1":"electric","type_2":"","stat_total":"283","atk":"112","def":"101","sta":"70","legendary":"0","cp_40":"787"},{"cp_39":"1996","id":"26","name":"Raichu","generation":"1","evolution_stage":"2","family_id":"10","type_1":"electric","type_2":"","stat_total":"478","atk":"193","def":"165","sta":"120","legendary":"0","cp_40":"2025"},{"cp_39":"1177","id":"27","name":"Sandshrew","generation":"1","evolution_stage":"1","family_id":"11","type_1":"ground","type_2":"","stat_total":"371","atk":"126","def":"145","sta":"100","legendary":"0","cp_40":"1194"},{"cp_39":"2294","id":"28","name":"Sandslash","generation":"1","evolution_stage":"2","family_id":"11","type_1":"ground","type_2":"","stat_total":"534","atk":"182","def":"202","sta":"150","legendary":"0","cp_40":"2328"},{"cp_39":"725","id":"29","name":"Nidoran F","generation":"1","evolution_stage":"1","family_id":"12","type_1":"poison","type_2":"","stat_total":"290","atk":"86","def":"94","sta":"110","legendary":"0","cp_40":"736"},{"cp_39":"1201","id":"30","name":"Nidorina","generation":"1","evolution_stage":"2","family_id":"12","type_1":"poison","type_2":"","stat_total":"383","atk":"117","def":"126","sta":"140","legendary":"0","cp_40":"1218"},{"cp_39":"2304","id":"31","name":"Nidoqueen","generation":"1","evolution_stage":"3","family_id":"12","type_1":"poison","type_2":"ground","stat_total":"534","atk":"180","def":"174","sta":"180","legendary":"0","cp_40":"2338"},{"cp_39":"729","id":"32","name":"Nidoran M","generation":"1","evolution_stage":"1","family_id":"13","type_1":"poison","type_2":"","stat_total":"273","atk":"105","def":"76","sta":"92","legendary":"0","cp_40":"739"},{"cp_39":"1234","id":"33","name":"Nidorino","generation":"1","evolution_stage":"2","family_id":"13","type_1":"poison","type_2":"","stat_total":"371","atk":"137","def":"112","sta":"122","legendary":"0","cp_40":"1252"},{"cp_39":"2352","id":"34","name":"Nidoking","generation":"1","evolution_stage":"3","family_id":"13","type_1":"poison","type_2":"ground","stat_total":"523","atk":"204","def":"157","sta":"162","legendary":"0","cp_40":"2386"},{"cp_39":"1070","id":"35","name":"Clefairy","generation":"1","evolution_stage":"1","family_id":"14","type_1":"fairy","type_2":"","stat_total":"363","atk":"107","def":"116","sta":"140","legendary":"0","cp_40":"1085"},{"cp_39":"2320","id":"36","name":"Clefable","generation":"1","evolution_stage":"2","family_id":"14","type_1":"fairy","type_2":"","stat_total":"539","atk":"178","def":"171","sta":"190","legendary":"0","cp_40":"2353"},{"cp_39":"763","id":"37","name":"Vulpix","generation":"1","evolution_stage":"1","family_id":"15","type_1":"fire","type_2":"","stat_total":"294","atk":"96","def":"122","sta":"76","legendary":"0","cp_40":"774"},{"cp_39":"2127","id":"38","name":"Ninetales","generation":"1","evolution_stage":"2","family_id":"15","type_1":"fire","type_2":"","stat_total":"519","atk":"169","def":"204","sta":"146","legendary":"0","cp_40":"2157"},{"cp_39":"703","id":"39","name":"Jigglypuff","generation":"1","evolution_stage":"1","family_id":"16","type_1":"normal","type_2":"fairy","stat_total":"354","atk":"80","def":"44","sta":"230","legendary":"0","cp_40":"713"},{"cp_39":"1879","id":"40","name":"Wigglytuff","generation":"1","evolution_stage":"2","family_id":"16","type_1":"normal","type_2":"fairy","stat_total":"529","atk":"156","def":"93","sta":"280","legendary":"0","cp_40":"1906"},{"cp_39":"560","id":"41","name":"Zubat","generation":"1","evolution_stage":"1","family_id":"17","type_1":"poison","type_2":"flying","stat_total":"239","atk":"83","def":"76","sta":"80","legendary":"0","cp_40":"569"},{"cp_39":"1804","id":"42","name":"Golbat","generation":"1","evolution_stage":"2","family_id":"17","type_1":"poison","type_2":"flying","stat_total":"464","atk":"161","def":"153","sta":"150","legendary":"0","cp_40":"1830"},{"cp_39":"1054","id":"43","name":"Oddish","generation":"1","evolution_stage":"1","family_id":"18","type_1":"grass","type_2":"poison","stat_total":"337","atk":"131","def":"116","sta":"90","legendary":"0","cp_40":"1069"},{"cp_39":"1491","id":"44","name":"Gloom","generation":"1","evolution_stage":"2","family_id":"18","type_1":"grass","type_2":"poison","stat_total":"412","atk":"153","def":"139","sta":"120","legendary":"0","cp_40":"1512"},{"cp_39":"2334","id":"45","name":"Vileplume","generation":"1","evolution_stage":"3","family_id":"18","type_1":"grass","type_2":"poison","stat_total":"522","atk":"202","def":"170","sta":"150","legendary":"0","cp_40":"2367"},{"cp_39":"824","id":"46","name":"Paras","generation":"1","evolution_stage":"1","family_id":"19","type_1":"bug","type_2":"grass","stat_total":"290","atk":"121","def":"99","sta":"70","legendary":"0","cp_40":"836"},{"cp_39":"1633","id":"47","name":"Parasect","generation":"1","evolution_stage":"2","family_id":"19","type_1":"bug","type_2":"grass","stat_total":"431","atk":"165","def":"146","sta":"120","legendary":"0","cp_40":"1657"},{"cp_39":"889","id":"48","name":"Venonat","generation":"1","evolution_stage":"1","family_id":"20","type_1":"bug","type_2":"poison","stat_total":"322","atk":"100","def":"102","sta":"120","legendary":"0","cp_40":"902"},{"cp_39":"1910","id":"49","name":"Venomoth","generation":"1","evolution_stage":"2","family_id":"20","type_1":"bug","type_2":"poison","stat_total":"469","atk":"179","def":"150","sta":"140","legendary":"0","cp_40":"1937"},{"cp_39":"458","id":"50","name":"Diglett","generation":"1","evolution_stage":"1","family_id":"21","type_1":"ground","type_2":"","stat_total":"217","atk":"109","def":"88","sta":"20","legendary":"0","cp_40":"465"},{"cp_39":"1314","id":"51","name":"Dugtrio","generation":"1","evolution_stage":"2","family_id":"21","type_1":"ground","type_2":"","stat_total":"384","atk":"167","def":"147","sta":"70","legendary":"0","cp_40":"1333"},{"cp_39":"629","id":"52","name":"Meowth","generation":"1","evolution_stage":"1","family_id":"23","type_1":"normal","type_2":"","stat_total":"253","atk":"92","def":"81","sta":"80","legendary":"0","cp_40":"638"},{"cp_39":"1517","id":"53","name":"Persian","generation":"1","evolution_stage":"2","family_id":"23","type_1":"normal","type_2":"","stat_total":"419","atk":"150","def":"139","sta":"130","legendary":"0","cp_40":"1539"},{"cp_39":"952","id":"54","name":"Psyduck","generation":"1","evolution_stage":"1","family_id":"24","type_1":"water","type_2":"","stat_total":"318","atk":"122","def":"96","sta":"100","legendary":"0","cp_40":"966"},{"cp_39":"2238","id":"55","name":"Golduck","generation":"1","evolution_stage":"2","family_id":"24","type_1":"water","type_2":"","stat_total":"514","atk":"191","def":"163","sta":"160","legendary":"0","cp_40":"2270"},{"cp_39":"987","id":"56","name":"Mankey","generation":"1","evolution_stage":"1","family_id":"25","type_1":"fighting","type_2":"","stat_total":"315","atk":"148","def":"87","sta":"80","legendary":"0","cp_40":"1002"},{"cp_39":"2075","id":"57","name":"Primeape","generation":"1","evolution_stage":"2","family_id":"25","type_1":"fighting","type_2":"","stat_total":"481","atk":"207","def":"144","sta":"130","legendary":"0","cp_40":"2105"},{"cp_39":"1095","id":"58","name":"Growlithe","generation":"1","evolution_stage":"1","family_id":"26","type_1":"fire","type_2":"","stat_total":"342","atk":"136","def":"96","sta":"110","legendary":"0","cp_40":"1110"},{"cp_39":"2799","id":"59","name":"Arcanine","generation":"1","evolution_stage":"2","family_id":"26","type_1":"fire","type_2":"","stat_total":"573","atk":"227","def":"166","sta":"180","legendary":"0","cp_40":"2839"},{"cp_39":"685","id":"60","name":"Poliwag","generation":"1","evolution_stage":"1","family_id":"27","type_1":"water","type_2":"","stat_total":"263","atk":"101","def":"82","sta":"80","legendary":"0","cp_40":"695"},{"cp_39":"1294","id":"61","name":"Poliwhirl","generation":"1","evolution_stage":"2","family_id":"27","type_1":"water","type_2":"","stat_total":"390","atk":"130","def":"130","sta":"130","legendary":"0","cp_40":"1313"},{"cp_39":"2407","id":"62","name":"Poliwrath","generation":"1","evolution_stage":"3","family_id":"27","type_1":"water","type_2":"fighting","stat_total":"549","atk":"182","def":"187","sta":"180","legendary":"0","cp_40":"2441"},{"cp_39":"1132","id":"63","name":"Abra","generation":"1","evolution_stage":"1","family_id":"28","type_1":"psychic","type_2":"","stat_total":"348","atk":"195","def":"103","sta":"50","legendary":"0","cp_40":"1148"},{"cp_39":"1833","id":"64","name":"Kadabra","generation":"1","evolution_stage":"2","family_id":"28","type_1":"psychic","type_2":"","stat_total":"450","atk":"232","def":"138","sta":"80","legendary":"0","cp_40":"1859"},{"cp_39":"2845","id":"65","name":"Alakazam","generation":"1","evolution_stage":"3","family_id":"28","type_1":"psychic","type_2":"","stat_total":"575","atk":"271","def":"194","sta":"110","legendary":"0","cp_40":"2887"},{"cp_39":"1182","id":"66","name":"Machop","generation":"1","evolution_stage":"1","family_id":"29","type_1":"fighting","type_2":"","stat_total":"365","atk":"137","def":"88","sta":"140","legendary":"0","cp_40":"1199"},{"cp_39":"1882","id":"67","name":"Machoke","generation":"1","evolution_stage":"2","family_id":"29","type_1":"fighting","type_2":"","stat_total":"467","atk":"177","def":"130","sta":"160","legendary":"0","cp_40":"1910"},{"cp_39":"2848","id":"68","name":"Machamp","generation":"1","evolution_stage":"3","family_id":"29","type_1":"fighting","type_2":"","stat_total":"576","atk":"234","def":"162","sta":"180","legendary":"0","cp_40":"2889"},{"cp_39":"903","id":"69","name":"Bellsprout","generation":"1","evolution_stage":"1","family_id":"30","type_1":"grass","type_2":"poison","stat_total":"303","atk":"139","def":"64","sta":"100","legendary":"0","cp_40":"916"},{"cp_39":"1453","id":"70","name":"Weepinbell","generation":"1","evolution_stage":"2","family_id":"30","type_1":"grass","type_2":"poison","stat_total":"397","atk":"172","def":"95","sta":"130","legendary":"0","cp_40":"1475"},{"cp_39":"2236","id":"71","name":"Victreebel","generation":"1","evolution_stage":"3","family_id":"30","type_1":"grass","type_2":"poison","stat_total":"505","atk":"207","def":"138","sta":"160","legendary":"0","cp_40":"2268"},{"cp_39":"943","id":"72","name":"Tentacool","generation":"1","evolution_stage":"1","family_id":"31","type_1":"water","type_2":"poison","stat_total":"359","atk":"97","def":"182","sta":"80","legendary":"0","cp_40":"956"},{"cp_39":"2340","id":"73","name":"Tentacruel","generation":"1","evolution_stage":"2","family_id":"31","type_1":"water","type_2":"poison","stat_total":"563","atk":"166","def":"237","sta":"160","legendary":"0","cp_40":"2374"},{"cp_39":"1176","id":"74","name":"Geodude","generation":"1","evolution_stage":"1","family_id":"32","type_1":"rock","type_2":"ground","stat_total":"375","atk":"132","def":"163","sta":"80","legendary":"0","cp_40":"1193"},{"cp_39":"1789","id":"75","name":"Graveler","generation":"1","evolution_stage":"2","family_id":"32","type_1":"rock","type_2":"ground","stat_total":"470","atk":"164","def":"196","sta":"110","legendary":"0","cp_40":"1815"},{"cp_39":"2875","id":"76","name":"Golem","generation":"1","evolution_stage":"3","family_id":"32","type_1":"rock","type_2":"ground","stat_total":"600","atk":"211","def":"229","sta":"160","legendary":"0","cp_40":"2916"},{"cp_39":"1480","id":"77","name":"Ponyta","generation":"1","evolution_stage":"1","family_id":"33","type_1":"fire","type_2":"","stat_total":"402","atk":"170","def":"132","sta":"100","legendary":"0","cp_40":"1502"},{"cp_39":"2220","id":"78","name":"Rapidash","generation":"1","evolution_stage":"2","family_id":"33","type_1":"fire","type_2":"","stat_total":"504","atk":"207","def":"167","sta":"130","legendary":"0","cp_40":"2252"},{"cp_39":"1187","id":"79","name":"Slowpoke","generation":"1","evolution_stage":"1","family_id":"34","type_1":"water","type_2":"psychic","stat_total":"398","atk":"109","def":"109","sta":"180","legendary":"0","cp_40":"1204"},{"cp_39":"2446","id":"80","name":"Slowbro","generation":"1","evolution_stage":"2","family_id":"34","type_1":"water","type_2":"psychic","stat_total":"561","atk":"177","def":"194","sta":"190","legendary":"0","cp_40":"2482"},{"cp_39":"1068","id":"81","name":"Magnemite","generation":"1","evolution_stage":"1","family_id":"35","type_1":"electric","type_2":"steel","stat_total":"343","atk":"165","def":"128","sta":"50","legendary":"0","cp_40":"1083"},{"cp_39":"2205","id":"82","name":"Magneton","generation":"1","evolution_stage":"2","family_id":"35","type_1":"electric","type_2":"steel","stat_total":"505","atk":"223","def":"182","sta":"100","legendary":"0","cp_40":"2237"},{"cp_39":"1076","id":"83","name":"Farfetchd","generation":"1","evolution_stage":"1","family_id":"36","type_1":"normal","type_2":"flying","stat_total":"346","atk":"124","def":"118","sta":"104","legendary":"0","cp_40":"1092"},{"cp_39":"996","id":"84","name":"Doduo","generation":"1","evolution_stage":"1","family_id":"37","type_1":"normal","type_2":"flying","stat_total":"316","atk":"158","def":"88","sta":"70","legendary":"0","cp_40":"1011"},{"cp_39":"2108","id":"85","name":"Dodrio","generation":"1","evolution_stage":"2","family_id":"37","type_1":"normal","type_2":"flying","stat_total":"483","atk":"218","def":"145","sta":"120","legendary":"0","cp_40":"2138"},{"cp_39":"886","id":"86","name":"Seel","generation":"1","evolution_stage":"1","family_id":"38","type_1":"water","type_2":"","stat_total":"343","atk":"85","def":"128","sta":"130","legendary":"0","cp_40":"899"},{"cp_39":"1867","id":"87","name":"Dewgong","generation":"1","evolution_stage":"2","family_id":"38","type_1":"water","type_2":"ice","stat_total":"503","atk":"139","def":"184","sta":"180","legendary":"0","cp_40":"1894"},{"cp_39":"1251","id":"88","name":"Grimer","generation":"1","evolution_stage":"1","family_id":"39","type_1":"poison","type_2":"","stat_total":"385","atk":"135","def":"90","sta":"160","legendary":"0","cp_40":"1269"},{"cp_39":"2670","id":"89","name":"Muk","generation":"1","evolution_stage":"2","family_id":"39","type_1":"poison","type_2":"","stat_total":"584","atk":"190","def":"184","sta":"210","legendary":"0","cp_40":"2709"},{"cp_39":"944","id":"90","name":"Shellder","generation":"1","evolution_stage":"1","family_id":"40","type_1":"water","type_2":"","stat_total":"344","atk":"116","def":"168","sta":"60","legendary":"0","cp_40":"958"},{"cp_39":"2439","id":"91","name":"Cloyster","generation":"1","evolution_stage":"2","family_id":"40","type_1":"water","type_2":"ice","stat_total":"609","atk":"186","def":"323","sta":"100","legendary":"0","cp_40":"2475"},{"cp_39":"988","id":"92","name":"Gastly","generation":"1","evolution_stage":"1","family_id":"41","type_1":"ghost","type_2":"poison","stat_total":"316","atk":"186","def":"70","sta":"60","legendary":"0","cp_40":"1002"},{"cp_39":"1692","id":"93","name":"Haunter","generation":"1","evolution_stage":"2","family_id":"41","type_1":"ghost","type_2":"poison","stat_total":"425","atk":"223","def":"112","sta":"90","legendary":"0","cp_40":"1716"},{"cp_39":"2581","id":"94","name":"Gengar","generation":"1","evolution_stage":"3","family_id":"41","type_1":"ghost","type_2":"poison","stat_total":"537","atk":"261","def":"156","sta":"120","legendary":"0","cp_40":"2619"},{"cp_39":"988","id":"95","name":"Onix","generation":"1","evolution_stage":"1","family_id":"42","type_1":"rock","type_2":"ground","stat_total":"443","atk":"85","def":"288","sta":"70","legendary":"0","cp_40":"1002"},{"cp_39":"978","id":"96","name":"Drowzee","generation":"1","evolution_stage":"1","family_id":"43","type_1":"psychic","type_2":"","stat_total":"367","atk":"89","def":"158","sta":"120","legendary":"0","cp_40":"992"},{"cp_39":"2019","id":"97","name":"Hypno","generation":"1","evolution_stage":"2","family_id":"43","type_1":"psychic","type_2":"","stat_total":"529","atk":"144","def":"215","sta":"170","legendary":"0","cp_40":"2048"},{"cp_39":"1366","id":"98","name":"Krabby","generation":"1","evolution_stage":"1","family_id":"44","type_1":"water","type_2":"","stat_total":"397","atk":"181","def":"156","sta":"60","legendary":"0","cp_40":"1386"},{"cp_39":"2656","id":"99","name":"Kingler","generation":"1","evolution_stage":"2","family_id":"44","type_1":"water","type_2":"","stat_total":"564","atk":"240","def":"214","sta":"110","legendary":"0","cp_40":"2694"},{"cp_39":"845","id":"100","name":"Voltorb","generation":"1","evolution_stage":"1","family_id":"45","type_1":"electric","type_2":"","stat_total":"303","atk":"109","def":"114","sta":"80","legendary":"0","cp_40":"857"},{"cp_39":"1873","id":"101","name":"Electrode","generation":"1","evolution_stage":"2","family_id":"45","type_1":"electric","type_2":"","stat_total":"472","atk":"173","def":"179","sta":"120","legendary":"0","cp_40":"1900"},{"cp_39":"1086","id":"102","name":"Exeggcute","generation":"1","evolution_stage":"1","family_id":"46","type_1":"grass","type_2":"psychic","stat_total":"367","atk":"107","def":"140","sta":"120","legendary":"0","cp_40":"1102"},{"cp_39":"2875","id":"103","name":"Exeggutor","generation":"1","evolution_stage":"2","family_id":"46","type_1":"grass","type_2":"psychic","stat_total":"581","atk":"233","def":"158","sta":"190","legendary":"0","cp_40":"2916"},{"cp_39":"930","id":"104","name":"Cubone","generation":"1","evolution_stage":"1","family_id":"47","type_1":"ground","type_2":"","stat_total":"355","atk":"90","def":"165","sta":"100","legendary":"0","cp_40":"943"},{"cp_39":"1667","id":"105","name":"Marowak","generation":"1","evolution_stage":"2","family_id":"47","type_1":"ground","type_2":"","stat_total":"464","atk":"144","def":"200","sta":"120","legendary":"0","cp_40":"1691"},{"cp_39":"2372","id":"106","name":"Hitmonlee","generation":"1","evolution_stage":"1","family_id":"48","type_1":"fighting","type_2":"","stat_total":"535","atk":"224","def":"211","sta":"100","legendary":"0","cp_40":"2406"},{"cp_39":"2069","id":"107","name":"Hitmonchan","generation":"1","evolution_stage":"1","family_id":"48","type_1":"fighting","type_2":"","stat_total":"505","atk":"193","def":"212","sta":"100","legendary":"0","cp_40":"2098"},{"cp_39":"1303","id":"108","name":"Lickitung","generation":"1","evolution_stage":"1","family_id":"49","type_1":"normal","type_2":"","stat_total":"425","atk":"108","def":"137","sta":"180","legendary":"0","cp_40":"1322"},{"cp_39":"1075","id":"109","name":"Koffing","generation":"1","evolution_stage":"1","family_id":"50","type_1":"poison","type_2":"","stat_total":"363","atk":"119","def":"164","sta":"80","legendary":"0","cp_40":"1091"},{"cp_39":"2152","id":"110","name":"Weezing","generation":"1","evolution_stage":"2","family_id":"50","type_1":"poison","type_2":"","stat_total":"525","atk":"174","def":"221","sta":"130","legendary":"0","cp_40":"2183"},{"cp_39":"1655","id":"111","name":"Rhyhorn","generation":"1","evolution_stage":"1","family_id":"51","type_1":"ground","type_2":"rock","stat_total":"457","atk":"140","def":"157","sta":"160","legendary":"0","cp_40":"1679"},{"cp_39":"3253","id":"112","name":"Rhydon","generation":"1","evolution_stage":"2","family_id":"51","type_1":"ground","type_2":"rock","stat_total":"638","atk":"222","def":"206","sta":"210","legendary":"0","cp_40":"3300"},{"cp_39":"1448","id":"113","name":"Chansey","generation":"1","evolution_stage":"1","family_id":"52","type_1":"normal","type_2":"","stat_total":"736","atk":"60","def":"176","sta":"500","legendary":"0","cp_40":"1469"},{"cp_39":"2177","id":"114","name":"Tangela","generation":"1","evolution_stage":"1","family_id":"53","type_1":"grass","type_2":"","stat_total":"518","atk":"183","def":"205","sta":"130","legendary":"0","cp_40":"2208"},{"cp_39":"2428","id":"115","name":"Kangaskhan","generation":"1","evolution_stage":"1","family_id":"54","type_1":"normal","type_2":"","stat_total":"556","atk":"181","def":"165","sta":"210","legendary":"0","cp_40":"2463"},{"cp_39":"908","id":"116","name":"Horsea","generation":"1","evolution_stage":"1","family_id":"55","type_1":"water","type_2":"","stat_total":"314","atk":"129","def":"125","sta":"60","legendary":"0","cp_40":"921"},{"cp_39":"1951","id":"117","name":"Seadra","generation":"1","evolution_stage":"2","family_id":"55","type_1":"water","type_2":"","stat_total":"479","atk":"187","def":"182","sta":"110","legendary":"0","cp_40":"1979"},{"cp_39":"992","id":"118","name":"Goldeen","generation":"1","evolution_stage":"1","family_id":"56","type_1":"water","type_2":"","stat_total":"328","atk":"123","def":"115","sta":"90","legendary":"0","cp_40":"1006"},{"cp_39":"2011","id":"119","name":"Seaking","generation":"1","evolution_stage":"2","family_id":"56","type_1":"water","type_2":"","stat_total":"489","atk":"175","def":"154","sta":"160","legendary":"0","cp_40":"2040"},{"cp_39":"913","id":"120","name":"Staryu","generation":"1","evolution_stage":"1","family_id":"57","type_1":"water","type_2":"","stat_total":"309","atk":"137","def":"112","sta":"60","legendary":"0","cp_40":"926"},{"cp_39":"2270","id":"121","name":"Starmie","generation":"1","evolution_stage":"2","family_id":"57","type_1":"water","type_2":"psychic","stat_total":"514","atk":"210","def":"184","sta":"120","legendary":"0","cp_40":"2303"},{"cp_39":"1956","id":"122","name":"Mr Mime","generation":"1","evolution_stage":"1","family_id":"58","type_1":"psychic","type_2":"fairy","stat_total":"505","atk":"192","def":"233","sta":"80","legendary":"0","cp_40":"1984"},{"cp_39":"2429","id":"123","name":"Scyther","generation":"1","evolution_stage":"1","family_id":"59","type_1":"bug","type_2":"flying","stat_total":"528","atk":"218","def":"170","sta":"140","legendary":"0","cp_40":"2464"},{"cp_39":"2476","id":"124","name":"Jynx","generation":"1","evolution_stage":"1","family_id":"60","type_1":"ice","type_2":"psychic","stat_total":"535","atk":"223","def":"182","sta":"130","legendary":"0","cp_40":"2512"},{"cp_39":"2165","id":"125","name":"Electabuzz","generation":"1","evolution_stage":"1","family_id":"61","type_1":"electric","type_2":"","stat_total":"501","atk":"198","def":"173","sta":"130","legendary":"0","cp_40":"2196"},{"cp_39":"2222","id":"126","name":"Magmar","generation":"1","evolution_stage":"1","family_id":"62","type_1":"fire","type_2":"","stat_total":"505","atk":"206","def":"169","sta":"130","legendary":"0","cp_40":"2254"},{"cp_39":"2730","id":"127","name":"Pinsir","generation":"1","evolution_stage":"1","family_id":"63","type_1":"bug","type_2":"","stat_total":"565","atk":"238","def":"197","sta":"130","legendary":"0","cp_40":"2770"},{"cp_39":"2452","id":"128","name":"Tauros","generation":"1","evolution_stage":"1","family_id":"64","type_1":"normal","type_2":"","stat_total":"545","atk":"198","def":"197","sta":"150","legendary":"0","cp_40":"2488"},{"cp_39":"217","id":"129","name":"Magikarp","generation":"1","evolution_stage":"1","family_id":"65","type_1":"water","type_2":"","stat_total":"171","atk":"29","def":"102","sta":"40","legendary":"0","cp_40":"220"},{"cp_39":"3234","id":"130","name":"Gyarados","generation":"1","evolution_stage":"2","family_id":"65","type_1":"water","type_2":"flying","stat_total":"624","atk":"237","def":"197","sta":"190","legendary":"0","cp_40":"3281"},{"cp_39":"2566","id":"131","name":"Lapras","generation":"1","evolution_stage":"1","family_id":"66","type_1":"water","type_2":"ice","stat_total":"605","atk":"165","def":"180","sta":"260","legendary":"0","cp_40":"2603"},{"cp_39":"707","id":"132","name":"Ditto","generation":"1","evolution_stage":"1","family_id":"67","type_1":"normal","type_2":"","stat_total":"278","atk":"91","def":"91","sta":"96","legendary":"0","cp_40":"718"},{"cp_39":"955","id":"133","name":"Eevee","generation":"1","evolution_stage":"1","family_id":"68","type_1":"normal","type_2":"","stat_total":"335","atk":"104","def":"121","sta":"110","legendary":"0","cp_40":"969"},{"cp_39":"3112","id":"134","name":"Vaporeon","generation":"1","evolution_stage":"2","family_id":"68","type_1":"water","type_2":"","stat_total":"642","atk":"205","def":"177","sta":"260","legendary":"0","cp_40":"3157"},{"cp_39":"2691","id":"135","name":"Jolteon","generation":"1","evolution_stage":"2","family_id":"68","type_1":"electric","type_2":"","stat_total":"563","atk":"232","def":"201","sta":"130","legendary":"0","cp_40":"2730"},{"cp_39":"2863","id":"136","name":"Flareon","generation":"1","evolution_stage":"2","family_id":"68","type_1":"fire","type_2":"","stat_total":"580","atk":"246","def":"204","sta":"130","legendary":"0","cp_40":"2904"},{"cp_39":"1545","id":"137","name":"Porygon","generation":"1","evolution_stage":"1","family_id":"69","type_1":"normal","type_2":"","stat_total":"422","atk":"153","def":"139","sta":"130","legendary":"0","cp_40":"1567"},{"cp_39":"1326","id":"138","name":"Omanyte","generation":"1","evolution_stage":"1","family_id":"70","type_1":"rock","type_2":"water","stat_total":"399","atk":"155","def":"174","sta":"70","legendary":"0","cp_40":"1345"},{"cp_39":"2647","id":"139","name":"Omastar","generation":"1","evolution_stage":"2","family_id":"70","type_1":"rock","type_2":"water","stat_total":"574","atk":"207","def":"227","sta":"140","legendary":"0","cp_40":"2685"},{"cp_39":"1156","id":"140","name":"Kabuto","generation":"1","evolution_stage":"1","family_id":"71","type_1":"rock","type_2":"water","stat_total":"370","atk":"148","def":"162","sta":"60","legendary":"0","cp_40":"1172"},{"cp_39":"2481","id":"141","name":"Kabutops","generation":"1","evolution_stage":"2","family_id":"71","type_1":"rock","type_2":"water","stat_total":"543","atk":"220","def":"203","sta":"120","legendary":"0","cp_40":"2517"},{"cp_39":"2571","id":"142","name":"Aerodactyl","generation":"1","evolution_stage":"1","family_id":"72","type_1":"rock","type_2":"flying","stat_total":"545","atk":"221","def":"164","sta":"160","legendary":"0","cp_40":"2608"},{"cp_39":"3307","id":"143","name":"Snorlax","generation":"1","evolution_stage":"1","family_id":"73","type_1":"normal","type_2":"","stat_total":"700","atk":"190","def":"190","sta":"320","legendary":"0","cp_40":"3355"},{"cp_39":"2891","id":"144","name":"Articuno","generation":"1","evolution_stage":"1","family_id":"74","type_1":"ice","type_2":"flying","stat_total":"621","atk":"192","def":"249","sta":"180","legendary":"1","cp_40":"2933"},{"cp_39":"3282","id":"145","name":"Zapdos","generation":"1","evolution_stage":"1","family_id":"75","type_1":"electric","type_2":"flying","stat_total":"621","atk":"253","def":"188","sta":"180","legendary":"1","cp_40":"3330"},{"cp_39":"3225","id":"146","name":"Moltres","generation":"1","evolution_stage":"1","family_id":"76","type_1":"fire","type_2":"flying","stat_total":"615","atk":"251","def":"184","sta":"180","legendary":"1","cp_40":"3272"},{"cp_39":"848","id":"147","name":"Dratini","generation":"1","evolution_stage":"1","family_id":"77","type_1":"dragon","type_2":"","stat_total":"295","atk":"119","def":"94","sta":"82","legendary":"0","cp_40":"860"},{"cp_39":"1586","id":"148","name":"Dragonair","generation":"1","evolution_stage":"2","family_id":"77","type_1":"dragon","type_2":"","stat_total":"423","atk":"163","def":"138","sta":"122","legendary":"0","cp_40":"1609"},{"cp_39":"3530","id":"149","name":"Dragonite","generation":"1","evolution_stage":"3","family_id":"77","type_1":"dragon","type_2":"flying","stat_total":"646","atk":"263","def":"201","sta":"182","legendary":"0","cp_40":"3581"},{"cp_39":"3925","id":"150","name":"Mewtwo","generation":"1","evolution_stage":"1","family_id":"78","type_1":"psychic","type_2":"","stat_total":"675","atk":"300","def":"182","sta":"193","legendary":"1","cp_40":"3982"},{"cp_39":"3046","id":"151","name":"Mew","generation":"1","evolution_stage":"1","family_id":"79","type_1":"psychic","type_2":"","stat_total":"620","atk":"210","def":"210","sta":"200","legendary":"2","cp_40":"3090"},{"cp_39":"790","id":"152","name":"Chikorita","generation":"2","evolution_stage":"1","family_id":"80","type_1":"grass","type_2":"","stat_total":"304","atk":"92","def":"122","sta":"90","legendary":"0","cp_40":"801"},{"cp_39":"1277","id":"153","name":"Bayleef","generation":"2","evolution_stage":"2","family_id":"80","type_1":"grass","type_2":"","stat_total":"397","atk":"122","def":"155","sta":"120","legendary":"0","cp_40":"1296"},{"cp_39":"2195","id":"154","name":"Meganium","generation":"2","evolution_stage":"3","family_id":"80","type_1":"grass","type_2":"","stat_total":"530","atk":"168","def":"202","sta":"160","legendary":"0","cp_40":"2227"},{"cp_39":"819","id":"155","name":"Cyndaquil","generation":"2","evolution_stage":"1","family_id":"81","type_1":"fire","type_2":"","stat_total":"290","atk":"116","def":"96","sta":"78","legendary":"0","cp_40":"831"},{"cp_39":"1462","id":"156","name":"Quilava","generation":"2","evolution_stage":"2","family_id":"81","type_1":"fire","type_2":"","stat_total":"403","atk":"158","def":"129","sta":"116","legendary":"0","cp_40":"1484"},{"cp_39":"2648","id":"157","name":"Typhlosion","generation":"2","evolution_stage":"3","family_id":"81","type_1":"fire","type_2":"","stat_total":"555","atk":"223","def":"176","sta":"156","legendary":"0","cp_40":"2686"},{"cp_39":"997","id":"158","name":"Totodile","generation":"2","evolution_stage":"1","family_id":"82","type_1":"water","type_2":"","stat_total":"333","atk":"117","def":"116","sta":"100","legendary":"0","cp_40":"1011"},{"cp_39":"1576","id":"159","name":"Croconaw","generation":"2","evolution_stage":"2","family_id":"82","type_1":"water","type_2":"","stat_total":"431","atk":"150","def":"151","sta":"130","legendary":"0","cp_40":"1598"},{"cp_39":"2682","id":"160","name":"Feraligatr","generation":"2","evolution_stage":"3","family_id":"82","type_1":"water","type_2":"","stat_total":"572","atk":"205","def":"197","sta":"170","legendary":"0","cp_40":"2721"},{"cp_39":"511","id":"161","name":"Sentret","generation":"2","evolution_stage":"1","family_id":"83","type_1":"normal","type_2":"","stat_total":"226","atk":"79","def":"77","sta":"70","legendary":"0","cp_40":"519"},{"cp_39":"1643","id":"162","name":"Furret","generation":"2","evolution_stage":"2","family_id":"83","type_1":"normal","type_2":"","stat_total":"448","atk":"148","def":"130","sta":"170","legendary":"0","cp_40":"1667"},{"cp_39":"631","id":"163","name":"Hoothoot","generation":"2","evolution_stage":"1","family_id":"84","type_1":"normal","type_2":"flying","stat_total":"288","atk":"67","def":"101","sta":"120","legendary":"0","cp_40":"640"},{"cp_39":"2011","id":"164","name":"Noctowl","generation":"2","evolution_stage":"2","family_id":"84","type_1":"normal","type_2":"flying","stat_total":"524","atk":"145","def":"179","sta":"200","legendary":"0","cp_40":"2040"},{"cp_39":"654","id":"165","name":"Ledyba","generation":"2","evolution_stage":"1","family_id":"85","type_1":"bug","type_2":"flying","stat_total":"294","atk":"72","def":"142","sta":"80","legendary":"0","cp_40":"663"},{"cp_39":"1256","id":"166","name":"Ledian","generation":"2","evolution_stage":"2","family_id":"85","type_1":"bug","type_2":"flying","stat_total":"426","atk":"107","def":"209","sta":"110","legendary":"0","cp_40":"1275"},{"cp_39":"675","id":"167","name":"Spinarak","generation":"2","evolution_stage":"1","family_id":"86","type_1":"bug","type_2":"poison","stat_total":"258","atk":"105","def":"73","sta":"80","legendary":"0","cp_40":"685"},{"cp_39":"1613","id":"168","name":"Ariados","generation":"2","evolution_stage":"2","family_id":"86","type_1":"bug","type_2":"poison","stat_total":"429","atk":"161","def":"128","sta":"140","legendary":"0","cp_40":"1636"},{"cp_39":"2431","id":"169","name":"Crobat","generation":"2","evolution_stage":"3","family_id":"17","type_1":"poison","type_2":"flying","stat_total":"542","atk":"194","def":"178","sta":"170","legendary":"0","cp_40":"2466"},{"cp_39":"1052","id":"170","name":"Chinchou","generation":"2","evolution_stage":"1","family_id":"87","type_1":"water","type_2":"electric","stat_total":"362","atk":"106","def":"106","sta":"150","legendary":"0","cp_40":"1067"},{"cp_39":"2047","id":"171","name":"Lanturn","generation":"2","evolution_stage":"2","family_id":"87","type_1":"water","type_2":"electric","stat_total":"542","atk":"146","def":"146","sta":"250","legendary":"0","cp_40":"2077"},{"cp_39":"370","id":"172","name":"Pichu","generation":"2","evolution_stage":"0","family_id":"10","type_1":"electric","type_2":"","stat_total":"180","atk":"77","def":"63","sta":"40","legendary":"0","cp_40":"376"},{"cp_39":"611","id":"173","name":"Cleffa","generation":"2","evolution_stage":"0","family_id":"14","type_1":"fairy","type_2":"","stat_total":"266","atk":"75","def":"91","sta":"100","legendary":"0","cp_40":"620"},{"cp_39":"505","id":"174","name":"Igglybuff","generation":"2","evolution_stage":"0","family_id":"16","type_1":"normal","type_2":"fairy","stat_total":"283","atk":"69","def":"34","sta":"180","legendary":"0","cp_40":"512"},{"cp_39":"532","id":"175","name":"Togepi","generation":"2","evolution_stage":"0","family_id":"88","type_1":"fairy","type_2":"","stat_total":"253","atk":"67","def":"116","sta":"70","legendary":"0","cp_40":"540"},{"cp_39":"1521","id":"176","name":"Togetic","generation":"2","evolution_stage":"1","family_id":"88","type_1":"fairy","type_2":"flying","stat_total":"440","atk":"139","def":"191","sta":"110","legendary":"0","cp_40":"1543"},{"cp_39":"911","id":"177","name":"Natu","generation":"2","evolution_stage":"1","family_id":"89","type_1":"psychic","type_2":"flying","stat_total":"303","atk":"134","def":"89","sta":"80","legendary":"0","cp_40":"925"},{"cp_39":"1947","id":"178","name":"Xatu","generation":"2","evolution_stage":"2","family_id":"89","type_1":"psychic","type_2":"flying","stat_total":"468","atk":"192","def":"146","sta":"130","legendary":"0","cp_40":"1975"},{"cp_39":"874","id":"179","name":"Mareep","generation":"2","evolution_stage":"1","family_id":"90","type_1":"electric","type_2":"","stat_total":"306","atk":"114","def":"82","sta":"110","legendary":"0","cp_40":"887"},{"cp_39":"1382","id":"180","name":"Flaaffy","generation":"2","evolution_stage":"2","family_id":"90","type_1":"electric","type_2":"","stat_total":"397","atk":"145","def":"112","sta":"140","legendary":"0","cp_40":"1402"},{"cp_39":"2656","id":"181","name":"Ampharos","generation":"2","evolution_stage":"3","family_id":"90","type_1":"electric","type_2":"","stat_total":"563","atk":"211","def":"172","sta":"180","legendary":"0","cp_40":"2695"},{"cp_39":"2078","id":"182","name":"Bellossom","generation":"2","evolution_stage":"3","family_id":"18","type_1":"grass","type_2":"","stat_total":"508","atk":"169","def":"189","sta":"150","legendary":"0","cp_40":"2108"},{"cp_39":"414","id":"183","name":"Marill","generation":"2","evolution_stage":"1","family_id":"91","type_1":"water","type_2":"fairy","stat_total":"270","atk":"37","def":"93","sta":"140","legendary":"0","cp_40":"420"},{"cp_39":"1481","id":"184","name":"Azumarill","generation":"2","evolution_stage":"2","family_id":"91","type_1":"water","type_2":"fairy","stat_total":"464","atk":"112","def":"152","sta":"200","legendary":"0","cp_40":"1503"},{"cp_39":"2035","id":"185","name":"Sudowoodo","generation":"2","evolution_stage":"1","family_id":"92","type_1":"rock","type_2":"","stat_total":"505","atk":"167","def":"198","sta":"140","legendary":"0","cp_40":"2065"},{"cp_39":"2337","id":"186","name":"Politoed","generation":"2","evolution_stage":"2","family_id":"27","type_1":"water","type_2":"","stat_total":"546","atk":"174","def":"192","sta":"180","legendary":"0","cp_40":"2371"},{"cp_39":"501","id":"187","name":"Hoppip","generation":"2","evolution_stage":"1","family_id":"93","type_1":"grass","type_2":"flying","stat_total":"238","atk":"67","def":"101","sta":"70","legendary":"0","cp_40":"508"},{"cp_39":"869","id":"188","name":"Skiploom","generation":"2","evolution_stage":"2","family_id":"93","type_1":"grass","type_2":"flying","stat_total":"328","atk":"91","def":"127","sta":"110","legendary":"0","cp_40":"882"},{"cp_39":"1531","id":"189","name":"Jumpluff","generation":"2","evolution_stage":"3","family_id":"93","type_1":"grass","type_2":"flying","stat_total":"465","atk":"118","def":"197","sta":"150","legendary":"0","cp_40":"1553"},{"cp_39":"1171","id":"190","name":"Aipom","generation":"2","evolution_stage":"1","family_id":"94","type_1":"normal","type_2":"","stat_total":"358","atk":"136","def":"112","sta":"110","legendary":"0","cp_40":"1188"},{"cp_39":"312","id":"191","name":"Sunkern","generation":"2","evolution_stage":"1","family_id":"95","type_1":"grass","type_2":"","stat_total":"170","atk":"55","def":"55","sta":"60","legendary":"0","cp_40":"316"},{"cp_39":"2019","id":"192","name":"Sunflora","generation":"2","evolution_stage":"2","family_id":"95","type_1":"grass","type_2":"","stat_total":"483","atk":"185","def":"148","sta":"150","legendary":"0","cp_40":"2048"},{"cp_39":"1308","id":"193","name":"Yanma","generation":"2","evolution_stage":"1","family_id":"96","type_1":"bug","type_2":"flying","stat_total":"378","atk":"154","def":"94","sta":"130","legendary":"0","cp_40":"1326"},{"cp_39":"587","id":"194","name":"Wooper","generation":"2","evolution_stage":"1","family_id":"97","type_1":"water","type_2":"ground","stat_total":"260","atk":"75","def":"75","sta":"110","legendary":"0","cp_40":"596"},{"cp_39":"1902","id":"195","name":"Quagsire","generation":"2","evolution_stage":"2","family_id":"97","type_1":"water","type_2":"ground","stat_total":"494","atk":"152","def":"152","sta":"190","legendary":"0","cp_40":"1929"},{"cp_39":"2958","id":"196","name":"Espeon","generation":"2","evolution_stage":"2","family_id":"68","type_1":"psychic","type_2":"","stat_total":"585","atk":"261","def":"194","sta":"130","legendary":"0","cp_40":"3000"},{"cp_39":"2023","id":"197","name":"Umbreon","generation":"2","evolution_stage":"2","family_id":"68","type_1":"dark","type_2":"","stat_total":"566","atk":"126","def":"250","sta":"190","legendary":"0","cp_40":"2052"},{"cp_39":"1372","id":"198","name":"Murkrow","generation":"2","evolution_stage":"1","family_id":"98","type_1":"dark","type_2":"flying","stat_total":"382","atk":"175","def":"87","sta":"120","legendary":"0","cp_40":"1392"},{"cp_39":"2446","id":"199","name":"Slowking","generation":"2","evolution_stage":"2","family_id":"34","type_1":"water","type_2":"psychic","stat_total":"561","atk":"177","def":"194","sta":"190","legendary":"0","cp_40":"2482"},{"cp_39":"1756","id":"200","name":"Misdreavus","generation":"2","evolution_stage":"1","family_id":"99","type_1":"ghost","type_2":"","stat_total":"454","atk":"167","def":"167","sta":"120","legendary":"0","cp_40":"1781"},{"cp_39":"1008","id":"201","name":"Unown","generation":"2","evolution_stage":"1","family_id":"100","type_1":"psychic","type_2":"","stat_total":"323","atk":"136","def":"91","sta":"96","legendary":"0","cp_40":"1022"},{"cp_39":"1009","id":"202","name":"Wobbuffet","generation":"2","evolution_stage":"1","family_id":"101","type_1":"psychic","type_2":"","stat_total":"546","atk":"60","def":"106","sta":"380","legendary":"0","cp_40":"1024"},{"cp_39":"1836","id":"203","name":"Girafarig","generation":"2","evolution_stage":"1","family_id":"102","type_1":"normal","type_2":"psychic","stat_total":"455","atk":"182","def":"133","sta":"140","legendary":"0","cp_40":"1863"},{"cp_39":"1030","id":"204","name":"Pineco","generation":"2","evolution_stage":"1","family_id":"103","type_1":"bug","type_2":"","stat_total":"354","atk":"108","def":"146","sta":"100","legendary":"0","cp_40":"1045"},{"cp_39":"2231","id":"205","name":"Forretress","generation":"2","evolution_stage":"2","family_id":"103","type_1":"bug","type_2":"steel","stat_total":"553","atk":"161","def":"242","sta":"150","legendary":"0","cp_40":"2263"},{"cp_39":"1592","id":"206","name":"Dunsparce","generation":"2","evolution_stage":"1","family_id":"104","type_1":"normal","type_2":"","stat_total":"462","atk":"131","def":"131","sta":"200","legendary":"0","cp_40":"1615"},{"cp_39":"1733","id":"207","name":"Gligar","generation":"2","evolution_stage":"1","family_id":"105","type_1":"ground","type_2":"flying","stat_total":"477","atk":"143","def":"204","sta":"130","legendary":"0","cp_40":"1758"},{"cp_39":"2404","id":"208","name":"Steelix","generation":"2","evolution_stage":"2","family_id":"42","type_1":"steel","type_2":"ground","stat_total":"631","atk":"148","def":"333","sta":"150","legendary":"0","cp_40":"2439"},{"cp_39":"1108","id":"209","name":"Snubbull","generation":"2","evolution_stage":"1","family_id":"106","type_1":"fairy","type_2":"","stat_total":"346","atk":"137","def":"89","sta":"120","legendary":"0","cp_40":"1124"},{"cp_39":"2406","id":"210","name":"Granbull","generation":"2","evolution_stage":"2","family_id":"106","type_1":"fairy","type_2":"","stat_total":"529","atk":"212","def":"137","sta":"180","legendary":"0","cp_40":"2440"},{"cp_39":"1883","id":"211","name":"Qwilfish","generation":"2","evolution_stage":"1","family_id":"107","type_1":"water","type_2":"poison","stat_total":"462","atk":"184","def":"148","sta":"130","legendary":"0","cp_40":"1910"},{"cp_39":"2761","id":"212","name":"Scizor","generation":"2","evolution_stage":"2","family_id":"59","type_1":"bug","type_2":"steel","stat_total":"567","atk":"236","def":"191","sta":"140","legendary":"0","cp_40":"2801"},{"cp_39":"296","id":"213","name":"Shuckle","generation":"2","evolution_stage":"1","family_id":"108","type_1":"bug","type_2":"rock","stat_total":"453","atk":"17","def":"396","sta":"40","legendary":"0","cp_40":"300"},{"cp_39":"2896","id":"214","name":"Heracross","generation":"2","evolution_stage":"1","family_id":"109","type_1":"bug","type_2":"fighting","stat_total":"583","atk":"234","def":"189","sta":"160","legendary":"0","cp_40":"2938"},{"cp_39":"1841","id":"215","name":"Sneasel","generation":"2","evolution_stage":"1","family_id":"110","type_1":"dark","type_2":"ice","stat_total":"456","atk":"189","def":"157","sta":"110","legendary":"0","cp_40":"1868"},{"cp_39":"1167","id":"216","name":"Teddiursa","generation":"2","evolution_stage":"1","family_id":"111","type_1":"normal","type_2":"","stat_total":"355","atk":"142","def":"93","sta":"120","legendary":"0","cp_40":"1184"},{"cp_39":"2720","id":"217","name":"Ursaring","generation":"2","evolution_stage":"2","family_id":"111","type_1":"normal","type_2":"","stat_total":"560","atk":"236","def":"144","sta":"180","legendary":"0","cp_40":"2760"},{"cp_39":"740","id":"218","name":"Slugma","generation":"2","evolution_stage":"1","family_id":"112","type_1":"fire","type_2":"","stat_total":"269","atk":"118","def":"71","sta":"80","legendary":"0","cp_40":"750"},{"cp_39":"1521","id":"219","name":"Magcargo","generation":"2","evolution_stage":"2","family_id":"112","type_1":"fire","type_2":"rock","stat_total":"448","atk":"139","def":"209","sta":"100","legendary":"0","cp_40":"1543"},{"cp_39":"653","id":"220","name":"Swinub","generation":"2","evolution_stage":"1","family_id":"113","type_1":"ice","type_2":"ground","stat_total":"264","atk":"90","def":"74","sta":"100","legendary":"0","cp_40":"663"},{"cp_39":"2252","id":"221","name":"Piloswine","generation":"2","evolution_stage":"2","family_id":"113","type_1":"ice","type_2":"ground","stat_total":"528","atk":"181","def":"147","sta":"200","legendary":"0","cp_40":"2284"},{"cp_39":"1197","id":"222","name":"Corsola","generation":"2","evolution_stage":"1","family_id":"114","type_1":"water","type_2":"rock","stat_total":"384","atk":"118","def":"156","sta":"110","legendary":"0","cp_40":"1214"},{"cp_39":"738","id":"223","name":"Remoraid","generation":"2","evolution_stage":"1","family_id":"115","type_1":"water","type_2":"","stat_total":"266","atk":"127","def":"69","sta":"70","legendary":"0","cp_40":"749"},{"cp_39":"2094","id":"224","name":"Octillery","generation":"2","evolution_stage":"2","family_id":"115","type_1":"water","type_2":"","stat_total":"488","atk":"197","def":"141","sta":"150","legendary":"0","cp_40":"2124"},{"cp_39":"924","id":"225","name":"Delibird","generation":"2","evolution_stage":"1","family_id":"116","type_1":"ice","type_2":"flying","stat_total":"308","atk":"128","def":"90","sta":"90","legendary":"0","cp_40":"937"},{"cp_39":"2003","id":"226","name":"Mantine","generation":"2","evolution_stage":"1","family_id":"117","type_1":"water","type_2":"flying","stat_total":"538","atk":"148","def":"260","sta":"130","legendary":"0","cp_40":"2032"},{"cp_39":"2003","id":"227","name":"Skarmory","generation":"2","evolution_stage":"1","family_id":"118","type_1":"steel","type_2":"flying","stat_total":"538","atk":"148","def":"260","sta":"130","legendary":"0","cp_40":"2032"},{"cp_39":"1094","id":"228","name":"Houndour","generation":"2","evolution_stage":"1","family_id":"119","type_1":"dark","type_2":"fire","stat_total":"335","atk":"152","def":"93","sta":"90","legendary":"0","cp_40":"1110"},{"cp_39":"2493","id":"229","name":"Houndoom","generation":"2","evolution_stage":"2","family_id":"119","type_1":"dark","type_2":"fire","stat_total":"533","atk":"224","def":"159","sta":"150","legendary":"0","cp_40":"2529"},{"cp_39":"2389","id":"230","name":"Kingdra","generation":"2","evolution_stage":"3","family_id":"55","type_1":"water","type_2":"dragon","stat_total":"538","atk":"194","def":"194","sta":"150","legendary":"0","cp_40":"2424"},{"cp_39":"1158","id":"231","name":"Phanpy","generation":"2","evolution_stage":"1","family_id":"120","type_1":"ground","type_2":"","stat_total":"394","atk":"107","def":"107","sta":"180","legendary":"0","cp_40":"1175"},{"cp_39":"2979","id":"232","name":"Donphan","generation":"2","evolution_stage":"2","family_id":"120","type_1":"ground","type_2":"","stat_total":"608","atk":"214","def":"214","sta":"180","legendary":"0","cp_40":"3022"},{"cp_39":"2509","id":"233","name":"Porygon2","generation":"2","evolution_stage":"2","family_id":"69","type_1":"normal","type_2":"","stat_total":"551","atk":"198","def":"183","sta":"170","legendary":"0","cp_40":"2546"},{"cp_39":"1960","id":"234","name":"Stantler","generation":"2","evolution_stage":"1","family_id":"121","type_1":"normal","type_2":"","stat_total":"470","atk":"192","def":"132","sta":"146","legendary":"0","cp_40":"1988"},{"cp_39":"384","id":"235","name":"Smeargle","generation":"2","evolution_stage":"1","family_id":"122","type_1":"normal","type_2":"","stat_total":"238","atk":"40","def":"88","sta":"110","legendary":"0","cp_40":"389"},{"cp_39":"398","id":"236","name":"Tyrogue","generation":"2","evolution_stage":"0","family_id":"48","type_1":"fighting","type_2":"","stat_total":"198","atk":"64","def":"64","sta":"70","legendary":"0","cp_40":"404"},{"cp_39":"1878","id":"237","name":"Hitmontop","generation":"2","evolution_stage":"1","family_id":"48","type_1":"fighting","type_2":"","stat_total":"487","atk":"173","def":"214","sta":"100","legendary":"0","cp_40":"1905"},{"cp_39":"1213","id":"238","name":"Smoochum","generation":"2","evolution_stage":"0","family_id":"","type_1":"ice","type_2":"psychic","stat_total":"359","atk":"153","def":"116","sta":"90","legendary":"0","cp_40":"1230"},{"cp_39":"1057","id":"239","name":"Elekid","generation":"2","evolution_stage":"0","family_id":"","type_1":"electric","type_2":"","stat_total":"335","atk":"135","def":"110","sta":"90","legendary":"0","cp_40":"1073"},{"cp_39":"1161","id":"240","name":"Magby","generation":"2","evolution_stage":"0","family_id":"","type_1":"fire","type_2":"","stat_total":"349","atk":"151","def":"108","sta":"90","legendary":"0","cp_40":"1178"},{"cp_39":"2279","id":"241","name":"Miltank","generation":"2","evolution_stage":"1","family_id":"123","type_1":"normal","type_2":"","stat_total":"558","atk":"157","def":"211","sta":"190","legendary":"0","cp_40":"2312"},{"cp_39":"3173","id":"242","name":"Blissey","generation":"2","evolution_stage":"2","family_id":"","type_1":"normal","type_2":"","stat_total":"868","atk":"129","def":"229","sta":"510","legendary":"0","cp_40":"3219"},{"cp_39":"3301","id":"243","name":"Raikou","generation":"2","evolution_stage":"1","family_id":"124","type_1":"electric","type_2":"","stat_total":"631","atk":"241","def":"210","sta":"180","legendary":"1","cp_40":"3349"},{"cp_39":"3329","id":"244","name":"Entei","generation":"2","evolution_stage":"1","family_id":"125","type_1":"fire","type_2":"","stat_total":"641","atk":"235","def":"176","sta":"230","legendary":"1","cp_40":"3377"},{"cp_39":"2783","id":"245","name":"Suicune","generation":"2","evolution_stage":"1","family_id":"126","type_1":"water","type_2":"","stat_total":"615","atk":"180","def":"235","sta":"200","legendary":"1","cp_40":"2823"},{"cp_39":"891","id":"246","name":"Larvitar","generation":"2","evolution_stage":"1","family_id":"127","type_1":"rock","type_2":"ground","stat_total":"308","atk":"115","def":"93","sta":"100","legendary":"0","cp_40":"904"},{"cp_39":"1585","id":"247","name":"Pupitar","generation":"2","evolution_stage":"2","family_id":"127","type_1":"rock","type_2":"ground","stat_total":"428","atk":"155","def":"133","sta":"140","legendary":"0","cp_40":"1608"},{"cp_39":"3617","id":"248","name":"Tyranitar","generation":"2","evolution_stage":"3","family_id":"127","type_1":"rock","type_2":"dark","stat_total":"663","atk":"251","def":"212","sta":"200","legendary":"0","cp_40":"3670"},{"cp_39":"3547","id":"249","name":"Lugia","generation":"2","evolution_stage":"1","family_id":"128","type_1":"psychic","type_2":"flying","stat_total":"728","atk":"193","def":"323","sta":"212","legendary":"1","cp_40":"3598"},{"cp_39":"3833","id":"250","name":"Ho Oh","generation":"2","evolution_stage":"1","family_id":"129","type_1":"fire","type_2":"flying","stat_total":"706","atk":"239","def":"274","sta":"193","legendary":"1","cp_40":"3889"},{"cp_39":"3046","id":"251","name":"Celebi","generation":"2","evolution_stage":"1","family_id":"130","type_1":"psychic","type_2":"grass","stat_total":"620","atk":"210","def":"210","sta":"200","legendary":"2","cp_40":"3090"},{"cp_39":"909","id":"252","name":"Treecko","generation":"3","evolution_stage":"1","family_id":"131","type_1":"grass","type_2":"","stat_total":"308","atk":"124","def":"104","sta":"80","legendary":"0","cp_40":"923"},{"cp_39":"1486","id":"253","name":"Grovyle","generation":"3","evolution_stage":"2","family_id":"131","type_1":"grass","type_2":"","stat_total":"402","atk":"172","def":"130","sta":"100","legendary":"0","cp_40":"1508"},{"cp_39":"2547","id":"254","name":"Sceptile","generation":"3","evolution_stage":"3","family_id":"131","type_1":"grass","type_2":"","stat_total":"543","atk":"223","def":"180","sta":"140","legendary":"0","cp_40":"2584"},{"cp_39":"946","id":"255","name":"Torchic","generation":"3","evolution_stage":"1","family_id":"132","type_1":"fire","type_2":"","stat_total":"312","atk":"130","def":"92","sta":"90","legendary":"0","cp_40":"959"},{"cp_39":"1451","id":"256","name":"Combusken","generation":"3","evolution_stage":"2","family_id":"132","type_1":"fire","type_2":"fighting","stat_total":"398","atk":"163","def":"115","sta":"120","legendary":"0","cp_40":"1472"},{"cp_39":"2593","id":"257","name":"Blaziken","generation":"3","evolution_stage":"3","family_id":"132","type_1":"fire","type_2":"fighting","stat_total":"541","atk":"240","def":"141","sta":"160","legendary":"0","cp_40":"2631"},{"cp_39":"967","id":"258","name":"Mudkip","generation":"3","evolution_stage":"1","family_id":"133","type_1":"water","type_2":"","stat_total":"319","atk":"126","def":"93","sta":"100","legendary":"0","cp_40":"981"},{"cp_39":"1594","id":"259","name":"Marshtomp","generation":"3","evolution_stage":"2","family_id":"133","type_1":"water","type_2":"ground","stat_total":"429","atk":"156","def":"133","sta":"140","legendary":"0","cp_40":"1617"},{"cp_39":"2774","id":"260","name":"Swampert","generation":"3","evolution_stage":"3","family_id":"133","type_1":"water","type_2":"ground","stat_total":"583","atk":"208","def":"175","sta":"200","legendary":"0","cp_40":"2815"},{"cp_39":"556","id":"261","name":"Poochyena","generation":"3","evolution_stage":"1","family_id":"134","type_1":"dark","type_2":"","stat_total":"229","atk":"96","def":"63","sta":"70","legendary":"0","cp_40":"564"},{"cp_39":"1757","id":"262","name":"Mightyena","generation":"3","evolution_stage":"2","family_id":"134","type_1":"dark","type_2":"","stat_total":"448","atk":"171","def":"137","sta":"140","legendary":"0","cp_40":"1783"},{"cp_39":"417","id":"263","name":"Zigzagoon","generation":"3","evolution_stage":"1","family_id":"135","type_1":"normal","type_2":"","stat_total":"214","atk":"58","def":"80","sta":"76","legendary":"0","cp_40":"423"},{"cp_39":"1511","id":"264","name":"Linoone","generation":"3","evolution_stage":"2","family_id":"135","type_1":"normal","type_2":"","stat_total":"426","atk":"142","def":"128","sta":"156","legendary":"0","cp_40":"1533"},{"cp_39":"494","id":"265","name":"Wurmple","generation":"3","evolution_stage":"1","family_id":"136","type_1":"bug","type_2":"","stat_total":"226","atk":"75","def":"61","sta":"90","legendary":"0","cp_40":"502"},{"cp_39":"509","id":"266","name":"Silcoon","generation":"3","evolution_stage":"2","family_id":"136","type_1":"bug","type_2":"","stat_total":"251","atk":"60","def":"91","sta":"100","legendary":"0","cp_40":"517"},{"cp_39":"1551","id":"267","name":"Beautifly","generation":"3","evolution_stage":"3","family_id":"136","type_1":"bug","type_2":"flying","stat_total":"407","atk":"189","def":"98","sta":"120","legendary":"0","cp_40":"1573"},{"cp_39":"509","id":"268","name":"Cascoon","generation":"3","evolution_stage":"2","family_id":"137","type_1":"bug","type_2":"","stat_total":"251","atk":"60","def":"91","sta":"100","legendary":"0","cp_40":"517"},{"cp_39":"1105","id":"269","name":"Dustox","generation":"3","evolution_stage":"3","family_id":"137","type_1":"bug","type_2":"poison","stat_total":"390","atk":"98","def":"172","sta":"120","legendary":"0","cp_40":"1121"},{"cp_39":"518","id":"270","name":"Lotad","generation":"3","evolution_stage":"1","family_id":"138","type_1":"water","type_2":"grass","stat_total":"237","atk":"71","def":"86","sta":"80","legendary":"0","cp_40":"526"},{"cp_39":"1086","id":"271","name":"Lombre","generation":"3","evolution_stage":"2","family_id":"138","type_1":"water","type_2":"grass","stat_total":"360","atk":"112","def":"128","sta":"120","legendary":"0","cp_40":"1102"},{"cp_39":"2197","id":"272","name":"Ludicolo","generation":"3","evolution_stage":"3","family_id":"138","type_1":"water","type_2":"grass","stat_total":"524","atk":"173","def":"191","sta":"160","legendary":"0","cp_40":"2229"},{"cp_39":"518","id":"273","name":"Seedot","generation":"3","evolution_stage":"1","family_id":"139","type_1":"grass","type_2":"","stat_total":"237","atk":"71","def":"86","sta":"80","legendary":"0","cp_40":"526"},{"cp_39":"1101","id":"274","name":"Nuzleaf","generation":"3","evolution_stage":"2","family_id":"139","type_1":"grass","type_2":"dark","stat_total":"352","atk":"134","def":"78","sta":"140","legendary":"0","cp_40":"1117"},{"cp_39":"2155","id":"275","name":"Shiftry","generation":"3","evolution_stage":"3","family_id":"139","type_1":"grass","type_2":"dark","stat_total":"501","atk":"200","def":"121","sta":"180","legendary":"0","cp_40":"2186"},{"cp_39":"632","id":"276","name":"Taillow","generation":"3","evolution_stage":"1","family_id":"140","type_1":"normal","type_2":"flying","stat_total":"247","atk":"106","def":"61","sta":"80","legendary":"0","cp_40":"642"},{"cp_39":"1722","id":"277","name":"Swellow","generation":"3","evolution_stage":"2","family_id":"140","type_1":"normal","type_2":"flying","stat_total":"435","atk":"185","def":"130","sta":"120","legendary":"0","cp_40":"1747"},{"cp_39":"632","id":"278","name":"Wingull","generation":"3","evolution_stage":"1","family_id":"141","type_1":"water","type_2":"flying","stat_total":"247","atk":"106","def":"61","sta":"80","legendary":"0","cp_40":"642"},{"cp_39":"1941","id":"279","name":"Pelipper","generation":"3","evolution_stage":"2","family_id":"141","type_1":"water","type_2":"flying","stat_total":"484","atk":"175","def":"189","sta":"120","legendary":"0","cp_40":"1969"},{"cp_39":"430","id":"280","name":"Ralts","generation":"3","evolution_stage":"1","family_id":"142","type_1":"psychic","type_2":"fairy","stat_total":"198","atk":"79","def":"63","sta":"56","legendary":"0","cp_40":"436"},{"cp_39":"831","id":"281","name":"Kirlia","generation":"3","evolution_stage":"2","family_id":"142","type_1":"psychic","type_2":"fairy","stat_total":"293","atk":"117","def":"100","sta":"76","legendary":"0","cp_40":"843"},{"cp_39":"2922","id":"282","name":"Gardevoir","generation":"3","evolution_stage":"3","family_id":"142","type_1":"psychic","type_2":"fairy","stat_total":"593","atk":"237","def":"220","sta":"136","legendary":"0","cp_40":"2964"},{"cp_39":"685","id":"283","name":"Surskit","generation":"3","evolution_stage":"1","family_id":"143","type_1":"bug","type_2":"water","stat_total":"270","atk":"93","def":"97","sta":"80","legendary":"0","cp_40":"695"},{"cp_39":"2104","id":"284","name":"Masquerain","generation":"3","evolution_stage":"2","family_id":"143","type_1":"bug","type_2":"flying","stat_total":"493","atk":"192","def":"161","sta":"140","legendary":"0","cp_40":"2135"},{"cp_39":"711","id":"285","name":"Shroomish","generation":"3","evolution_stage":"1","family_id":"144","type_1":"grass","type_2":"","stat_total":"304","atk":"74","def":"110","sta":"120","legendary":"0","cp_40":"722"},{"cp_39":"2373","id":"286","name":"Breloom","generation":"3","evolution_stage":"2","family_id":"144","type_1":"grass","type_2":"fighting","stat_total":"514","atk":"241","def":"153","sta":"120","legendary":"0","cp_40":"2407"},{"cp_39":"928","id":"287","name":"Slakoth","generation":"3","evolution_stage":"1","family_id":"145","type_1":"normal","type_2":"","stat_total":"328","atk":"104","def":"104","sta":"120","legendary":"0","cp_40":"942"},{"cp_39":"1869","id":"288","name":"Vigoroth","generation":"3","evolution_stage":"2","family_id":"145","type_1":"normal","type_2":"","stat_total":"478","atk":"159","def":"159","sta":"160","legendary":"0","cp_40":"1896"},{"cp_39":"4484","id":"289","name":"Slaking","generation":"3","evolution_stage":"3","family_id":"145","type_1":"normal","type_2":"","stat_total":"746","atk":"290","def":"183","sta":"273","legendary":"0","cp_40":"4548"},{"cp_39":"665","id":"290","name":"Nincada","generation":"3","evolution_stage":"1","family_id":"146","type_1":"bug","type_2":"ground","stat_total":"295","atk":"80","def":"153","sta":"62","legendary":"0","cp_40":"674"},{"cp_39":"1765","id":"291","name":"Ninjask","generation":"3","evolution_stage":"2","family_id":"146","type_1":"bug","type_2":"flying","stat_total":"437","atk":"199","def":"116","sta":"122","legendary":"0","cp_40":"1790"},{"cp_39":"415","id":"292","name":"Shedinja","generation":"3","evolution_stage":"3","family_id":"146","type_1":"bug","type_2":"ghost","stat_total":"235","atk":"153","def":"80","sta":"2","legendary":"0","cp_40":"421"},{"cp_39":"594","id":"293","name":"Whismur","generation":"3","evolution_stage":"1","family_id":"147","type_1":"normal","type_2":"","stat_total":"262","atk":"92","def":"42","sta":"128","legendary":"0","cp_40":"603"},{"cp_39":"1215","id":"294","name":"Loudred","generation":"3","evolution_stage":"2","family_id":"147","type_1":"normal","type_2":"","stat_total":"383","atk":"134","def":"81","sta":"168","legendary":"0","cp_40":"1233"},{"cp_39":"2234","id":"295","name":"Exploud","generation":"3","evolution_stage":"3","family_id":"147","type_1":"normal","type_2":"","stat_total":"529","atk":"179","def":"142","sta":"208","legendary":"0","cp_40":"2267"},{"cp_39":"735","id":"296","name":"Makuhita","generation":"3","evolution_stage":"1","family_id":"148","type_1":"fighting","type_2":"","stat_total":"297","atk":"99","def":"54","sta":"144","legendary":"0","cp_40":"745"},{"cp_39":"2726","id":"297","name":"Hariyama","generation":"3","evolution_stage":"2","family_id":"148","type_1":"fighting","type_2":"","stat_total":"611","atk":"209","def":"114","sta":"288","legendary":"0","cp_40":"2765"},{"cp_39":"312","id":"298","name":"Azurill","generation":"3","evolution_stage":"0","family_id":"","type_1":"normal","type_2":"fairy","stat_total":"207","atk":"36","def":"71","sta":"100","legendary":"0","cp_40":"316"},{"cp_39":"819","id":"299","name":"Nosepass","generation":"3","evolution_stage":"1","family_id":"149","type_1":"rock","type_2":"","stat_total":"378","atk":"82","def":"236","sta":"60","legendary":"0","cp_40":"831"},{"cp_39":"650","id":"300","name":"Skitty","generation":"3","evolution_stage":"1","family_id":"150","type_1":"normal","type_2":"","stat_total":"268","atk":"84","def":"84","sta":"100","legendary":"0","cp_40":"659"},{"cp_39":"1366","id":"301","name":"Delcatty","generation":"3","evolution_stage":"2","family_id":"151","type_1":"normal","type_2":"","stat_total":"404","atk":"132","def":"132","sta":"140","legendary":"0","cp_40":"1385"},{"cp_39":"1286","id":"302","name":"Sableye","generation":"3","evolution_stage":"1","family_id":"152","type_1":"dark","type_2":"ghost","stat_total":"382","atk":"141","def":"141","sta":"100","legendary":"0","cp_40":"1305"},{"cp_39":"1463","id":"303","name":"Mawile","generation":"3","evolution_stage":"1","family_id":"153","type_1":"steel","type_2":"fairy","stat_total":"410","atk":"155","def":"155","sta":"100","legendary":"0","cp_40":"1484"},{"cp_39":"1214","id":"304","name":"Aron","generation":"3","evolution_stage":"1","family_id":"154","type_1":"steel","type_2":"rock","stat_total":"389","atk":"121","def":"168","sta":"100","legendary":"0","cp_40":"1232"},{"cp_39":"1976","id":"305","name":"Lairon","generation":"3","evolution_stage":"2","family_id":"154","type_1":"steel","type_2":"rock","stat_total":"518","atk":"158","def":"240","sta":"120","legendary":"0","cp_40":"2004"},{"cp_39":"2961","id":"306","name":"Aggron","generation":"3","evolution_stage":"3","family_id":"154","type_1":"steel","type_2":"rock","stat_total":"652","atk":"198","def":"314","sta":"140","legendary":"0","cp_40":"3004"},{"cp_39":"547","id":"307","name":"Meditite","generation":"3","evolution_stage":"1","family_id":"155","type_1":"fighting","type_2":"psychic","stat_total":"245","atk":"78","def":"107","sta":"60","legendary":"0","cp_40":"555"},{"cp_39":"1257","id":"308","name":"Medicham","generation":"3","evolution_stage":"2","family_id":"155","type_1":"fighting","type_2":"psychic","stat_total":"393","atk":"121","def":"152","sta":"120","legendary":"0","cp_40":"1275"},{"cp_39":"798","id":"309","name":"Electrike","generation":"3","evolution_stage":"1","family_id":"156","type_1":"electric","type_2":"","stat_total":"281","atk":"123","def":"78","sta":"80","legendary":"0","cp_40":"810"},{"cp_39":"2100","id":"310","name":"Manectric","generation":"3","evolution_stage":"2","family_id":"156","type_1":"electric","type_2":"","stat_total":"482","atk":"215","def":"127","sta":"140","legendary":"0","cp_40":"2131"},{"cp_39":"1657","id":"311","name":"Plusle","generation":"3","evolution_stage":"1","family_id":"157","type_1":"electric","type_2":"","stat_total":"434","atk":"167","def":"147","sta":"120","legendary":"0","cp_40":"1681"},{"cp_39":"1563","id":"312","name":"Minun","generation":"3","evolution_stage":"1","family_id":"158","type_1":"electric","type_2":"","stat_total":"434","atk":"147","def":"167","sta":"120","legendary":"0","cp_40":"1585"},{"cp_39":"1597","id":"313","name":"Volbeat","generation":"3","evolution_stage":"1","family_id":"159","type_1":"bug","type_2":"","stat_total":"444","atk":"143","def":"171","sta":"130","legendary":"0","cp_40":"1620"},{"cp_39":"1597","id":"314","name":"Illumise","generation":"3","evolution_stage":"2","family_id":"159","type_1":"bug","type_2":"","stat_total":"444","atk":"143","def":"171","sta":"130","legendary":"0","cp_40":"1620"},{"cp_39":"1694","id":"315","name":"Roselia","generation":"3","evolution_stage":"1","family_id":"160","type_1":"grass","type_2":"poison","stat_total":"434","atk":"186","def":"148","sta":"100","legendary":"0","cp_40":"1718"},{"cp_39":"777","id":"316","name":"Gulpin","generation":"3","evolution_stage":"1","family_id":"161","type_1":"poison","type_2":"","stat_total":"319","atk":"80","def":"99","sta":"140","legendary":"0","cp_40":"788"},{"cp_39":"1845","id":"317","name":"Swalot","generation":"3","evolution_stage":"2","family_id":"161","type_1":"poison","type_2":"","stat_total":"499","atk":"140","def":"159","sta":"200","legendary":"0","cp_40":"1872"},{"cp_39":"862","id":"318","name":"Carvanha","generation":"3","evolution_stage":"1","family_id":"162","type_1":"water","type_2":"dark","stat_total":"300","atk":"171","def":"39","sta":"90","legendary":"0","cp_40":"874"},{"cp_39":"1957","id":"319","name":"Sharpedo","generation":"3","evolution_stage":"1","family_id":"163","type_1":"water","type_2":"dark","stat_total":"466","atk":"243","def":"83","sta":"140","legendary":"0","cp_40":"1986"},{"cp_39":"1404","id":"320","name":"Wailmer","generation":"3","evolution_stage":"1","family_id":"164","type_1":"water","type_2":"","stat_total":"464","atk":"136","def":"68","sta":"260","legendary":"0","cp_40":"1424"},{"cp_39":"2225","id":"321","name":"Wailord","generation":"3","evolution_stage":"2","family_id":"164","type_1":"water","type_2":"","stat_total":"602","atk":"175","def":"87","sta":"340","legendary":"0","cp_40":"2258"},{"cp_39":"944","id":"322","name":"Numel","generation":"3","evolution_stage":"1","family_id":"165","type_1":"fire","type_2":"ground","stat_total":"321","atk":"119","def":"82","sta":"120","legendary":"0","cp_40":"957"},{"cp_39":"1987","id":"323","name":"Camerupt","generation":"3","evolution_stage":"2","family_id":"165","type_1":"fire","type_2":"ground","stat_total":"473","atk":"194","def":"139","sta":"140","legendary":"0","cp_40":"2016"},{"cp_39":"2007","id":"324","name":"Torkoal","generation":"3","evolution_stage":"1","family_id":"166","type_1":"fire","type_2":"","stat_total":"525","atk":"151","def":"234","sta":"140","legendary":"0","cp_40":"2036"},{"cp_39":"1266","id":"325","name":"Spoink","generation":"3","evolution_stage":"1","family_id":"167","type_1":"psychic","type_2":"","stat_total":"390","atk":"125","def":"145","sta":"120","legendary":"0","cp_40":"1285"},{"cp_39":"2277","id":"326","name":"Grumpig","generation":"3","evolution_stage":"2","family_id":"167","type_1":"psychic","type_2":"","stat_total":"542","atk":"171","def":"211","sta":"160","legendary":"0","cp_40":"2310"},{"cp_39":"1072","id":"327","name":"Spinda","generation":"3","evolution_stage":"1","family_id":"168","type_1":"normal","type_2":"","stat_total":"352","atk":"116","def":"116","sta":"120","legendary":"0","cp_40":"1088"},{"cp_39":"1076","id":"328","name":"Trapinch","generation":"3","evolution_stage":"1","family_id":"169","type_1":"ground","type_2":"","stat_total":"330","atk":"162","def":"78","sta":"90","legendary":"0","cp_40":"1092"},{"cp_39":"1050","id":"329","name":"Vibrava","generation":"3","evolution_stage":"2","family_id":"169","type_1":"ground","type_2":"dragon","stat_total":"333","atk":"134","def":"99","sta":"100","legendary":"0","cp_40":"1065"},{"cp_39":"2423","id":"330","name":"Flygon","generation":"3","evolution_stage":"3","family_id":"169","type_1":"ground","type_2":"dragon","stat_total":"533","atk":"205","def":"168","sta":"160","legendary":"0","cp_40":"2458"},{"cp_39":"1065","id":"331","name":"Cacnea","generation":"3","evolution_stage":"1","family_id":"170","type_1":"grass","type_2":"","stat_total":"330","atk":"156","def":"74","sta":"100","legendary":"0","cp_40":"1080"},{"cp_39":"2062","id":"332","name":"Cacturne","generation":"3","evolution_stage":"2","family_id":"170","type_1":"grass","type_2":"dark","stat_total":"476","atk":"221","def":"115","sta":"140","legendary":"0","cp_40":"2092"},{"cp_39":"712","id":"333","name":"Swablu","generation":"3","evolution_stage":"1","family_id":"171","type_1":"normal","type_2":"flying","stat_total":"305","atk":"76","def":"139","sta":"90","legendary":"0","cp_40":"722"},{"cp_39":"1842","id":"334","name":"Altaria","generation":"3","evolution_stage":"2","family_id":"171","type_1":"dragon","type_2":"flying","stat_total":"499","atk":"141","def":"208","sta":"150","legendary":"0","cp_40":"1868"},{"cp_39":"2182","id":"335","name":"Zangoose","generation":"3","evolution_stage":"1","family_id":"172","type_1":"normal","type_2":"","stat_total":"492","atk":"222","def":"124","sta":"146","legendary":"0","cp_40":"2214"},{"cp_39":"1900","id":"336","name":"Seviper","generation":"3","evolution_stage":"1","family_id":"178","type_1":"poison","type_2":"","stat_total":"460","atk":"196","def":"118","sta":"146","legendary":"0","cp_40":"1928"},{"cp_39":"2213","id":"337","name":"Lunatone","generation":"3","evolution_stage":"1","family_id":"179","type_1":"rock","type_2":"psychic","stat_total":"521","atk":"178","def":"163","sta":"180","legendary":"0","cp_40":"2245"},{"cp_39":"2213","id":"338","name":"Solrock","generation":"3","evolution_stage":"1","family_id":"180","type_1":"rock","type_2":"psychic","stat_total":"521","atk":"178","def":"163","sta":"180","legendary":"0","cp_40":"2245"},{"cp_39":"705","id":"339","name":"Barboach","generation":"3","evolution_stage":"1","family_id":"181","type_1":"water","type_2":"ground","stat_total":"276","atk":"93","def":"83","sta":"100","legendary":"0","cp_40":"716"},{"cp_39":"1963","id":"340","name":"Whiscash","generation":"3","evolution_stage":"2","family_id":"181","type_1":"water","type_2":"ground","stat_total":"513","atk":"151","def":"142","sta":"220","legendary":"0","cp_40":"1991"},{"cp_39":"1092","id":"341","name":"Corphish","generation":"3","evolution_stage":"1","family_id":"182","type_1":"water","type_2":"","stat_total":"340","atk":"141","def":"113","sta":"86","legendary":"0","cp_40":"1107"},{"cp_39":"2284","id":"342","name":"Crawdaunt","generation":"3","evolution_stage":"2","family_id":"182","type_1":"water","type_2":"dark","stat_total":"506","atk":"224","def":"156","sta":"126","legendary":"0","cp_40":"2317"},{"cp_39":"667","id":"343","name":"Baltoy","generation":"3","evolution_stage":"1","family_id":"183","type_1":"ground","type_2":"psychic","stat_total":"288","atk":"77","def":"131","sta":"80","legendary":"0","cp_40":"676"},{"cp_39":"1756","id":"344","name":"Claydol","generation":"3","evolution_stage":"2","family_id":"183","type_1":"ground","type_2":"psychic","stat_total":"496","atk":"140","def":"236","sta":"120","legendary":"0","cp_40":"1782"},{"cp_39":"1164","id":"345","name":"Lileep","generation":"3","evolution_stage":"1","family_id":"184","type_1":"rock","type_2":"grass","stat_total":"391","atk":"105","def":"154","sta":"132","legendary":"0","cp_40":"1181"},{"cp_39":"2051","id":"346","name":"Cradily","generation":"3","evolution_stage":"2","family_id":"184","type_1":"rock","type_2":"grass","stat_total":"522","atk":"152","def":"198","sta":"172","legendary":"0","cp_40":"2081"},{"cp_39":"1292","id":"347","name":"Anorith","generation":"3","evolution_stage":"1","family_id":"185","type_1":"rock","type_2":"bug","stat_total":"366","atk":"176","def":"100","sta":"90","legendary":"0","cp_40":"1310"},{"cp_39":"2637","id":"348","name":"Armaldo","generation":"3","evolution_stage":"2","family_id":"185","type_1":"rock","type_2":"bug","stat_total":"555","atk":"222","def":"183","sta":"150","legendary":"0","cp_40":"2675"},{"cp_39":"217","id":"349","name":"Feebas","generation":"3","evolution_stage":"1","family_id":"186","type_1":"water","type_2":"","stat_total":"171","atk":"29","def":"102","sta":"40","legendary":"0","cp_40":"220"},{"cp_39":"2925","id":"350","name":"Milotic","generation":"3","evolution_stage":"2","family_id":"186","type_1":"water","type_2":"","stat_total":"624","atk":"192","def":"242","sta":"190","legendary":"0","cp_40":"2967"},{"cp_39":"1464","id":"351","name":"Castform","generation":"3","evolution_stage":"1","family_id":"187","type_1":"normal","type_2":"","stat_total":"418","atk":"139","def":"139","sta":"140","legendary":"0","cp_40":"1486"},{"cp_39":"1896","id":"352","name":"Kecleon","generation":"3","evolution_stage":"1","family_id":"188","type_1":"normal","type_2":"","stat_total":"493","atk":"161","def":"212","sta":"120","legendary":"0","cp_40":"1924"},{"cp_39":"860","id":"353","name":"Shuppet","generation":"3","evolution_stage":"1","family_id":"189","type_1":"ghost","type_2":"","stat_total":"292","atk":"138","def":"66","sta":"88","legendary":"0","cp_40":"872"},{"cp_39":"2044","id":"354","name":"Banette","generation":"3","evolution_stage":"2","family_id":"189","type_1":"ghost","type_2":"","stat_total":"473","atk":"218","def":"127","sta":"128","legendary":"0","cp_40":"2073"},{"cp_39":"516","id":"355","name":"Duskull","generation":"3","evolution_stage":"1","family_id":"190","type_1":"ghost","type_2":"","stat_total":"272","atk":"70","def":"162","sta":"40","legendary":"0","cp_40":"523"},{"cp_39":"1316","id":"356","name":"Dusclops","generation":"3","evolution_stage":"2","family_id":"190","type_1":"ghost","type_2":"","stat_total":"438","atk":"124","def":"234","sta":"80","legendary":"0","cp_40":"1335"},{"cp_39":"1820","id":"357","name":"Tropius","generation":"3","evolution_stage":"1","family_id":"191","type_1":"grass","type_2":"flying","stat_total":"499","atk":"136","def":"165","sta":"198","legendary":"0","cp_40":"1846"},{"cp_39":"2065","id":"358","name":"Chimecho","generation":"3","evolution_stage":"1","family_id":"192","type_1":"psychic","type_2":"","stat_total":"499","atk":"175","def":"174","sta":"150","legendary":"0","cp_40":"2095"},{"cp_39":"2248","id":"359","name":"Absol","generation":"3","evolution_stage":"1","family_id":"193","type_1":"dark","type_2":"","stat_total":"496","atk":"246","def":"120","sta":"130","legendary":"0","cp_40":"2280"},{"cp_39":"496","id":"360","name":"Wynaut","generation":"3","evolution_stage":"0","family_id":"","type_1":"psychic","type_2":"","stat_total":"317","atk":"41","def":"86","sta":"190","legendary":"0","cp_40":"503"},{"cp_39":"761","id":"361","name":"Snorunt","generation":"3","evolution_stage":"1","family_id":"194","type_1":"ice","type_2":"","stat_total":"290","atk":"95","def":"95","sta":"100","legendary":"0","cp_40":"772"},{"cp_39":"1917","id":"362","name":"Glalie","generation":"3","evolution_stage":"2","family_id":"","type_1":"ice","type_2":"","stat_total":"484","atk":"162","def":"162","sta":"160","legendary":"0","cp_40":"1945"},{"cp_39":"863","id":"363","name":"Spheal","generation":"3","evolution_stage":"1","family_id":"","type_1":"ice","type_2":"water","stat_total":"325","atk":"95","def":"90","sta":"140","legendary":"0","cp_40":"876"},{"cp_39":"1584","id":"364","name":"Sealeo","generation":"3","evolution_stage":"2","family_id":"","type_1":"ice","type_2":"water","stat_total":"449","atk":"137","def":"132","sta":"180","legendary":"0","cp_40":"1607"},{"cp_39":"2569","id":"365","name":"Walrein","generation":"3","evolution_stage":"3","family_id":"","type_1":"ice","type_2":"water","stat_total":"578","atk":"182","def":"176","sta":"220","legendary":"0","cp_40":"2606"},{"cp_39":"1075","id":"366","name":"Clamperl","generation":"3","evolution_stage":"1","family_id":"","type_1":"water","type_2":"","stat_total":"352","atk":"133","def":"149","sta":"70","legendary":"0","cp_40":"1091"},{"cp_39":"2109","id":"367","name":"Huntail","generation":"3","evolution_stage":"2","family_id":"","type_1":"water","type_2":"","stat_total":"501","atk":"197","def":"194","sta":"110","legendary":"0","cp_40":"2140"},{"cp_39":"2248","id":"368","name":"Gorebyss","generation":"3","evolution_stage":"2","family_id":"","type_1":"water","type_2":"","stat_total":"515","atk":"211","def":"194","sta":"110","legendary":"0","cp_40":"2281"},{"cp_39":"2521","id":"369","name":"Relicanth","generation":"3","evolution_stage":"1","family_id":"","type_1":"water","type_2":"rock","stat_total":"596","atk":"162","def":"234","sta":"200","legendary":"0","cp_40":"2557"},{"cp_39":"725","id":"370","name":"Luvdisc","generation":"3","evolution_stage":"1","family_id":"","type_1":"water","type_2":"","stat_total":"301","atk":"81","def":"134","sta":"86","legendary":"0","cp_40":"735"},{"cp_39":"1038","id":"371","name":"Bagon","generation":"3","evolution_stage":"1","family_id":"","type_1":"dragon","type_2":"","stat_total":"331","atk":"134","def":"107","sta":"90","legendary":"0","cp_40":"1053"},{"cp_39":"1930","id":"372","name":"Shelgon","generation":"3","evolution_stage":"2","family_id":"","type_1":"dragon","type_2":"","stat_total":"481","atk":"172","def":"179","sta":"130","legendary":"0","cp_40":"1958"},{"cp_39":"3481","id":"373","name":"Salamence","generation":"3","evolution_stage":"3","family_id":"","type_1":"dragon","type_2":"flying","stat_total":"635","atk":"277","def":"168","sta":"190","legendary":"0","cp_40":"3532"},{"cp_39":"831","id":"374","name":"Beldum","generation":"3","evolution_stage":"1","family_id":"","type_1":"steel","type_2":"psychic","stat_total":"317","atk":"96","def":"141","sta":"80","legendary":"0","cp_40":"843"},{"cp_39":"1547","id":"375","name":"Metang","generation":"3","evolution_stage":"2","family_id":"","type_1":"steel","type_2":"psychic","stat_total":"443","atk":"138","def":"185","sta":"120","legendary":"0","cp_40":"1570"},{"cp_39":"3592","id":"376","name":"Metagross","generation":"3","evolution_stage":"3","family_id":"","type_1":"steel","type_2":"psychic","stat_total":"665","atk":"257","def":"248","sta":"160","legendary":"0","cp_40":"3644"},{"cp_39":"3043","id":"377","name":"Regirock","generation":"3","evolution_stage":"1","family_id":"","type_1":"rock","type_2":"","stat_total":"695","atk":"179","def":"356","sta":"160","legendary":"1","cp_40":"3087"},{"cp_39":"3043","id":"378","name":"Regice","generation":"3","evolution_stage":"1","family_id":"","type_1":"ice","type_2":"","stat_total":"695","atk":"179","def":"356","sta":"160","legendary":"1","cp_40":"3087"},{"cp_39":"2228","id":"379","name":"Registeel","generation":"3","evolution_stage":"1","family_id":"","type_1":"steel","type_2":"","stat_total":"588","atk":"143","def":"285","sta":"160","legendary":"1","cp_40":"2261"},{"cp_39":"3329","id":"380","name":"Latias","generation":"3","evolution_stage":"1","family_id":"","type_1":"dragon","type_2":"psychic","stat_total":"656","atk":"228","def":"268","sta":"160","legendary":"1","cp_40":"3377"},{"cp_39":"3592","id":"381","name":"Latios","generation":"3","evolution_stage":"1","family_id":"","type_1":"dragon","type_2":"psychic","stat_total":"656","atk":"268","def":"228","sta":"160","legendary":"1","cp_40":"3644"},{"cp_39":"4016","id":"382","name":"Kyogre","generation":"3","evolution_stage":"1","family_id":"","type_1":"water","type_2":"","stat_total":"703","atk":"270","def":"251","sta":"182","legendary":"1","cp_40":"4074"},{"cp_39":"4016","id":"383","name":"Groudon","generation":"3","evolution_stage":"1","family_id":"","type_1":"ground","type_2":"","stat_total":"703","atk":"270","def":"251","sta":"182","legendary":"1","cp_40":"4074"},{"cp_39":"3593","id":"384","name":"Rayquaza","generation":"3","evolution_stage":"1","family_id":"","type_1":"dragon","type_2":"flying","stat_total":"645","atk":"284","def":"170","sta":"191","legendary":"1","cp_40":"3645"},{"cp_39":"3046","id":"385","name":"Jirachi","generation":"3","evolution_stage":"1","family_id":"","type_1":"steel","type_2":"psychic","stat_total":"620","atk":"210","def":"210","sta":"200","legendary":"2","cp_40":"3090"},{"cp_39":"1949","id":"386","name":"Deoxys Defense","generation":"3","evolution_stage":"1","family_id":"","type_1":"psychic","type_2":"","stat_total":"574","atk":"144","def":"330","sta":"100","legendary":"2","cp_40":"1978"},{"cp_39":"2709","id":"387","name":"Deoxys Normal","generation":"3","evolution_stage":"1","family_id":"","type_1":"psychic","type_2":"","stat_total":"560","atk":"345","def":"115","sta":"100","legendary":"2","cp_40":"2749"},{"cp_39":"2212","id":"388","name":"Deoxys Attack","generation":"3","evolution_stage":"1","family_id":"","type_1":"psychic","type_2":"","stat_total":"560","atk":"414","def":"46","sta":"100","legendary":"2","cp_40":"2244"},{"cp_39":"2469","id":"389","name":"Deoxys Speed","generation":"3","evolution_stage":"1","family_id":"","type_1":"psychic","type_2":"","stat_total":"548","atk":"230","def":"218","sta":"100","legendary":"2","cp_40":"2504"},{"cp_39":"1051","id":"390","name":"Turtwig","generation":"4","evolution_stage":"1","family_id":"","type_1":"grass","type_2":"","stat_total":"344","atk":"119","def":"115","sta":"110","legendary":"0","cp_40":"1066"},{"cp_39":"1757","id":"391","name":"Grotle","generation":"4","evolution_stage":"2","family_id":"","type_1":"grass","type_2":"","stat_total":"459","atk":"157","def":"152","sta":"150","legendary":"0","cp_40":"1783"},{"cp_39":"2785","id":"392","name":"Torterra","generation":"4","evolution_stage":"3","family_id":"","type_1":"grass","type_2":"ground","stat_total":"589","atk":"202","def":"197","sta":"190","legendary":"0","cp_40":"2825"},{"cp_39":"803","id":"393","name":"Chimchar","generation":"4","evolution_stage":"1","family_id":"","type_1":"fire","type_2":"","stat_total":"287","atk":"113","def":"86","sta":"88","legendary":"0","cp_40":"815"},{"cp_39":"1395","id":"394","name":"Monferno","generation":"4","evolution_stage":"2","family_id":"","type_1":"fire","type_2":"fighting","stat_total":"391","atk":"158","def":"105","sta":"128","legendary":"0","cp_40":"1415"},{"cp_39":"2429","id":"395","name":"Infernape","generation":"4","evolution_stage":"3","family_id":"","type_1":"fire","type_2":"fighting","stat_total":"525","atk":"222","def":"151","sta":"152","legendary":"0","cp_40":"2464"},{"cp_39":"934","id":"396","name":"Piplup","generation":"4","evolution_stage":"1","family_id":"","type_1":"water","type_2":"","stat_total":"321","atk":"112","def":"103","sta":"106","legendary":"0","cp_40":"947"},{"cp_39":"1526","id":"397","name":"Prinplup","generation":"4","evolution_stage":"2","family_id":"","type_1":"water","type_2":"","stat_total":"421","atk":"150","def":"143","sta":"128","legendary":"0","cp_40":"1549"},{"cp_39":"2702","id":"398","name":"Empoleon","generation":"4","evolution_stage":"3","family_id":"","type_1":"water","type_2":"steel","stat_total":"571","atk":"210","def":"193","sta":"168","legendary":"0","cp_40":"2741"},{"cp_39":"594","id":"399","name":"Starly","generation":"4","evolution_stage":"1","family_id":"","type_1":"normal","type_2":"flying","stat_total":"239","atk":"101","def":"58","sta":"80","legendary":"0","cp_40":"603"},{"cp_39":"1153","id":"400","name":"Staravia","generation":"4","evolution_stage":"2","family_id":"","type_1":"normal","type_2":"flying","stat_total":"351","atk":"142","def":"99","sta":"110","legendary":"0","cp_40":"1170"},{"cp_39":"2637","id":"401","name":"Staraptor","generation":"4","evolution_stage":"3","family_id":"","type_1":"normal","type_2":"flying","stat_total":"549","atk":"234","def":"145","sta":"170","legendary":"0","cp_40":"2675"},{"cp_39":"632","id":"402","name":"Bidoof","generation":"4","evolution_stage":"1","family_id":"","type_1":"normal","type_2":"","stat_total":"271","atk":"80","def":"73","sta":"118","legendary":"0","cp_40":"641"},{"cp_39":"1659","id":"403","name":"Bibarel","generation":"4","evolution_stage":"2","family_id":"","type_1":"normal","type_2":"water","stat_total":"439","atk":"162","def":"119","sta":"158","legendary":"0","cp_40":"1683"},{"cp_39":"328","id":"404","name":"Kricketot","generation":"4","evolution_stage":"1","family_id":"","type_1":"bug","type_2":"","stat_total":"193","atk":"45","def":"74","sta":"74","legendary":"0","cp_40":"333"},{"cp_39":"1501","id":"405","name":"Kricketune","generation":"4","evolution_stage":"2","family_id":"","type_1":"bug","type_2":"","stat_total":"414","atk":"160","def":"100","sta":"154","legendary":"0","cp_40":"1523"},{"cp_39":"740","id":"406","name":"Shinx","generation":"4","evolution_stage":"1","family_id":"","type_1":"electric","type_2":"","stat_total":"271","atk":"117","def":"64","sta":"90","legendary":"0","cp_40":"750"},{"cp_39":"1305","id":"407","name":"Luxio","generation":"4","evolution_stage":"2","family_id":"","type_1":"electric","type_2":"","stat_total":"374","atk":"159","def":"95","sta":"120","legendary":"0","cp_40":"1324"},{"cp_39":"2630","id":"408","name":"Luxray","generation":"4","evolution_stage":"3","family_id":"","type_1":"electric","type_2":"","stat_total":"548","atk":"232","def":"156","sta":"160","legendary":"0","cp_40":"2668"},{"cp_39":"755","id":"409","name":"Budew","generation":"4","evolution_stage":"0","family_id":"","type_1":"grass","type_2":"poison","stat_total":"297","atk":"91","def":"126","sta":"80","legendary":"0","cp_40":"766"},{"cp_39":"2743","id":"410","name":"Roserade","generation":"4","evolution_stage":"2","family_id":"","type_1":"grass","type_2":"poison","stat_total":"569","atk":"243","def":"206","sta":"120","legendary":"0","cp_40":"2783"},{"cp_39":"1661","id":"411","name":"Cranidos","generation":"4","evolution_stage":"1","family_id":"","type_1":"rock","type_2":"","stat_total":"427","atk":"218","def":"75","sta":"134","legendary":"0","cp_40":"1685"},{"cp_39":"3133","id":"412","name":"Rampardos","generation":"4","evolution_stage":"2","family_id":"","type_1":"rock","type_2":"","stat_total":"603","atk":"295","def":"114","sta":"194","legendary":"0","cp_40":"3179"},{"cp_39":"724","id":"413","name":"Shieldon","generation":"4","evolution_stage":"1","family_id":"","type_1":"rock","type_2":"steel","stat_total":"344","atk":"76","def":"208","sta":"60","legendary":"0","cp_40":"735"},{"cp_39":"1381","id":"414","name":"Bastiodon","generation":"4","evolution_stage":"2","family_id":"","type_1":"rock","type_2":"steel","stat_total":"513","atk":"94","def":"299","sta":"120","legendary":"0","cp_40":"1401"},{"cp_39":"403","id":"415","name":"Burmy (Plant Cloak)","generation":"4","evolution_stage":"1","family_id":"","type_1":"bug","type_2":"","stat_total":"216","atk":"53","def":"83","sta":"80","legendary":"0","cp_40":"409"},{"cp_39":"403","id":"416","name":"Burmy (Trash Cloak)","generation":"4","evolution_stage":"1","family_id":"","type_1":"bug","type_2":"","stat_total":"216","atk":"53","def":"83","sta":"80","legendary":"0","cp_40":"409"},{"cp_39":"403","id":"417","name":"Burmy (Sandy Cloak)","generation":"4","evolution_stage":"1","family_id":"","type_1":"bug","type_2":"","stat_total":"216","atk":"53","def":"83","sta":"80","legendary":"0","cp_40":"409"},{"cp_39":"1593","id":"418","name":"Wormadam (Plant Cloak)","generation":"4","evolution_stage":"2","family_id":"","type_1":"bug","type_2":"grass","stat_total":"450","atk":"141","def":"189","sta":"120","legendary":"0","cp_40":"1616"},{"cp_39":"1593","id":"419","name":"Wormadam (Trash Cloak)","generation":"4","evolution_stage":"2","family_id":"","type_1":"bug","type_2":"grass","stat_total":"450","atk":"141","def":"189","sta":"120","legendary":"0","cp_40":"1616"},{"cp_39":"1593","id":"420","name":"Wormadam (Sandy Cloak)","generation":"4","evolution_stage":"2","family_id":"","type_1":"bug","type_2":"grass","stat_total":"450","atk":"141","def":"189","sta":"120","legendary":"0","cp_40":"1616"},{"cp_39":"1629","id":"421","name":"Mothim","generation":"4","evolution_stage":"2","family_id":"","type_1":"bug","type_2":"flying","stat_total":"423","atk":"185","def":"98","sta":"140","legendary":"0","cp_40":"1653"},{"cp_39":"390","id":"422","name":"Combee","generation":"4","evolution_stage":"1","family_id":"","type_1":"bug","type_2":"flying","stat_total":"202","atk":"59","def":"83","sta":"60","legendary":"0","cp_40":"396"},{"cp_39":"1799","id":"423","name":"Vespiquen","generation":"4","evolution_stage":"2","family_id":"","type_1":"bug","type_2":"flying","stat_total":"479","atk":"149","def":"190","sta":"140","legendary":"0","cp_40":"1825"},{"cp_39":"1094","id":"424","name":"Pachirisu","generation":"4","evolution_stage":"1","family_id":"","type_1":"electric","type_2":"","stat_total":"396","atk":"94","def":"182","sta":"120","legendary":"0","cp_40":"1110"},{"cp_39":"932","id":"425","name":"Buizel","generation":"4","evolution_stage":"1","family_id":"","type_1":"water","type_2":"","stat_total":"312","atk":"132","def":"70","sta":"110","legendary":"0","cp_40":"946"},{"cp_39":"2279","id":"426","name":"Floatzel","generation":"4","evolution_stage":"2","family_id":"","type_1":"water","type_2":"","stat_total":"509","atk":"221","def":"118","sta":"170","legendary":"0","cp_40":"2312"},{"cp_39":"817","id":"427","name":"Cherubi","generation":"4","evolution_stage":"1","family_id":"","type_1":"grass","type_2":"","stat_total":"294","atk":"108","def":"96","sta":"90","legendary":"0","cp_40":"829"},{"cp_39":"1859","id":"428","name":"Cherrim","generation":"4","evolution_stage":"2","family_id":"","type_1":"grass","type_2":"","stat_total":"467","atk":"170","def":"157","sta":"140","legendary":"0","cp_40":"1886"},{"cp_39":"1053","id":"429","name":"Shellos","generation":"4","evolution_stage":"1","family_id":"","type_1":"water","type_2":"","stat_total":"366","atk":"103","def":"111","sta":"152","legendary":"0","cp_40":"1069"},{"cp_39":"2233","id":"430","name":"Gastrodon","generation":"4","evolution_stage":"2","family_id":"","type_1":"water","type_2":"ground","stat_total":"540","atk":"169","def":"149","sta":"222","legendary":"0","cp_40":"2265"},{"cp_39":"2186","id":"431","name":"Ambipom","generation":"4","evolution_stage":"2","family_id":"","type_1":"normal","type_2":"","stat_total":"498","atk":"205","def":"143","sta":"150","legendary":"0","cp_40":"2218"},{"cp_39":"1134","id":"432","name":"Drifloon","generation":"4","evolution_stage":"1","family_id":"","type_1":"ghost","type_2":"flying","stat_total":"382","atk":"117","def":"85","sta":"180","legendary":"0","cp_40":"1151"},{"cp_39":"2353","id":"433","name":"Drifblim","generation":"4","evolution_stage":"2","family_id":"","type_1":"ghost","type_2":"flying","stat_total":"587","atk":"180","def":"107","sta":"300","legendary":"0","cp_40":"2387"},{"cp_39":"1120","id":"434","name":"Buneary","generation":"4","evolution_stage":"1","family_id":"","type_1":"normal","type_2":"","stat_total":"351","atk":"130","def":"111","sta":"110","legendary":"0","cp_40":"1136"},{"cp_39":"1858","id":"435","name":"Lopunny","generation":"4","evolution_stage":"2","family_id":"","type_1":"normal","type_2":"","stat_total":"486","atk":"156","def":"200","sta":"130","legendary":"0","cp_40":"1885"},{"cp_39":"2430","id":"436","name":"Mismagius","generation":"4","evolution_stage":"2","family_id":"","type_1":"ghost","type_2":"","stat_total":"542","atk":"211","def":"211","sta":"120","legendary":"0","cp_40":"2465"},{"cp_39":"2529","id":"437","name":"Honchkrow","generation":"4","evolution_stage":"2","family_id":"","type_1":"dark","type_2":"flying","stat_total":"546","atk":"243","def":"103","sta":"200","legendary":"0","cp_40":"2566"},{"cp_39":"811","id":"438","name":"Glameow","generation":"4","evolution_stage":"1","family_id":"","type_1":"normal","type_2":"","stat_total":"292","atk":"109","def":"85","sta":"98","legendary":"0","cp_40":"823"},{"cp_39":"1772","id":"439","name":"Purugly","generation":"4","evolution_stage":"2","family_id":"","type_1":"normal","type_2":"","stat_total":"450","atk":"172","def":"136","sta":"142","legendary":"0","cp_40":"1798"},{"cp_39":"849","id":"440","name":"Chingling","generation":"4","evolution_stage":"1","family_id":"","type_1":"psychic","type_2":"","stat_total":"298","atk":"114","def":"94","sta":"90","legendary":"0","cp_40":"861"},{"cp_39":"1033","id":"441","name":"Stunky","generation":"4","evolution_stage":"1","family_id":"","type_1":"poison","type_2":"dark","stat_total":"340","atk":"121","def":"93","sta":"126","legendary":"0","cp_40":"1048"},{"cp_39":"2230","id":"442","name":"Skuntank","generation":"4","evolution_stage":"2","family_id":"","type_1":"poison","type_2":"dark","stat_total":"525","atk":"184","def":"135","sta":"206","legendary":"0","cp_40":"2262"},{"cp_39":"527","id":"443","name":"Bronzor","generation":"4","evolution_stage":"1","family_id":"","type_1":"steel","type_2":"psychic","stat_total":"311","atk":"43","def":"154","sta":"114","legendary":"0","cp_40":"534"},{"cp_39":"1997","id":"444","name":"Bronzong","generation":"4","evolution_stage":"2","family_id":"","type_1":"steel","type_2":"psychic","stat_total":"508","atk":"161","def":"213","sta":"134","legendary":"0","cp_40":"2026"},{"cp_39":"1196","id":"445","name":"Bonsly","generation":"4","evolution_stage":"0","family_id":"","type_1":"rock","type_2":"","stat_total":"379","atk":"124","def":"155","sta":"100","legendary":"0","cp_40":"1213"},{"cp_39":"855","id":"446","name":"Mime Jr.","generation":"4","evolution_stage":"0","family_id":"","type_1":"psychic","type_2":"fairy","stat_total":"329","atk":"125","def":"164","sta":"40","legendary":"0","cp_40":"867"},{"cp_39":"395","id":"447","name":"Happiny","generation":"4","evolution_stage":"0","family_id":"","type_1":"normal","type_2":"","stat_total":"330","atk":"25","def":"105","sta":"200","legendary":"0","cp_40":"401"},{"cp_39":"1629","id":"448","name":"Chatot","generation":"4","evolution_stage":"1","family_id":"","type_1":"normal","type_2":"flying","stat_total":"427","atk":"183","def":"92","sta":"152","legendary":"0","cp_40":"1653"},{"cp_39":"1777","id":"449","name":"Spiritomb","generation":"4","evolution_stage":"1","family_id":"","type_1":"ghost","type_2":"dark","stat_total":"468","atk":"169","def":"199","sta":"100","legendary":"0","cp_40":"1802"},{"cp_39":"974","id":"450","name":"Gible","generation":"4","evolution_stage":"1","family_id":"","type_1":"dragon","type_2":"ground","stat_total":"324","atk":"124","def":"84","sta":"116","legendary":"0","cp_40":"988"},{"cp_39":"1703","id":"451","name":"Gabite","generation":"4","evolution_stage":"2","family_id":"","type_1":"dragon","type_2":"ground","stat_total":"438","atk":"172","def":"130","sta":"136","legendary":"0","cp_40":"1728"},{"cp_39":"3769","id":"452","name":"Garchomp","generation":"4","evolution_stage":"3","family_id":"","type_1":"dragon","type_2":"ground","stat_total":"675","atk":"261","def":"198","sta":"216","legendary":"0","cp_40":"3823"},{"cp_39":"1947","id":"453","name":"Munchlax","generation":"4","evolution_stage":"0","family_id":"","type_1":"normal","type_2":"","stat_total":"544","atk":"137","def":"137","sta":"270","legendary":"0","cp_40":"1975"},{"cp_39":"821","id":"454","name":"Riolu","generation":"4","evolution_stage":"1","family_id":"","type_1":"fighting","type_2":"","stat_total":"285","atk":"127","def":"78","sta":"80","legendary":"0","cp_40":"833"},{"cp_39":"2425","id":"455","name":"Lucario","generation":"4","evolution_stage":"2","family_id":"","type_1":"fighting","type_2":"steel","stat_total":"520","atk":"236","def":"144","sta":"140","legendary":"0","cp_40":"2461"},{"cp_39":"1283","id":"456","name":"Hippopotas","generation":"4","evolution_stage":"1","family_id":"","type_1":"ground","type_2":"","stat_total":"394","atk":"124","def":"134","sta":"136","legendary":"0","cp_40":"1302"},{"cp_39":"3045","id":"457","name":"Hippowdon","generation":"4","evolution_stage":"2","family_id":"","type_1":"ground","type_2":"","stat_total":"629","atk":"201","def":"212","sta":"216","legendary":"0","cp_40":"3089"},{"cp_39":"876","id":"458","name":"Skorupi","generation":"4","evolution_stage":"1","family_id":"","type_1":"poison","type_2":"bug","stat_total":"341","atk":"93","def":"168","sta":"80","legendary":"0","cp_40":"889"},{"cp_39":"2286","id":"459","name":"Drapion","generation":"4","evolution_stage":"2","family_id":"","type_1":"poison","type_2":"dark","stat_total":"539","atk":"180","def":"219","sta":"140","legendary":"0","cp_40":"2319"},{"cp_39":"810","id":"460","name":"Croagunk","generation":"4","evolution_stage":"1","family_id":"","type_1":"poison","type_2":"fighting","stat_total":"288","atk":"116","def":"76","sta":"96","legendary":"0","cp_40":"822"},{"cp_39":"2277","id":"461","name":"Toxicroak","generation":"4","evolution_stage":"2","family_id":"","type_1":"poison","type_2":"fighting","stat_total":"510","atk":"211","def":"133","sta":"166","legendary":"0","cp_40":"2310"},{"cp_39":"1951","id":"462","name":"Carnivine","generation":"4","evolution_stage":"1","family_id":"","type_1":"grass","type_2":"","stat_total":"471","atk":"187","def":"136","sta":"148","legendary":"0","cp_40":"1979"},{"cp_39":"840","id":"463","name":"Finneon","generation":"4","evolution_stage":"1","family_id":"","type_1":"water","type_2":"","stat_total":"313","atk":"96","def":"119","sta":"98","legendary":"0","cp_40":"853"},{"cp_39":"1648","id":"464","name":"Lumineon","generation":"4","evolution_stage":"2","family_id":"","type_1":"water","type_2":"","stat_total":"455","atk":"142","def":"175","sta":"138","legendary":"0","cp_40":"1671"},{"cp_39":"1140","id":"465","name":"Mantyke","generation":"4","evolution_stage":"0","family_id":"","type_1":"water","type_2":"flying","stat_total":"407","atk":"105","def":"212","sta":"90","legendary":"0","cp_40":"1157"},{"cp_39":"1039","id":"466","name":"Snover","generation":"4","evolution_stage":"1","family_id":"","type_1":"grass","type_2":"ice","stat_total":"345","atk":"115","def":"110","sta":"120","legendary":"0","cp_40":"1054"},{"cp_39":"2213","id":"467","name":"Abomasnow","generation":"4","evolution_stage":"2","family_id":"","type_1":"grass","type_2":"ice","stat_total":"521","atk":"178","def":"163","sta":"180","legendary":"0","cp_40":"2245"},{"cp_39":"2775","id":"468","name":"Weavile","generation":"4","evolution_stage":"2","family_id":"","type_1":"dark","type_2":"ice","stat_total":"565","atk":"243","def":"182","sta":"140","legendary":"0","cp_40":"2815"},{"cp_39":"2953","id":"469","name":"Magnezone","generation":"4","evolution_stage":"3","family_id":"","type_1":"electric","type_2":"steel","stat_total":"595","atk":"238","def":"217","sta":"140","legendary":"0","cp_40":"2996"},{"cp_39":"2325","id":"470","name":"Lickilicky","generation":"4","evolution_stage":"2","family_id":"","type_1":"normal","type_2":"","stat_total":"562","atk":"161","def":"181","sta":"220","legendary":"0","cp_40":"2359"},{"cp_39":"3813","id":"471","name":"Rhyperior","generation":"4","evolution_stage":"3","family_id":"","type_1":"ground","type_2":"rock","stat_total":"695","atk":"241","def":"224","sta":"230","legendary":"0","cp_40":"3869"},{"cp_39":"3065","id":"472","name":"Tangrowth","generation":"4","evolution_stage":"2","family_id":"","type_1":"grass","type_2":"","stat_total":"626","atk":"207","def":"219","sta":"200","legendary":"0","cp_40":"3110"},{"cp_39":"2862","id":"473","name":"Electivire","generation":"4","evolution_stage":"2","family_id":"","type_1":"electric","type_2":"","stat_total":"572","atk":"249","def":"173","sta":"150","legendary":"0","cp_40":"2904"},{"cp_39":"2937","id":"474","name":"Magmortar","generation":"4","evolution_stage":"2","family_id":"62","type_1":"fire","type_2":"","stat_total":"583","atk":"247","def":"186","sta":"150","legendary":"0","cp_40":"2980"},{"cp_39":"3126","id":"475","name":"Togekiss","generation":"4","evolution_stage":"2","family_id":"","type_1":"fairy","type_2":"flying","stat_total":"622","atk":"225","def":"227","sta":"170","legendary":"0","cp_40":"3171"},{"cp_39":"2832","id":"476","name":"Yanmega","generation":"4","evolution_stage":"2","family_id":"","type_1":"bug","type_2":"flying","stat_total":"575","atk":"231","def":"172","sta":"172","legendary":"0","cp_40":"2873"},{"cp_39":"2808","id":"477","name":"Leafeon","generation":"4","evolution_stage":"2","family_id":"","type_1":"grass","type_2":"","stat_total":"600","atk":"216","def":"254","sta":"130","legendary":"0","cp_40":"2849"},{"cp_39":"2825","id":"478","name":"Glaceon","generation":"4","evolution_stage":"2","family_id":"","type_1":"ice","type_2":"","stat_total":"580","atk":"238","def":"212","sta":"130","legendary":"0","cp_40":"2866"},{"cp_39":"2565","id":"479","name":"Gliscor","generation":"4","evolution_stage":"2","family_id":"","type_1":"ground","type_2":"flying","stat_total":"583","atk":"185","def":"248","sta":"150","legendary":"0","cp_40":"2602"},{"cp_39":"3242","id":"480","name":"Mamoswine","generation":"4","evolution_stage":"3","family_id":"","type_1":"ice","type_2":"ground","stat_total":"624","atk":"247","def":"157","sta":"220","legendary":"0","cp_40":"3289"},{"cp_39":"3028","id":"481","name":"Porygon-Z","generation":"4","evolution_stage":"3","family_id":"","type_1":"normal","type_2":"","stat_total":"587","atk":"264","def":"153","sta":"170","legendary":"0","cp_40":"3072"},{"cp_39":"2922","id":"482","name":"Gallade","generation":"4","evolution_stage":"Evolved","family_id":"","type_1":"psychic","type_2":"fighting","stat_total":"593","atk":"237","def":"220","sta":"136","legendary":"0","cp_40":"2964"},{"cp_39":"1836","id":"483","name":"Probopass","generation":"4","evolution_stage":"2","family_id":"","type_1":"rock","type_2":"steel","stat_total":"533","atk":"135","def":"278","sta":"120","legendary":"0","cp_40":"1863"},{"cp_39":"2017","id":"484","name":"Dusknoir","generation":"4","evolution_stage":"3","family_id":"","type_1":"ghost","type_2":"","stat_total":"524","atk":"180","def":"254","sta":"90","legendary":"0","cp_40":"2046"},{"cp_39":"1831","id":"485","name":"Froslass","generation":"4","evolution_stage":"3","family_id":"","type_1":"ice","type_2":"ghost","stat_total":"461","atk":"171","def":"150","sta":"140","legendary":"0","cp_40":"1857"},{"cp_39":"1741","id":"486","name":"Rotom (Heat Rotom)","generation":"4","evolution_stage":"1","family_id":"","type_1":"electric","type_2":"ghost","stat_total":"444","atk":"185","def":"159","sta":"100","legendary":"0","cp_40":"1767"},{"cp_39":"1741","id":"487","name":"Rotom (Wash Rotom)","generation":"4","evolution_stage":"1","family_id":"","type_1":"electric","type_2":"ghost","stat_total":"444","atk":"185","def":"159","sta":"100","legendary":"0","cp_40":"1767"},{"cp_39":"1741","id":"488","name":"Rotom (Frost Rotom)","generation":"4","evolution_stage":"1","family_id":"","type_1":"electric","type_2":"ghost","stat_total":"444","atk":"185","def":"159","sta":"100","legendary":"0","cp_40":"1767"},{"cp_39":"1741","id":"489","name":"Rotom (Fan Rotom)","generation":"4","evolution_stage":"1","family_id":"","type_1":"electric","type_2":"ghost","stat_total":"444","atk":"185","def":"159","sta":"100","legendary":"0","cp_40":"1767"},{"cp_39":"1741","id":"490","name":"Rotom (Mow Rotom)","generation":"4","evolution_stage":"1","family_id":"","type_1":"electric","type_2":"ghost","stat_total":"444","atk":"185","def":"159","sta":"100","legendary":"0","cp_40":"1767"},{"cp_39":"1741","id":"491","name":"Rotom (Normal Rotom)","generation":"4","evolution_stage":"1","family_id":"","type_1":"electric","type_2":"ghost","stat_total":"444","atk":"185","def":"159","sta":"100","legendary":"0","cp_40":"1767"},{"cp_39":"2282","id":"492","name":"Uxie","generation":"4","evolution_stage":"1","family_id":"","type_1":"psychic","type_2":"","stat_total":"576","atk":"156","def":"270","sta":"150","legendary":"1","cp_40":"2316"},{"cp_39":"2785","id":"493","name":"Mesprit","generation":"4","evolution_stage":"1","family_id":"","type_1":"psychic","type_2":"","stat_total":"584","atk":"212","def":"212","sta":"160","legendary":"1","cp_40":"2825"},{"cp_39":"2903","id":"494","name":"Azelf","generation":"4","evolution_stage":"1","family_id":"","type_1":"psychic","type_2":"","stat_total":"571","atk":"270","def":"151","sta":"150","legendary":"1","cp_40":"2945"},{"cp_39":"4587","id":"495","name":"Dialga","generation":"4","evolution_stage":"1","family_id":"","type_1":"steel","type_2":"dragon","stat_total":"744","atk":"302","def":"242","sta":"200","legendary":"1","cp_40":"4654"},{"cp_39":"4494","id":"496","name":"Palkia","generation":"4","evolution_stage":"1","family_id":"","type_1":"water","type_2":"dragon","stat_total":"735","atk":"308","def":"247","sta":"180","legendary":"1","cp_40":"4559"},{"cp_39":"3470","id":"497","name":"Heatran","generation":"4","evolution_stage":"1","family_id":"","type_1":"fire","type_2":"steel","stat_total":"646","atk":"251","def":"213","sta":"182","legendary":"1","cp_40":"3521"},{"cp_39":"4884","id":"498","name":"Regigigas","generation":"4","evolution_stage":"1","family_id":"","type_1":"normal","type_2":"","stat_total":"766","atk":"315","def":"231","sta":"220","legendary":"1","cp_40":"4955"},{"cp_39":"3908","id":"499","name":"Giratina (Altered Forme)","generation":"4","evolution_stage":"1","family_id":"","type_1":"ghost","type_2":"dragon","stat_total":"753","atk":"206","def":"247","sta":"300","legendary":"1","cp_40":"3965"},{"cp_39":"3908","id":"500","name":"Giratina (Origin Forme)","generation":"4","evolution_stage":"1","family_id":"","type_1":"ghost","type_2":"dragon","stat_total":"753","atk":"206","def":"247","sta":"300","legendary":"1","cp_40":"3965"},{"cp_39":"2737","id":"501","name":"Cresselia","generation":"4","evolution_stage":"1","family_id":"","type_1":"psychic","type_2":"","stat_total":"655","atk":"152","def":"263","sta":"240","legendary":"1","cp_40":"2777"},{"cp_39":"1917","id":"502","name":"Phione","generation":"4","evolution_stage":"1","family_id":"","type_1":"water","type_2":"","stat_total":"484","atk":"162","def":"162","sta":"160","legendary":"2","cp_40":"1945"},{"cp_39":"3046","id":"503","name":"Manaphy","generation":"4","evolution_stage":"2","family_id":"","type_1":"water","type_2":"","stat_total":"620","atk":"210","def":"210","sta":"200","legendary":"2","cp_40":"3090"},{"cp_39":"3355","id":"504","name":"Darkrai","generation":"4","evolution_stage":"1","family_id":"","type_1":"dark","type_2":"","stat_total":"623","atk":"285","def":"198","sta":"140","legendary":"1","cp_40":"3404"},{"cp_39":"3046","id":"505","name":"Shaymin (Land Forme)","generation":"4","evolution_stage":"1","family_id":"","type_1":"grass","type_2":"","stat_total":"620","atk":"210","def":"210","sta":"200","legendary":"1","cp_40":"3090"},{"cp_39":"3046","id":"506","name":"Shaymin (Sky Forme)","generation":"4","evolution_stage":"1","family_id":"","type_1":"grass","type_2":"","stat_total":"620","atk":"210","def":"210","sta":"200","legendary":"1","cp_40":"3090"},{"cp_39":"4532","id":"507","name":"Arceus","generation":"4","evolution_stage":"1","family_id":"","type_1":"normal","type_2":"","stat_total":"764","atk":"262","def":"262","sta":"240","legendary":"1","cp_40":"4598"},{"cp_39":"3046","id":"508","name":"Victini","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"psychic","type_2":"fire","stat_total":"620","atk":"210","def":"210","sta":"200","legendary":"1","cp_40":"3090"},{"cp_39":"717","id":"509","name":"Snivy","generation":"5","evolution_stage":"","family_id":"","type_1":"grass","type_2":"","stat_total":"285","atk":"88","def":"107","sta":"90","legendary":"0","cp_40":"728"},{"cp_39":"1266","id":"510","name":"Servine","generation":"5","evolution_stage":"","family_id":"","type_1":"grass","type_2":"","stat_total":"394","atk":"122","def":"152","sta":"120","legendary":"0","cp_40":"1284"},{"cp_39":"2059","id":"511","name":"Serperior","generation":"5","evolution_stage":"","family_id":"","type_1":"grass","type_2":"","stat_total":"515","atk":"161","def":"204","sta":"150","legendary":"0","cp_40":"2089"},{"cp_39":"963","id":"512","name":"Tepig","generation":"5","evolution_stage":"","family_id":"","type_1":"fire","type_2":"","stat_total":"330","atk":"115","def":"85","sta":"130","legendary":"0","cp_40":"977"},{"cp_39":"1777","id":"513","name":"Pignite","generation":"5","evolution_stage":"","family_id":"","type_1":"fire","type_2":"fighting","stat_total":"459","atk":"173","def":"106","sta":"180","legendary":"0","cp_40":"1803"},{"cp_39":"2811","id":"514","name":"Emboar","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"fire","type_2":"fighting","stat_total":"582","atk":"235","def":"127","sta":"220","legendary":"0","cp_40":"2852"},{"cp_39":"908","id":"515","name":"Oshawott","generation":"5","evolution_stage":"","family_id":"","type_1":"water","type_2":"","stat_total":"312","atk":"117","def":"85","sta":"110","legendary":"0","cp_40":"921"},{"cp_39":"1574","id":"516","name":"Dewott","generation":"5","evolution_stage":"","family_id":"","type_1":"water","type_2":"","stat_total":"425","atk":"159","def":"116","sta":"150","legendary":"0","cp_40":"1597"},{"cp_39":"2677","id":"517","name":"Samurott","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"water","type_2":"","stat_total":"566","atk":"212","def":"164","sta":"190","legendary":"0","cp_40":"2715"},{"cp_39":"668","id":"518","name":"Patrat","generation":"5","evolution_stage":"","family_id":"","type_1":"normal","type_2":"","stat_total":"261","atk":"98","def":"73","sta":"90","legendary":"0","cp_40":"678"},{"cp_39":"1597","id":"519","name":"Watchog","generation":"5","evolution_stage":"","family_id":"","type_1":"normal","type_2":"","stat_total":"424","atk":"165","def":"139","sta":"120","legendary":"0","cp_40":"1621"},{"cp_39":"773","id":"520","name":"Lillipup","generation":"5","evolution_stage":"","family_id":"","type_1":"normal","type_2":"","stat_total":"283","atk":"107","def":"86","sta":"90","legendary":"0","cp_40":"784"},{"cp_39":"1408","id":"521","name":"Herdier","generation":"5","evolution_stage":"","family_id":"","type_1":"normal","type_2":"","stat_total":"401","atk":"145","def":"126","sta":"130","legendary":"0","cp_40":"1428"},{"cp_39":"2597","id":"522","name":"Stoutland","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"normal","type_2":"","stat_total":"558","atk":"206","def":"182","sta":"170","legendary":"0","cp_40":"2635"},{"cp_39":"642","id":"523","name":"Purrloin","generation":"5","evolution_stage":"","family_id":"","type_1":"dark","type_2":"","stat_total":"253","atk":"98","def":"73","sta":"82","legendary":"0","cp_40":"652"},{"cp_39":"1635","id":"524","name":"Liepard","generation":"5","evolution_stage":"","family_id":"","type_1":"dark","type_2":"","stat_total":"421","atk":"187","def":"106","sta":"128","legendary":"0","cp_40":"1659"},{"cp_39":"820","id":"525","name":"Pansage","generation":"5","evolution_stage":"","family_id":"","type_1":"grass","type_2":"","stat_total":"298","atk":"104","def":"94","sta":"100","legendary":"0","cp_40":"832"},{"cp_39":"2126","id":"526","name":"Simisage","generation":"5","evolution_stage":"","family_id":"","type_1":"grass","type_2":"","stat_total":"489","atk":"206","def":"133","sta":"150","legendary":"0","cp_40":"2156"},{"cp_39":"820","id":"527","name":"Pansear","generation":"5","evolution_stage":"","family_id":"","type_1":"fire","type_2":"","stat_total":"298","atk":"104","def":"94","sta":"100","legendary":"0","cp_40":"832"},{"cp_39":"2126","id":"528","name":"Simisear","generation":"5","evolution_stage":"","family_id":"","type_1":"fire","type_2":"","stat_total":"489","atk":"206","def":"133","sta":"150","legendary":"0","cp_40":"2156"},{"cp_39":"820","id":"529","name":"Panpour","generation":"5","evolution_stage":"","family_id":"","type_1":"water","type_2":"","stat_total":"298","atk":"104","def":"94","sta":"100","legendary":"0","cp_40":"832"},{"cp_39":"2126","id":"530","name":"Simipour","generation":"5","evolution_stage":"","family_id":"","type_1":"water","type_2":"","stat_total":"489","atk":"206","def":"133","sta":"150","legendary":"0","cp_40":"2156"},{"cp_39":"1060","id":"531","name":"Munna","generation":"5","evolution_stage":"","family_id":"","type_1":"psychic","type_2":"","stat_total":"360","atk":"111","def":"97","sta":"152","legendary":"0","cp_40":"1076"},{"cp_39":"2612","id":"532","name":"Musharna","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"psychic","type_2":"","stat_total":"586","atk":"183","def":"171","sta":"232","legendary":"0","cp_40":"2650"},{"cp_39":"760","id":"533","name":"Pidove","generation":"5","evolution_stage":"","family_id":"","type_1":"normal","type_2":"flying","stat_total":"287","atk":"98","def":"89","sta":"100","legendary":"0","cp_40":"771"},{"cp_39":"1325","id":"534","name":"Tranquill","generation":"5","evolution_stage":"","family_id":"","type_1":"normal","type_2":"flying","stat_total":"385","atk":"144","def":"117","sta":"124","legendary":"0","cp_40":"1345"},{"cp_39":"2596","id":"535","name":"Unfezant","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"normal","type_2":"flying","stat_total":"546","atk":"226","def":"160","sta":"160","legendary":"0","cp_40":"2634"},{"cp_39":"745","id":"536","name":"Blitzle","generation":"5","evolution_stage":"","family_id":"","type_1":"electric","type_2":"","stat_total":"272","atk":"118","def":"64","sta":"90","legendary":"0","cp_40":"756"},{"cp_39":"2196","id":"537","name":"Zebstrika","generation":"5","evolution_stage":"","family_id":"","type_1":"electric","type_2":"","stat_total":"497","atk":"211","def":"136","sta":"150","legendary":"0","cp_40":"2228"},{"cp_39":"1150","id":"538","name":"Roggenrola","generation":"5","evolution_stage":"","family_id":"","type_1":"rock","type_2":"","stat_total":"367","atk":"121","def":"136","sta":"110","legendary":"0","cp_40":"1166"},{"cp_39":"1986","id":"539","name":"Boldore","generation":"5","evolution_stage":"","family_id":"","type_1":"rock","type_2":"","stat_total":"487","atk":"174","def":"173","sta":"140","legendary":"0","cp_40":"2015"},{"cp_39":"3113","id":"540","name":"Gigalith","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"rock","type_2":"","stat_total":"619","atk":"226","def":"223","sta":"170","legendary":"0","cp_40":"3158"},{"cp_39":"904","id":"541","name":"Woobat","generation":"5","evolution_stage":"","family_id":"","type_1":"psychic","type_2":"flying","stat_total":"322","atk":"107","def":"85","sta":"130","legendary":"0","cp_40":"917"},{"cp_39":"1531","id":"542","name":"Swoobat","generation":"5","evolution_stage":"","family_id":"","type_1":"psychic","type_2":"flying","stat_total":"414","atk":"161","def":"119","sta":"134","legendary":"0","cp_40":"1553"},{"cp_39":"1226","id":"543","name":"Drilbur","generation":"5","evolution_stage":"","family_id":"","type_1":"ground","type_2":"","stat_total":"362","atk":"154","def":"88","sta":"120","legendary":"0","cp_40":"1244"},{"cp_39":"3089","id":"544","name":"Excadrill","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"ground","type_2":"steel","stat_total":"607","atk":"255","def":"132","sta":"220","legendary":"0","cp_40":"3134"},{"cp_39":"1575","id":"545","name":"Audino","generation":"5","evolution_stage":"","family_id":"","type_1":"normal","type_2":"","stat_total":"483","atk":"114","def":"163","sta":"206","legendary":"0","cp_40":"1598"},{"cp_39":"1247","id":"546","name":"Timburr","generation":"5","evolution_stage":"","family_id":"","type_1":"fighting","type_2":"","stat_total":"381","atk":"134","def":"97","sta":"150","legendary":"0","cp_40":"1265"},{"cp_39":"2097","id":"547","name":"Gurdurr","generation":"5","evolution_stage":"","family_id":"","type_1":"fighting","type_2":"","stat_total":"500","atk":"180","def":"150","sta":"170","legendary":"0","cp_40":"2127"},{"cp_39":"3258","id":"548","name":"Conkeldurr","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"fighting","type_2":"","stat_total":"625","atk":"243","def":"172","sta":"210","legendary":"0","cp_40":"3305"},{"cp_39":"719","id":"549","name":"Tympole","generation":"5","evolution_stage":"","family_id":"","type_1":"water","type_2":"","stat_total":"276","atk":"98","def":"78","sta":"100","legendary":"0","cp_40":"729"},{"cp_39":"1259","id":"550","name":"Palpitoad","generation":"5","evolution_stage":"","family_id":"","type_1":"water","type_2":"ground","stat_total":"387","atk":"128","def":"109","sta":"150","legendary":"0","cp_40":"1277"},{"cp_39":"2408","id":"551","name":"Seismitoad","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"water","type_2":"ground","stat_total":"548","atk":"188","def":"150","sta":"210","legendary":"0","cp_40":"2442"},{"cp_39":"2432","id":"552","name":"Throh","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"fighting","type_2":"","stat_total":"572","atk":"172","def":"160","sta":"240","legendary":"0","cp_40":"2467"},{"cp_39":"2521","id":"553","name":"Sawk","generation":"5","evolution_stage":"","family_id":"","type_1":"fighting","type_2":"","stat_total":"534","atk":"231","def":"153","sta":"150","legendary":"0","cp_40":"2558"},{"cp_39":"840","id":"554","name":"Sewaddle","generation":"5","evolution_stage":"","family_id":"","type_1":"bug","type_2":"grass","stat_total":"315","atk":"96","def":"129","sta":"90","legendary":"0","cp_40":"852"},{"cp_39":"1203","id":"555","name":"Swadloon","generation":"5","evolution_stage":"","family_id":"","type_1":"bug","type_2":"grass","stat_total":"391","atk":"115","def":"166","sta":"110","legendary":"0","cp_40":"1221"},{"cp_39":"2334","id":"556","name":"Leavanny","generation":"5","evolution_stage":"","family_id":"","type_1":"bug","type_2":"grass","stat_total":"520","atk":"205","def":"165","sta":"150","legendary":"0","cp_40":"2368"},{"cp_39":"581","id":"557","name":"Venipede","generation":"5","evolution_stage":"","family_id":"","type_1":"bug","type_2":"poison","stat_total":"252","atk":"83","def":"109","sta":"60","legendary":"0","cp_40":"590"},{"cp_39":"968","id":"558","name":"Whirlipede","generation":"5","evolution_stage":"","family_id":"","type_1":"bug","type_2":"poison","stat_total":"362","atk":"100","def":"182","sta":"80","legendary":"0","cp_40":"982"},{"cp_39":"2210","id":"559","name":"Scolipede","generation":"5","evolution_stage":"","family_id":"","type_1":"bug","type_2":"poison","stat_total":"509","atk":"203","def":"186","sta":"120","legendary":"0","cp_40":"2242"},{"cp_39":"590","id":"560","name":"Cottonee","generation":"5","evolution_stage":"","family_id":"","type_1":"grass","type_2":"fairy","stat_total":"267","atk":"71","def":"116","sta":"80","legendary":"0","cp_40":"599"},{"cp_39":"1797","id":"561","name":"Whimsicott","generation":"5","evolution_stage":"","family_id":"","type_1":"grass","type_2":"fairy","stat_total":"466","atk":"164","def":"182","sta":"120","legendary":"0","cp_40":"1823"},{"cp_39":"870","id":"562","name":"Petilil","generation":"5","evolution_stage":"","family_id":"","type_1":"grass","type_2":"","stat_total":"300","atk":"119","def":"91","sta":"90","legendary":"0","cp_40":"882"},{"cp_39":"2288","id":"563","name":"Lilligant","generation":"5","evolution_stage":"","family_id":"","type_1":"grass","type_2":"","stat_total":"509","atk":"214","def":"155","sta":"140","legendary":"0","cp_40":"2321"},{"cp_39":"1908","id":"564","name":"Basculin","generation":"5","evolution_stage":"","family_id":"","type_1":"water","type_2":"","stat_total":"463","atk":"189","def":"134","sta":"140","legendary":"0","cp_40":"1936"},{"cp_39":"889","id":"565","name":"Sandile","generation":"5","evolution_stage":"","family_id":"","type_1":"ground","type_2":"dark","stat_total":"301","atk":"132","def":"69","sta":"100","legendary":"0","cp_40":"902"},{"cp_39":"1246","id":"566","name":"Krokorok","generation":"5","evolution_stage":"","family_id":"","type_1":"ground","type_2":"dark","stat_total":"365","atk":"155","def":"90","sta":"120","legendary":"0","cp_40":"1264"},{"cp_39":"2869","id":"567","name":"Krookodile","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"ground","type_2":"dark","stat_total":"582","atk":"229","def":"163","sta":"190","legendary":"0","cp_40":"2911"},{"cp_39":"1294","id":"568","name":"Darumaka","generation":"5","evolution_stage":"","family_id":"","type_1":"fire","type_2":"","stat_total":"379","atk":"153","def":"86","sta":"140","legendary":"0","cp_40":"1312"},{"cp_39":"2915","id":"569","name":"Darmanitan (Zen Mode)","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"fire","type_2":"","stat_total":"587","atk":"263","def":"114","sta":"210","legendary":"0","cp_40":"2958"},{"cp_39":"2915","id":"570","name":"Darmanitan (Standard Mode)","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"fire","type_2":"","stat_total":"587","atk":"263","def":"114","sta":"210","legendary":"0","cp_40":"2958"},{"cp_39":"2056","id":"571","name":"Maractus","generation":"5","evolution_stage":"","family_id":"","type_1":"grass","type_2":"","stat_total":"481","atk":"201","def":"130","sta":"150","legendary":"0","cp_40":"2086"},{"cp_39":"1134","id":"572","name":"Dwebble","generation":"5","evolution_stage":"","family_id":"","type_1":"bug","type_2":"rock","stat_total":"370","atk":"118","def":"152","sta":"100","legendary":"0","cp_40":"1151"},{"cp_39":"2405","id":"573","name":"Crustle","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"bug","type_2":"rock","stat_total":"552","atk":"188","def":"224","sta":"140","legendary":"0","cp_40":"2440"},{"cp_39":"1176","id":"574","name":"Scraggy","generation":"5","evolution_stage":"","family_id":"","type_1":"dark","type_2":"fighting","stat_total":"364","atk":"132","def":"132","sta":"100","legendary":"0","cp_40":"1193"},{"cp_39":"2031","id":"575","name":"Scrafty","generation":"5","evolution_stage":"","family_id":"","type_1":"dark","type_2":"fighting","stat_total":"515","atk":"163","def":"222","sta":"130","legendary":"0","cp_40":"2060"},{"cp_39":"2293","id":"576","name":"Sigilyph","generation":"5","evolution_stage":"","family_id":"","type_1":"psychic","type_2":"flying","stat_total":"515","atk":"204","def":"167","sta":"144","legendary":"0","cp_40":"2326"},{"cp_39":"829","id":"577","name":"Yamask","generation":"5","evolution_stage":"","family_id":"","type_1":"ghost","type_2":"","stat_total":"321","atk":"95","def":"150","sta":"76","legendary":"0","cp_40":"841"},{"cp_39":"2060","id":"578","name":"Cofagrigus","generation":"5","evolution_stage":"","family_id":"","type_1":"ghost","type_2":"","stat_total":"534","atk":"163","def":"255","sta":"116","legendary":"0","cp_40":"2090"},{"cp_39":"1391","id":"579","name":"Tirtouga","generation":"5","evolution_stage":"","family_id":"","type_1":"water","type_2":"rock","stat_total":"414","atk":"134","def":"172","sta":"108","legendary":"0","cp_40":"1411"},{"cp_39":"2536","id":"580","name":"Carracosta","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"water","type_2":"rock","stat_total":"568","atk":"192","def":"228","sta":"148","legendary":"0","cp_40":"2573"},{"cp_39":"1600","id":"581","name":"Archen","generation":"5","evolution_stage":"","family_id":"","type_1":"rock","type_2":"flying","stat_total":"412","atk":"213","def":"89","sta":"110","legendary":"0","cp_40":"1623"},{"cp_39":"3012","id":"582","name":"Archeops","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"rock","type_2":"flying","stat_total":"581","atk":"292","def":"139","sta":"150","legendary":"0","cp_40":"3056"},{"cp_39":"857","id":"583","name":"Trubbish","generation":"5","evolution_stage":"","family_id":"","type_1":"poison","type_2":"","stat_total":"318","atk":"96","def":"122","sta":"100","legendary":"0","cp_40":"870"},{"cp_39":"2135","id":"584","name":"Garbodor","generation":"5","evolution_stage":"","family_id":"","type_1":"poison","type_2":"","stat_total":"505","atk":"181","def":"164","sta":"160","legendary":"0","cp_40":"2166"},{"cp_39":"972","id":"585","name":"Zorua","generation":"5","evolution_stage":"","family_id":"","type_1":"dark","type_2":"","stat_total":"311","atk":"153","def":"78","sta":"80","legendary":"0","cp_40":"986"},{"cp_39":"2258","id":"586","name":"Zoroark","generation":"5","evolution_stage":"","family_id":"","type_1":"dark","type_2":"","stat_total":"497","atk":"250","def":"127","sta":"120","legendary":"0","cp_40":"2291"},{"cp_39":"758","id":"587","name":"Minccino","generation":"5","evolution_stage":"","family_id":"","type_1":"normal","type_2":"","stat_total":"288","atk":"98","def":"80","sta":"110","legendary":"0","cp_40":"769"},{"cp_39":"2028","id":"588","name":"Cinccino","generation":"5","evolution_stage":"","family_id":"","type_1":"normal","type_2":"","stat_total":"478","atk":"198","def":"130","sta":"150","legendary":"0","cp_40":"2057"},{"cp_39":"822","id":"589","name":"Gothita","generation":"5","evolution_stage":"","family_id":"","type_1":"psychic","type_2":"","stat_total":"306","atk":"98","def":"118","sta":"90","legendary":"0","cp_40":"834"},{"cp_39":"1434","id":"590","name":"Gothorita","generation":"5","evolution_stage":"","family_id":"","type_1":"psychic","type_2":"","stat_total":"416","atk":"137","def":"159","sta":"120","legendary":"0","cp_40":"1455"},{"cp_39":"2205","id":"591","name":"Gothitelle","generation":"5","evolution_stage":"","family_id":"","type_1":"psychic","type_2":"","stat_total":"528","atk":"176","def":"212","sta":"140","legendary":"0","cp_40":"2237"},{"cp_39":"1178","id":"592","name":"Solosis","generation":"5","evolution_stage":"","family_id":"","type_1":"psychic","type_2":"","stat_total":"347","atk":"170","def":"87","sta":"90","legendary":"0","cp_40":"1195"},{"cp_39":"1826","id":"593","name":"Duosion","generation":"5","evolution_stage":"","family_id":"","type_1":"psychic","type_2":"","stat_total":"445","atk":"208","def":"107","sta":"130","legendary":"0","cp_40":"1852"},{"cp_39":"2801","id":"594","name":"Reuniclus","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"psychic","type_2":"","stat_total":"587","atk":"214","def":"153","sta":"220","legendary":"0","cp_40":"2841"},{"cp_39":"757","id":"595","name":"Ducklett","generation":"5","evolution_stage":"","family_id":"","type_1":"water","type_2":"flying","stat_total":"304","atk":"84","def":"96","sta":"124","legendary":"0","cp_40":"768"},{"cp_39":"1888","id":"596","name":"Swanna","generation":"5","evolution_stage":"","family_id":"","type_1":"water","type_2":"flying","stat_total":"464","atk":"182","def":"132","sta":"150","legendary":"0","cp_40":"1916"},{"cp_39":"857","id":"597","name":"Vanillite","generation":"5","evolution_stage":"","family_id":"","type_1":"ice","type_2":"","stat_total":"301","atk":"118","def":"111","sta":"72","legendary":"0","cp_40":"869"},{"cp_39":"1389","id":"598","name":"Vanillish","generation":"5","evolution_stage":"","family_id":"","type_1":"ice","type_2":"","stat_total":"396","atk":"151","def":"143","sta":"102","legendary":"0","cp_40":"1409"},{"cp_39":"2573","id":"599","name":"Vanilluxe","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"ice","type_2":"","stat_total":"550","atk":"218","def":"190","sta":"142","legendary":"0","cp_40":"2610"},{"cp_39":"997","id":"600","name":"Deerling","generation":"5","evolution_stage":"","family_id":"","type_1":"normal","type_2":"grass","stat_total":"335","atk":"115","def":"100","sta":"120","legendary":"0","cp_40":"1011"},{"cp_39":"2201","id":"601","name":"Sawsbuck","generation":"5","evolution_stage":"","family_id":"","type_1":"normal","type_2":"grass","stat_total":"504","atk":"198","def":"146","sta":"160","legendary":"0","cp_40":"2233"},{"cp_39":"1419","id":"602","name":"Emolga","generation":"5","evolution_stage":"","family_id":"","type_1":"electric","type_2":"flying","stat_total":"395","atk":"158","def":"127","sta":"110","legendary":"0","cp_40":"1439"},{"cp_39":"1013","id":"603","name":"Karrablast","generation":"5","evolution_stage":"","family_id":"","type_1":"bug","type_2":"","stat_total":"324","atk":"137","def":"87","sta":"100","legendary":"0","cp_40":"1028"},{"cp_39":"2592","id":"604","name":"Escavalier","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"bug","type_2":"steel","stat_total":"550","atk":"223","def":"187","sta":"140","legendary":"0","cp_40":"2630"},{"cp_39":"894","id":"605","name":"Foongus","generation":"5","evolution_stage":"","family_id":"","type_1":"grass","type_2":"poison","stat_total":"330","atk":"97","def":"95","sta":"138","legendary":"0","cp_40":"907"},{"cp_39":"2057","id":"606","name":"Amoonguss","generation":"5","evolution_stage":"","family_id":"","type_1":"grass","type_2":"poison","stat_total":"527","atk":"155","def":"144","sta":"228","legendary":"0","cp_40":"2087"},{"cp_39":"1149","id":"607","name":"Frillish","generation":"5","evolution_stage":"","family_id":"","type_1":"water","type_2":"ghost","stat_total":"375","atk":"115","def":"150","sta":"110","legendary":"0","cp_40":"1166"},{"cp_39":"2276","id":"608","name":"Jellicent","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"water","type_2":"ghost","stat_total":"554","atk":"159","def":"195","sta":"200","legendary":"0","cp_40":"2309"},{"cp_39":"2233","id":"609","name":"Alomomola","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"water","type_2":"","stat_total":"616","atk":"138","def":"148","sta":"330","legendary":"0","cp_40":"2266"},{"cp_39":"877","id":"610","name":"Joltik","generation":"5","evolution_stage":"","family_id":"","type_1":"bug","type_2":"electric","stat_total":"308","atk":"110","def":"98","sta":"100","legendary":"0","cp_40":"889"},{"cp_39":"1979","id":"611","name":"Galvantula","generation":"5","evolution_stage":"","family_id":"","type_1":"bug","type_2":"electric","stat_total":"469","atk":"201","def":"128","sta":"140","legendary":"0","cp_40":"2008"},{"cp_39":"794","id":"612","name":"Ferroseed","generation":"5","evolution_stage":"","family_id":"","type_1":"grass","type_2":"steel","stat_total":"327","atk":"82","def":"157","sta":"88","legendary":"0","cp_40":"806"},{"cp_39":"2128","id":"613","name":"Ferrothorn","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"grass","type_2":"steel","stat_total":"536","atk":"158","def":"230","sta":"148","legendary":"0","cp_40":"2159"},{"cp_39":"805","id":"614","name":"Klink","generation":"5","evolution_stage":"","family_id":"","type_1":"steel","type_2":"","stat_total":"304","atk":"98","def":"126","sta":"80","legendary":"0","cp_40":"816"},{"cp_39":"1643","id":"615","name":"Klang","generation":"5","evolution_stage":"","family_id":"","type_1":"steel","type_2":"","stat_total":"449","atk":"150","def":"179","sta":"120","legendary":"0","cp_40":"1667"},{"cp_39":"2396","id":"616","name":"Klinklang","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"steel","type_2":"","stat_total":"549","atk":"199","def":"230","sta":"120","legendary":"0","cp_40":"2430"},{"cp_39":"656","id":"617","name":"Tynamo","generation":"5","evolution_stage":"","family_id":"","type_1":"electric","type_2":"","stat_total":"253","atk":"105","def":"78","sta":"70","legendary":"0","cp_40":"666"},{"cp_39":"1526","id":"618","name":"Eelektrik","generation":"5","evolution_stage":"","family_id":"","type_1":"electric","type_2":"","stat_total":"416","atk":"156","def":"130","sta":"130","legendary":"0","cp_40":"1548"},{"cp_39":"2510","id":"619","name":"Eelektross","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"electric","type_2":"","stat_total":"539","atk":"217","def":"152","sta":"170","legendary":"0","cp_40":"2546"},{"cp_39":"1203","id":"620","name":"Elgyem","generation":"5","evolution_stage":"","family_id":"","type_1":"psychic","type_2":"","stat_total":"358","atk":"148","def":"100","sta":"110","legendary":"0","cp_40":"1220"},{"cp_39":"2552","id":"621","name":"Beheeyem","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"psychic","type_2":"","stat_total":"543","atk":"221","def":"172","sta":"150","legendary":"0","cp_40":"2589"},{"cp_39":"863","id":"622","name":"Litwick","generation":"5","evolution_stage":"","family_id":"","type_1":"ghost","type_2":"fire","stat_total":"306","atk":"108","def":"98","sta":"100","legendary":"0","cp_40":"875"},{"cp_39":"1500","id":"623","name":"Lampent","generation":"5","evolution_stage":"","family_id":"","type_1":"ghost","type_2":"fire","stat_total":"404","atk":"169","def":"115","sta":"120","legendary":"0","cp_40":"1522"},{"cp_39":"2871","id":"624","name":"Chandelure","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"ghost","type_2":"fire","stat_total":"573","atk":"271","def":"182","sta":"120","legendary":"0","cp_40":"2913"},{"cp_39":"1208","id":"625","name":"Axew","generation":"5","evolution_stage":"","family_id":"","type_1":"dragon","type_2":"","stat_total":"357","atk":"154","def":"111","sta":"92","legendary":"0","cp_40":"1225"},{"cp_39":"2061","id":"626","name":"Fraxure","generation":"5","evolution_stage":"","family_id":"","type_1":"dragon","type_2":"","stat_total":"477","atk":"212","def":"133","sta":"132","legendary":"0","cp_40":"2091"},{"cp_39":"3347","id":"627","name":"Haxorus","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"dragon","type_2":"","stat_total":"619","atk":"284","def":"183","sta":"152","legendary":"0","cp_40":"3395"},{"cp_39":"928","id":"628","name":"Cubchoo","generation":"5","evolution_stage":"","family_id":"","type_1":"ice","type_2":"","stat_total":"312","atk":"128","def":"74","sta":"110","legendary":"0","cp_40":"942"},{"cp_39":"2825","id":"629","name":"Beartic","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"ice","type_2":"","stat_total":"575","atk":"233","def":"152","sta":"190","legendary":"0","cp_40":"2865"},{"cp_39":"2788","id":"630","name":"Cryogonal","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"ice","type_2":"","stat_total":"614","atk":"190","def":"264","sta":"160","legendary":"0","cp_40":"2829"},{"cp_39":"735","id":"631","name":"Shelmet","generation":"5","evolution_stage":"","family_id":"","type_1":"bug","type_2":"","stat_total":"321","atk":"72","def":"149","sta":"100","legendary":"0","cp_40":"746"},{"cp_39":"2312","id":"632","name":"Accelgor","generation":"5","evolution_stage":"","family_id":"","type_1":"bug","type_2":"","stat_total":"511","atk":"220","def":"131","sta":"160","legendary":"0","cp_40":"2346"},{"cp_39":"2070","id":"633","name":"Stunfisk","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"ground","type_2":"electric","stat_total":"539","atk":"144","def":"177","sta":"218","legendary":"0","cp_40":"2100"},{"cp_39":"1173","id":"634","name":"Mienfoo","generation":"5","evolution_stage":"","family_id":"","type_1":"fighting","type_2":"","stat_total":"348","atk":"160","def":"98","sta":"90","legendary":"0","cp_40":"1190"},{"cp_39":"2411","id":"635","name":"Mienshao","generation":"5","evolution_stage":"","family_id":"","type_1":"fighting","type_2":"","stat_total":"515","atk":"258","def":"127","sta":"130","legendary":"0","cp_40":"2446"},{"cp_39":"2481","id":"636","name":"Druddigon","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"dragon","type_2":"","stat_total":"537","atk":"213","def":"170","sta":"154","legendary":"0","cp_40":"2517"},{"cp_39":"1042","id":"637","name":"Golett","generation":"5","evolution_stage":"","family_id":"","type_1":"ground","type_2":"ghost","stat_total":"337","atk":"127","def":"92","sta":"118","legendary":"0","cp_40":"1058"},{"cp_39":"2635","id":"638","name":"Golurk","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"ground","type_2":"ghost","stat_total":"554","atk":"222","def":"154","sta":"178","legendary":"0","cp_40":"2673"},{"cp_39":"1279","id":"639","name":"Pawniard","generation":"5","evolution_stage":"","family_id":"","type_1":"dark","type_2":"steel","stat_total":"373","atk":"154","def":"129","sta":"90","legendary":"0","cp_40":"1297"},{"cp_39":"2628","id":"640","name":"Bisharp","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"dark","type_2":"steel","stat_total":"553","atk":"232","def":"191","sta":"130","legendary":"0","cp_40":"2666"},{"cp_39":"2598","id":"641","name":"Bouffalant","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"normal","type_2":"","stat_total":"567","atk":"195","def":"182","sta":"190","legendary":"0","cp_40":"2635"},{"cp_39":"1338","id":"642","name":"Rufflet","generation":"5","evolution_stage":"","family_id":"","type_1":"normal","type_2":"flying","stat_total":"387","atk":"150","def":"97","sta":"140","legendary":"0","cp_40":"1357"},{"cp_39":"2881","id":"643","name":"Braviary","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"normal","type_2":"flying","stat_total":"584","atk":"232","def":"152","sta":"200","legendary":"0","cp_40":"2923"},{"cp_39":"1159","id":"644","name":"Vullaby","generation":"5","evolution_stage":"","family_id":"","type_1":"dark","type_2":"flying","stat_total":"389","atk":"105","def":"144","sta":"140","legendary":"0","cp_40":"1176"},{"cp_39":"2038","id":"645","name":"Mandibuzz","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"dark","type_2":"flying","stat_total":"559","atk":"129","def":"210","sta":"220","legendary":"0","cp_40":"2068"},{"cp_39":"2200","id":"646","name":"Heatmor","generation":"5","evolution_stage":"","family_id":"","type_1":"fire","type_2":"","stat_total":"503","atk":"204","def":"129","sta":"170","legendary":"0","cp_40":"2232"},{"cp_39":"2516","id":"647","name":"Durant","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"bug","type_2":"steel","stat_total":"555","atk":"217","def":"222","sta":"116","legendary":"0","cp_40":"2553"},{"cp_39":"914","id":"648","name":"Deino","generation":"5","evolution_stage":"","family_id":"","type_1":"dark","type_2":"dragon","stat_total":"313","atk":"116","def":"93","sta":"104","legendary":"0","cp_40":"927"},{"cp_39":"1654","id":"649","name":"Zweilous","generation":"5","evolution_stage":"","family_id":"","type_1":"dark","type_2":"dragon","stat_total":"438","atk":"159","def":"135","sta":"144","legendary":"0","cp_40":"1678"},{"cp_39":"3353","id":"650","name":"Hydreigon","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"dark","type_2":"dragon","stat_total":"628","atk":"256","def":"188","sta":"184","legendary":"0","cp_40":"3401"},{"cp_39":"1300","id":"651","name":"Larvesta","generation":"5","evolution_stage":"","family_id":"","type_1":"bug","type_2":"fire","stat_total":"373","atk":"156","def":"107","sta":"110","legendary":"0","cp_40":"1318"},{"cp_39":"3504","id":"652","name":"Volcarona","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"bug","type_2":"fire","stat_total":"644","atk":"264","def":"210","sta":"170","legendary":"0","cp_40":"3555"},{"cp_39":"2966","id":"653","name":"Cobalion","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"steel","type_2":"fighting","stat_total":"634","atk":"192","def":"260","sta":"182","legendary":"1","cp_40":"3009"},{"cp_39":"3418","id":"654","name":"Terrakion","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"rock","type_2":"fighting","stat_total":"634","atk":"260","def":"192","sta":"182","legendary":"1","cp_40":"3468"},{"cp_39":"2966","id":"655","name":"Virizion","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"grass","type_2":"fighting","stat_total":"634","atk":"192","def":"260","sta":"182","legendary":"1","cp_40":"3009"},{"cp_39":"3086","id":"656","name":"Tornadus (Therian Forme)","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"flying","type_2":"","stat_total":"593","atk":"266","def":"169","sta":"158","legendary":"1","cp_40":"3131"},{"cp_39":"3086","id":"657","name":"Tornadus (Incarnate Forme)","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"flying","type_2":"","stat_total":"593","atk":"266","def":"169","sta":"158","legendary":"1","cp_40":"3131"},{"cp_39":"3086","id":"658","name":"Thundurus (Incarnate Forme)","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"electric","type_2":"flying","stat_total":"593","atk":"266","def":"169","sta":"158","legendary":"1","cp_40":"3131"},{"cp_39":"3086","id":"659","name":"Thundurus (Therian Forme)","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"electric","type_2":"flying","stat_total":"593","atk":"266","def":"169","sta":"158","legendary":"1","cp_40":"3131"},{"cp_39":"4587","id":"660","name":"Reshiram","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"dragon","type_2":"fire","stat_total":"744","atk":"302","def":"242","sta":"200","legendary":"1","cp_40":"4654"},{"cp_39":"4587","id":"661","name":"Zekrom","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"dragon","type_2":"electric","stat_total":"744","atk":"302","def":"242","sta":"200","legendary":"1","cp_40":"4654"},{"cp_39":"3355","id":"662","name":"Landorus (Incarnate Forme)","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"ground","type_2":"flying","stat_total":"626","atk":"261","def":"187","sta":"178","legendary":"1","cp_40":"3403"},{"cp_39":"3355","id":"663","name":"Landorus (Therian Forme)","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"ground","type_2":"flying","stat_total":"626","atk":"261","def":"187","sta":"178","legendary":"1","cp_40":"3403"},{"cp_39":"4059","id":"664","name":"Kyurem (Black Kyurem)","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"dragon","type_2":"ice","stat_total":"707","atk":"270","def":"187","sta":"250","legendary":"1","cp_40":"4118"},{"cp_39":"4059","id":"665","name":"Kyurem (Normal Kyurem)","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"dragon","type_2":"ice","stat_total":"707","atk":"270","def":"187","sta":"250","legendary":"1","cp_40":"4118"},{"cp_39":"4059","id":"666","name":"Kyurem (White Kyurem)","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"dragon","type_2":"ice","stat_total":"707","atk":"270","def":"187","sta":"250","legendary":"1","cp_40":"4118"},{"cp_39":"3418","id":"667","name":"Keldeo","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"water","type_2":"fighting","stat_total":"634","atk":"260","def":"192","sta":"182","legendary":"1","cp_40":"3468"},{"cp_39":"3894","id":"668","name":"Meloetta (Pirouette Forme)","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"normal","type_2":"psychic","stat_total":"700","atk":"250","def":"250","sta":"200","legendary":"1","cp_40":"3950"},{"cp_39":"3894","id":"669","name":"Meloetta (Aria Forme)","generation":"5","evolution_stage":"Lower","family_id":"","type_1":"normal","type_2":"psychic","stat_total":"700","atk":"250","def":"250","sta":"200","legendary":"1","cp_40":"3950"},{"cp_39":"3013","id":"670","name":"Genesect","generation":"5","evolution_stage":"Evolved","family_id":"","type_1":"bug","type_2":"steel","stat_total":"593","atk":"252","def":"199","sta":"142","legendary":"1","cp_40":"3056"},{"cp_39":"992","id":"671","name":"Chespin","generation":"6","evolution_stage":"","family_id":"","type_1":"grass","type_2":"","stat_total":"338","atk":"110","def":"116","sta":"112","legendary":"0","cp_40":"1007"},{"cp_39":"1594","id":"672","name":"Quilladin","generation":"6","evolution_stage":"","family_id":"","type_1":"grass","type_2":"","stat_total":"442","atk":"146","def":"174","sta":"122","legendary":"0","cp_40":"1618"},{"cp_39":"2859","id":"673","name":"Chesnaught","generation":"6","evolution_stage":"Lower","family_id":"","type_1":"grass","type_2":"fighting","stat_total":"604","atk":"201","def":"227","sta":"176","legendary":"0","cp_40":"2900"},{"cp_39":"885","id":"674","name":"Fennekin","generation":"6","evolution_stage":"","family_id":"","type_1":"fire","type_2":"","stat_total":"308","atk":"116","def":"112","sta":"80","legendary":"0","cp_40":"898"},{"cp_39":"1622","id":"675","name":"Braixen","generation":"6","evolution_stage":"","family_id":"","type_1":"fire","type_2":"","stat_total":"425","atk":"171","def":"136","sta":"118","legendary":"0","cp_40":"1646"},{"cp_39":"2867","id":"676","name":"Delphox","generation":"6","evolution_stage":"Evolved","family_id":"","type_1":"fire","type_2":"psychic","stat_total":"584","atk":"230","def":"204","sta":"150","legendary":"0","cp_40":"2908"},{"cp_39":"834","id":"677","name":"Froakie","generation":"6","evolution_stage":"","family_id":"","type_1":"water","type_2":"","stat_total":"290","atk":"122","def":"86","sta":"82","legendary":"0","cp_40":"846"},{"cp_39":"1430","id":"678","name":"Frogadier","generation":"6","evolution_stage":"","family_id":"","type_1":"water","type_2":"","stat_total":"392","atk":"168","def":"116","sta":"108","legendary":"0","cp_40":"1450"},{"cp_39":"2401","id":"679","name":"Greninja","generation":"6","evolution_stage":"","family_id":"","type_1":"water","type_2":"dark","stat_total":"521","atk":"223","def":"154","sta":"144","legendary":"0","cp_40":"2436"},{"cp_39":"457","id":"680","name":"Bunnelby","generation":"6","evolution_stage":"","family_id":"","type_1":"normal","type_2":"","stat_total":"217","atk":"68","def":"73","sta":"76","legendary":"0","cp_40":"463"},{"cp_39":"1386","id":"681","name":"Diggersby","generation":"6","evolution_stage":"","family_id":"","type_1":"normal","type_2":"ground","stat_total":"437","atk":"112","def":"155","sta":"170","legendary":"0","cp_40":"1406"},{"cp_39":"686","id":"682","name":"Fletchling","generation":"6","evolution_stage":"","family_id":"","type_1":"normal","type_2":"flying","stat_total":"268","atk":"95","def":"83","sta":"90","legendary":"0","cp_40":"696"},{"cp_39":"1303","id":"683","name":"Fletchinder","generation":"6","evolution_stage":"","family_id":"","type_1":"fire","type_2":"flying","stat_total":"380","atk":"145","def":"111","sta":"124","legendary":"0","cp_40":"1322"},{"cp_39":"2010","id":"684","name":"Talonflame","generation":"6","evolution_stage":"","family_id":"","type_1":"fire","type_2":"flying","stat_total":"488","atk":"176","def":"156","sta":"156","legendary":"0","cp_40":"2039"},{"cp_39":"422","id":"685","name":"Scatterbug","generation":"6","evolution_stage":"","family_id":"","type_1":"bug","type_2":"","stat_total":"209","atk":"63","def":"70","sta":"76","legendary":"0","cp_40":"428"},{"cp_39":"431","id":"686","name":"Spewpa","generation":"6","evolution_stage":"","family_id":"","type_1":"bug","type_2":"","stat_total":"241","atk":"48","def":"103","sta":"90","legendary":"0","cp_40":"437"},{"cp_39":"1689","id":"687","name":"Vivillon","generation":"6","evolution_stage":"","family_id":"","type_1":"bug","type_2":"flying","stat_total":"439","atk":"176","def":"103","sta":"160","legendary":"0","cp_40":"1714"},{"cp_39":"1269","id":"688","name":"Litleo","generation":"6","evolution_stage":"","family_id":"","type_1":"fire","type_2":"normal","stat_total":"377","atk":"139","def":"114","sta":"124","legendary":"0","cp_40":"1287"},{"cp_39":"2567","id":"689","name":"Pyroar","generation":"6","evolution_stage":"Lower","family_id":"","type_1":"fire","type_2":"normal","stat_total":"545","atk":"221","def":"152","sta":"172","legendary":"0","cp_40":"2604"},{"cp_39":"950","id":"690","name":"Flabã©Bã©","generation":"6","evolution_stage":"","family_id":"","type_1":"fairy","type_2":"","stat_total":"334","atk":"108","def":"138","sta":"88","legendary":"0","cp_40":"964"},{"cp_39":"1421","id":"691","name":"Floette","generation":"6","evolution_stage":"","family_id":"","type_1":"fairy","type_2":"","stat_total":"419","atk":"136","def":"175","sta":"108","legendary":"0","cp_40":"1441"},{"cp_39":"3175","id":"692","name":"Florges","generation":"6","evolution_stage":"Lower","family_id":"","type_1":"fairy","type_2":"","stat_total":"655","atk":"212","def":"287","sta":"156","legendary":"0","cp_40":"3221"},{"cp_39":"1137","id":"693","name":"Skiddo","generation":"6","evolution_stage":"","family_id":"","type_1":"grass","type_2":"","stat_total":"362","atk":"123","def":"107","sta":"132","legendary":"0","cp_40":"1154"},{"cp_39":"2736","id":"694","name":"Gogoat","generation":"6","evolution_stage":"Lower","family_id":"","type_1":"grass","type_2":"","stat_total":"597","atk":"196","def":"155","sta":"246","legendary":"0","cp_40":"2775"},{"cp_39":"1360","id":"695","name":"Pancham","generation":"6","evolution_stage":"","family_id":"","type_1":"fighting","type_2":"","stat_total":"392","atk":"145","def":"113","sta":"134","legendary":"0","cp_40":"1380"},{"cp_39":"2720","id":"696","name":"Pangoro","generation":"6","evolution_stage":"Lower","family_id":"","type_1":"fighting","type_2":"dark","stat_total":"565","atk":"226","def":"149","sta":"190","legendary":"0","cp_40":"2759"},{"cp_39":"1986","id":"697","name":"Furfrou","generation":"6","evolution_stage":"","family_id":"","type_1":"normal","type_2":"","stat_total":"496","atk":"164","def":"182","sta":"150","legendary":"0","cp_40":"2015"},{"cp_39":"1125","id":"698","name":"Espurr","generation":"6","evolution_stage":"","family_id":"","type_1":"psychic","type_2":"","stat_total":"361","atk":"120","def":"117","sta":"124","legendary":"0","cp_40":"1142"},{"cp_39":"1935","id":"699","name":"Meowstic","generation":"6","evolution_stage":"","family_id":"","type_1":"psychic","type_2":"","stat_total":"484","atk":"166","def":"170","sta":"148","legendary":"0","cp_40":"1963"},{"cp_39":"1276","id":"700","name":"Honedge","generation":"6","evolution_stage":"","family_id":"","type_1":"steel","type_2":"ghost","stat_total":"392","atk":"135","def":"167","sta":"90","legendary":"0","cp_40":"1295"},{"cp_39":"2359","id":"701","name":"Doublade","generation":"6","evolution_stage":"Lower","family_id":"","type_1":"steel","type_2":"ghost","stat_total":"559","atk":"188","def":"253","sta":"118","legendary":"0","cp_40":"2393"},{"cp_39":"1401","id":"702","name":"Aegislash","generation":"6","evolution_stage":"","family_id":"","type_1":"steel","type_2":"ghost","stat_total":"508","atk":"97","def":"291","sta":"120","legendary":"0","cp_40":"1421"},{"cp_39":"1151","id":"703","name":"Spritzee","generation":"6","evolution_stage":"","family_id":"","type_1":"fairy","type_2":"","stat_total":"382","atk":"110","def":"116","sta":"156","legendary":"0","cp_40":"1168"},{"cp_39":"2242","id":"704","name":"Aromatisse","generation":"6","evolution_stage":"","family_id":"","type_1":"fairy","type_2":"","stat_total":"533","atk":"173","def":"158","sta":"202","legendary":"0","cp_40":"2275"},{"cp_39":"1057","id":"705","name":"Swirlix","generation":"6","evolution_stage":"","family_id":"","type_1":"fairy","type_2":"","stat_total":"356","atk":"109","def":"123","sta":"124","legendary":"0","cp_40":"1072"},{"cp_39":"2039","id":"706","name":"Slurpuff","generation":"6","evolution_stage":"","family_id":"","type_1":"fairy","type_2":"","stat_total":"500","atk":"168","def":"168","sta":"164","legendary":"0","cp_40":"2068"},{"cp_39":"813","id":"707","name":"Inkay","generation":"6","evolution_stage":"","family_id":"","type_1":"dark","type_2":"psychic","stat_total":"302","atk":"98","def":"98","sta":"106","legendary":"0","cp_40":"825"},{"cp_39":"2210","id":"708","name":"Malamar","generation":"6","evolution_stage":"","family_id":"","type_1":"dark","type_2":"psychic","stat_total":"521","atk":"177","def":"172","sta":"172","legendary":"0","cp_40":"2242"},{"cp_39":"801","id":"709","name":"Binacle","generation":"6","evolution_stage":"","family_id":"","type_1":"rock","type_2":"water","stat_total":"304","atk":"96","def":"124","sta":"84","legendary":"0","cp_40":"813"},{"cp_39":"2487","id":"710","name":"Barbaracle","generation":"6","evolution_stage":"Evolved","family_id":"","type_1":"rock","type_2":"water","stat_total":"558","atk":"194","def":"220","sta":"144","legendary":"0","cp_40":"2523"},{"cp_39":"911","id":"711","name":"Skrelp","generation":"6","evolution_stage":"","family_id":"","type_1":"poison","type_2":"water","stat_total":"318","atk":"109","def":"109","sta":"100","legendary":"0","cp_40":"924"},{"cp_39":"2195","id":"712","name":"Dragalge","generation":"6","evolution_stage":"","family_id":"","type_1":"poison","type_2":"dragon","stat_total":"530","atk":"177","def":"223","sta":"130","legendary":"0","cp_40":"2227"},{"cp_39":"936","id":"713","name":"Clauncher","generation":"6","evolution_stage":"","family_id":"","type_1":"water","type_2":"","stat_total":"326","atk":"108","def":"118","sta":"100","legendary":"0","cp_40":"950"},{"cp_39":"2489","id":"714","name":"Clawitzer","generation":"6","evolution_stage":"Evolved","family_id":"","type_1":"water","type_2":"","stat_total":"535","atk":"221","def":"172","sta":"142","legendary":"0","cp_40":"2525"},{"cp_39":"804","id":"715","name":"Helioptile","generation":"6","evolution_stage":"","family_id":"","type_1":"electric","type_2":"normal","stat_total":"286","atk":"115","def":"83","sta":"88","legendary":"0","cp_40":"815"},{"cp_39":"2431","id":"716","name":"Heliolisk","generation":"6","evolution_stage":"","family_id":"","type_1":"electric","type_2":"normal","stat_total":"533","atk":"219","def":"190","sta":"124","legendary":"0","cp_40":"2467"},{"cp_39":"1507","id":"717","name":"Tyrunt","generation":"6","evolution_stage":"","family_id":"","type_1":"rock","type_2":"dragon","stat_total":"412","atk":"158","def":"138","sta":"116","legendary":"0","cp_40":"1529"},{"cp_39":"3062","id":"718","name":"Tyrantrum","generation":"6","evolution_stage":"Lower","family_id":"","type_1":"rock","type_2":"dragon","stat_total":"612","atk":"227","def":"221","sta":"164","legendary":"0","cp_40":"3106"},{"cp_39":"1273","id":"719","name":"Amaura","generation":"6","evolution_stage":"","family_id":"","type_1":"rock","type_2":"ice","stat_total":"394","atk":"124","def":"116","sta":"154","legendary":"0","cp_40":"1291"},{"cp_39":"2741","id":"720","name":"Aurorus","generation":"6","evolution_stage":"Lower","family_id":"","type_1":"rock","type_2":"ice","stat_total":"605","atk":"186","def":"173","sta":"246","legendary":"0","cp_40":"2780"},{"cp_39":"3050","id":"721","name":"Sylveon","generation":"6","evolution_stage":"Lower","family_id":"","type_1":"fairy","type_2":"","stat_total":"630","atk":"203","def":"237","sta":"190","legendary":"0","cp_40":"3094"},{"cp_39":"2236","id":"722","name":"Hawlucha","generation":"6","evolution_stage":"","family_id":"","type_1":"fighting","type_2":"flying","stat_total":"511","atk":"195","def":"160","sta":"156","legendary":"0","cp_40":"2268"},{"cp_39":"1669","id":"723","name":"Dedenne","generation":"6","evolution_stage":"","family_id":"","type_1":"electric","type_2":"fairy","stat_total":"437","atk":"164","def":"139","sta":"134","legendary":"0","cp_40":"1693"},{"cp_39":"1257","id":"724","name":"Carbink","generation":"6","evolution_stage":"","family_id":"","type_1":"rock","type_2":"fairy","stat_total":"480","atk":"95","def":"285","sta":"100","legendary":"0","cp_40":"1276"},{"cp_39":"881","id":"725","name":"Goomy","generation":"6","evolution_stage":"","family_id":"","type_1":"dragon","type_2":"","stat_total":"321","atk":"101","def":"130","sta":"90","legendary":"0","cp_40":"893"},{"cp_39":"1952","id":"726","name":"Sliggoo","generation":"6","evolution_stage":"","family_id":"","type_1":"dragon","type_2":"","stat_total":"500","atk":"159","def":"205","sta":"136","legendary":"0","cp_40":"1980"},{"cp_39":"3487","id":"727","name":"Goodra","generation":"6","evolution_stage":"Evolved","family_id":"","type_1":"dragon","type_2":"","stat_total":"683","atk":"220","def":"283","sta":"180","legendary":"0","cp_40":"3538"},{"cp_39":"1713","id":"728","name":"Klefki","generation":"6","evolution_stage":"","family_id":"","type_1":"steel","type_2":"fairy","stat_total":"455","atk":"160","def":"181","sta":"114","legendary":"0","cp_40":"1737"},{"cp_39":"960","id":"729","name":"Phantump","generation":"6","evolution_stage":"","family_id":"","type_1":"ghost","type_2":"grass","stat_total":"319","atk":"125","def":"108","sta":"86","legendary":"0","cp_40":"974"},{"cp_39":"2372","id":"730","name":"Trevenant","generation":"6","evolution_stage":"","family_id":"","type_1":"ghost","type_2":"grass","stat_total":"528","atk":"201","def":"157","sta":"170","legendary":"0","cp_40":"2406"},{"cp_39":"1068","id":"731","name":"Pumpkaboo","generation":"6","evolution_stage":"","family_id":"","type_1":"ghost","type_2":"grass","stat_total":"348","atk":"121","def":"129","sta":"98","legendary":"0","cp_40":"1083"},{"cp_39":"2231","id":"732","name":"Gourgeist","generation":"6","evolution_stage":"Lower","family_id":"","type_1":"ghost","type_2":"grass","stat_total":"541","atk":"175","def":"236","sta":"130","legendary":"0","cp_40":"2263"},{"cp_39":"1142","id":"733","name":"Bergmite","generation":"6","evolution_stage":"","family_id":"","type_1":"ice","type_2":"","stat_total":"370","atk":"117","def":"143","sta":"110","legendary":"0","cp_40":"1158"},{"cp_39":"3316","id":"734","name":"Avalugg","generation":"6","evolution_stage":"Evolved","family_id":"","type_1":"ice","type_2":"","stat_total":"689","atk":"196","def":"303","sta":"190","legendary":"0","cp_40":"3364"},{"cp_39":"560","id":"735","name":"Noibat","generation":"6","evolution_stage":"","family_id":"","type_1":"flying","type_2":"dragon","stat_total":"239","atk":"83","def":"76","sta":"80","legendary":"0","cp_40":"569"},{"cp_39":"2539","id":"736","name":"Noivern","generation":"6","evolution_stage":"Evolved","family_id":"","type_1":"flying","type_2":"dragon","stat_total":"550","atk":"205","def":"175","sta":"170","legendary":"0","cp_40":"2576"},{"cp_39":"4317","id":"737","name":"Xerneas","generation":"6","evolution_stage":"Lower","family_id":"","type_1":"fairy","type_2":"","stat_total":"731","atk":"275","def":"204","sta":"252","legendary":"1","cp_40":"4379"},{"cp_39":"4317","id":"738","name":"Yveltal","generation":"6","evolution_stage":"Evolved","family_id":"","type_1":"dark","type_2":"flying","stat_total":"731","atk":"275","def":"204","sta":"252","legendary":"1","cp_40":"4379"},{"cp_39":"3289","id":"739","name":"Zygarde","generation":"6","evolution_stage":"Evolved","family_id":"","type_1":"dragon","type_2":"ground","stat_total":"664","atk":"203","def":"245","sta":"216","legendary":"1","cp_40":"3336"},{"cp_39":"2344","id":"740","name":"Diancie","generation":"6","evolution_stage":"Lower","family_id":"","type_1":"rock","type_2":"fairy","stat_total":"575","atk":"190","def":"285","sta":"100","legendary":"1","cp_40":"2378"},{"cp_39":"3935","id":"741","name":"Hoopa","generation":"6","evolution_stage":"Lower","family_id":"","type_1":"psychic","type_2":"ghost","stat_total":"688","atk":"287","def":"241","sta":"160","legendary":"1","cp_40":"3992"},{"cp_39":"3410","id":"742","name":"Volcanion","generation":"6","evolution_stage":"Evolved","family_id":"","type_1":"fire","type_2":"water","stat_total":"643","atk":"252","def":"231","sta":"160","legendary":"1","cp_40":"3460"},{"cp_39":"957","id":"743","name":"Rowlet","generation":"7","evolution_stage":"","family_id":"","type_1":"grass","type_2":"flying","stat_total":"340","atk":"102","def":"102","sta":"136","legendary":"0","cp_40":"971"},{"cp_39":"1583","id":"744","name":"Dartrix","generation":"7","evolution_stage":"","family_id":"","type_1":"grass","type_2":"flying","stat_total":"440","atk":"142","def":"142","sta":"156","legendary":"0","cp_40":"1606"},{"cp_39":"2606","id":"745","name":"Decidueye","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"grass","type_2":"ghost","stat_total":"558","atk":"210","def":"192","sta":"156","legendary":"0","cp_40":"2643"},{"cp_39":"874","id":"746","name":"Litten","generation":"7","evolution_stage":"","family_id":"","type_1":"fire","type_2":"","stat_total":"297","atk":"128","def":"79","sta":"90","legendary":"0","cp_40":"887"},{"cp_39":"1522","id":"747","name":"Torracat","generation":"7","evolution_stage":"","family_id":"","type_1":"fire","type_2":"","stat_total":"407","atk":"174","def":"103","sta":"130","legendary":"0","cp_40":"1544"},{"cp_39":"2782","id":"748","name":"Incineroar","generation":"7","evolution_stage":"Lower","family_id":"","type_1":"fire","type_2":"dark","stat_total":"579","atk":"214","def":"175","sta":"190","legendary":"0","cp_40":"2822"},{"cp_39":"972","id":"749","name":"Popplio","generation":"7","evolution_stage":"","family_id":"","type_1":"water","type_2":"","stat_total":"324","atk":"120","def":"104","sta":"100","legendary":"0","cp_40":"986"},{"cp_39":"1686","id":"750","name":"Brionne","generation":"7","evolution_stage":"","family_id":"","type_1":"water","type_2":"","stat_total":"439","atk":"168","def":"151","sta":"120","legendary":"0","cp_40":"1711"},{"cp_39":"3050","id":"751","name":"Primarina","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"water","type_2":"fairy","stat_total":"607","atk":"232","def":"215","sta":"160","legendary":"0","cp_40":"3095"},{"cp_39":"737","id":"752","name":"Pikipek","generation":"7","evolution_stage":"","family_id":"","type_1":"normal","type_2":"flying","stat_total":"265","atk":"136","def":"59","sta":"70","legendary":"0","cp_40":"747"},{"cp_39":"1284","id":"753","name":"Trumbeak","generation":"7","evolution_stage":"","family_id":"","type_1":"normal","type_2":"flying","stat_total":"369","atk":"159","def":"100","sta":"110","legendary":"0","cp_40":"1302"},{"cp_39":"2449","id":"754","name":"Toucannon","generation":"7","evolution_stage":"","family_id":"","type_1":"normal","type_2":"flying","stat_total":"528","atk":"222","def":"146","sta":"160","legendary":"0","cp_40":"2484"},{"cp_39":"748","id":"755","name":"Yungoos","generation":"7","evolution_stage":"","family_id":"","type_1":"normal","type_2":"","stat_total":"274","atk":"122","def":"56","sta":"96","legendary":"0","cp_40":"759"},{"cp_39":"2011","id":"756","name":"Gumshoos","generation":"7","evolution_stage":"","family_id":"","type_1":"normal","type_2":"","stat_total":"483","atk":"194","def":"113","sta":"176","legendary":"0","cp_40":"2041"},{"cp_39":"835","id":"757","name":"Grubbin","generation":"7","evolution_stage":"","family_id":"","type_1":"bug","type_2":"","stat_total":"294","atk":"115","def":"85","sta":"94","legendary":"0","cp_40":"847"},{"cp_39":"1525","id":"758","name":"Charjabug","generation":"7","evolution_stage":"","family_id":"","type_1":"bug","type_2":"electric","stat_total":"430","atk":"145","def":"171","sta":"114","legendary":"0","cp_40":"1547"},{"cp_39":"2888","id":"759","name":"Vikavolt","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"bug","type_2":"electric","stat_total":"573","atk":"254","def":"165","sta":"154","legendary":"0","cp_40":"2930"},{"cp_39":"1180","id":"760","name":"Crabrawler","generation":"7","evolution_stage":"","family_id":"","type_1":"fighting","type_2":"","stat_total":"353","atk":"150","def":"109","sta":"94","legendary":"0","cp_40":"1198"},{"cp_39":"2743","id":"761","name":"Crabominable","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"fighting","type_2":"ice","stat_total":"567","atk":"231","def":"142","sta":"194","legendary":"0","cp_40":"2783"},{"cp_39":"2110","id":"762","name":"Oricorio","generation":"7","evolution_stage":"","family_id":"","type_1":"fire","type_2":"flying","stat_total":"491","atk":"196","def":"145","sta":"150","legendary":"0","cp_40":"2141"},{"cp_39":"734","id":"763","name":"Cutiefly","generation":"7","evolution_stage":"","family_id":"","type_1":"bug","type_2":"fairy","stat_total":"271","atk":"110","def":"81","sta":"80","legendary":"0","cp_40":"745"},{"cp_39":"1968","id":"764","name":"Ribombee","generation":"7","evolution_stage":"","family_id":"","type_1":"bug","type_2":"fairy","stat_total":"470","atk":"198","def":"152","sta":"120","legendary":"0","cp_40":"1997"},{"cp_39":"803","id":"765","name":"Rockruff","generation":"7","evolution_stage":"","family_id":"","type_1":"rock","type_2":"","stat_total":"285","atk":"117","def":"78","sta":"90","legendary":"0","cp_40":"814"},{"cp_39":"2422","id":"766","name":"Lycanroc","generation":"7","evolution_stage":"","family_id":"","type_1":"rock","type_2":"","stat_total":"521","atk":"231","def":"140","sta":"150","legendary":"0","cp_40":"2457"},{"cp_39":"300","id":"767","name":"Wishiwashi","generation":"7","evolution_stage":"","family_id":"","type_1":"water","type_2":"","stat_total":"182","atk":"46","def":"46","sta":"90","legendary":"0","cp_40":"304"},{"cp_39":"850","id":"768","name":"Mareanie","generation":"7","evolution_stage":"","family_id":"","type_1":"poison","type_2":"water","stat_total":"313","atk":"98","def":"115","sta":"100","legendary":"0","cp_40":"862"},{"cp_39":"1457","id":"769","name":"Toxapex","generation":"7","evolution_stage":"","family_id":"","type_1":"poison","type_2":"water","stat_total":"492","atk":"114","def":"278","sta":"100","legendary":"0","cp_40":"1478"},{"cp_39":"1741","id":"770","name":"Mudbray","generation":"7","evolution_stage":"","family_id":"","type_1":"ground","type_2":"","stat_total":"443","atk":"175","def":"128","sta":"140","legendary":"0","cp_40":"1766"},{"cp_39":"2886","id":"771","name":"Mudsdale","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"ground","type_2":"","stat_total":"594","atk":"214","def":"180","sta":"200","legendary":"0","cp_40":"2928"},{"cp_39":"606","id":"772","name":"Dewpider","generation":"7","evolution_stage":"","family_id":"","type_1":"water","type_2":"bug","stat_total":"274","atk":"72","def":"126","sta":"76","legendary":"0","cp_40":"615"},{"cp_39":"1693","id":"773","name":"Araquanid","generation":"7","evolution_stage":"","family_id":"","type_1":"water","type_2":"bug","stat_total":"499","atk":"126","def":"237","sta":"136","legendary":"0","cp_40":"1717"},{"cp_39":"613","id":"774","name":"Fomantis","generation":"7","evolution_stage":"","family_id":"","type_1":"grass","type_2":"","stat_total":"244","atk":"100","def":"64","sta":"80","legendary":"0","cp_40":"622"},{"cp_39":"2152","id":"775","name":"Lurantis","generation":"7","evolution_stage":"","family_id":"","type_1":"grass","type_2":"","stat_total":"501","atk":"192","def":"169","sta":"140","legendary":"0","cp_40":"2183"},{"cp_39":"882","id":"776","name":"Morelull","generation":"7","evolution_stage":"","family_id":"","type_1":"grass","type_2":"fairy","stat_total":"316","atk":"108","def":"128","sta":"80","legendary":"0","cp_40":"895"},{"cp_39":"1675","id":"777","name":"Shiinotic","generation":"7","evolution_stage":"","family_id":"","type_1":"grass","type_2":"fairy","stat_total":"451","atk":"154","def":"177","sta":"120","legendary":"0","cp_40":"1699"},{"cp_39":"954","id":"778","name":"Salandit","generation":"7","evolution_stage":"","family_id":"","type_1":"poison","type_2":"fire","stat_total":"312","atk":"136","def":"80","sta":"96","legendary":"0","cp_40":"968"},{"cp_39":"2213","id":"779","name":"Salazzle","generation":"7","evolution_stage":"","family_id":"","type_1":"poison","type_2":"fire","stat_total":"494","atk":"228","def":"130","sta":"136","legendary":"0","cp_40":"2245"},{"cp_39":"1213","id":"780","name":"Stufful","generation":"7","evolution_stage":"","family_id":"","type_1":"normal","type_2":"fighting","stat_total":"371","atk":"136","def":"95","sta":"140","legendary":"0","cp_40":"1231"},{"cp_39":"3043","id":"781","name":"Bewear","generation":"7","evolution_stage":"Lower","family_id":"","type_1":"normal","type_2":"fighting","stat_total":"616","atk":"226","def":"150","sta":"240","legendary":"0","cp_40":"3087"},{"cp_39":"393","id":"782","name":"Bounsweet","generation":"7","evolution_stage":"","family_id":"","type_1":"grass","type_2":"","stat_total":"208","atk":"55","def":"69","sta":"84","legendary":"0","cp_40":"398"},{"cp_39":"652","id":"783","name":"Steenee","generation":"7","evolution_stage":"","family_id":"","type_1":"grass","type_2":"","stat_total":"276","atk":"78","def":"94","sta":"104","legendary":"0","cp_40":"661"},{"cp_39":"2666","id":"784","name":"Tsareena","generation":"7","evolution_stage":"Lower","family_id":"","type_1":"grass","type_2":"","stat_total":"561","atk":"222","def":"195","sta":"144","legendary":"0","cp_40":"2704"},{"cp_39":"1860","id":"785","name":"Comfey","generation":"7","evolution_stage":"","family_id":"","type_1":"fairy","type_2":"","stat_total":"493","atk":"165","def":"226","sta":"102","legendary":"0","cp_40":"1887"},{"cp_39":"2344","id":"786","name":"Oranguru","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"normal","type_2":"psychic","stat_total":"555","atk":"168","def":"207","sta":"180","legendary":"0","cp_40":"2378"},{"cp_39":"2949","id":"787","name":"Passimian","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"fighting","type_2":"","stat_total":"597","atk":"222","def":"175","sta":"200","legendary":"0","cp_40":"2991"},{"cp_39":"394","id":"788","name":"Wimpod","generation":"7","evolution_stage":"","family_id":"","type_1":"bug","type_2":"water","stat_total":"196","atk":"67","def":"79","sta":"50","legendary":"0","cp_40":"400"},{"cp_39":"2993","id":"789","name":"Golisopod","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"bug","type_2":"water","stat_total":"617","atk":"218","def":"249","sta":"150","legendary":"0","cp_40":"3037"},{"cp_39":"1130","id":"790","name":"Sandygast","generation":"7","evolution_stage":"","family_id":"","type_1":"ghost","type_2":"ground","stat_total":"363","atk":"120","def":"133","sta":"110","legendary":"0","cp_40":"1146"},{"cp_39":"2336","id":"791","name":"Palossand","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"ghost","type_2":"ground","stat_total":"542","atk":"178","def":"194","sta":"170","legendary":"0","cp_40":"2370"},{"cp_39":"1191","id":"792","name":"Pyukumuku","generation":"7","evolution_stage":"","family_id":"","type_1":"water","type_2":"","stat_total":"431","atk":"97","def":"224","sta":"110","legendary":"0","cp_40":"1209"},{"cp_39":"2474","id":"793","name":"Type: Null","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"normal","type_2":"","stat_total":"558","atk":"184","def":"184","sta":"190","legendary":"0","cp_40":"2510"},{"cp_39":"2740","id":"794","name":"Silvally","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"normal","type_2":"","stat_total":"586","atk":"198","def":"198","sta":"190","legendary":"0","cp_40":"2779"},{"cp_39":"1354","id":"795","name":"Minior","generation":"7","evolution_stage":"","family_id":"","type_1":"rock","type_2":"flying","stat_total":"430","atk":"116","def":"194","sta":"120","legendary":"0","cp_40":"1374"},{"cp_39":"2385","id":"796","name":"Komala","generation":"7","evolution_stage":"","family_id":"","type_1":"normal","type_2":"","stat_total":"525","atk":"216","def":"179","sta":"130","legendary":"0","cp_40":"2419"},{"cp_39":"2048","id":"797","name":"Turtonator","generation":"7","evolution_stage":"","family_id":"","type_1":"fire","type_2":"dragon","stat_total":"523","atk":"165","def":"238","sta":"120","legendary":"0","cp_40":"2077"},{"cp_39":"1952","id":"798","name":"Togedemaru","generation":"7","evolution_stage":"","family_id":"","type_1":"electric","type_2":"steel","stat_total":"470","atk":"190","def":"150","sta":"130","legendary":"0","cp_40":"1980"},{"cp_39":"1995","id":"799","name":"Mimikyu","generation":"7","evolution_stage":"","family_id":"","type_1":"ghost","type_2":"fairy","stat_total":"500","atk":"177","def":"213","sta":"110","legendary":"0","cp_40":"2024"},{"cp_39":"2133","id":"800","name":"Bruxish","generation":"7","evolution_stage":"","family_id":"","type_1":"water","type_2":"psychic","stat_total":"489","atk":"208","def":"145","sta":"136","legendary":"0","cp_40":"2164"},{"cp_39":"2671","id":"801","name":"Drampa","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"normal","type_2":"dragon","stat_total":"554","atk":"231","def":"167","sta":"156","legendary":"0","cp_40":"2710"},{"cp_39":"2681","id":"802","name":"Dhelmise","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"ghost","type_2":"grass","stat_total":"557","atk":"233","def":"184","sta":"140","legendary":"0","cp_40":"2720"},{"cp_39":"851","id":"803","name":"Jangmo-O","generation":"7","evolution_stage":"","family_id":"","type_1":"dragon","type_2":"","stat_total":"310","atk":"102","def":"118","sta":"90","legendary":"0","cp_40":"863"},{"cp_39":"1506","id":"804","name":"Hakamo-O","generation":"7","evolution_stage":"","family_id":"","type_1":"dragon","type_2":"fighting","stat_total":"427","atk":"145","def":"172","sta":"110","legendary":"0","cp_40":"1527"},{"cp_39":"3051","id":"805","name":"Kommo-O","generation":"7","evolution_stage":"Lower","family_id":"","type_1":"dragon","type_2":"fighting","stat_total":"622","atk":"222","def":"250","sta":"150","legendary":"0","cp_40":"3095"},{"cp_39":"2879","id":"806","name":"Tapu Koko","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"electric","type_2":"fairy","stat_total":"576","atk":"250","def":"186","sta":"140","legendary":"1","cp_40":"2921"},{"cp_39":"3280","id":"807","name":"Tapu Lele","generation":"7","evolution_stage":"Lower","family_id":"","type_1":"psychic","type_2":"fairy","stat_total":"628","atk":"259","def":"229","sta":"140","legendary":"1","cp_40":"3328"},{"cp_39":"3134","id":"808","name":"Tapu Bulu","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"grass","type_2":"fairy","stat_total":"614","atk":"249","def":"225","sta":"140","legendary":"1","cp_40":"3180"},{"cp_39":"2597","id":"809","name":"Tapu Fini","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"water","type_2":"fairy","stat_total":"590","atk":"189","def":"261","sta":"140","legendary":"1","cp_40":"2635"},{"cp_39":"362","id":"810","name":"Cosmog","generation":"7","evolution_stage":"","family_id":"","type_1":"psychic","type_2":"","stat_total":"197","atk":"54","def":"57","sta":"86","legendary":"0","cp_40":"367"},{"cp_39":"684","id":"811","name":"Cosmoem","generation":"7","evolution_stage":"","family_id":"","type_1":"psychic","type_2":"","stat_total":"382","atk":"54","def":"242","sta":"86","legendary":"0","cp_40":"694"},{"cp_39":"4722","id":"812","name":"Solgaleo","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"psychic","type_2":"steel","stat_total":"773","atk":"280","def":"219","sta":"274","legendary":"1","cp_40":"4791"},{"cp_39":"4722","id":"813","name":"Lunala","generation":"7","evolution_stage":"Lower","family_id":"","type_1":"psychic","type_2":"ghost","stat_total":"773","atk":"280","def":"219","sta":"274","legendary":"1","cp_40":"4791"},{"cp_39":"4069","id":"814","name":"Nihilego","generation":"7","evolution_stage":"Lower","family_id":"","type_1":"rock","type_2":"poison","stat_total":"721","atk":"249","def":"254","sta":"218","legendary":"1","cp_40":"4128"},{"cp_39":"4225","id":"815","name":"Buzzwole","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"bug","type_2":"fighting","stat_total":"732","atk":"259","def":"259","sta":"214","legendary":"1","cp_40":"4286"},{"cp_39":"2553","id":"816","name":"Pheromosa","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"bug","type_2":"fighting","stat_total":"543","atk":"316","def":"85","sta":"142","legendary":"1","cp_40":"2590"},{"cp_39":"3603","id":"817","name":"Xurkitree","generation":"7","evolution_stage":"Lower","family_id":"","type_1":"electric","type_2":"","stat_total":"640","atk":"330","def":"144","sta":"166","legendary":"1","cp_40":"3655"},{"cp_39":"2897","id":"818","name":"Celesteela","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"steel","type_2":"flying","stat_total":"601","atk":"207","def":"200","sta":"194","legendary":"1","cp_40":"2939"},{"cp_39":"4300","id":"819","name":"Kartana","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"grass","type_2":"steel","stat_total":"726","atk":"355","def":"253","sta":"118","legendary":"1","cp_40":"4362"},{"cp_39":"2865","id":"820","name":"Guzzlord","generation":"7","evolution_stage":"Lower","family_id":"","type_1":"dark","type_2":"dragon","stat_total":"733","atk":"188","def":"99","sta":"446","legendary":"1","cp_40":"2906"},{"cp_39":"3479","id":"821","name":"Necrozma","generation":"7","evolution_stage":"Lower","family_id":"","type_1":"psychic","type_2":"","stat_total":"646","atk":"251","def":"201","sta":"194","legendary":"1","cp_40":"3529"},{"cp_39":"3293","id":"822","name":"Magearna","generation":"7","evolution_stage":"Evolved","family_id":"","type_1":"steel","type_2":"fairy","stat_total":"631","atk":"246","def":"225","sta":"160","legendary":"1","cp_40":"3340"}] \ No newline at end of file diff --git a/semana23/desafio-pokemon-go-redfox/src/error/BaseError.ts b/semana23/desafio-pokemon-go-redfox/src/error/BaseError.ts new file mode 100644 index 0000000..d221001 --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/src/error/BaseError.ts @@ -0,0 +1,6 @@ +export abstract class BaseError extends Error { + constructor(message: string, public code: number) { + super(message); + } + } + \ No newline at end of file diff --git a/semana23/desafio-pokemon-go-redfox/src/error/InputError.ts b/semana23/desafio-pokemon-go-redfox/src/error/InputError.ts new file mode 100644 index 0000000..4b3af87 --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/src/error/InputError.ts @@ -0,0 +1,7 @@ +import { BaseError } from "./BaseError"; + +export class InputError extends BaseError{ + constructor(message: string){ + super(message, 417) + } +} \ No newline at end of file diff --git a/semana23/desafio-pokemon-go-redfox/src/error/NotFoundError.ts b/semana23/desafio-pokemon-go-redfox/src/error/NotFoundError.ts new file mode 100644 index 0000000..3b427e6 --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/src/error/NotFoundError.ts @@ -0,0 +1,7 @@ +import { BaseError } from "./BaseError"; + +export class NotFoundError extends BaseError{ + constructor(message: string){ + super(message, 404) + } +} \ No newline at end of file diff --git a/semana23/desafio-pokemon-go-redfox/src/error/UnauthorizedError.ts b/semana23/desafio-pokemon-go-redfox/src/error/UnauthorizedError.ts new file mode 100644 index 0000000..a238877 --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/src/error/UnauthorizedError.ts @@ -0,0 +1,8 @@ +import { BaseError } from "./BaseError"; + +export class UnauthorizedError extends BaseError{ + constructor(message: string) { + super(message, 403); + } + } + \ No newline at end of file diff --git a/semana23/desafio-pokemon-go-redfox/src/index.ts b/semana23/desafio-pokemon-go-redfox/src/index.ts new file mode 100644 index 0000000..d5824bf --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/src/index.ts @@ -0,0 +1,40 @@ +import dotenv from 'dotenv'; +import express from 'express'; +import { AddressInfo } from 'net'; +import { pokemonRouter } from './routes/pokemonRouter'; + + +dotenv.config(); + +const app = express(); + +app.use(express.json()); + +app.use("/pokemon", pokemonRouter); + + +const { PORT = 3003} = process.env + +const server = app.listen(PORT, () => { + if (server) { + const address = server.address() as AddressInfo; + console.log(`Servidor rodando em http://localhost:${address.port}`); + } else { + console.error(`Falha ao rodar o servidor.`); + } + }); + + + //exportando arquivo xlsx para json + // const xlsxj = require("xlsx-to-json"); + // xlsxj({ + // input: "pokemonGo.xlsx", + // output: "pokemonGo.json" + // }, function(err, result) { + // if(err) { + // console.error(err); + // }else { + // console.log(result); + // } + // }); + diff --git a/semana23/desafio-pokemon-go-redfox/src/model/Pokemon.ts b/semana23/desafio-pokemon-go-redfox/src/model/Pokemon.ts new file mode 100644 index 0000000..1057311 --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/src/model/Pokemon.ts @@ -0,0 +1,183 @@ +export class Pokemon{ + constructor( + private id: number, + private name: string, + private generation: number, + private evolutionStage: string, + private familyId: string, + private type1: string, + private type2: string, + private statTotal: number, + private atk: number, + private def: number, + private sta: string, + private legendary: number, + private cp40: number, + private cp39: number + ){} + + getId(){ + return this.id; + } + + setId(id: number){ + return this.id = id; + } + + getName(){ + return this.name; + } + + setName(name: string){ + return this.name = name; + } + + getGeneration(){ + return this.generation; + } + + setGeneration(generation: number){ + return this.generation = generation; + } + + getEvolutionStage(){ + return this.evolutionStage; + } + + setEvolutionStage(evolutionStage: string){ + return this.evolutionStage = evolutionStage; + } + + getFamilyId(){ + return this.familyId; + } + + setFamilyId(familyId: string){ + return this.familyId = familyId; + } + + getType1(){ + return this.type1; + } + + setType1(type1: string){ + return this.type1 = type1; + } + + getType2(){ + return this.type2; + } + + setType2(type2: string){ + return this.type2 = type2; + } + + getStatTotal(){ + return this.statTotal; + } + + setStatTotal(statTotal: number){ + return this.statTotal = statTotal; + } + + getAtk(){ + return this.atk; + } + + setAtk(atk: number){ + return this.atk = atk; + } + + getDef(){ + return this.def; + } + + setDef(def: number){ + return this.def = def; + } + + getSta(){ + return this.sta; + } + + setSta(sta: string){ + return this.sta = sta; + } + + getLegendary(){ + return this.legendary; + } + + setLegendary(legendary: number){ + return this.legendary = legendary; + } + + getCp40(){ + return this.cp40; + } + + setCp40(cp40: number){ + return this.cp40 = cp40; + } + + getCp39(){ + return this.cp39; + } + + setCp39(cp39: number){ + return this.cp39 = cp39; + } + + static toPokemonModel(data?: any){ + return (data && new Pokemon( + data.id, + data.name, + data.generation, + data.evolutionStage || data.evolution_stage, + data.familyId || data.family_id, + data.type1 || data.type_1, + data.type2 || data.type_2, + data.statTotal || data.stat_total, + data.atk, + data.def, + data.sta, + data.legendary, + data.cp40 || data.cp_40, + data.cp39 || data.cp_39 + )) + } + +} + +export interface PokemonInputDTO{ + id: number, + name: string, + generation: number, + evolutionStage: string, + familyId: string, + type1: string, + type2: string, + statTotal:number, + atk: number, + sta: number, + legendary: number, + cp40: number, + cp39: number +} + +export interface PokemonOutputDTO{ + id: number, + name: string, + generation: number, + evolutionStage: string, + familyId: string, + type1: string, + type2: string, + statTotal:number, + atk: number, + sta: number, + legendary: number, + cp40: number, + cp39: number +} + diff --git a/semana23/desafio-pokemon-go-redfox/src/routes/pokemonRouter.ts b/semana23/desafio-pokemon-go-redfox/src/routes/pokemonRouter.ts new file mode 100644 index 0000000..0125fca --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/src/routes/pokemonRouter.ts @@ -0,0 +1,15 @@ +import express from "express"; +import { PokemonController } from "../controller/PokemonController"; + + +export const pokemonRouter = express.Router(); + +const pokemonController = new PokemonController(); + +pokemonRouter.get("/all", pokemonController.getPokemonController); + +pokemonRouter.get("/:id", pokemonController.getPokemonByIdController); + +pokemonRouter.get("/query/filtros", pokemonController.getPokemonFilterOrderPageController); + + diff --git a/semana23/desafio-pokemon-go-redfox/src/services/Authenticator.ts b/semana23/desafio-pokemon-go-redfox/src/services/Authenticator.ts new file mode 100644 index 0000000..d21c80d --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/src/services/Authenticator.ts @@ -0,0 +1,32 @@ +import * as jwt from "jsonwebtoken"; + +export class Authenticator { + public generateToken(input: AuthenticationData, + expiresIn: string = process.env.ACCESS_TOKEN_EXPIRES_IN!): string { + const token = jwt.sign( + { + id: input.id, + role: input.role + }, + process.env.JWT_KEY as string, + { + expiresIn, + } + ); + return token; + } + + public getData(token: string): AuthenticationData { + const payload = jwt.verify(token, process.env.JWT_KEY as string) as any; + const result = { + id: payload.id, + role: payload.role + }; + return result; + } +} + +interface AuthenticationData { + id: string; + role?: string; +} \ No newline at end of file diff --git a/semana23/desafio-pokemon-go-redfox/src/services/HashManager.ts b/semana23/desafio-pokemon-go-redfox/src/services/HashManager.ts new file mode 100644 index 0000000..45704fb --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/src/services/HashManager.ts @@ -0,0 +1,17 @@ +import * as bcrypt from "bcryptjs"; + + +export class HashManager { + + public async hash(text: string): Promise { + const rounds = 12; + const salt = await bcrypt.genSalt(rounds); + const result = await bcrypt.hash(text, salt); + return result; + } + + public async compare(text: string, hash: string): Promise{ + return await bcrypt.compare(text, hash); + } + +} \ No newline at end of file diff --git a/semana23/desafio-pokemon-go-redfox/src/services/IdGenerator.ts b/semana23/desafio-pokemon-go-redfox/src/services/IdGenerator.ts new file mode 100644 index 0000000..e6fcda8 --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/src/services/IdGenerator.ts @@ -0,0 +1,10 @@ +import { v4 } from "uuid"; + +export class IdGenerator{ + + generate(): string{ + return v4(); + } +} + +export default new IdGenerator(); \ No newline at end of file diff --git a/semana23/desafio-pokemon-go-redfox/src/services/pokeapi.svg b/semana23/desafio-pokemon-go-redfox/src/services/pokeapi.svg new file mode 100644 index 0000000..e637024 --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/src/services/pokeapi.svg @@ -0,0 +1 @@ +pokeapi \ No newline at end of file diff --git a/semana23/desafio-pokemon-go-redfox/src/services/regexValidar.ts b/semana23/desafio-pokemon-go-redfox/src/services/regexValidar.ts new file mode 100644 index 0000000..c62dd89 --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/src/services/regexValidar.ts @@ -0,0 +1,6 @@ +export const EMAIL_REGEX = +/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; + + +export const PHONE_REGEX = /^\([1-9]{2}\) (?:[2-8]|9[1-9])[0-9]{3}\-[0-9]{4}$/; + diff --git a/semana23/desafio-pokemon-go-redfox/tests/PokemonBusiness.test.ts b/semana23/desafio-pokemon-go-redfox/tests/PokemonBusiness.test.ts new file mode 100644 index 0000000..b0ba361 --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/tests/PokemonBusiness.test.ts @@ -0,0 +1,37 @@ +import { PokemonData } from '../src/data/PokemonData'; +import { PokemonBusiness } from '../src/business/PokemonBusiness'; +import { PokemonDataMock } from './mocks/PokemonDataMock'; + +const pokemonBusinessMock = new PokemonBusiness( + new PokemonDataMock() as unknown as PokemonData +) + + +describe("Testando o getPokemonById", () => { + + test("Deve retornar um erro quando for passado um id inválido", async() => { + expect.assertions(2); + + try { + await pokemonBusinessMock.getPokemonById(23); + + } catch (error) { + expect(error.message).toEqual("Not found"); + + } + }) + + + test("Esse teste deve ser bem sucedido quando for passado o id correto", async() => { + try { + await pokemonBusinessMock.getPokemonById(1); + + } catch (error) { + expect(error.message).toEqual("Not found"); + + } + }) + + + +}) diff --git a/semana23/desafio-pokemon-go-redfox/tests/mocks/PokeMock.ts b/semana23/desafio-pokemon-go-redfox/tests/mocks/PokeMock.ts new file mode 100644 index 0000000..f201a04 --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/tests/mocks/PokeMock.ts @@ -0,0 +1,53 @@ +import { Pokemon, PokemonOutputDTO} from "../../src/model/Pokemon"; + + +export const Bulbasaur = new Pokemon( + 1, + "Bulbasaur", + 1, + "10", + "1", + "water", + "fire", + 1, + 1, + 1, + "1", + 0, + 1, + 1 +) + + +export const Ivysaur = new Pokemon( + 2, + "Ivysaur", + 1, + "10", + "1", + "water", + "fire", + 1, + 1, + 1, + "1", + 0, + 1, + 1 +) + +export const getPokemonMock: PokemonOutputDTO ={ + id: 1, + name: "Ivysaur", + generation: 1, + evolutionStage: "1", + familyId: "1", + type1: "1", + type2: "1", + statTotal:1, + atk: 1, + sta: 1, + legendary: 1, + cp40: 1, + cp39: 1 +} diff --git a/semana23/desafio-pokemon-go-redfox/tests/mocks/PokemonDataMock.ts b/semana23/desafio-pokemon-go-redfox/tests/mocks/PokemonDataMock.ts new file mode 100644 index 0000000..e615391 --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/tests/mocks/PokemonDataMock.ts @@ -0,0 +1,17 @@ +import { Bulbasaur, getPokemonMock, Ivysaur } from './PokeMock'; +import { Pokemon, PokemonInputDTO } from "../../src/model/Pokemon"; + + +export class PokemonDataMock{ + + public async getPokemonById(id: number): Promise{ + switch (id) { + case Bulbasaur.getId(): + return Bulbasaur + case Ivysaur.getId(): + return Ivysaur + default: + return undefined + } + } +} \ No newline at end of file diff --git a/semana23/desafio-pokemon-go-redfox/tsconfig.json b/semana23/desafio-pokemon-go-redfox/tsconfig.json new file mode 100644 index 0000000..fbbfa58 --- /dev/null +++ b/semana23/desafio-pokemon-go-redfox/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "target": "es6" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */, + "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, + "outDir": "./build" /* Redirect output structure to the directory. */, + "rootDir": "./" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, + // "strict": true /* Enable all strict type-checking options. */, + "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, + "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */, + "resolveJsonModule": true + }, + "exclude": ["tests"] + } + \ No newline at end of file diff --git a/semana23/package-lock.json b/semana23/package-lock.json new file mode 100644 index 0000000..62235b0 --- /dev/null +++ b/semana23/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "semana23", + "lockfileVersion": 2, + "requires": true, + "packages": {} +}