├── .editorconfig ├── .eslintignore ├── .eslintrc.yml ├── .github ├── FUNDING.yml └── workflows │ ├── ci.yml │ └── release.yml ├── .gitignore ├── .mocharc.yml ├── .nycrc.yml ├── .prettierignore ├── .prettierrc.yml ├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── package.json ├── pnpm-lock.yaml ├── src ├── fromBn.ts ├── index.ts └── toBn.ts ├── test ├── fromBn.test.ts └── toBn.test.ts ├── tsconfig.json └── tsconfig.prod.json /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig http://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | # All files 7 | [*] 8 | charset = utf-8 9 | end_of_line = lf 10 | indent_size = 2 11 | indent_style = space 12 | insert_final_newline = true 13 | trim_trailing_whitespace = true 14 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | # directories 2 | .nyc_output 3 | build 4 | coverage 5 | dist 6 | node_modules 7 | 8 | # files 9 | *.env 10 | *.log 11 | *.tsbuildinfo 12 | .DS_Store 13 | .pnp.* 14 | coverage.json 15 | npm-debug.log 16 | package-lock.json 17 | yarn.lock 18 | -------------------------------------------------------------------------------- /.eslintrc.yml: -------------------------------------------------------------------------------- 1 | extends: 2 | - "eslint:recommended" 3 | - "plugin:@typescript-eslint/eslint-recommended" 4 | - "plugin:@typescript-eslint/recommended" 5 | - "plugin:@typescript-eslint/recommended-requiring-type-checking" 6 | - "prettier" 7 | parser: "@typescript-eslint/parser" 8 | parserOptions: 9 | project: "tsconfig.json" 10 | plugins: 11 | - "@typescript-eslint" 12 | root: true 13 | rules: 14 | "@typescript-eslint/no-empty-function": "off" 15 | "@typescript-eslint/no-explicit-any": "off" 16 | "@typescript-eslint/no-floating-promises": 17 | - error 18 | - ignoreIIFE: true 19 | ignoreVoid: true 20 | "@typescript-eslint/no-inferrable-types": "off" 21 | "@typescript-eslint/no-unsafe-argument": "off" 22 | "@typescript-eslint/no-unsafe-assignment": "off" 23 | "@typescript-eslint/no-unsafe-call": "off" 24 | "@typescript-eslint/no-unused-vars": 25 | - error 26 | - argsIgnorePattern: ^_ 27 | varsIgnorePattern: ^_ 28 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | custom: "https://gitcoin.co/grants/1657/PaulRBerg-open-source-engineering" 2 | github: "PaulRBerg" 3 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: "CI" 2 | 3 | on: 4 | pull_request: 5 | push: 6 | workflow_dispatch: 7 | branches: 8 | - "main" 9 | 10 | jobs: 11 | ci: 12 | runs-on: "ubuntu-latest" 13 | steps: 14 | - name: "Check out the repo" 15 | uses: "actions/checkout@v3" 16 | 17 | - name: "Install Pnpm" 18 | uses: "pnpm/action-setup@v2" 19 | with: 20 | version: "8" 21 | 22 | - name: "Install Node.js" 23 | uses: "actions/setup-node@v3" 24 | with: 25 | cache: "pnpm" 26 | node-version: "lts/*" 27 | 28 | - name: "Install the dependencies" 29 | run: "pnpm install" 30 | 31 | - name: "Lint the code" 32 | run: "pnpm lint" 33 | 34 | - name: "Run the tests and generate the coverage report" 35 | run: "pnpm coverage" 36 | 37 | - name: "Upload coverage reports to Codecov" 38 | uses: "codecov/codecov-action@v3" 39 | with: 40 | files: "./coverage/lcov.info" 41 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: "Release" 2 | 3 | on: 4 | push: 5 | tags: 6 | - "v[0-9]+.[0-9]+.[0-9]+" 7 | 8 | jobs: 9 | release: 10 | runs-on: "ubuntu-latest" 11 | steps: 12 | - name: "Check out the repo" 13 | uses: "actions/checkout@v3" 14 | 15 | - name: "Release" 16 | uses: "docker://antonyurchenko/git-release:v5" 17 | env: 18 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 19 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # directories 2 | .nyc_output 3 | build 4 | coverage 5 | dist 6 | node_modules 7 | 8 | # files 9 | *.env 10 | *.log 11 | *.tsbuildinfo 12 | .DS_Store 13 | .pnp.* 14 | coverage.json 15 | npm-debug.log* 16 | yarn.lock 17 | -------------------------------------------------------------------------------- /.mocharc.yml: -------------------------------------------------------------------------------- 1 | extension: "ts" 2 | recursive: true 3 | require: 4 | - "earljs/mocha" 5 | - "ts-node/register/transpile-only" 6 | - "source-map-support/register" 7 | spec: "test/**/*.test.ts" 8 | watchExtension: "ts" 9 | -------------------------------------------------------------------------------- /.nycrc.yml: -------------------------------------------------------------------------------- 1 | check-coverage: false 2 | include: 3 | - "src/**/*.ts" 4 | extends: "@istanbuljs/nyc-config-typescript" 5 | report-dir: "coverage" 6 | reporter: 7 | - "html" 8 | - "lcov" 9 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # directories 2 | .nyc_output 3 | build 4 | coverage 5 | dist 6 | node_modules 7 | 8 | # files 9 | *.env 10 | *.log 11 | *.tsbuildinfo 12 | .DS_Store 13 | .pnp.* 14 | coverage.json 15 | npm-debug.log 16 | package-lock.json 17 | yarn.lock 18 | -------------------------------------------------------------------------------- /.prettierrc.yml: -------------------------------------------------------------------------------- 1 | bracketSpacing: true 2 | printWidth: 120 3 | proseWrap: "always" 4 | singleQuote: false 5 | tabWidth: 2 6 | trailingComma: "all" 7 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | The format is based on [Common Changelog](https://common-changelog.org/), and this project adheres to 6 | [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 7 | 8 | [1.2.0]: https://github.com/PaulRBerg/evm-bn/compare/v1.1.2...v1.2.0 9 | [1.1.2]: https://github.com/PaulRBerg/evm-bn/compare/v1.1.1...v1.1.2 10 | [1.1.1]: https://github.com/PaulRBerg/evm-bn/compare/v1.1.0...v1.1.1 11 | [1.1.0]: https://github.com/PaulRBerg/evm-bn/compare/v1.0.1...v1.1.0 12 | [1.0.1]: https://github.com/PaulRBerg/evm-bn/compare/v1.0.0...v1.0.1 13 | [1.0.0]: https://github.com/PaulRBerg/evm-bn/releases/tag/v1.0.0 14 | 15 | ## [1.2.0] - 2023-03-28 16 | 17 | ### Changed 18 | 19 | - Bump dependencies (@PaulRBerg) 20 | - Improve documentation and formatting (@PaulRBerg) 21 | - Switch from Yarn to Pnpm for dependency management (@PaulRBerg) 22 | 23 | ### Added 24 | 25 | - Support uppercase `E` in exponential notation ([#16](https://github.com/PaulRBerg/evm-bn/pull/16)) (@tiagox) 26 | 27 | ## [1.1.2] - 2022-07-26 28 | 29 | ### Changed 30 | 31 | - Adhere to Common Changelog in `CHANGELOG.md` (@PaulRBerg) 32 | - Change the license from "Unlicense" to "MIT" (@PaulRBerg) 33 | - Fix number of decimals in error message in `fromBn` function (@PaulRBerg) 34 | - Polish the README (@PaulRBerg) 35 | 36 | ## [1.1.1] - 2021-10-27 37 | 38 | ### Changed 39 | 40 | - Semver from "^5.5.0" to "5.x" for `@ethersproject/bignumber` peer dependency (@PaulRBerg) 41 | 42 | ## [1.1.0] - 2021-10-26 43 | 44 | ### Added 45 | 46 | - TypeScript declaration maps and source maps (@PaulRBerg) 47 | 48 | ### Changed 49 | 50 | - Upgrade to `@ethersproject/bignumber` v5.5.0 (@PaulRBerg) 51 | 52 | ## [1.0.1] - 2021-09-29 53 | 54 | ### Fixed 55 | 56 | - Relax type checking in `fromBn` function (@PaulRBerg) 57 | 58 | ## [1.0.0] - 2021-09-27 59 | 60 | ### Added 61 | 62 | - First release of the package (@PaulRBerg) 63 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Paul Razvan Berg 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated 6 | documentation files (the "Software"), to deal in the Software without restriction, including without limitation the 7 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit 8 | persons to whom the Software is furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the 11 | Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 14 | WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 15 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 16 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 17 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Evm Bn [![GitHub Actions][gha-badge]][gha] [![Coverage][codecov-badge]][codecov] [![Styled with Prettier][prettier-badge]][prettier] [![License: MIT][license-badge]][license] 2 | 3 | [gha]: https://github.com/PaulRBerg/evm-bn/actions 4 | [gha-badge]: https://github.com/PaulRBerg/evm-bn/actions/workflows/ci.yml/badge.svg 5 | [codecov]: https://codecov.io/gh/PaulRBerg/evm-bn 6 | [codecov-badge]: https://codecov.io/gh/PaulRBerg/evm-bn/branch/main/graph/badge.svg 7 | [prettier]: https://prettier.io 8 | [prettier-badge]: https://img.shields.io/badge/Code_Style-Prettier-ff69b4.svg 9 | [license]: https://opensource.org/licenses/MIT 10 | [license-badge]: https://img.shields.io/badge/License-MIT-blue.svg 11 | 12 | Evm Bn is a utility for converting between stringified fixed-point numbers and 13 | [Ethers.js](https://github.com/ethers-io/ethers.js) BigNumbers, as well as the reverse process. It is particularly 14 | useful for projects based on the Ethereum Virtual Machine (EVM), given that 1 ETH is equivalent to 1e18 wei. 15 | 16 | - Accepts scientific notation. 17 | - Limits the precision to 78 digits. 18 | - Enforces 60 integer digits and 18 fractional digits. 19 | - Designed to be used alongside 20 | [@ethersproject/bignumber](https://github.com/ethers-io/ethers.js/tree/master/packages/bignumber). 21 | - Slices the fractional digits automatically at position `n + 1` and above, with `n` the number of decimals, rounding 22 | down in the process. 23 | 24 | ## Install 25 | 26 | ```sh 27 | $ pnpm add evm-bn 28 | ``` 29 | 30 | ## Usage 31 | 32 | ### To Bn 33 | 34 | ```ts 35 | import type { BigNumber } from "@ethersproject/bignumber"; 36 | import { toBn } from "evm-bn"; 37 | 38 | // 3141500000000000000 39 | const foo: BigNumber = toBn("3.1415"); 40 | 41 | // 115792089237316195423570985008687907853269984665640564039457584007913129639935 42 | const bar: BigNumber = toBn("115792089237316195423570985008687907853269984665640564039457.584007913129639935"); 43 | 44 | // 100000000000000 45 | const baz: BigNumber = toBn("100e6", 6); 46 | ``` 47 | 48 | ### From Bn 49 | 50 | ```ts 51 | import type { BigNumber } from "@ethersproject/bignumber"; 52 | import { fromBn } from "evm-bn"; 53 | 54 | // 3.1415 55 | const foo: BigNumber = fromBn(BigNumber.from("3141500000000000000")); 56 | 57 | // 115792089237316195423570985008687907853269984665640564039457.584007913129639935 58 | const bar: BigNumber = fromBn( 59 | BigNumber.from("115792089237316195423570985008687907853269984665640564039457584007913129639935"), 60 | ); 61 | 62 | // 100000000 63 | const baz: BigNumber = fromBn(BigNumber.from("100000000000000"), 6); 64 | ``` 65 | 66 | ## Contributing 67 | 68 | Feel free to dive in! [Open](https://github.com/PaulRBerg/evm-bn/issues/new) an issue, 69 | [start](https://github.com/PaulRBerg/evm-bn/discussions/new) a discussion or submit a PR. 70 | 71 | ### Set Up 72 | 73 | Clone the repositories and install the dependencies: 74 | 75 | ```sh 76 | $ pnpm install 77 | ``` 78 | 79 | Now you can start making changes. 80 | 81 | ## License 82 | 83 | This project is licensed under MIT. 84 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "evm-bn", 3 | "description": "Convert fixed-point numbers to ethers big numbers and vice-versa", 4 | "version": "1.2.0", 5 | "author": { 6 | "name": "Paul Razvan Berg", 7 | "url": "https://paulrberg.com" 8 | }, 9 | "dependencies": { 10 | "@ethersproject/bignumber": "^5.7.0", 11 | "from-exponential": "^1.1.1" 12 | }, 13 | "devDependencies": { 14 | "@istanbuljs/nyc-config-typescript": "^1.0.2", 15 | "@types/mocha": "^10.0.1", 16 | "@types/mocha-each": "^2.0.0", 17 | "@types/node": "^18.15.10", 18 | "@typescript-eslint/eslint-plugin": "^5.57.0", 19 | "@typescript-eslint/parser": "^5.57.0", 20 | "earljs": "^0.2.3", 21 | "eslint": "^8.36.0", 22 | "eslint-config-prettier": "^8.8.0", 23 | "mocha": "^10.2.0", 24 | "mocha-each": "^2.0.1", 25 | "nyc": "^15.1.0", 26 | "prettier": "^2.8.7", 27 | "rimraf": "^4.4.1", 28 | "source-map-support": "^0.5.21", 29 | "ts-node": "^10.9.1", 30 | "typescript": "^5.0.2" 31 | }, 32 | "files": [ 33 | "/dist/**/*.d.ts", 34 | "/dist/**/*.d.ts.map", 35 | "/dist/**/*.js", 36 | "/dist/**/*.js.map", 37 | "CHANGELOG.md" 38 | ], 39 | "keywords": [ 40 | "bignumber", 41 | "blockchain", 42 | "ethereum", 43 | "ethers", 44 | "evm", 45 | "javascript", 46 | "number-formatting" 47 | ], 48 | "license": "MIT", 49 | "main": "./dist/index.js", 50 | "peerDependencies": { 51 | "@ethersproject/bignumber": "5.x" 52 | }, 53 | "publishConfig": { 54 | "access": "public" 55 | }, 56 | "scripts": { 57 | "build": "tsc --build \"./tsconfig.prod.json\"", 58 | "clean": "rimraf coverage dist", 59 | "coverage": "pnpm nyc mocha", 60 | "lint": "pnpm lint:ts && pnpm prettier:check && pnpm typecheck", 61 | "lint:ts": "eslint --ext .ts .", 62 | "prepack": "pnpm build", 63 | "prettier:check": "prettier --check \"**/*.{js,json,md,ts,yml}\"", 64 | "prettier:write": "prettier --write \"**/*.{js,json,md,ts,yml}\"", 65 | "test": "mocha", 66 | "typecheck": "tsc --incremental false --noEmit" 67 | }, 68 | "types": "./dist/index.d.ts" 69 | } 70 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | dependencies: 4 | '@ethersproject/bignumber': 5 | specifier: ^5.7.0 6 | version: 5.7.0 7 | from-exponential: 8 | specifier: ^1.1.1 9 | version: 1.1.1 10 | 11 | devDependencies: 12 | '@istanbuljs/nyc-config-typescript': 13 | specifier: ^1.0.2 14 | version: 1.0.2(nyc@15.1.0) 15 | '@types/mocha': 16 | specifier: ^10.0.1 17 | version: 10.0.1 18 | '@types/mocha-each': 19 | specifier: ^2.0.0 20 | version: 2.0.0 21 | '@types/node': 22 | specifier: ^18.15.10 23 | version: 18.15.10 24 | '@typescript-eslint/eslint-plugin': 25 | specifier: ^5.57.0 26 | version: 5.57.0(@typescript-eslint/parser@5.57.0)(eslint@8.36.0)(typescript@5.0.2) 27 | '@typescript-eslint/parser': 28 | specifier: ^5.57.0 29 | version: 5.57.0(eslint@8.36.0)(typescript@5.0.2) 30 | earljs: 31 | specifier: ^0.2.3 32 | version: 0.2.3(typescript@5.0.2) 33 | eslint: 34 | specifier: ^8.36.0 35 | version: 8.36.0 36 | eslint-config-prettier: 37 | specifier: ^8.8.0 38 | version: 8.8.0(eslint@8.36.0) 39 | mocha: 40 | specifier: ^10.2.0 41 | version: 10.2.0 42 | mocha-each: 43 | specifier: ^2.0.1 44 | version: 2.0.1 45 | nyc: 46 | specifier: ^15.1.0 47 | version: 15.1.0 48 | prettier: 49 | specifier: ^2.8.7 50 | version: 2.8.7 51 | rimraf: 52 | specifier: ^4.4.1 53 | version: 4.4.1 54 | source-map-support: 55 | specifier: ^0.5.21 56 | version: 0.5.21 57 | ts-node: 58 | specifier: ^10.9.1 59 | version: 10.9.1(@types/node@18.15.10)(typescript@5.0.2) 60 | typescript: 61 | specifier: ^5.0.2 62 | version: 5.0.2 63 | 64 | packages: 65 | 66 | /@ampproject/remapping@2.2.0: 67 | resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} 68 | engines: {node: '>=6.0.0'} 69 | dependencies: 70 | '@jridgewell/gen-mapping': 0.1.1 71 | '@jridgewell/trace-mapping': 0.3.17 72 | dev: true 73 | 74 | /@babel/code-frame@7.18.6: 75 | resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} 76 | engines: {node: '>=6.9.0'} 77 | dependencies: 78 | '@babel/highlight': 7.18.6 79 | dev: true 80 | 81 | /@babel/compat-data@7.21.0: 82 | resolution: {integrity: sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==} 83 | engines: {node: '>=6.9.0'} 84 | dev: true 85 | 86 | /@babel/core@7.21.3: 87 | resolution: {integrity: sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==} 88 | engines: {node: '>=6.9.0'} 89 | dependencies: 90 | '@ampproject/remapping': 2.2.0 91 | '@babel/code-frame': 7.18.6 92 | '@babel/generator': 7.21.3 93 | '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.3) 94 | '@babel/helper-module-transforms': 7.21.2 95 | '@babel/helpers': 7.21.0 96 | '@babel/parser': 7.21.3 97 | '@babel/template': 7.20.7 98 | '@babel/traverse': 7.21.3 99 | '@babel/types': 7.21.3 100 | convert-source-map: 1.9.0 101 | debug: 4.3.4(supports-color@8.1.1) 102 | gensync: 1.0.0-beta.2 103 | json5: 2.2.3 104 | semver: 6.3.0 105 | transitivePeerDependencies: 106 | - supports-color 107 | dev: true 108 | 109 | /@babel/generator@7.21.3: 110 | resolution: {integrity: sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==} 111 | engines: {node: '>=6.9.0'} 112 | dependencies: 113 | '@babel/types': 7.21.3 114 | '@jridgewell/gen-mapping': 0.3.2 115 | '@jridgewell/trace-mapping': 0.3.17 116 | jsesc: 2.5.2 117 | dev: true 118 | 119 | /@babel/helper-compilation-targets@7.20.7(@babel/core@7.21.3): 120 | resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} 121 | engines: {node: '>=6.9.0'} 122 | peerDependencies: 123 | '@babel/core': ^7.0.0 124 | dependencies: 125 | '@babel/compat-data': 7.21.0 126 | '@babel/core': 7.21.3 127 | '@babel/helper-validator-option': 7.21.0 128 | browserslist: 4.21.5 129 | lru-cache: 5.1.1 130 | semver: 6.3.0 131 | dev: true 132 | 133 | /@babel/helper-environment-visitor@7.18.9: 134 | resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} 135 | engines: {node: '>=6.9.0'} 136 | dev: true 137 | 138 | /@babel/helper-function-name@7.21.0: 139 | resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} 140 | engines: {node: '>=6.9.0'} 141 | dependencies: 142 | '@babel/template': 7.20.7 143 | '@babel/types': 7.21.3 144 | dev: true 145 | 146 | /@babel/helper-hoist-variables@7.18.6: 147 | resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} 148 | engines: {node: '>=6.9.0'} 149 | dependencies: 150 | '@babel/types': 7.21.3 151 | dev: true 152 | 153 | /@babel/helper-module-imports@7.18.6: 154 | resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} 155 | engines: {node: '>=6.9.0'} 156 | dependencies: 157 | '@babel/types': 7.21.3 158 | dev: true 159 | 160 | /@babel/helper-module-transforms@7.21.2: 161 | resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} 162 | engines: {node: '>=6.9.0'} 163 | dependencies: 164 | '@babel/helper-environment-visitor': 7.18.9 165 | '@babel/helper-module-imports': 7.18.6 166 | '@babel/helper-simple-access': 7.20.2 167 | '@babel/helper-split-export-declaration': 7.18.6 168 | '@babel/helper-validator-identifier': 7.19.1 169 | '@babel/template': 7.20.7 170 | '@babel/traverse': 7.21.3 171 | '@babel/types': 7.21.3 172 | transitivePeerDependencies: 173 | - supports-color 174 | dev: true 175 | 176 | /@babel/helper-simple-access@7.20.2: 177 | resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} 178 | engines: {node: '>=6.9.0'} 179 | dependencies: 180 | '@babel/types': 7.21.3 181 | dev: true 182 | 183 | /@babel/helper-split-export-declaration@7.18.6: 184 | resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} 185 | engines: {node: '>=6.9.0'} 186 | dependencies: 187 | '@babel/types': 7.21.3 188 | dev: true 189 | 190 | /@babel/helper-string-parser@7.19.4: 191 | resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} 192 | engines: {node: '>=6.9.0'} 193 | dev: true 194 | 195 | /@babel/helper-validator-identifier@7.19.1: 196 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} 197 | engines: {node: '>=6.9.0'} 198 | dev: true 199 | 200 | /@babel/helper-validator-option@7.21.0: 201 | resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} 202 | engines: {node: '>=6.9.0'} 203 | dev: true 204 | 205 | /@babel/helpers@7.21.0: 206 | resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==} 207 | engines: {node: '>=6.9.0'} 208 | dependencies: 209 | '@babel/template': 7.20.7 210 | '@babel/traverse': 7.21.3 211 | '@babel/types': 7.21.3 212 | transitivePeerDependencies: 213 | - supports-color 214 | dev: true 215 | 216 | /@babel/highlight@7.18.6: 217 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} 218 | engines: {node: '>=6.9.0'} 219 | dependencies: 220 | '@babel/helper-validator-identifier': 7.19.1 221 | chalk: 2.4.2 222 | js-tokens: 4.0.0 223 | dev: true 224 | 225 | /@babel/parser@7.21.3: 226 | resolution: {integrity: sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==} 227 | engines: {node: '>=6.0.0'} 228 | dependencies: 229 | '@babel/types': 7.21.3 230 | dev: true 231 | 232 | /@babel/template@7.20.7: 233 | resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} 234 | engines: {node: '>=6.9.0'} 235 | dependencies: 236 | '@babel/code-frame': 7.18.6 237 | '@babel/parser': 7.21.3 238 | '@babel/types': 7.21.3 239 | dev: true 240 | 241 | /@babel/traverse@7.21.3: 242 | resolution: {integrity: sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==} 243 | engines: {node: '>=6.9.0'} 244 | dependencies: 245 | '@babel/code-frame': 7.18.6 246 | '@babel/generator': 7.21.3 247 | '@babel/helper-environment-visitor': 7.18.9 248 | '@babel/helper-function-name': 7.21.0 249 | '@babel/helper-hoist-variables': 7.18.6 250 | '@babel/helper-split-export-declaration': 7.18.6 251 | '@babel/parser': 7.21.3 252 | '@babel/types': 7.21.3 253 | debug: 4.3.4(supports-color@8.1.1) 254 | globals: 11.12.0 255 | transitivePeerDependencies: 256 | - supports-color 257 | dev: true 258 | 259 | /@babel/types@7.21.3: 260 | resolution: {integrity: sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==} 261 | engines: {node: '>=6.9.0'} 262 | dependencies: 263 | '@babel/helper-string-parser': 7.19.4 264 | '@babel/helper-validator-identifier': 7.19.1 265 | to-fast-properties: 2.0.0 266 | dev: true 267 | 268 | /@cnakazawa/watch@1.0.4: 269 | resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==} 270 | engines: {node: '>=0.1.95'} 271 | dependencies: 272 | exec-sh: 0.3.6 273 | minimist: 1.2.8 274 | dev: true 275 | 276 | /@cspotcode/source-map-support@0.8.1: 277 | resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} 278 | engines: {node: '>=12'} 279 | dependencies: 280 | '@jridgewell/trace-mapping': 0.3.9 281 | dev: true 282 | 283 | /@eslint-community/eslint-utils@4.4.0(eslint@8.36.0): 284 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} 285 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 286 | peerDependencies: 287 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 288 | dependencies: 289 | eslint: 8.36.0 290 | eslint-visitor-keys: 3.4.0 291 | dev: true 292 | 293 | /@eslint-community/regexpp@4.4.1: 294 | resolution: {integrity: sha512-BISJ6ZE4xQsuL/FmsyRaiffpq977bMlsKfGHTQrOGFErfByxIe6iZTxPf/00Zon9b9a7iUykfQwejN3s2ZW/Bw==} 295 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 296 | dev: true 297 | 298 | /@eslint/eslintrc@2.0.1: 299 | resolution: {integrity: sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw==} 300 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 301 | dependencies: 302 | ajv: 6.12.6 303 | debug: 4.3.4(supports-color@8.1.1) 304 | espree: 9.5.0 305 | globals: 13.20.0 306 | ignore: 5.2.4 307 | import-fresh: 3.3.0 308 | js-yaml: 4.1.0 309 | minimatch: 3.1.2 310 | strip-json-comments: 3.1.1 311 | transitivePeerDependencies: 312 | - supports-color 313 | dev: true 314 | 315 | /@eslint/js@8.36.0: 316 | resolution: {integrity: sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==} 317 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 318 | dev: true 319 | 320 | /@ethersproject/bignumber@5.7.0: 321 | resolution: {integrity: sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==} 322 | dependencies: 323 | '@ethersproject/bytes': 5.7.0 324 | '@ethersproject/logger': 5.7.0 325 | bn.js: 5.2.1 326 | dev: false 327 | 328 | /@ethersproject/bytes@5.7.0: 329 | resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==} 330 | dependencies: 331 | '@ethersproject/logger': 5.7.0 332 | dev: false 333 | 334 | /@ethersproject/logger@5.7.0: 335 | resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==} 336 | dev: false 337 | 338 | /@humanwhocodes/config-array@0.11.8: 339 | resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} 340 | engines: {node: '>=10.10.0'} 341 | dependencies: 342 | '@humanwhocodes/object-schema': 1.2.1 343 | debug: 4.3.4(supports-color@8.1.1) 344 | minimatch: 3.1.2 345 | transitivePeerDependencies: 346 | - supports-color 347 | dev: true 348 | 349 | /@humanwhocodes/module-importer@1.0.1: 350 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 351 | engines: {node: '>=12.22'} 352 | dev: true 353 | 354 | /@humanwhocodes/object-schema@1.2.1: 355 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 356 | dev: true 357 | 358 | /@istanbuljs/load-nyc-config@1.1.0: 359 | resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} 360 | engines: {node: '>=8'} 361 | dependencies: 362 | camelcase: 5.3.1 363 | find-up: 4.1.0 364 | get-package-type: 0.1.0 365 | js-yaml: 3.14.1 366 | resolve-from: 5.0.0 367 | dev: true 368 | 369 | /@istanbuljs/nyc-config-typescript@1.0.2(nyc@15.1.0): 370 | resolution: {integrity: sha512-iKGIyMoyJuFnJRSVTZ78POIRvNnwZaWIf8vG4ZS3rQq58MMDrqEX2nnzx0R28V2X8JvmKYiqY9FP2hlJsm8A0w==} 371 | engines: {node: '>=8'} 372 | peerDependencies: 373 | nyc: '>=15' 374 | dependencies: 375 | '@istanbuljs/schema': 0.1.3 376 | nyc: 15.1.0 377 | dev: true 378 | 379 | /@istanbuljs/schema@0.1.3: 380 | resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} 381 | engines: {node: '>=8'} 382 | dev: true 383 | 384 | /@jest/types@26.6.2: 385 | resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} 386 | engines: {node: '>= 10.14.2'} 387 | dependencies: 388 | '@types/istanbul-lib-coverage': 2.0.4 389 | '@types/istanbul-reports': 3.0.1 390 | '@types/node': 18.15.10 391 | '@types/yargs': 15.0.15 392 | chalk: 4.1.2 393 | dev: true 394 | 395 | /@jridgewell/gen-mapping@0.1.1: 396 | resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} 397 | engines: {node: '>=6.0.0'} 398 | dependencies: 399 | '@jridgewell/set-array': 1.1.2 400 | '@jridgewell/sourcemap-codec': 1.4.14 401 | dev: true 402 | 403 | /@jridgewell/gen-mapping@0.3.2: 404 | resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} 405 | engines: {node: '>=6.0.0'} 406 | dependencies: 407 | '@jridgewell/set-array': 1.1.2 408 | '@jridgewell/sourcemap-codec': 1.4.14 409 | '@jridgewell/trace-mapping': 0.3.17 410 | dev: true 411 | 412 | /@jridgewell/resolve-uri@3.1.0: 413 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} 414 | engines: {node: '>=6.0.0'} 415 | dev: true 416 | 417 | /@jridgewell/set-array@1.1.2: 418 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} 419 | engines: {node: '>=6.0.0'} 420 | dev: true 421 | 422 | /@jridgewell/sourcemap-codec@1.4.14: 423 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} 424 | dev: true 425 | 426 | /@jridgewell/trace-mapping@0.3.17: 427 | resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} 428 | dependencies: 429 | '@jridgewell/resolve-uri': 3.1.0 430 | '@jridgewell/sourcemap-codec': 1.4.14 431 | dev: true 432 | 433 | /@jridgewell/trace-mapping@0.3.9: 434 | resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} 435 | dependencies: 436 | '@jridgewell/resolve-uri': 3.1.0 437 | '@jridgewell/sourcemap-codec': 1.4.14 438 | dev: true 439 | 440 | /@nodelib/fs.scandir@2.1.5: 441 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 442 | engines: {node: '>= 8'} 443 | dependencies: 444 | '@nodelib/fs.stat': 2.0.5 445 | run-parallel: 1.2.0 446 | dev: true 447 | 448 | /@nodelib/fs.stat@2.0.5: 449 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 450 | engines: {node: '>= 8'} 451 | dev: true 452 | 453 | /@nodelib/fs.walk@1.2.8: 454 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 455 | engines: {node: '>= 8'} 456 | dependencies: 457 | '@nodelib/fs.scandir': 2.1.5 458 | fastq: 1.15.0 459 | dev: true 460 | 461 | /@tsconfig/node10@1.0.9: 462 | resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} 463 | dev: true 464 | 465 | /@tsconfig/node12@1.0.11: 466 | resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} 467 | dev: true 468 | 469 | /@tsconfig/node14@1.0.3: 470 | resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} 471 | dev: true 472 | 473 | /@tsconfig/node16@1.0.3: 474 | resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} 475 | dev: true 476 | 477 | /@types/babel__traverse@7.18.3: 478 | resolution: {integrity: sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==} 479 | dependencies: 480 | '@babel/types': 7.21.3 481 | dev: true 482 | 483 | /@types/graceful-fs@4.1.6: 484 | resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} 485 | dependencies: 486 | '@types/node': 18.15.10 487 | dev: true 488 | 489 | /@types/istanbul-lib-coverage@2.0.4: 490 | resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} 491 | dev: true 492 | 493 | /@types/istanbul-lib-report@3.0.0: 494 | resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} 495 | dependencies: 496 | '@types/istanbul-lib-coverage': 2.0.4 497 | dev: true 498 | 499 | /@types/istanbul-reports@3.0.1: 500 | resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} 501 | dependencies: 502 | '@types/istanbul-lib-report': 3.0.0 503 | dev: true 504 | 505 | /@types/json-schema@7.0.11: 506 | resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} 507 | dev: true 508 | 509 | /@types/mocha-each@2.0.0: 510 | resolution: {integrity: sha512-wZWPqB+pnH9SL7qzORZha1dBt5ypYgPYDSma9wwtQVGmu36QonRWnc8hbJwgMaCPYHTHzrAGMnwp+we/SGI2YQ==} 511 | dependencies: 512 | '@types/mocha': 10.0.1 513 | dev: true 514 | 515 | /@types/mocha@10.0.1: 516 | resolution: {integrity: sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==} 517 | dev: true 518 | 519 | /@types/node@18.15.10: 520 | resolution: {integrity: sha512-9avDaQJczATcXgfmMAW3MIWArOO7A+m90vuCFLr8AotWf8igO/mRoYukrk2cqZVtv38tHs33retzHEilM7FpeQ==} 521 | dev: true 522 | 523 | /@types/normalize-package-data@2.4.1: 524 | resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} 525 | dev: true 526 | 527 | /@types/prettier@2.7.2: 528 | resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==} 529 | dev: true 530 | 531 | /@types/semver@7.3.13: 532 | resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} 533 | dev: true 534 | 535 | /@types/stack-utils@2.0.1: 536 | resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} 537 | dev: true 538 | 539 | /@types/yargs-parser@21.0.0: 540 | resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} 541 | dev: true 542 | 543 | /@types/yargs@15.0.15: 544 | resolution: {integrity: sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==} 545 | dependencies: 546 | '@types/yargs-parser': 21.0.0 547 | dev: true 548 | 549 | /@typescript-eslint/eslint-plugin@5.57.0(@typescript-eslint/parser@5.57.0)(eslint@8.36.0)(typescript@5.0.2): 550 | resolution: {integrity: sha512-itag0qpN6q2UMM6Xgk6xoHa0D0/P+M17THnr4SVgqn9Rgam5k/He33MA7/D7QoJcdMxHFyX7U9imaBonAX/6qA==} 551 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 552 | peerDependencies: 553 | '@typescript-eslint/parser': ^5.0.0 554 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 555 | typescript: '*' 556 | peerDependenciesMeta: 557 | typescript: 558 | optional: true 559 | dependencies: 560 | '@eslint-community/regexpp': 4.4.1 561 | '@typescript-eslint/parser': 5.57.0(eslint@8.36.0)(typescript@5.0.2) 562 | '@typescript-eslint/scope-manager': 5.57.0 563 | '@typescript-eslint/type-utils': 5.57.0(eslint@8.36.0)(typescript@5.0.2) 564 | '@typescript-eslint/utils': 5.57.0(eslint@8.36.0)(typescript@5.0.2) 565 | debug: 4.3.4(supports-color@8.1.1) 566 | eslint: 8.36.0 567 | grapheme-splitter: 1.0.4 568 | ignore: 5.2.4 569 | natural-compare-lite: 1.4.0 570 | semver: 7.3.8 571 | tsutils: 3.21.0(typescript@5.0.2) 572 | typescript: 5.0.2 573 | transitivePeerDependencies: 574 | - supports-color 575 | dev: true 576 | 577 | /@typescript-eslint/parser@5.57.0(eslint@8.36.0)(typescript@5.0.2): 578 | resolution: {integrity: sha512-orrduvpWYkgLCyAdNtR1QIWovcNZlEm6yL8nwH/eTxWLd8gsP+25pdLHYzL2QdkqrieaDwLpytHqycncv0woUQ==} 579 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 580 | peerDependencies: 581 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 582 | typescript: '*' 583 | peerDependenciesMeta: 584 | typescript: 585 | optional: true 586 | dependencies: 587 | '@typescript-eslint/scope-manager': 5.57.0 588 | '@typescript-eslint/types': 5.57.0 589 | '@typescript-eslint/typescript-estree': 5.57.0(typescript@5.0.2) 590 | debug: 4.3.4(supports-color@8.1.1) 591 | eslint: 8.36.0 592 | typescript: 5.0.2 593 | transitivePeerDependencies: 594 | - supports-color 595 | dev: true 596 | 597 | /@typescript-eslint/scope-manager@5.57.0: 598 | resolution: {integrity: sha512-NANBNOQvllPlizl9LatX8+MHi7bx7WGIWYjPHDmQe5Si/0YEYfxSljJpoTyTWFTgRy3X8gLYSE4xQ2U+aCozSw==} 599 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 600 | dependencies: 601 | '@typescript-eslint/types': 5.57.0 602 | '@typescript-eslint/visitor-keys': 5.57.0 603 | dev: true 604 | 605 | /@typescript-eslint/type-utils@5.57.0(eslint@8.36.0)(typescript@5.0.2): 606 | resolution: {integrity: sha512-kxXoq9zOTbvqzLbdNKy1yFrxLC6GDJFE2Yuo3KqSwTmDOFjUGeWSakgoXT864WcK5/NAJkkONCiKb1ddsqhLXQ==} 607 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 608 | peerDependencies: 609 | eslint: '*' 610 | typescript: '*' 611 | peerDependenciesMeta: 612 | typescript: 613 | optional: true 614 | dependencies: 615 | '@typescript-eslint/typescript-estree': 5.57.0(typescript@5.0.2) 616 | '@typescript-eslint/utils': 5.57.0(eslint@8.36.0)(typescript@5.0.2) 617 | debug: 4.3.4(supports-color@8.1.1) 618 | eslint: 8.36.0 619 | tsutils: 3.21.0(typescript@5.0.2) 620 | typescript: 5.0.2 621 | transitivePeerDependencies: 622 | - supports-color 623 | dev: true 624 | 625 | /@typescript-eslint/types@5.57.0: 626 | resolution: {integrity: sha512-mxsod+aZRSyLT+jiqHw1KK6xrANm19/+VFALVFP5qa/aiJnlP38qpyaTd0fEKhWvQk6YeNZ5LGwI1pDpBRBhtQ==} 627 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 628 | dev: true 629 | 630 | /@typescript-eslint/typescript-estree@5.57.0(typescript@5.0.2): 631 | resolution: {integrity: sha512-LTzQ23TV82KpO8HPnWuxM2V7ieXW8O142I7hQTxWIHDcCEIjtkat6H96PFkYBQqGFLW/G/eVVOB9Z8rcvdY/Vw==} 632 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 633 | peerDependencies: 634 | typescript: '*' 635 | peerDependenciesMeta: 636 | typescript: 637 | optional: true 638 | dependencies: 639 | '@typescript-eslint/types': 5.57.0 640 | '@typescript-eslint/visitor-keys': 5.57.0 641 | debug: 4.3.4(supports-color@8.1.1) 642 | globby: 11.1.0 643 | is-glob: 4.0.3 644 | semver: 7.3.8 645 | tsutils: 3.21.0(typescript@5.0.2) 646 | typescript: 5.0.2 647 | transitivePeerDependencies: 648 | - supports-color 649 | dev: true 650 | 651 | /@typescript-eslint/utils@5.57.0(eslint@8.36.0)(typescript@5.0.2): 652 | resolution: {integrity: sha512-ps/4WohXV7C+LTSgAL5CApxvxbMkl9B9AUZRtnEFonpIxZDIT7wC1xfvuJONMidrkB9scs4zhtRyIwHh4+18kw==} 653 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 654 | peerDependencies: 655 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 656 | dependencies: 657 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.36.0) 658 | '@types/json-schema': 7.0.11 659 | '@types/semver': 7.3.13 660 | '@typescript-eslint/scope-manager': 5.57.0 661 | '@typescript-eslint/types': 5.57.0 662 | '@typescript-eslint/typescript-estree': 5.57.0(typescript@5.0.2) 663 | eslint: 8.36.0 664 | eslint-scope: 5.1.1 665 | semver: 7.3.8 666 | transitivePeerDependencies: 667 | - supports-color 668 | - typescript 669 | dev: true 670 | 671 | /@typescript-eslint/visitor-keys@5.57.0: 672 | resolution: {integrity: sha512-ery2g3k0hv5BLiKpPuwYt9KBkAp2ugT6VvyShXdLOkax895EC55sP0Tx5L0fZaQueiK3fBLvHVvEl3jFS5ia+g==} 673 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 674 | dependencies: 675 | '@typescript-eslint/types': 5.57.0 676 | eslint-visitor-keys: 3.4.0 677 | dev: true 678 | 679 | /acorn-jsx@5.3.2(acorn@8.8.2): 680 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 681 | peerDependencies: 682 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 683 | dependencies: 684 | acorn: 8.8.2 685 | dev: true 686 | 687 | /acorn-walk@8.2.0: 688 | resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} 689 | engines: {node: '>=0.4.0'} 690 | dev: true 691 | 692 | /acorn@8.8.2: 693 | resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} 694 | engines: {node: '>=0.4.0'} 695 | dev: true 696 | 697 | /aggregate-error@3.1.0: 698 | resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} 699 | engines: {node: '>=8'} 700 | dependencies: 701 | clean-stack: 2.2.0 702 | indent-string: 4.0.0 703 | dev: true 704 | 705 | /ajv@6.12.6: 706 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 707 | dependencies: 708 | fast-deep-equal: 3.1.3 709 | fast-json-stable-stringify: 2.1.0 710 | json-schema-traverse: 0.4.1 711 | uri-js: 4.4.1 712 | dev: true 713 | 714 | /ansi-colors@4.1.1: 715 | resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} 716 | engines: {node: '>=6'} 717 | dev: true 718 | 719 | /ansi-regex@5.0.1: 720 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 721 | engines: {node: '>=8'} 722 | dev: true 723 | 724 | /ansi-styles@3.2.1: 725 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 726 | engines: {node: '>=4'} 727 | dependencies: 728 | color-convert: 1.9.3 729 | dev: true 730 | 731 | /ansi-styles@4.3.0: 732 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 733 | engines: {node: '>=8'} 734 | dependencies: 735 | color-convert: 2.0.1 736 | dev: true 737 | 738 | /anymatch@2.0.0: 739 | resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} 740 | dependencies: 741 | micromatch: 3.1.10 742 | normalize-path: 2.1.1 743 | transitivePeerDependencies: 744 | - supports-color 745 | dev: true 746 | 747 | /anymatch@3.1.3: 748 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 749 | engines: {node: '>= 8'} 750 | dependencies: 751 | normalize-path: 3.0.0 752 | picomatch: 2.3.1 753 | dev: true 754 | 755 | /append-transform@2.0.0: 756 | resolution: {integrity: sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==} 757 | engines: {node: '>=8'} 758 | dependencies: 759 | default-require-extensions: 3.0.1 760 | dev: true 761 | 762 | /archy@1.0.0: 763 | resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} 764 | dev: true 765 | 766 | /arg@4.1.3: 767 | resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} 768 | dev: true 769 | 770 | /argparse@1.0.10: 771 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 772 | dependencies: 773 | sprintf-js: 1.0.3 774 | dev: true 775 | 776 | /argparse@2.0.1: 777 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 778 | dev: true 779 | 780 | /arr-diff@4.0.0: 781 | resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} 782 | engines: {node: '>=0.10.0'} 783 | dev: true 784 | 785 | /arr-flatten@1.1.0: 786 | resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} 787 | engines: {node: '>=0.10.0'} 788 | dev: true 789 | 790 | /arr-union@3.1.0: 791 | resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} 792 | engines: {node: '>=0.10.0'} 793 | dev: true 794 | 795 | /array-union@2.1.0: 796 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 797 | engines: {node: '>=8'} 798 | dev: true 799 | 800 | /array-unique@0.3.2: 801 | resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} 802 | engines: {node: '>=0.10.0'} 803 | dev: true 804 | 805 | /assign-symbols@1.0.0: 806 | resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} 807 | engines: {node: '>=0.10.0'} 808 | dev: true 809 | 810 | /atob@2.1.2: 811 | resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} 812 | engines: {node: '>= 4.5.0'} 813 | dev: true 814 | 815 | /balanced-match@1.0.2: 816 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 817 | dev: true 818 | 819 | /base@0.11.2: 820 | resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} 821 | engines: {node: '>=0.10.0'} 822 | dependencies: 823 | cache-base: 1.0.1 824 | class-utils: 0.3.6 825 | component-emitter: 1.3.0 826 | define-property: 1.0.0 827 | isobject: 3.0.1 828 | mixin-deep: 1.3.2 829 | pascalcase: 0.1.1 830 | dev: true 831 | 832 | /binary-extensions@2.2.0: 833 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 834 | engines: {node: '>=8'} 835 | dev: true 836 | 837 | /bn.js@5.2.1: 838 | resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} 839 | dev: false 840 | 841 | /brace-expansion@1.1.11: 842 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 843 | dependencies: 844 | balanced-match: 1.0.2 845 | concat-map: 0.0.1 846 | dev: true 847 | 848 | /brace-expansion@2.0.1: 849 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 850 | dependencies: 851 | balanced-match: 1.0.2 852 | dev: true 853 | 854 | /braces@2.3.2: 855 | resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} 856 | engines: {node: '>=0.10.0'} 857 | dependencies: 858 | arr-flatten: 1.1.0 859 | array-unique: 0.3.2 860 | extend-shallow: 2.0.1 861 | fill-range: 4.0.0 862 | isobject: 3.0.1 863 | repeat-element: 1.1.4 864 | snapdragon: 0.8.2 865 | snapdragon-node: 2.1.1 866 | split-string: 3.1.0 867 | to-regex: 3.0.2 868 | transitivePeerDependencies: 869 | - supports-color 870 | dev: true 871 | 872 | /braces@3.0.2: 873 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 874 | engines: {node: '>=8'} 875 | dependencies: 876 | fill-range: 7.0.1 877 | dev: true 878 | 879 | /browser-stdout@1.3.1: 880 | resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} 881 | dev: true 882 | 883 | /browserslist@4.21.5: 884 | resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} 885 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 886 | dependencies: 887 | caniuse-lite: 1.0.30001472 888 | electron-to-chromium: 1.4.341 889 | node-releases: 2.0.10 890 | update-browserslist-db: 1.0.10(browserslist@4.21.5) 891 | dev: true 892 | 893 | /bser@2.1.1: 894 | resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} 895 | dependencies: 896 | node-int64: 0.4.0 897 | dev: true 898 | 899 | /buffer-from@1.1.2: 900 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 901 | dev: true 902 | 903 | /cache-base@1.0.1: 904 | resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} 905 | engines: {node: '>=0.10.0'} 906 | dependencies: 907 | collection-visit: 1.0.0 908 | component-emitter: 1.3.0 909 | get-value: 2.0.6 910 | has-value: 1.0.0 911 | isobject: 3.0.1 912 | set-value: 2.0.1 913 | to-object-path: 0.3.0 914 | union-value: 1.0.1 915 | unset-value: 1.0.0 916 | dev: true 917 | 918 | /caching-transform@4.0.0: 919 | resolution: {integrity: sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==} 920 | engines: {node: '>=8'} 921 | dependencies: 922 | hasha: 5.2.2 923 | make-dir: 3.1.0 924 | package-hash: 4.0.0 925 | write-file-atomic: 3.0.3 926 | dev: true 927 | 928 | /callsites@3.1.0: 929 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 930 | engines: {node: '>=6'} 931 | dev: true 932 | 933 | /camelcase@5.3.1: 934 | resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} 935 | engines: {node: '>=6'} 936 | dev: true 937 | 938 | /camelcase@6.3.0: 939 | resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} 940 | engines: {node: '>=10'} 941 | dev: true 942 | 943 | /caniuse-lite@1.0.30001472: 944 | resolution: {integrity: sha512-xWC/0+hHHQgj3/vrKYY0AAzeIUgr7L9wlELIcAvZdDUHlhL/kNxMdnQLOSOQfP8R51ZzPhmHdyMkI0MMpmxCfg==} 945 | dev: true 946 | 947 | /capture-exit@2.0.0: 948 | resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==} 949 | engines: {node: 6.* || 8.* || >= 10.*} 950 | dependencies: 951 | rsvp: 4.8.5 952 | dev: true 953 | 954 | /chalk@2.4.2: 955 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 956 | engines: {node: '>=4'} 957 | dependencies: 958 | ansi-styles: 3.2.1 959 | escape-string-regexp: 1.0.5 960 | supports-color: 5.5.0 961 | dev: true 962 | 963 | /chalk@4.1.2: 964 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 965 | engines: {node: '>=10'} 966 | dependencies: 967 | ansi-styles: 4.3.0 968 | supports-color: 7.2.0 969 | dev: true 970 | 971 | /chokidar@3.5.3: 972 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 973 | engines: {node: '>= 8.10.0'} 974 | dependencies: 975 | anymatch: 3.1.3 976 | braces: 3.0.2 977 | glob-parent: 5.1.2 978 | is-binary-path: 2.1.0 979 | is-glob: 4.0.3 980 | normalize-path: 3.0.0 981 | readdirp: 3.6.0 982 | optionalDependencies: 983 | fsevents: 2.3.2 984 | dev: true 985 | 986 | /ci-info@2.0.0: 987 | resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} 988 | dev: true 989 | 990 | /class-utils@0.3.6: 991 | resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} 992 | engines: {node: '>=0.10.0'} 993 | dependencies: 994 | arr-union: 3.1.0 995 | define-property: 0.2.5 996 | isobject: 3.0.1 997 | static-extend: 0.1.2 998 | dev: true 999 | 1000 | /clean-stack@2.2.0: 1001 | resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} 1002 | engines: {node: '>=6'} 1003 | dev: true 1004 | 1005 | /cliui@6.0.0: 1006 | resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} 1007 | dependencies: 1008 | string-width: 4.2.3 1009 | strip-ansi: 6.0.1 1010 | wrap-ansi: 6.2.0 1011 | dev: true 1012 | 1013 | /cliui@7.0.4: 1014 | resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} 1015 | dependencies: 1016 | string-width: 4.2.3 1017 | strip-ansi: 6.0.1 1018 | wrap-ansi: 7.0.0 1019 | dev: true 1020 | 1021 | /collection-visit@1.0.0: 1022 | resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} 1023 | engines: {node: '>=0.10.0'} 1024 | dependencies: 1025 | map-visit: 1.0.0 1026 | object-visit: 1.0.1 1027 | dev: true 1028 | 1029 | /color-convert@1.9.3: 1030 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 1031 | dependencies: 1032 | color-name: 1.1.3 1033 | dev: true 1034 | 1035 | /color-convert@2.0.1: 1036 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1037 | engines: {node: '>=7.0.0'} 1038 | dependencies: 1039 | color-name: 1.1.4 1040 | dev: true 1041 | 1042 | /color-name@1.1.3: 1043 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 1044 | dev: true 1045 | 1046 | /color-name@1.1.4: 1047 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1048 | dev: true 1049 | 1050 | /commondir@1.0.1: 1051 | resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} 1052 | dev: true 1053 | 1054 | /component-emitter@1.3.0: 1055 | resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} 1056 | dev: true 1057 | 1058 | /concat-map@0.0.1: 1059 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 1060 | dev: true 1061 | 1062 | /convert-source-map@1.9.0: 1063 | resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} 1064 | dev: true 1065 | 1066 | /copy-descriptor@0.1.1: 1067 | resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} 1068 | engines: {node: '>=0.10.0'} 1069 | dev: true 1070 | 1071 | /create-require@1.1.1: 1072 | resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} 1073 | dev: true 1074 | 1075 | /cross-spawn@6.0.5: 1076 | resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} 1077 | engines: {node: '>=4.8'} 1078 | dependencies: 1079 | nice-try: 1.0.5 1080 | path-key: 2.0.1 1081 | semver: 5.7.1 1082 | shebang-command: 1.2.0 1083 | which: 1.3.1 1084 | dev: true 1085 | 1086 | /cross-spawn@7.0.3: 1087 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 1088 | engines: {node: '>= 8'} 1089 | dependencies: 1090 | path-key: 3.1.1 1091 | shebang-command: 2.0.0 1092 | which: 2.0.2 1093 | dev: true 1094 | 1095 | /debug@2.6.9: 1096 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} 1097 | peerDependencies: 1098 | supports-color: '*' 1099 | peerDependenciesMeta: 1100 | supports-color: 1101 | optional: true 1102 | dependencies: 1103 | ms: 2.0.0 1104 | dev: true 1105 | 1106 | /debug@4.3.4(supports-color@8.1.1): 1107 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1108 | engines: {node: '>=6.0'} 1109 | peerDependencies: 1110 | supports-color: '*' 1111 | peerDependenciesMeta: 1112 | supports-color: 1113 | optional: true 1114 | dependencies: 1115 | ms: 2.1.2 1116 | supports-color: 8.1.1 1117 | dev: true 1118 | 1119 | /decamelize@1.2.0: 1120 | resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} 1121 | engines: {node: '>=0.10.0'} 1122 | dev: true 1123 | 1124 | /decamelize@4.0.0: 1125 | resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} 1126 | engines: {node: '>=10'} 1127 | dev: true 1128 | 1129 | /decode-uri-component@0.2.2: 1130 | resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} 1131 | engines: {node: '>=0.10'} 1132 | dev: true 1133 | 1134 | /deep-is@0.1.4: 1135 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 1136 | dev: true 1137 | 1138 | /default-require-extensions@3.0.1: 1139 | resolution: {integrity: sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==} 1140 | engines: {node: '>=8'} 1141 | dependencies: 1142 | strip-bom: 4.0.0 1143 | dev: true 1144 | 1145 | /define-property@0.2.5: 1146 | resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} 1147 | engines: {node: '>=0.10.0'} 1148 | dependencies: 1149 | is-descriptor: 0.1.6 1150 | dev: true 1151 | 1152 | /define-property@1.0.0: 1153 | resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} 1154 | engines: {node: '>=0.10.0'} 1155 | dependencies: 1156 | is-descriptor: 1.0.2 1157 | dev: true 1158 | 1159 | /define-property@2.0.2: 1160 | resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} 1161 | engines: {node: '>=0.10.0'} 1162 | dependencies: 1163 | is-descriptor: 1.0.2 1164 | isobject: 3.0.1 1165 | dev: true 1166 | 1167 | /diff-sequences@26.6.2: 1168 | resolution: {integrity: sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==} 1169 | engines: {node: '>= 10.14.2'} 1170 | dev: true 1171 | 1172 | /diff@4.0.2: 1173 | resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} 1174 | engines: {node: '>=0.3.1'} 1175 | dev: true 1176 | 1177 | /diff@5.0.0: 1178 | resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} 1179 | engines: {node: '>=0.3.1'} 1180 | dev: true 1181 | 1182 | /dir-glob@3.0.1: 1183 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1184 | engines: {node: '>=8'} 1185 | dependencies: 1186 | path-type: 4.0.0 1187 | dev: true 1188 | 1189 | /doctrine@3.0.0: 1190 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 1191 | engines: {node: '>=6.0.0'} 1192 | dependencies: 1193 | esutils: 2.0.3 1194 | dev: true 1195 | 1196 | /earljs@0.2.3(typescript@5.0.2): 1197 | resolution: {integrity: sha512-3o4BlGOw+AoeLpcw4QTuIM+ceIIBWOaYvGTCMQ6Yg0yhzJbA5C1fqWNp8hgNCMaATCN0oD6iG3G0D3g3aruaNg==} 1198 | dependencies: 1199 | debug: 4.3.4(supports-color@8.1.1) 1200 | jest-snapshot: 26.6.2 1201 | ts-essentials: 6.0.7(typescript@5.0.2) 1202 | transitivePeerDependencies: 1203 | - supports-color 1204 | - typescript 1205 | dev: true 1206 | 1207 | /electron-to-chromium@1.4.341: 1208 | resolution: {integrity: sha512-R4A8VfUBQY9WmAhuqY5tjHRf5fH2AAf6vqitBOE0y6u2PgHgqHSrhZmu78dIX3fVZtjqlwJNX1i2zwC3VpHtQQ==} 1209 | dev: true 1210 | 1211 | /emoji-regex@8.0.0: 1212 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1213 | dev: true 1214 | 1215 | /end-of-stream@1.4.4: 1216 | resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} 1217 | dependencies: 1218 | once: 1.4.0 1219 | dev: true 1220 | 1221 | /error-ex@1.3.2: 1222 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 1223 | dependencies: 1224 | is-arrayish: 0.2.1 1225 | dev: true 1226 | 1227 | /es6-error@4.1.1: 1228 | resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} 1229 | dev: true 1230 | 1231 | /escalade@3.1.1: 1232 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1233 | engines: {node: '>=6'} 1234 | dev: true 1235 | 1236 | /escape-string-regexp@1.0.5: 1237 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1238 | engines: {node: '>=0.8.0'} 1239 | dev: true 1240 | 1241 | /escape-string-regexp@2.0.0: 1242 | resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} 1243 | engines: {node: '>=8'} 1244 | dev: true 1245 | 1246 | /escape-string-regexp@4.0.0: 1247 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1248 | engines: {node: '>=10'} 1249 | dev: true 1250 | 1251 | /eslint-config-prettier@8.8.0(eslint@8.36.0): 1252 | resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} 1253 | peerDependencies: 1254 | eslint: '>=7.0.0' 1255 | dependencies: 1256 | eslint: 8.36.0 1257 | dev: true 1258 | 1259 | /eslint-scope@5.1.1: 1260 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 1261 | engines: {node: '>=8.0.0'} 1262 | dependencies: 1263 | esrecurse: 4.3.0 1264 | estraverse: 4.3.0 1265 | dev: true 1266 | 1267 | /eslint-scope@7.1.1: 1268 | resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} 1269 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1270 | dependencies: 1271 | esrecurse: 4.3.0 1272 | estraverse: 5.3.0 1273 | dev: true 1274 | 1275 | /eslint-visitor-keys@3.4.0: 1276 | resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} 1277 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1278 | dev: true 1279 | 1280 | /eslint@8.36.0: 1281 | resolution: {integrity: sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw==} 1282 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1283 | dependencies: 1284 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.36.0) 1285 | '@eslint-community/regexpp': 4.4.1 1286 | '@eslint/eslintrc': 2.0.1 1287 | '@eslint/js': 8.36.0 1288 | '@humanwhocodes/config-array': 0.11.8 1289 | '@humanwhocodes/module-importer': 1.0.1 1290 | '@nodelib/fs.walk': 1.2.8 1291 | ajv: 6.12.6 1292 | chalk: 4.1.2 1293 | cross-spawn: 7.0.3 1294 | debug: 4.3.4(supports-color@8.1.1) 1295 | doctrine: 3.0.0 1296 | escape-string-regexp: 4.0.0 1297 | eslint-scope: 7.1.1 1298 | eslint-visitor-keys: 3.4.0 1299 | espree: 9.5.0 1300 | esquery: 1.5.0 1301 | esutils: 2.0.3 1302 | fast-deep-equal: 3.1.3 1303 | file-entry-cache: 6.0.1 1304 | find-up: 5.0.0 1305 | glob-parent: 6.0.2 1306 | globals: 13.20.0 1307 | grapheme-splitter: 1.0.4 1308 | ignore: 5.2.4 1309 | import-fresh: 3.3.0 1310 | imurmurhash: 0.1.4 1311 | is-glob: 4.0.3 1312 | is-path-inside: 3.0.3 1313 | js-sdsl: 4.4.0 1314 | js-yaml: 4.1.0 1315 | json-stable-stringify-without-jsonify: 1.0.1 1316 | levn: 0.4.1 1317 | lodash.merge: 4.6.2 1318 | minimatch: 3.1.2 1319 | natural-compare: 1.4.0 1320 | optionator: 0.9.1 1321 | strip-ansi: 6.0.1 1322 | strip-json-comments: 3.1.1 1323 | text-table: 0.2.0 1324 | transitivePeerDependencies: 1325 | - supports-color 1326 | dev: true 1327 | 1328 | /espree@9.5.0: 1329 | resolution: {integrity: sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==} 1330 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1331 | dependencies: 1332 | acorn: 8.8.2 1333 | acorn-jsx: 5.3.2(acorn@8.8.2) 1334 | eslint-visitor-keys: 3.4.0 1335 | dev: true 1336 | 1337 | /esprima@4.0.1: 1338 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 1339 | engines: {node: '>=4'} 1340 | dev: true 1341 | 1342 | /esquery@1.5.0: 1343 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} 1344 | engines: {node: '>=0.10'} 1345 | dependencies: 1346 | estraverse: 5.3.0 1347 | dev: true 1348 | 1349 | /esrecurse@4.3.0: 1350 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1351 | engines: {node: '>=4.0'} 1352 | dependencies: 1353 | estraverse: 5.3.0 1354 | dev: true 1355 | 1356 | /estraverse@4.3.0: 1357 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 1358 | engines: {node: '>=4.0'} 1359 | dev: true 1360 | 1361 | /estraverse@5.3.0: 1362 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1363 | engines: {node: '>=4.0'} 1364 | dev: true 1365 | 1366 | /esutils@2.0.3: 1367 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1368 | engines: {node: '>=0.10.0'} 1369 | dev: true 1370 | 1371 | /exec-sh@0.3.6: 1372 | resolution: {integrity: sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==} 1373 | dev: true 1374 | 1375 | /execa@1.0.0: 1376 | resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} 1377 | engines: {node: '>=6'} 1378 | dependencies: 1379 | cross-spawn: 6.0.5 1380 | get-stream: 4.1.0 1381 | is-stream: 1.1.0 1382 | npm-run-path: 2.0.2 1383 | p-finally: 1.0.0 1384 | signal-exit: 3.0.7 1385 | strip-eof: 1.0.0 1386 | dev: true 1387 | 1388 | /expand-brackets@2.1.4: 1389 | resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} 1390 | engines: {node: '>=0.10.0'} 1391 | dependencies: 1392 | debug: 2.6.9 1393 | define-property: 0.2.5 1394 | extend-shallow: 2.0.1 1395 | posix-character-classes: 0.1.1 1396 | regex-not: 1.0.2 1397 | snapdragon: 0.8.2 1398 | to-regex: 3.0.2 1399 | transitivePeerDependencies: 1400 | - supports-color 1401 | dev: true 1402 | 1403 | /expect@26.6.2: 1404 | resolution: {integrity: sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==} 1405 | engines: {node: '>= 10.14.2'} 1406 | dependencies: 1407 | '@jest/types': 26.6.2 1408 | ansi-styles: 4.3.0 1409 | jest-get-type: 26.3.0 1410 | jest-matcher-utils: 26.6.2 1411 | jest-message-util: 26.6.2 1412 | jest-regex-util: 26.0.0 1413 | dev: true 1414 | 1415 | /extend-shallow@2.0.1: 1416 | resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} 1417 | engines: {node: '>=0.10.0'} 1418 | dependencies: 1419 | is-extendable: 0.1.1 1420 | dev: true 1421 | 1422 | /extend-shallow@3.0.2: 1423 | resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} 1424 | engines: {node: '>=0.10.0'} 1425 | dependencies: 1426 | assign-symbols: 1.0.0 1427 | is-extendable: 1.0.1 1428 | dev: true 1429 | 1430 | /extglob@2.0.4: 1431 | resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} 1432 | engines: {node: '>=0.10.0'} 1433 | dependencies: 1434 | array-unique: 0.3.2 1435 | define-property: 1.0.0 1436 | expand-brackets: 2.1.4 1437 | extend-shallow: 2.0.1 1438 | fragment-cache: 0.2.1 1439 | regex-not: 1.0.2 1440 | snapdragon: 0.8.2 1441 | to-regex: 3.0.2 1442 | transitivePeerDependencies: 1443 | - supports-color 1444 | dev: true 1445 | 1446 | /fast-deep-equal@3.1.3: 1447 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1448 | dev: true 1449 | 1450 | /fast-glob@3.2.12: 1451 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} 1452 | engines: {node: '>=8.6.0'} 1453 | dependencies: 1454 | '@nodelib/fs.stat': 2.0.5 1455 | '@nodelib/fs.walk': 1.2.8 1456 | glob-parent: 5.1.2 1457 | merge2: 1.4.1 1458 | micromatch: 4.0.5 1459 | dev: true 1460 | 1461 | /fast-json-stable-stringify@2.1.0: 1462 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1463 | dev: true 1464 | 1465 | /fast-levenshtein@2.0.6: 1466 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1467 | dev: true 1468 | 1469 | /fastq@1.15.0: 1470 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} 1471 | dependencies: 1472 | reusify: 1.0.4 1473 | dev: true 1474 | 1475 | /fb-watchman@2.0.2: 1476 | resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} 1477 | dependencies: 1478 | bser: 2.1.1 1479 | dev: true 1480 | 1481 | /file-entry-cache@6.0.1: 1482 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1483 | engines: {node: ^10.12.0 || >=12.0.0} 1484 | dependencies: 1485 | flat-cache: 3.0.4 1486 | dev: true 1487 | 1488 | /fill-range@4.0.0: 1489 | resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} 1490 | engines: {node: '>=0.10.0'} 1491 | dependencies: 1492 | extend-shallow: 2.0.1 1493 | is-number: 3.0.0 1494 | repeat-string: 1.6.1 1495 | to-regex-range: 2.1.1 1496 | dev: true 1497 | 1498 | /fill-range@7.0.1: 1499 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1500 | engines: {node: '>=8'} 1501 | dependencies: 1502 | to-regex-range: 5.0.1 1503 | dev: true 1504 | 1505 | /find-cache-dir@3.3.2: 1506 | resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} 1507 | engines: {node: '>=8'} 1508 | dependencies: 1509 | commondir: 1.0.1 1510 | make-dir: 3.1.0 1511 | pkg-dir: 4.2.0 1512 | dev: true 1513 | 1514 | /find-up@4.1.0: 1515 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 1516 | engines: {node: '>=8'} 1517 | dependencies: 1518 | locate-path: 5.0.0 1519 | path-exists: 4.0.0 1520 | dev: true 1521 | 1522 | /find-up@5.0.0: 1523 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1524 | engines: {node: '>=10'} 1525 | dependencies: 1526 | locate-path: 6.0.0 1527 | path-exists: 4.0.0 1528 | dev: true 1529 | 1530 | /flat-cache@3.0.4: 1531 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 1532 | engines: {node: ^10.12.0 || >=12.0.0} 1533 | dependencies: 1534 | flatted: 3.2.7 1535 | rimraf: 3.0.2 1536 | dev: true 1537 | 1538 | /flat@5.0.2: 1539 | resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} 1540 | dev: true 1541 | 1542 | /flatted@3.2.7: 1543 | resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} 1544 | dev: true 1545 | 1546 | /for-in@1.0.2: 1547 | resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} 1548 | engines: {node: '>=0.10.0'} 1549 | dev: true 1550 | 1551 | /foreground-child@2.0.0: 1552 | resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} 1553 | engines: {node: '>=8.0.0'} 1554 | dependencies: 1555 | cross-spawn: 7.0.3 1556 | signal-exit: 3.0.7 1557 | dev: true 1558 | 1559 | /fragment-cache@0.2.1: 1560 | resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} 1561 | engines: {node: '>=0.10.0'} 1562 | dependencies: 1563 | map-cache: 0.2.2 1564 | dev: true 1565 | 1566 | /from-exponential@1.1.1: 1567 | resolution: {integrity: sha512-VBE7f5OVnYwdgB3LHa+Qo29h8qVpxhVO9Trlc+AWm+/XNAgks1tAwMFHb33mjeiof77GglsJzeYF7OqXrROP/A==} 1568 | dev: false 1569 | 1570 | /fromentries@1.3.2: 1571 | resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} 1572 | dev: true 1573 | 1574 | /fs.realpath@1.0.0: 1575 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1576 | dev: true 1577 | 1578 | /fsevents@2.3.2: 1579 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1580 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1581 | os: [darwin] 1582 | requiresBuild: true 1583 | dev: true 1584 | optional: true 1585 | 1586 | /function-bind@1.1.1: 1587 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1588 | dev: true 1589 | 1590 | /gensync@1.0.0-beta.2: 1591 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 1592 | engines: {node: '>=6.9.0'} 1593 | dev: true 1594 | 1595 | /get-caller-file@2.0.5: 1596 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 1597 | engines: {node: 6.* || 8.* || >= 10.*} 1598 | dev: true 1599 | 1600 | /get-package-type@0.1.0: 1601 | resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} 1602 | engines: {node: '>=8.0.0'} 1603 | dev: true 1604 | 1605 | /get-stream@4.1.0: 1606 | resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} 1607 | engines: {node: '>=6'} 1608 | dependencies: 1609 | pump: 3.0.0 1610 | dev: true 1611 | 1612 | /get-value@2.0.6: 1613 | resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} 1614 | engines: {node: '>=0.10.0'} 1615 | dev: true 1616 | 1617 | /glob-parent@5.1.2: 1618 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1619 | engines: {node: '>= 6'} 1620 | dependencies: 1621 | is-glob: 4.0.3 1622 | dev: true 1623 | 1624 | /glob-parent@6.0.2: 1625 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1626 | engines: {node: '>=10.13.0'} 1627 | dependencies: 1628 | is-glob: 4.0.3 1629 | dev: true 1630 | 1631 | /glob@7.2.0: 1632 | resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} 1633 | dependencies: 1634 | fs.realpath: 1.0.0 1635 | inflight: 1.0.6 1636 | inherits: 2.0.4 1637 | minimatch: 3.1.2 1638 | once: 1.4.0 1639 | path-is-absolute: 1.0.1 1640 | dev: true 1641 | 1642 | /glob@7.2.3: 1643 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1644 | dependencies: 1645 | fs.realpath: 1.0.0 1646 | inflight: 1.0.6 1647 | inherits: 2.0.4 1648 | minimatch: 3.1.2 1649 | once: 1.4.0 1650 | path-is-absolute: 1.0.1 1651 | dev: true 1652 | 1653 | /glob@9.3.2: 1654 | resolution: {integrity: sha512-BTv/JhKXFEHsErMte/AnfiSv8yYOLLiyH2lTg8vn02O21zWFgHPTfxtgn1QRe7NRgggUhC8hacR2Re94svHqeA==} 1655 | engines: {node: '>=16 || 14 >=14.17'} 1656 | dependencies: 1657 | fs.realpath: 1.0.0 1658 | minimatch: 7.4.3 1659 | minipass: 4.2.5 1660 | path-scurry: 1.6.3 1661 | dev: true 1662 | 1663 | /globals@11.12.0: 1664 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 1665 | engines: {node: '>=4'} 1666 | dev: true 1667 | 1668 | /globals@13.20.0: 1669 | resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} 1670 | engines: {node: '>=8'} 1671 | dependencies: 1672 | type-fest: 0.20.2 1673 | dev: true 1674 | 1675 | /globby@11.1.0: 1676 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1677 | engines: {node: '>=10'} 1678 | dependencies: 1679 | array-union: 2.1.0 1680 | dir-glob: 3.0.1 1681 | fast-glob: 3.2.12 1682 | ignore: 5.2.4 1683 | merge2: 1.4.1 1684 | slash: 3.0.0 1685 | dev: true 1686 | 1687 | /graceful-fs@4.2.11: 1688 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1689 | dev: true 1690 | 1691 | /grapheme-splitter@1.0.4: 1692 | resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} 1693 | dev: true 1694 | 1695 | /has-flag@3.0.0: 1696 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1697 | engines: {node: '>=4'} 1698 | dev: true 1699 | 1700 | /has-flag@4.0.0: 1701 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1702 | engines: {node: '>=8'} 1703 | dev: true 1704 | 1705 | /has-value@0.3.1: 1706 | resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} 1707 | engines: {node: '>=0.10.0'} 1708 | dependencies: 1709 | get-value: 2.0.6 1710 | has-values: 0.1.4 1711 | isobject: 2.1.0 1712 | dev: true 1713 | 1714 | /has-value@1.0.0: 1715 | resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} 1716 | engines: {node: '>=0.10.0'} 1717 | dependencies: 1718 | get-value: 2.0.6 1719 | has-values: 1.0.0 1720 | isobject: 3.0.1 1721 | dev: true 1722 | 1723 | /has-values@0.1.4: 1724 | resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} 1725 | engines: {node: '>=0.10.0'} 1726 | dev: true 1727 | 1728 | /has-values@1.0.0: 1729 | resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} 1730 | engines: {node: '>=0.10.0'} 1731 | dependencies: 1732 | is-number: 3.0.0 1733 | kind-of: 4.0.0 1734 | dev: true 1735 | 1736 | /has@1.0.3: 1737 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1738 | engines: {node: '>= 0.4.0'} 1739 | dependencies: 1740 | function-bind: 1.1.1 1741 | dev: true 1742 | 1743 | /hasha@5.2.2: 1744 | resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} 1745 | engines: {node: '>=8'} 1746 | dependencies: 1747 | is-stream: 2.0.1 1748 | type-fest: 0.8.1 1749 | dev: true 1750 | 1751 | /he@1.2.0: 1752 | resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} 1753 | dev: true 1754 | 1755 | /hosted-git-info@2.8.9: 1756 | resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} 1757 | dev: true 1758 | 1759 | /html-escaper@2.0.2: 1760 | resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} 1761 | dev: true 1762 | 1763 | /ignore@5.2.4: 1764 | resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} 1765 | engines: {node: '>= 4'} 1766 | dev: true 1767 | 1768 | /import-fresh@3.3.0: 1769 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1770 | engines: {node: '>=6'} 1771 | dependencies: 1772 | parent-module: 1.0.1 1773 | resolve-from: 4.0.0 1774 | dev: true 1775 | 1776 | /imurmurhash@0.1.4: 1777 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1778 | engines: {node: '>=0.8.19'} 1779 | dev: true 1780 | 1781 | /indent-string@4.0.0: 1782 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 1783 | engines: {node: '>=8'} 1784 | dev: true 1785 | 1786 | /inflight@1.0.6: 1787 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1788 | dependencies: 1789 | once: 1.4.0 1790 | wrappy: 1.0.2 1791 | dev: true 1792 | 1793 | /inherits@2.0.4: 1794 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1795 | dev: true 1796 | 1797 | /is-accessor-descriptor@0.1.6: 1798 | resolution: {integrity: sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==} 1799 | engines: {node: '>=0.10.0'} 1800 | dependencies: 1801 | kind-of: 3.2.2 1802 | dev: true 1803 | 1804 | /is-accessor-descriptor@1.0.0: 1805 | resolution: {integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==} 1806 | engines: {node: '>=0.10.0'} 1807 | dependencies: 1808 | kind-of: 6.0.3 1809 | dev: true 1810 | 1811 | /is-arrayish@0.2.1: 1812 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1813 | dev: true 1814 | 1815 | /is-binary-path@2.1.0: 1816 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1817 | engines: {node: '>=8'} 1818 | dependencies: 1819 | binary-extensions: 2.2.0 1820 | dev: true 1821 | 1822 | /is-buffer@1.1.6: 1823 | resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} 1824 | dev: true 1825 | 1826 | /is-ci@2.0.0: 1827 | resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} 1828 | dependencies: 1829 | ci-info: 2.0.0 1830 | dev: true 1831 | 1832 | /is-core-module@2.11.0: 1833 | resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} 1834 | dependencies: 1835 | has: 1.0.3 1836 | dev: true 1837 | 1838 | /is-data-descriptor@0.1.4: 1839 | resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==} 1840 | engines: {node: '>=0.10.0'} 1841 | dependencies: 1842 | kind-of: 3.2.2 1843 | dev: true 1844 | 1845 | /is-data-descriptor@1.0.0: 1846 | resolution: {integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==} 1847 | engines: {node: '>=0.10.0'} 1848 | dependencies: 1849 | kind-of: 6.0.3 1850 | dev: true 1851 | 1852 | /is-descriptor@0.1.6: 1853 | resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} 1854 | engines: {node: '>=0.10.0'} 1855 | dependencies: 1856 | is-accessor-descriptor: 0.1.6 1857 | is-data-descriptor: 0.1.4 1858 | kind-of: 5.1.0 1859 | dev: true 1860 | 1861 | /is-descriptor@1.0.2: 1862 | resolution: {integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==} 1863 | engines: {node: '>=0.10.0'} 1864 | dependencies: 1865 | is-accessor-descriptor: 1.0.0 1866 | is-data-descriptor: 1.0.0 1867 | kind-of: 6.0.3 1868 | dev: true 1869 | 1870 | /is-extendable@0.1.1: 1871 | resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} 1872 | engines: {node: '>=0.10.0'} 1873 | dev: true 1874 | 1875 | /is-extendable@1.0.1: 1876 | resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} 1877 | engines: {node: '>=0.10.0'} 1878 | dependencies: 1879 | is-plain-object: 2.0.4 1880 | dev: true 1881 | 1882 | /is-extglob@2.1.1: 1883 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1884 | engines: {node: '>=0.10.0'} 1885 | dev: true 1886 | 1887 | /is-fullwidth-code-point@3.0.0: 1888 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1889 | engines: {node: '>=8'} 1890 | dev: true 1891 | 1892 | /is-glob@4.0.3: 1893 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1894 | engines: {node: '>=0.10.0'} 1895 | dependencies: 1896 | is-extglob: 2.1.1 1897 | dev: true 1898 | 1899 | /is-number@3.0.0: 1900 | resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} 1901 | engines: {node: '>=0.10.0'} 1902 | dependencies: 1903 | kind-of: 3.2.2 1904 | dev: true 1905 | 1906 | /is-number@7.0.0: 1907 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1908 | engines: {node: '>=0.12.0'} 1909 | dev: true 1910 | 1911 | /is-path-inside@3.0.3: 1912 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 1913 | engines: {node: '>=8'} 1914 | dev: true 1915 | 1916 | /is-plain-obj@2.1.0: 1917 | resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} 1918 | engines: {node: '>=8'} 1919 | dev: true 1920 | 1921 | /is-plain-object@2.0.4: 1922 | resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} 1923 | engines: {node: '>=0.10.0'} 1924 | dependencies: 1925 | isobject: 3.0.1 1926 | dev: true 1927 | 1928 | /is-stream@1.1.0: 1929 | resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} 1930 | engines: {node: '>=0.10.0'} 1931 | dev: true 1932 | 1933 | /is-stream@2.0.1: 1934 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 1935 | engines: {node: '>=8'} 1936 | dev: true 1937 | 1938 | /is-typedarray@1.0.0: 1939 | resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} 1940 | dev: true 1941 | 1942 | /is-unicode-supported@0.1.0: 1943 | resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} 1944 | engines: {node: '>=10'} 1945 | dev: true 1946 | 1947 | /is-windows@1.0.2: 1948 | resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} 1949 | engines: {node: '>=0.10.0'} 1950 | dev: true 1951 | 1952 | /isarray@1.0.0: 1953 | resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} 1954 | dev: true 1955 | 1956 | /isexe@2.0.0: 1957 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1958 | dev: true 1959 | 1960 | /isobject@2.1.0: 1961 | resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} 1962 | engines: {node: '>=0.10.0'} 1963 | dependencies: 1964 | isarray: 1.0.0 1965 | dev: true 1966 | 1967 | /isobject@3.0.1: 1968 | resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} 1969 | engines: {node: '>=0.10.0'} 1970 | dev: true 1971 | 1972 | /istanbul-lib-coverage@3.2.0: 1973 | resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} 1974 | engines: {node: '>=8'} 1975 | dev: true 1976 | 1977 | /istanbul-lib-hook@3.0.0: 1978 | resolution: {integrity: sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==} 1979 | engines: {node: '>=8'} 1980 | dependencies: 1981 | append-transform: 2.0.0 1982 | dev: true 1983 | 1984 | /istanbul-lib-instrument@4.0.3: 1985 | resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} 1986 | engines: {node: '>=8'} 1987 | dependencies: 1988 | '@babel/core': 7.21.3 1989 | '@istanbuljs/schema': 0.1.3 1990 | istanbul-lib-coverage: 3.2.0 1991 | semver: 6.3.0 1992 | transitivePeerDependencies: 1993 | - supports-color 1994 | dev: true 1995 | 1996 | /istanbul-lib-processinfo@2.0.3: 1997 | resolution: {integrity: sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==} 1998 | engines: {node: '>=8'} 1999 | dependencies: 2000 | archy: 1.0.0 2001 | cross-spawn: 7.0.3 2002 | istanbul-lib-coverage: 3.2.0 2003 | p-map: 3.0.0 2004 | rimraf: 3.0.2 2005 | uuid: 8.3.2 2006 | dev: true 2007 | 2008 | /istanbul-lib-report@3.0.0: 2009 | resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} 2010 | engines: {node: '>=8'} 2011 | dependencies: 2012 | istanbul-lib-coverage: 3.2.0 2013 | make-dir: 3.1.0 2014 | supports-color: 7.2.0 2015 | dev: true 2016 | 2017 | /istanbul-lib-source-maps@4.0.1: 2018 | resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} 2019 | engines: {node: '>=10'} 2020 | dependencies: 2021 | debug: 4.3.4(supports-color@8.1.1) 2022 | istanbul-lib-coverage: 3.2.0 2023 | source-map: 0.6.1 2024 | transitivePeerDependencies: 2025 | - supports-color 2026 | dev: true 2027 | 2028 | /istanbul-reports@3.1.5: 2029 | resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} 2030 | engines: {node: '>=8'} 2031 | dependencies: 2032 | html-escaper: 2.0.2 2033 | istanbul-lib-report: 3.0.0 2034 | dev: true 2035 | 2036 | /jest-diff@26.6.2: 2037 | resolution: {integrity: sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==} 2038 | engines: {node: '>= 10.14.2'} 2039 | dependencies: 2040 | chalk: 4.1.2 2041 | diff-sequences: 26.6.2 2042 | jest-get-type: 26.3.0 2043 | pretty-format: 26.6.2 2044 | dev: true 2045 | 2046 | /jest-get-type@26.3.0: 2047 | resolution: {integrity: sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==} 2048 | engines: {node: '>= 10.14.2'} 2049 | dev: true 2050 | 2051 | /jest-haste-map@26.6.2: 2052 | resolution: {integrity: sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==} 2053 | engines: {node: '>= 10.14.2'} 2054 | dependencies: 2055 | '@jest/types': 26.6.2 2056 | '@types/graceful-fs': 4.1.6 2057 | '@types/node': 18.15.10 2058 | anymatch: 3.1.3 2059 | fb-watchman: 2.0.2 2060 | graceful-fs: 4.2.11 2061 | jest-regex-util: 26.0.0 2062 | jest-serializer: 26.6.2 2063 | jest-util: 26.6.2 2064 | jest-worker: 26.6.2 2065 | micromatch: 4.0.5 2066 | sane: 4.1.0 2067 | walker: 1.0.8 2068 | optionalDependencies: 2069 | fsevents: 2.3.2 2070 | transitivePeerDependencies: 2071 | - supports-color 2072 | dev: true 2073 | 2074 | /jest-matcher-utils@26.6.2: 2075 | resolution: {integrity: sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==} 2076 | engines: {node: '>= 10.14.2'} 2077 | dependencies: 2078 | chalk: 4.1.2 2079 | jest-diff: 26.6.2 2080 | jest-get-type: 26.3.0 2081 | pretty-format: 26.6.2 2082 | dev: true 2083 | 2084 | /jest-message-util@26.6.2: 2085 | resolution: {integrity: sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==} 2086 | engines: {node: '>= 10.14.2'} 2087 | dependencies: 2088 | '@babel/code-frame': 7.18.6 2089 | '@jest/types': 26.6.2 2090 | '@types/stack-utils': 2.0.1 2091 | chalk: 4.1.2 2092 | graceful-fs: 4.2.11 2093 | micromatch: 4.0.5 2094 | pretty-format: 26.6.2 2095 | slash: 3.0.0 2096 | stack-utils: 2.0.6 2097 | dev: true 2098 | 2099 | /jest-pnp-resolver@1.2.3(jest-resolve@26.6.2): 2100 | resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} 2101 | engines: {node: '>=6'} 2102 | peerDependencies: 2103 | jest-resolve: '*' 2104 | peerDependenciesMeta: 2105 | jest-resolve: 2106 | optional: true 2107 | dependencies: 2108 | jest-resolve: 26.6.2 2109 | dev: true 2110 | 2111 | /jest-regex-util@26.0.0: 2112 | resolution: {integrity: sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==} 2113 | engines: {node: '>= 10.14.2'} 2114 | dev: true 2115 | 2116 | /jest-resolve@26.6.2: 2117 | resolution: {integrity: sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==} 2118 | engines: {node: '>= 10.14.2'} 2119 | dependencies: 2120 | '@jest/types': 26.6.2 2121 | chalk: 4.1.2 2122 | graceful-fs: 4.2.11 2123 | jest-pnp-resolver: 1.2.3(jest-resolve@26.6.2) 2124 | jest-util: 26.6.2 2125 | read-pkg-up: 7.0.1 2126 | resolve: 1.22.1 2127 | slash: 3.0.0 2128 | dev: true 2129 | 2130 | /jest-serializer@26.6.2: 2131 | resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} 2132 | engines: {node: '>= 10.14.2'} 2133 | dependencies: 2134 | '@types/node': 18.15.10 2135 | graceful-fs: 4.2.11 2136 | dev: true 2137 | 2138 | /jest-snapshot@26.6.2: 2139 | resolution: {integrity: sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==} 2140 | engines: {node: '>= 10.14.2'} 2141 | dependencies: 2142 | '@babel/types': 7.21.3 2143 | '@jest/types': 26.6.2 2144 | '@types/babel__traverse': 7.18.3 2145 | '@types/prettier': 2.7.2 2146 | chalk: 4.1.2 2147 | expect: 26.6.2 2148 | graceful-fs: 4.2.11 2149 | jest-diff: 26.6.2 2150 | jest-get-type: 26.3.0 2151 | jest-haste-map: 26.6.2 2152 | jest-matcher-utils: 26.6.2 2153 | jest-message-util: 26.6.2 2154 | jest-resolve: 26.6.2 2155 | natural-compare: 1.4.0 2156 | pretty-format: 26.6.2 2157 | semver: 7.3.8 2158 | transitivePeerDependencies: 2159 | - supports-color 2160 | dev: true 2161 | 2162 | /jest-util@26.6.2: 2163 | resolution: {integrity: sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==} 2164 | engines: {node: '>= 10.14.2'} 2165 | dependencies: 2166 | '@jest/types': 26.6.2 2167 | '@types/node': 18.15.10 2168 | chalk: 4.1.2 2169 | graceful-fs: 4.2.11 2170 | is-ci: 2.0.0 2171 | micromatch: 4.0.5 2172 | dev: true 2173 | 2174 | /jest-worker@26.6.2: 2175 | resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} 2176 | engines: {node: '>= 10.13.0'} 2177 | dependencies: 2178 | '@types/node': 18.15.10 2179 | merge-stream: 2.0.0 2180 | supports-color: 7.2.0 2181 | dev: true 2182 | 2183 | /js-sdsl@4.4.0: 2184 | resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} 2185 | dev: true 2186 | 2187 | /js-tokens@4.0.0: 2188 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 2189 | dev: true 2190 | 2191 | /js-yaml@3.14.1: 2192 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} 2193 | dependencies: 2194 | argparse: 1.0.10 2195 | esprima: 4.0.1 2196 | dev: true 2197 | 2198 | /js-yaml@4.1.0: 2199 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 2200 | dependencies: 2201 | argparse: 2.0.1 2202 | dev: true 2203 | 2204 | /jsesc@2.5.2: 2205 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 2206 | engines: {node: '>=4'} 2207 | dev: true 2208 | 2209 | /json-parse-even-better-errors@2.3.1: 2210 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 2211 | dev: true 2212 | 2213 | /json-schema-traverse@0.4.1: 2214 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 2215 | dev: true 2216 | 2217 | /json-stable-stringify-without-jsonify@1.0.1: 2218 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 2219 | dev: true 2220 | 2221 | /json5@2.2.3: 2222 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 2223 | engines: {node: '>=6'} 2224 | dev: true 2225 | 2226 | /kind-of@3.2.2: 2227 | resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} 2228 | engines: {node: '>=0.10.0'} 2229 | dependencies: 2230 | is-buffer: 1.1.6 2231 | dev: true 2232 | 2233 | /kind-of@4.0.0: 2234 | resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} 2235 | engines: {node: '>=0.10.0'} 2236 | dependencies: 2237 | is-buffer: 1.1.6 2238 | dev: true 2239 | 2240 | /kind-of@5.1.0: 2241 | resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} 2242 | engines: {node: '>=0.10.0'} 2243 | dev: true 2244 | 2245 | /kind-of@6.0.3: 2246 | resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} 2247 | engines: {node: '>=0.10.0'} 2248 | dev: true 2249 | 2250 | /levn@0.4.1: 2251 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 2252 | engines: {node: '>= 0.8.0'} 2253 | dependencies: 2254 | prelude-ls: 1.2.1 2255 | type-check: 0.4.0 2256 | dev: true 2257 | 2258 | /lines-and-columns@1.2.4: 2259 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 2260 | dev: true 2261 | 2262 | /locate-path@5.0.0: 2263 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 2264 | engines: {node: '>=8'} 2265 | dependencies: 2266 | p-locate: 4.1.0 2267 | dev: true 2268 | 2269 | /locate-path@6.0.0: 2270 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 2271 | engines: {node: '>=10'} 2272 | dependencies: 2273 | p-locate: 5.0.0 2274 | dev: true 2275 | 2276 | /lodash.flattendeep@4.4.0: 2277 | resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==} 2278 | dev: true 2279 | 2280 | /lodash.merge@4.6.2: 2281 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 2282 | dev: true 2283 | 2284 | /log-symbols@4.1.0: 2285 | resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} 2286 | engines: {node: '>=10'} 2287 | dependencies: 2288 | chalk: 4.1.2 2289 | is-unicode-supported: 0.1.0 2290 | dev: true 2291 | 2292 | /lru-cache@5.1.1: 2293 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 2294 | dependencies: 2295 | yallist: 3.1.1 2296 | dev: true 2297 | 2298 | /lru-cache@6.0.0: 2299 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 2300 | engines: {node: '>=10'} 2301 | dependencies: 2302 | yallist: 4.0.0 2303 | dev: true 2304 | 2305 | /lru-cache@7.18.3: 2306 | resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} 2307 | engines: {node: '>=12'} 2308 | dev: true 2309 | 2310 | /make-dir@3.1.0: 2311 | resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} 2312 | engines: {node: '>=8'} 2313 | dependencies: 2314 | semver: 6.3.0 2315 | dev: true 2316 | 2317 | /make-error@1.3.6: 2318 | resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} 2319 | dev: true 2320 | 2321 | /makeerror@1.0.12: 2322 | resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} 2323 | dependencies: 2324 | tmpl: 1.0.5 2325 | dev: true 2326 | 2327 | /map-cache@0.2.2: 2328 | resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} 2329 | engines: {node: '>=0.10.0'} 2330 | dev: true 2331 | 2332 | /map-visit@1.0.0: 2333 | resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} 2334 | engines: {node: '>=0.10.0'} 2335 | dependencies: 2336 | object-visit: 1.0.1 2337 | dev: true 2338 | 2339 | /merge-stream@2.0.0: 2340 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 2341 | dev: true 2342 | 2343 | /merge2@1.4.1: 2344 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 2345 | engines: {node: '>= 8'} 2346 | dev: true 2347 | 2348 | /micromatch@3.1.10: 2349 | resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} 2350 | engines: {node: '>=0.10.0'} 2351 | dependencies: 2352 | arr-diff: 4.0.0 2353 | array-unique: 0.3.2 2354 | braces: 2.3.2 2355 | define-property: 2.0.2 2356 | extend-shallow: 3.0.2 2357 | extglob: 2.0.4 2358 | fragment-cache: 0.2.1 2359 | kind-of: 6.0.3 2360 | nanomatch: 1.2.13 2361 | object.pick: 1.3.0 2362 | regex-not: 1.0.2 2363 | snapdragon: 0.8.2 2364 | to-regex: 3.0.2 2365 | transitivePeerDependencies: 2366 | - supports-color 2367 | dev: true 2368 | 2369 | /micromatch@4.0.5: 2370 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 2371 | engines: {node: '>=8.6'} 2372 | dependencies: 2373 | braces: 3.0.2 2374 | picomatch: 2.3.1 2375 | dev: true 2376 | 2377 | /minimatch@3.1.2: 2378 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2379 | dependencies: 2380 | brace-expansion: 1.1.11 2381 | dev: true 2382 | 2383 | /minimatch@5.0.1: 2384 | resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} 2385 | engines: {node: '>=10'} 2386 | dependencies: 2387 | brace-expansion: 2.0.1 2388 | dev: true 2389 | 2390 | /minimatch@7.4.3: 2391 | resolution: {integrity: sha512-5UB4yYusDtkRPbRiy1cqZ1IpGNcJCGlEMG17RKzPddpyiPKoCdwohbED8g4QXT0ewCt8LTkQXuljsUfQ3FKM4A==} 2392 | engines: {node: '>=10'} 2393 | dependencies: 2394 | brace-expansion: 2.0.1 2395 | dev: true 2396 | 2397 | /minimist@1.2.8: 2398 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 2399 | dev: true 2400 | 2401 | /minipass@4.2.5: 2402 | resolution: {integrity: sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==} 2403 | engines: {node: '>=8'} 2404 | dev: true 2405 | 2406 | /mixin-deep@1.3.2: 2407 | resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} 2408 | engines: {node: '>=0.10.0'} 2409 | dependencies: 2410 | for-in: 1.0.2 2411 | is-extendable: 1.0.1 2412 | dev: true 2413 | 2414 | /mocha-each@2.0.1: 2415 | resolution: {integrity: sha512-0ZgWY5ajbnROXkfyaDb+0RAYzDBH3QVow/1zJiyl7lYMRnj1Nid8RDP2+/2TTajB5n4vr21v35MjB72GjFFj2g==} 2416 | dependencies: 2417 | sprintf-js: 1.1.2 2418 | dev: true 2419 | 2420 | /mocha@10.2.0: 2421 | resolution: {integrity: sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==} 2422 | engines: {node: '>= 14.0.0'} 2423 | dependencies: 2424 | ansi-colors: 4.1.1 2425 | browser-stdout: 1.3.1 2426 | chokidar: 3.5.3 2427 | debug: 4.3.4(supports-color@8.1.1) 2428 | diff: 5.0.0 2429 | escape-string-regexp: 4.0.0 2430 | find-up: 5.0.0 2431 | glob: 7.2.0 2432 | he: 1.2.0 2433 | js-yaml: 4.1.0 2434 | log-symbols: 4.1.0 2435 | minimatch: 5.0.1 2436 | ms: 2.1.3 2437 | nanoid: 3.3.3 2438 | serialize-javascript: 6.0.0 2439 | strip-json-comments: 3.1.1 2440 | supports-color: 8.1.1 2441 | workerpool: 6.2.1 2442 | yargs: 16.2.0 2443 | yargs-parser: 20.2.4 2444 | yargs-unparser: 2.0.0 2445 | dev: true 2446 | 2447 | /ms@2.0.0: 2448 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} 2449 | dev: true 2450 | 2451 | /ms@2.1.2: 2452 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2453 | dev: true 2454 | 2455 | /ms@2.1.3: 2456 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 2457 | dev: true 2458 | 2459 | /nanoid@3.3.3: 2460 | resolution: {integrity: sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==} 2461 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2462 | dev: true 2463 | 2464 | /nanomatch@1.2.13: 2465 | resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} 2466 | engines: {node: '>=0.10.0'} 2467 | dependencies: 2468 | arr-diff: 4.0.0 2469 | array-unique: 0.3.2 2470 | define-property: 2.0.2 2471 | extend-shallow: 3.0.2 2472 | fragment-cache: 0.2.1 2473 | is-windows: 1.0.2 2474 | kind-of: 6.0.3 2475 | object.pick: 1.3.0 2476 | regex-not: 1.0.2 2477 | snapdragon: 0.8.2 2478 | to-regex: 3.0.2 2479 | transitivePeerDependencies: 2480 | - supports-color 2481 | dev: true 2482 | 2483 | /natural-compare-lite@1.4.0: 2484 | resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} 2485 | dev: true 2486 | 2487 | /natural-compare@1.4.0: 2488 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 2489 | dev: true 2490 | 2491 | /nice-try@1.0.5: 2492 | resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} 2493 | dev: true 2494 | 2495 | /node-int64@0.4.0: 2496 | resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} 2497 | dev: true 2498 | 2499 | /node-preload@0.2.1: 2500 | resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==} 2501 | engines: {node: '>=8'} 2502 | dependencies: 2503 | process-on-spawn: 1.0.0 2504 | dev: true 2505 | 2506 | /node-releases@2.0.10: 2507 | resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} 2508 | dev: true 2509 | 2510 | /normalize-package-data@2.5.0: 2511 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} 2512 | dependencies: 2513 | hosted-git-info: 2.8.9 2514 | resolve: 1.22.1 2515 | semver: 5.7.1 2516 | validate-npm-package-license: 3.0.4 2517 | dev: true 2518 | 2519 | /normalize-path@2.1.1: 2520 | resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} 2521 | engines: {node: '>=0.10.0'} 2522 | dependencies: 2523 | remove-trailing-separator: 1.1.0 2524 | dev: true 2525 | 2526 | /normalize-path@3.0.0: 2527 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 2528 | engines: {node: '>=0.10.0'} 2529 | dev: true 2530 | 2531 | /npm-run-path@2.0.2: 2532 | resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} 2533 | engines: {node: '>=4'} 2534 | dependencies: 2535 | path-key: 2.0.1 2536 | dev: true 2537 | 2538 | /nyc@15.1.0: 2539 | resolution: {integrity: sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==} 2540 | engines: {node: '>=8.9'} 2541 | dependencies: 2542 | '@istanbuljs/load-nyc-config': 1.1.0 2543 | '@istanbuljs/schema': 0.1.3 2544 | caching-transform: 4.0.0 2545 | convert-source-map: 1.9.0 2546 | decamelize: 1.2.0 2547 | find-cache-dir: 3.3.2 2548 | find-up: 4.1.0 2549 | foreground-child: 2.0.0 2550 | get-package-type: 0.1.0 2551 | glob: 7.2.3 2552 | istanbul-lib-coverage: 3.2.0 2553 | istanbul-lib-hook: 3.0.0 2554 | istanbul-lib-instrument: 4.0.3 2555 | istanbul-lib-processinfo: 2.0.3 2556 | istanbul-lib-report: 3.0.0 2557 | istanbul-lib-source-maps: 4.0.1 2558 | istanbul-reports: 3.1.5 2559 | make-dir: 3.1.0 2560 | node-preload: 0.2.1 2561 | p-map: 3.0.0 2562 | process-on-spawn: 1.0.0 2563 | resolve-from: 5.0.0 2564 | rimraf: 3.0.2 2565 | signal-exit: 3.0.7 2566 | spawn-wrap: 2.0.0 2567 | test-exclude: 6.0.0 2568 | yargs: 15.4.1 2569 | transitivePeerDependencies: 2570 | - supports-color 2571 | dev: true 2572 | 2573 | /object-copy@0.1.0: 2574 | resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} 2575 | engines: {node: '>=0.10.0'} 2576 | dependencies: 2577 | copy-descriptor: 0.1.1 2578 | define-property: 0.2.5 2579 | kind-of: 3.2.2 2580 | dev: true 2581 | 2582 | /object-visit@1.0.1: 2583 | resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} 2584 | engines: {node: '>=0.10.0'} 2585 | dependencies: 2586 | isobject: 3.0.1 2587 | dev: true 2588 | 2589 | /object.pick@1.3.0: 2590 | resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} 2591 | engines: {node: '>=0.10.0'} 2592 | dependencies: 2593 | isobject: 3.0.1 2594 | dev: true 2595 | 2596 | /once@1.4.0: 2597 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2598 | dependencies: 2599 | wrappy: 1.0.2 2600 | dev: true 2601 | 2602 | /optionator@0.9.1: 2603 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} 2604 | engines: {node: '>= 0.8.0'} 2605 | dependencies: 2606 | deep-is: 0.1.4 2607 | fast-levenshtein: 2.0.6 2608 | levn: 0.4.1 2609 | prelude-ls: 1.2.1 2610 | type-check: 0.4.0 2611 | word-wrap: 1.2.3 2612 | dev: true 2613 | 2614 | /p-finally@1.0.0: 2615 | resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} 2616 | engines: {node: '>=4'} 2617 | dev: true 2618 | 2619 | /p-limit@2.3.0: 2620 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 2621 | engines: {node: '>=6'} 2622 | dependencies: 2623 | p-try: 2.2.0 2624 | dev: true 2625 | 2626 | /p-limit@3.1.0: 2627 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 2628 | engines: {node: '>=10'} 2629 | dependencies: 2630 | yocto-queue: 0.1.0 2631 | dev: true 2632 | 2633 | /p-locate@4.1.0: 2634 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 2635 | engines: {node: '>=8'} 2636 | dependencies: 2637 | p-limit: 2.3.0 2638 | dev: true 2639 | 2640 | /p-locate@5.0.0: 2641 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 2642 | engines: {node: '>=10'} 2643 | dependencies: 2644 | p-limit: 3.1.0 2645 | dev: true 2646 | 2647 | /p-map@3.0.0: 2648 | resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} 2649 | engines: {node: '>=8'} 2650 | dependencies: 2651 | aggregate-error: 3.1.0 2652 | dev: true 2653 | 2654 | /p-try@2.2.0: 2655 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 2656 | engines: {node: '>=6'} 2657 | dev: true 2658 | 2659 | /package-hash@4.0.0: 2660 | resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==} 2661 | engines: {node: '>=8'} 2662 | dependencies: 2663 | graceful-fs: 4.2.11 2664 | hasha: 5.2.2 2665 | lodash.flattendeep: 4.4.0 2666 | release-zalgo: 1.0.0 2667 | dev: true 2668 | 2669 | /parent-module@1.0.1: 2670 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 2671 | engines: {node: '>=6'} 2672 | dependencies: 2673 | callsites: 3.1.0 2674 | dev: true 2675 | 2676 | /parse-json@5.2.0: 2677 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 2678 | engines: {node: '>=8'} 2679 | dependencies: 2680 | '@babel/code-frame': 7.18.6 2681 | error-ex: 1.3.2 2682 | json-parse-even-better-errors: 2.3.1 2683 | lines-and-columns: 1.2.4 2684 | dev: true 2685 | 2686 | /pascalcase@0.1.1: 2687 | resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} 2688 | engines: {node: '>=0.10.0'} 2689 | dev: true 2690 | 2691 | /path-exists@4.0.0: 2692 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 2693 | engines: {node: '>=8'} 2694 | dev: true 2695 | 2696 | /path-is-absolute@1.0.1: 2697 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 2698 | engines: {node: '>=0.10.0'} 2699 | dev: true 2700 | 2701 | /path-key@2.0.1: 2702 | resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} 2703 | engines: {node: '>=4'} 2704 | dev: true 2705 | 2706 | /path-key@3.1.1: 2707 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2708 | engines: {node: '>=8'} 2709 | dev: true 2710 | 2711 | /path-parse@1.0.7: 2712 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2713 | dev: true 2714 | 2715 | /path-scurry@1.6.3: 2716 | resolution: {integrity: sha512-RAmB+n30SlN+HnNx6EbcpoDy9nwdpcGPnEKrJnu6GZoDWBdIjo1UQMVtW2ybtC7LC2oKLcMq8y5g8WnKLiod9g==} 2717 | engines: {node: '>=16 || 14 >=14.17'} 2718 | dependencies: 2719 | lru-cache: 7.18.3 2720 | minipass: 4.2.5 2721 | dev: true 2722 | 2723 | /path-type@4.0.0: 2724 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2725 | engines: {node: '>=8'} 2726 | dev: true 2727 | 2728 | /picocolors@1.0.0: 2729 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 2730 | dev: true 2731 | 2732 | /picomatch@2.3.1: 2733 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2734 | engines: {node: '>=8.6'} 2735 | dev: true 2736 | 2737 | /pkg-dir@4.2.0: 2738 | resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} 2739 | engines: {node: '>=8'} 2740 | dependencies: 2741 | find-up: 4.1.0 2742 | dev: true 2743 | 2744 | /posix-character-classes@0.1.1: 2745 | resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} 2746 | engines: {node: '>=0.10.0'} 2747 | dev: true 2748 | 2749 | /prelude-ls@1.2.1: 2750 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 2751 | engines: {node: '>= 0.8.0'} 2752 | dev: true 2753 | 2754 | /prettier@2.8.7: 2755 | resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==} 2756 | engines: {node: '>=10.13.0'} 2757 | dev: true 2758 | 2759 | /pretty-format@26.6.2: 2760 | resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} 2761 | engines: {node: '>= 10'} 2762 | dependencies: 2763 | '@jest/types': 26.6.2 2764 | ansi-regex: 5.0.1 2765 | ansi-styles: 4.3.0 2766 | react-is: 17.0.2 2767 | dev: true 2768 | 2769 | /process-on-spawn@1.0.0: 2770 | resolution: {integrity: sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==} 2771 | engines: {node: '>=8'} 2772 | dependencies: 2773 | fromentries: 1.3.2 2774 | dev: true 2775 | 2776 | /pump@3.0.0: 2777 | resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} 2778 | dependencies: 2779 | end-of-stream: 1.4.4 2780 | once: 1.4.0 2781 | dev: true 2782 | 2783 | /punycode@2.3.0: 2784 | resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} 2785 | engines: {node: '>=6'} 2786 | dev: true 2787 | 2788 | /queue-microtask@1.2.3: 2789 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2790 | dev: true 2791 | 2792 | /randombytes@2.1.0: 2793 | resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} 2794 | dependencies: 2795 | safe-buffer: 5.2.1 2796 | dev: true 2797 | 2798 | /react-is@17.0.2: 2799 | resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} 2800 | dev: true 2801 | 2802 | /read-pkg-up@7.0.1: 2803 | resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} 2804 | engines: {node: '>=8'} 2805 | dependencies: 2806 | find-up: 4.1.0 2807 | read-pkg: 5.2.0 2808 | type-fest: 0.8.1 2809 | dev: true 2810 | 2811 | /read-pkg@5.2.0: 2812 | resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} 2813 | engines: {node: '>=8'} 2814 | dependencies: 2815 | '@types/normalize-package-data': 2.4.1 2816 | normalize-package-data: 2.5.0 2817 | parse-json: 5.2.0 2818 | type-fest: 0.6.0 2819 | dev: true 2820 | 2821 | /readdirp@3.6.0: 2822 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 2823 | engines: {node: '>=8.10.0'} 2824 | dependencies: 2825 | picomatch: 2.3.1 2826 | dev: true 2827 | 2828 | /regex-not@1.0.2: 2829 | resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} 2830 | engines: {node: '>=0.10.0'} 2831 | dependencies: 2832 | extend-shallow: 3.0.2 2833 | safe-regex: 1.1.0 2834 | dev: true 2835 | 2836 | /release-zalgo@1.0.0: 2837 | resolution: {integrity: sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==} 2838 | engines: {node: '>=4'} 2839 | dependencies: 2840 | es6-error: 4.1.1 2841 | dev: true 2842 | 2843 | /remove-trailing-separator@1.1.0: 2844 | resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} 2845 | dev: true 2846 | 2847 | /repeat-element@1.1.4: 2848 | resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} 2849 | engines: {node: '>=0.10.0'} 2850 | dev: true 2851 | 2852 | /repeat-string@1.6.1: 2853 | resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} 2854 | engines: {node: '>=0.10'} 2855 | dev: true 2856 | 2857 | /require-directory@2.1.1: 2858 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 2859 | engines: {node: '>=0.10.0'} 2860 | dev: true 2861 | 2862 | /require-main-filename@2.0.0: 2863 | resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} 2864 | dev: true 2865 | 2866 | /resolve-from@4.0.0: 2867 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2868 | engines: {node: '>=4'} 2869 | dev: true 2870 | 2871 | /resolve-from@5.0.0: 2872 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 2873 | engines: {node: '>=8'} 2874 | dev: true 2875 | 2876 | /resolve-url@0.2.1: 2877 | resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} 2878 | dev: true 2879 | 2880 | /resolve@1.22.1: 2881 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 2882 | dependencies: 2883 | is-core-module: 2.11.0 2884 | path-parse: 1.0.7 2885 | supports-preserve-symlinks-flag: 1.0.0 2886 | dev: true 2887 | 2888 | /ret@0.1.15: 2889 | resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} 2890 | engines: {node: '>=0.12'} 2891 | dev: true 2892 | 2893 | /reusify@1.0.4: 2894 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2895 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2896 | dev: true 2897 | 2898 | /rimraf@3.0.2: 2899 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 2900 | dependencies: 2901 | glob: 7.2.3 2902 | dev: true 2903 | 2904 | /rimraf@4.4.1: 2905 | resolution: {integrity: sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==} 2906 | engines: {node: '>=14'} 2907 | dependencies: 2908 | glob: 9.3.2 2909 | dev: true 2910 | 2911 | /rsvp@4.8.5: 2912 | resolution: {integrity: sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==} 2913 | engines: {node: 6.* || >= 7.*} 2914 | dev: true 2915 | 2916 | /run-parallel@1.2.0: 2917 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2918 | dependencies: 2919 | queue-microtask: 1.2.3 2920 | dev: true 2921 | 2922 | /safe-buffer@5.2.1: 2923 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 2924 | dev: true 2925 | 2926 | /safe-regex@1.1.0: 2927 | resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} 2928 | dependencies: 2929 | ret: 0.1.15 2930 | dev: true 2931 | 2932 | /sane@4.1.0: 2933 | resolution: {integrity: sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==} 2934 | engines: {node: 6.* || 8.* || >= 10.*} 2935 | dependencies: 2936 | '@cnakazawa/watch': 1.0.4 2937 | anymatch: 2.0.0 2938 | capture-exit: 2.0.0 2939 | exec-sh: 0.3.6 2940 | execa: 1.0.0 2941 | fb-watchman: 2.0.2 2942 | micromatch: 3.1.10 2943 | minimist: 1.2.8 2944 | walker: 1.0.8 2945 | transitivePeerDependencies: 2946 | - supports-color 2947 | dev: true 2948 | 2949 | /semver@5.7.1: 2950 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} 2951 | dev: true 2952 | 2953 | /semver@6.3.0: 2954 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 2955 | dev: true 2956 | 2957 | /semver@7.3.8: 2958 | resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} 2959 | engines: {node: '>=10'} 2960 | dependencies: 2961 | lru-cache: 6.0.0 2962 | dev: true 2963 | 2964 | /serialize-javascript@6.0.0: 2965 | resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} 2966 | dependencies: 2967 | randombytes: 2.1.0 2968 | dev: true 2969 | 2970 | /set-blocking@2.0.0: 2971 | resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} 2972 | dev: true 2973 | 2974 | /set-value@2.0.1: 2975 | resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} 2976 | engines: {node: '>=0.10.0'} 2977 | dependencies: 2978 | extend-shallow: 2.0.1 2979 | is-extendable: 0.1.1 2980 | is-plain-object: 2.0.4 2981 | split-string: 3.1.0 2982 | dev: true 2983 | 2984 | /shebang-command@1.2.0: 2985 | resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} 2986 | engines: {node: '>=0.10.0'} 2987 | dependencies: 2988 | shebang-regex: 1.0.0 2989 | dev: true 2990 | 2991 | /shebang-command@2.0.0: 2992 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2993 | engines: {node: '>=8'} 2994 | dependencies: 2995 | shebang-regex: 3.0.0 2996 | dev: true 2997 | 2998 | /shebang-regex@1.0.0: 2999 | resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} 3000 | engines: {node: '>=0.10.0'} 3001 | dev: true 3002 | 3003 | /shebang-regex@3.0.0: 3004 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 3005 | engines: {node: '>=8'} 3006 | dev: true 3007 | 3008 | /signal-exit@3.0.7: 3009 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 3010 | dev: true 3011 | 3012 | /slash@3.0.0: 3013 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 3014 | engines: {node: '>=8'} 3015 | dev: true 3016 | 3017 | /snapdragon-node@2.1.1: 3018 | resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} 3019 | engines: {node: '>=0.10.0'} 3020 | dependencies: 3021 | define-property: 1.0.0 3022 | isobject: 3.0.1 3023 | snapdragon-util: 3.0.1 3024 | dev: true 3025 | 3026 | /snapdragon-util@3.0.1: 3027 | resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} 3028 | engines: {node: '>=0.10.0'} 3029 | dependencies: 3030 | kind-of: 3.2.2 3031 | dev: true 3032 | 3033 | /snapdragon@0.8.2: 3034 | resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} 3035 | engines: {node: '>=0.10.0'} 3036 | dependencies: 3037 | base: 0.11.2 3038 | debug: 2.6.9 3039 | define-property: 0.2.5 3040 | extend-shallow: 2.0.1 3041 | map-cache: 0.2.2 3042 | source-map: 0.5.7 3043 | source-map-resolve: 0.5.3 3044 | use: 3.1.1 3045 | transitivePeerDependencies: 3046 | - supports-color 3047 | dev: true 3048 | 3049 | /source-map-resolve@0.5.3: 3050 | resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} 3051 | dependencies: 3052 | atob: 2.1.2 3053 | decode-uri-component: 0.2.2 3054 | resolve-url: 0.2.1 3055 | source-map-url: 0.4.1 3056 | urix: 0.1.0 3057 | dev: true 3058 | 3059 | /source-map-support@0.5.21: 3060 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 3061 | dependencies: 3062 | buffer-from: 1.1.2 3063 | source-map: 0.6.1 3064 | dev: true 3065 | 3066 | /source-map-url@0.4.1: 3067 | resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} 3068 | dev: true 3069 | 3070 | /source-map@0.5.7: 3071 | resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} 3072 | engines: {node: '>=0.10.0'} 3073 | dev: true 3074 | 3075 | /source-map@0.6.1: 3076 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 3077 | engines: {node: '>=0.10.0'} 3078 | dev: true 3079 | 3080 | /spawn-wrap@2.0.0: 3081 | resolution: {integrity: sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==} 3082 | engines: {node: '>=8'} 3083 | dependencies: 3084 | foreground-child: 2.0.0 3085 | is-windows: 1.0.2 3086 | make-dir: 3.1.0 3087 | rimraf: 3.0.2 3088 | signal-exit: 3.0.7 3089 | which: 2.0.2 3090 | dev: true 3091 | 3092 | /spdx-correct@3.2.0: 3093 | resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} 3094 | dependencies: 3095 | spdx-expression-parse: 3.0.1 3096 | spdx-license-ids: 3.0.13 3097 | dev: true 3098 | 3099 | /spdx-exceptions@2.3.0: 3100 | resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} 3101 | dev: true 3102 | 3103 | /spdx-expression-parse@3.0.1: 3104 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 3105 | dependencies: 3106 | spdx-exceptions: 2.3.0 3107 | spdx-license-ids: 3.0.13 3108 | dev: true 3109 | 3110 | /spdx-license-ids@3.0.13: 3111 | resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} 3112 | dev: true 3113 | 3114 | /split-string@3.1.0: 3115 | resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} 3116 | engines: {node: '>=0.10.0'} 3117 | dependencies: 3118 | extend-shallow: 3.0.2 3119 | dev: true 3120 | 3121 | /sprintf-js@1.0.3: 3122 | resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} 3123 | dev: true 3124 | 3125 | /sprintf-js@1.1.2: 3126 | resolution: {integrity: sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==} 3127 | dev: true 3128 | 3129 | /stack-utils@2.0.6: 3130 | resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} 3131 | engines: {node: '>=10'} 3132 | dependencies: 3133 | escape-string-regexp: 2.0.0 3134 | dev: true 3135 | 3136 | /static-extend@0.1.2: 3137 | resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} 3138 | engines: {node: '>=0.10.0'} 3139 | dependencies: 3140 | define-property: 0.2.5 3141 | object-copy: 0.1.0 3142 | dev: true 3143 | 3144 | /string-width@4.2.3: 3145 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 3146 | engines: {node: '>=8'} 3147 | dependencies: 3148 | emoji-regex: 8.0.0 3149 | is-fullwidth-code-point: 3.0.0 3150 | strip-ansi: 6.0.1 3151 | dev: true 3152 | 3153 | /strip-ansi@6.0.1: 3154 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 3155 | engines: {node: '>=8'} 3156 | dependencies: 3157 | ansi-regex: 5.0.1 3158 | dev: true 3159 | 3160 | /strip-bom@4.0.0: 3161 | resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} 3162 | engines: {node: '>=8'} 3163 | dev: true 3164 | 3165 | /strip-eof@1.0.0: 3166 | resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} 3167 | engines: {node: '>=0.10.0'} 3168 | dev: true 3169 | 3170 | /strip-json-comments@3.1.1: 3171 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 3172 | engines: {node: '>=8'} 3173 | dev: true 3174 | 3175 | /supports-color@5.5.0: 3176 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 3177 | engines: {node: '>=4'} 3178 | dependencies: 3179 | has-flag: 3.0.0 3180 | dev: true 3181 | 3182 | /supports-color@7.2.0: 3183 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 3184 | engines: {node: '>=8'} 3185 | dependencies: 3186 | has-flag: 4.0.0 3187 | dev: true 3188 | 3189 | /supports-color@8.1.1: 3190 | resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} 3191 | engines: {node: '>=10'} 3192 | dependencies: 3193 | has-flag: 4.0.0 3194 | dev: true 3195 | 3196 | /supports-preserve-symlinks-flag@1.0.0: 3197 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 3198 | engines: {node: '>= 0.4'} 3199 | dev: true 3200 | 3201 | /test-exclude@6.0.0: 3202 | resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} 3203 | engines: {node: '>=8'} 3204 | dependencies: 3205 | '@istanbuljs/schema': 0.1.3 3206 | glob: 7.2.3 3207 | minimatch: 3.1.2 3208 | dev: true 3209 | 3210 | /text-table@0.2.0: 3211 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 3212 | dev: true 3213 | 3214 | /tmpl@1.0.5: 3215 | resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} 3216 | dev: true 3217 | 3218 | /to-fast-properties@2.0.0: 3219 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 3220 | engines: {node: '>=4'} 3221 | dev: true 3222 | 3223 | /to-object-path@0.3.0: 3224 | resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} 3225 | engines: {node: '>=0.10.0'} 3226 | dependencies: 3227 | kind-of: 3.2.2 3228 | dev: true 3229 | 3230 | /to-regex-range@2.1.1: 3231 | resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} 3232 | engines: {node: '>=0.10.0'} 3233 | dependencies: 3234 | is-number: 3.0.0 3235 | repeat-string: 1.6.1 3236 | dev: true 3237 | 3238 | /to-regex-range@5.0.1: 3239 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 3240 | engines: {node: '>=8.0'} 3241 | dependencies: 3242 | is-number: 7.0.0 3243 | dev: true 3244 | 3245 | /to-regex@3.0.2: 3246 | resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} 3247 | engines: {node: '>=0.10.0'} 3248 | dependencies: 3249 | define-property: 2.0.2 3250 | extend-shallow: 3.0.2 3251 | regex-not: 1.0.2 3252 | safe-regex: 1.1.0 3253 | dev: true 3254 | 3255 | /ts-essentials@6.0.7(typescript@5.0.2): 3256 | resolution: {integrity: sha512-2E4HIIj4tQJlIHuATRHayv0EfMGK3ris/GRk1E3CFnsZzeNV+hUmelbaTZHLtXaZppM5oLhHRtO04gINC4Jusw==} 3257 | peerDependencies: 3258 | typescript: '>=3.7.0' 3259 | dependencies: 3260 | typescript: 5.0.2 3261 | dev: true 3262 | 3263 | /ts-node@10.9.1(@types/node@18.15.10)(typescript@5.0.2): 3264 | resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} 3265 | peerDependencies: 3266 | '@swc/core': '>=1.2.50' 3267 | '@swc/wasm': '>=1.2.50' 3268 | '@types/node': '*' 3269 | typescript: '>=2.7' 3270 | peerDependenciesMeta: 3271 | '@swc/core': 3272 | optional: true 3273 | '@swc/wasm': 3274 | optional: true 3275 | dependencies: 3276 | '@cspotcode/source-map-support': 0.8.1 3277 | '@tsconfig/node10': 1.0.9 3278 | '@tsconfig/node12': 1.0.11 3279 | '@tsconfig/node14': 1.0.3 3280 | '@tsconfig/node16': 1.0.3 3281 | '@types/node': 18.15.10 3282 | acorn: 8.8.2 3283 | acorn-walk: 8.2.0 3284 | arg: 4.1.3 3285 | create-require: 1.1.1 3286 | diff: 4.0.2 3287 | make-error: 1.3.6 3288 | typescript: 5.0.2 3289 | v8-compile-cache-lib: 3.0.1 3290 | yn: 3.1.1 3291 | dev: true 3292 | 3293 | /tslib@1.14.1: 3294 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 3295 | dev: true 3296 | 3297 | /tsutils@3.21.0(typescript@5.0.2): 3298 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 3299 | engines: {node: '>= 6'} 3300 | peerDependencies: 3301 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 3302 | dependencies: 3303 | tslib: 1.14.1 3304 | typescript: 5.0.2 3305 | dev: true 3306 | 3307 | /type-check@0.4.0: 3308 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 3309 | engines: {node: '>= 0.8.0'} 3310 | dependencies: 3311 | prelude-ls: 1.2.1 3312 | dev: true 3313 | 3314 | /type-fest@0.20.2: 3315 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 3316 | engines: {node: '>=10'} 3317 | dev: true 3318 | 3319 | /type-fest@0.6.0: 3320 | resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} 3321 | engines: {node: '>=8'} 3322 | dev: true 3323 | 3324 | /type-fest@0.8.1: 3325 | resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} 3326 | engines: {node: '>=8'} 3327 | dev: true 3328 | 3329 | /typedarray-to-buffer@3.1.5: 3330 | resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} 3331 | dependencies: 3332 | is-typedarray: 1.0.0 3333 | dev: true 3334 | 3335 | /typescript@5.0.2: 3336 | resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==} 3337 | engines: {node: '>=12.20'} 3338 | dev: true 3339 | 3340 | /union-value@1.0.1: 3341 | resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} 3342 | engines: {node: '>=0.10.0'} 3343 | dependencies: 3344 | arr-union: 3.1.0 3345 | get-value: 2.0.6 3346 | is-extendable: 0.1.1 3347 | set-value: 2.0.1 3348 | dev: true 3349 | 3350 | /unset-value@1.0.0: 3351 | resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} 3352 | engines: {node: '>=0.10.0'} 3353 | dependencies: 3354 | has-value: 0.3.1 3355 | isobject: 3.0.1 3356 | dev: true 3357 | 3358 | /update-browserslist-db@1.0.10(browserslist@4.21.5): 3359 | resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} 3360 | peerDependencies: 3361 | browserslist: '>= 4.21.0' 3362 | dependencies: 3363 | browserslist: 4.21.5 3364 | escalade: 3.1.1 3365 | picocolors: 1.0.0 3366 | dev: true 3367 | 3368 | /uri-js@4.4.1: 3369 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 3370 | dependencies: 3371 | punycode: 2.3.0 3372 | dev: true 3373 | 3374 | /urix@0.1.0: 3375 | resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} 3376 | dev: true 3377 | 3378 | /use@3.1.1: 3379 | resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} 3380 | engines: {node: '>=0.10.0'} 3381 | dev: true 3382 | 3383 | /uuid@8.3.2: 3384 | resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} 3385 | dev: true 3386 | 3387 | /v8-compile-cache-lib@3.0.1: 3388 | resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} 3389 | dev: true 3390 | 3391 | /validate-npm-package-license@3.0.4: 3392 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 3393 | dependencies: 3394 | spdx-correct: 3.2.0 3395 | spdx-expression-parse: 3.0.1 3396 | dev: true 3397 | 3398 | /walker@1.0.8: 3399 | resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} 3400 | dependencies: 3401 | makeerror: 1.0.12 3402 | dev: true 3403 | 3404 | /which-module@2.0.0: 3405 | resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} 3406 | dev: true 3407 | 3408 | /which@1.3.1: 3409 | resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} 3410 | dependencies: 3411 | isexe: 2.0.0 3412 | dev: true 3413 | 3414 | /which@2.0.2: 3415 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 3416 | engines: {node: '>= 8'} 3417 | dependencies: 3418 | isexe: 2.0.0 3419 | dev: true 3420 | 3421 | /word-wrap@1.2.3: 3422 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 3423 | engines: {node: '>=0.10.0'} 3424 | dev: true 3425 | 3426 | /workerpool@6.2.1: 3427 | resolution: {integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==} 3428 | dev: true 3429 | 3430 | /wrap-ansi@6.2.0: 3431 | resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} 3432 | engines: {node: '>=8'} 3433 | dependencies: 3434 | ansi-styles: 4.3.0 3435 | string-width: 4.2.3 3436 | strip-ansi: 6.0.1 3437 | dev: true 3438 | 3439 | /wrap-ansi@7.0.0: 3440 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 3441 | engines: {node: '>=10'} 3442 | dependencies: 3443 | ansi-styles: 4.3.0 3444 | string-width: 4.2.3 3445 | strip-ansi: 6.0.1 3446 | dev: true 3447 | 3448 | /wrappy@1.0.2: 3449 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 3450 | dev: true 3451 | 3452 | /write-file-atomic@3.0.3: 3453 | resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} 3454 | dependencies: 3455 | imurmurhash: 0.1.4 3456 | is-typedarray: 1.0.0 3457 | signal-exit: 3.0.7 3458 | typedarray-to-buffer: 3.1.5 3459 | dev: true 3460 | 3461 | /y18n@4.0.3: 3462 | resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} 3463 | dev: true 3464 | 3465 | /y18n@5.0.8: 3466 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 3467 | engines: {node: '>=10'} 3468 | dev: true 3469 | 3470 | /yallist@3.1.1: 3471 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 3472 | dev: true 3473 | 3474 | /yallist@4.0.0: 3475 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 3476 | dev: true 3477 | 3478 | /yargs-parser@18.1.3: 3479 | resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} 3480 | engines: {node: '>=6'} 3481 | dependencies: 3482 | camelcase: 5.3.1 3483 | decamelize: 1.2.0 3484 | dev: true 3485 | 3486 | /yargs-parser@20.2.4: 3487 | resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} 3488 | engines: {node: '>=10'} 3489 | dev: true 3490 | 3491 | /yargs-unparser@2.0.0: 3492 | resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} 3493 | engines: {node: '>=10'} 3494 | dependencies: 3495 | camelcase: 6.3.0 3496 | decamelize: 4.0.0 3497 | flat: 5.0.2 3498 | is-plain-obj: 2.1.0 3499 | dev: true 3500 | 3501 | /yargs@15.4.1: 3502 | resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} 3503 | engines: {node: '>=8'} 3504 | dependencies: 3505 | cliui: 6.0.0 3506 | decamelize: 1.2.0 3507 | find-up: 4.1.0 3508 | get-caller-file: 2.0.5 3509 | require-directory: 2.1.1 3510 | require-main-filename: 2.0.0 3511 | set-blocking: 2.0.0 3512 | string-width: 4.2.3 3513 | which-module: 2.0.0 3514 | y18n: 4.0.3 3515 | yargs-parser: 18.1.3 3516 | dev: true 3517 | 3518 | /yargs@16.2.0: 3519 | resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} 3520 | engines: {node: '>=10'} 3521 | dependencies: 3522 | cliui: 7.0.4 3523 | escalade: 3.1.1 3524 | get-caller-file: 2.0.5 3525 | require-directory: 2.1.1 3526 | string-width: 4.2.3 3527 | y18n: 5.0.8 3528 | yargs-parser: 20.2.4 3529 | dev: true 3530 | 3531 | /yn@3.1.1: 3532 | resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} 3533 | engines: {node: '>=6'} 3534 | dev: true 3535 | 3536 | /yocto-queue@0.1.0: 3537 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 3538 | engines: {node: '>=10'} 3539 | dev: true 3540 | -------------------------------------------------------------------------------- /src/fromBn.ts: -------------------------------------------------------------------------------- 1 | import { BigNumber, FixedNumber } from "@ethersproject/bignumber"; 2 | 3 | /** 4 | * Convert a big number with a custom number of decimals to a stringified fixed-point number. 5 | */ 6 | export function fromBn(x: BigNumber, decimals: number = 18): string { 7 | if (x === undefined) { 8 | throw new Error("Input must not be undefined"); 9 | } 10 | 11 | if (decimals < 1 || decimals > 77) { 12 | throw new Error("Decimals must be between 1 and 77"); 13 | } 14 | 15 | const result: string = FixedNumber.fromValue(x, decimals, `fixed256x${decimals}`).toString(); 16 | return result.replace(/.0$/, ""); 17 | } 18 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | export { fromBn } from "./fromBn"; 2 | export { toBn } from "./toBn"; 3 | -------------------------------------------------------------------------------- /src/toBn.ts: -------------------------------------------------------------------------------- 1 | import type { BigNumber } from "@ethersproject/bignumber"; 2 | import { parseFixed } from "@ethersproject/bignumber"; 3 | import fromExponential from "from-exponential"; 4 | 5 | /** 6 | * Convert a stringified fixed-point number to a big number with a custom number of decimals. 7 | * 8 | * @remarks 9 | * - Accepts scientific notation. 10 | * - Checks are in place to adhere to the numerical constraints of the EVM. 11 | */ 12 | export function toBn(x: string, decimals: number = 18): BigNumber { 13 | if (x === undefined || typeof x !== "string") { 14 | throw new Error("Input must be a string"); 15 | } 16 | 17 | if (decimals < 1 || decimals > 77) { 18 | throw new Error("Decimals must be between 1 and 77"); 19 | } 20 | 21 | let xs: string = x; 22 | 23 | // Convert from exponential notation. 24 | if (x.includes("e") || x.includes("E")) { 25 | xs = fromExponential(x); 26 | } 27 | 28 | // Limit the number of decimals to the value provided. 29 | if (xs.includes(".")) { 30 | const parts: string[] = xs.split("."); 31 | parts[1] = parts[1].slice(0, decimals); 32 | xs = parts[0] + "." + parts[1]; 33 | } 34 | 35 | // Check if x is a whole number or a fixed-point number with some maximum number of decimals. 36 | const digits: number = 78 - decimals; 37 | const regexp: RegExp = new RegExp(`^[-+]?(\\d{1,${digits}}|(?=\\d+\\.\\d+)\\d{1,${digits}}\\.\\d{1,${decimals}})$`); 38 | 39 | if (regexp.test(xs)) { 40 | return parseFixed(xs, decimals); 41 | } else { 42 | throw new Error("Unknown format for fixed-point number: " + x); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /test/fromBn.test.ts: -------------------------------------------------------------------------------- 1 | import { BigNumber } from "@ethersproject/bignumber"; 2 | import { expect } from "earljs"; 3 | import forEach from "mocha-each"; 4 | 5 | import { fromBn } from "../src"; 6 | 7 | describe("fromBn", function () { 8 | describe("when x is undefined", function () { 9 | it("throws an error", function () { 10 | const x: any = undefined; 11 | expect(() => fromBn(x)).toThrow("Input must not be undefined"); 12 | }); 13 | }); 14 | 15 | describe("when x is not undefined", function () { 16 | describe("when the number of decimals is out of bounds", function () { 17 | const testSets = [-1729, 0, 78, 1729]; 18 | 19 | forEach(testSets).it("throws an error", function (decimals: number) { 20 | const x = BigNumber.from("3141592653589793238"); 21 | expect(() => fromBn(x, decimals)).toThrow("Decimals must be between 1 and 77"); 22 | }); 23 | }); 24 | 25 | describe("when the number of decimals is within the bounds", function () { 26 | describe("when the number of decimals is 1", function () { 27 | const decimals: number = 1; 28 | const testSets = [ 29 | ["10", "1"], 30 | ["28", "2.8"], 31 | ["31", "3.1"], 32 | [ 33 | "115792089237316195423570985008687907853269984665640564039457584007913129639935", 34 | "11579208923731619542357098500868790785326998466564056403945758400791312963993.5", 35 | ], 36 | ]; 37 | 38 | forEach(testSets).it("takes %f and returns %f", function (x: string, expected: string) { 39 | expect(expected).toEqual(fromBn(BigNumber.from(x), decimals)); 40 | }); 41 | }); 42 | 43 | describe("when the number of decimals is 77", function () { 44 | const decimals: number = 77; 45 | const testSets = [ 46 | ["100000000000000000000000000000000000000000000000000000000000000000000000000000", "1"], 47 | ["280000000000000000000000000000000000000000000000000000000000000000000000000000", "2.8"], 48 | ["310000000000000000000000000000000000000000000000000000000000000000000000000000", "3.1"], 49 | [ 50 | "115792089237316195423570985008687907853269984665640564039457584007913129639935", 51 | "1.15792089237316195423570985008687907853269984665640564039457584007913129639935", 52 | ], 53 | ]; 54 | 55 | forEach(testSets).it("takes %f and returns %f", function (x: string, expected: string) { 56 | expect(expected).toEqual(fromBn(BigNumber.from(x), decimals)); 57 | }); 58 | }); 59 | }); 60 | }); 61 | }); 62 | -------------------------------------------------------------------------------- /test/toBn.test.ts: -------------------------------------------------------------------------------- 1 | import { expect } from "earljs"; 2 | import forEach from "mocha-each"; 3 | 4 | import { toBn } from "../src"; 5 | 6 | describe("toBn", function () { 7 | describe("when x is not a string", function () { 8 | const testSets = [undefined, null, true, 2.71, Math.PI, { x: 100 }, function () {}]; 9 | 10 | forEach(testSets).it("throws an error", function (x: any) { 11 | expect(() => toBn(x)).toThrow("Input must be a string"); 12 | }); 13 | }); 14 | 15 | describe("when x is a string", function () { 16 | describe("when x is not a base 10 number", function () { 17 | const testSets = ["qwerty", "Bonjour le Monde", "a0b0z0d0", "0xcafe", "áèâéèê"]; 18 | 19 | forEach(testSets).it("throws an error", function (x: string) { 20 | expect(() => toBn(x)).toThrow("Unknown format for fixed-point number: " + x); 21 | }); 22 | }); 23 | 24 | describe("when x is a base 10 number", function () { 25 | describe("when the number of decimals is out of bounds", function () { 26 | const testSets = [-1729, 0, 78, 1729]; 27 | 28 | forEach(testSets).it("throws an error", function (decimals: number) { 29 | const x: string = "3.141592653589793238"; 30 | expect(() => toBn(x, decimals)).toThrow("Decimals must be between 1 and 77"); 31 | }); 32 | }); 33 | 34 | describe("when the number of decimals is within the bounds", function () { 35 | describe("when the number of decimals is 1", function () { 36 | const decimals: number = 1; 37 | const testSets = [ 38 | ["1", "10"], 39 | ["2.8", "28"], 40 | ["3.1", "31"], 41 | [ 42 | "11579208923731619542357098500868790785326998466564056403945758400791312963993.5", 43 | "115792089237316195423570985008687907853269984665640564039457584007913129639935", 44 | ], 45 | ]; 46 | 47 | forEach(testSets).it("takes %f and returns %f", function (x: string, expected: string) { 48 | expect(expected).toEqual(String(toBn(x, decimals))); 49 | }); 50 | }); 51 | 52 | describe("when the number of decimals is 77", function () { 53 | const decimals: number = 77; 54 | const testSets = [ 55 | ["1", "100000000000000000000000000000000000000000000000000000000000000000000000000000"], 56 | ["2.8", "280000000000000000000000000000000000000000000000000000000000000000000000000000"], 57 | ["3.1", "310000000000000000000000000000000000000000000000000000000000000000000000000000"], 58 | [ 59 | "1.15792089237316195423570985008687907853269984665640564039457584007913129639935", 60 | "115792089237316195423570985008687907853269984665640564039457584007913129639935", 61 | ], 62 | ]; 63 | 64 | forEach(testSets).it("takes %f and returns %f", function (x: string, expected: string) { 65 | expect(expected).toEqual(String(toBn(x, decimals))); 66 | }); 67 | }); 68 | 69 | describe("when the number of decimals is the default, which is 18", function () { 70 | describe("when x has more than 60 integer digits", function () { 71 | const testSets: string[] = [ 72 | "1e60", 73 | "3.14e78", 74 | "3860393555824785230250785487392862718135031063639377380058239.75498055625639", 75 | "1641859000171773711896013123523298990385936318426437089678010964091794.294085164534340909", 76 | "6579166703548843398264284621832829277269325500191914304280053707339887173863112402178486913.1782903", 77 | ]; 78 | 79 | forEach(testSets).it("takes %f and throws an error", function (x: string) { 80 | expect(() => toBn(x)).toThrow("Unknown format for fixed-point number: " + x); 81 | }); 82 | }); 83 | 84 | describe("when x does not have more than 60 integer digits", function () { 85 | describe("when x has more than 18 fractional digits", function () { 86 | describe("when x is an exponential", function () { 87 | const testSets = [ 88 | ["1e-19", "0"], 89 | ["3.14e-78", "0"], 90 | ["412.1239812412889000291381209e6", "412123981241288900029138120"], 91 | ]; 92 | 93 | forEach(testSets).it("takes %f and returns %f", function (x: string, expected: string) { 94 | expect(expected).toEqual(String(toBn(x))); 95 | }); 96 | }); 97 | 98 | describe("when x is a real number", function () { 99 | const testSets = [ 100 | ["0.4902990866551706545", "490299086655170654"], 101 | ["8.00019706910353772932315427126187897", "8000197069103537729"], 102 | [ 103 | "91.7496885414232378075050290903596022687487995387586369206142513715480845755362175", 104 | "91749688541423237807", 105 | ], 106 | ]; 107 | 108 | forEach(testSets).it("takes %f and returns %f", function (x: string, expected: string) { 109 | expect(expected).toEqual(String(toBn(x))); 110 | }); 111 | }); 112 | }); 113 | 114 | describe("when x does not have more than 18 fractional digits", function () { 115 | describe("when x is an exponential", function () { 116 | const testSets = [ 117 | ["8.92e-5", "89200000000000"], 118 | ["8.92E-5", "89200000000000"], 119 | ["1e2", "100000000000000000000"], 120 | ["1E2", "100000000000000000000"], 121 | ["3.14e5", "314000000000000000000000"], 122 | ["3.14E5", "314000000000000000000000"], 123 | ["89.12e12", "89120000000000000000000000000000"], 124 | ["89.12E12", "89120000000000000000000000000000"], 125 | ["100.05e18", "100050000000000000000000000000000000000"], 126 | ["100.05E18", "100050000000000000000000000000000000000"], 127 | ["2e3", "2000000000000000000000"], 128 | ["2E3", "2000000000000000000000"], 129 | ["42733.02954e45", "42733029540000000000000000000000000000000000000000000000000000000000"], 130 | ["42733.02954E45", "42733029540000000000000000000000000000000000000000000000000000000000"], 131 | [ 132 | "1.15792089237316195423570985008687907853269984665640564039457584007913129639935e59", 133 | "115792089237316195423570985008687907853269984665640564039457584007913129639935", 134 | ], 135 | [ 136 | "1.15792089237316195423570985008687907853269984665640564039457584007913129639935E59", 137 | "115792089237316195423570985008687907853269984665640564039457584007913129639935", 138 | ], 139 | ]; 140 | 141 | forEach(testSets).it("takes %f and returns %f", function (x: string, expected: string) { 142 | expect(expected).toEqual(String(toBn(x))); 143 | }); 144 | }); 145 | 146 | describe("when x is a real number", function () { 147 | const testSets = [ 148 | ["0.0000892", "89200000000000"], 149 | ["1", "1000000000000000000"], 150 | ["2.8931", "2893100000000000000"], 151 | ["3.141592653589793238", "3141592653589793238"], 152 | ["781.0042190122", "781004219012200000000"], 153 | ["2000", "2000000000000000000000"], 154 | ["26241.06698", "26241066980000000000000"], 155 | [ 156 | "115792089237316195423570985008687907853269984665640564039457.584007913129639935", 157 | "115792089237316195423570985008687907853269984665640564039457584007913129639935", 158 | ], 159 | ]; 160 | 161 | forEach(testSets).it("takes %f and returns %f", function (x: string, expected: string) { 162 | expect(expected).toEqual(String(toBn(x))); 163 | }); 164 | }); 165 | }); 166 | }); 167 | }); 168 | }); 169 | }); 170 | }); 171 | }); 172 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "declaration": true, 4 | "declarationMap": true, 5 | "emitDecoratorMetadata": true, 6 | "esModuleInterop": true, 7 | "experimentalDecorators": true, 8 | "forceConsistentCasingInFileNames": true, 9 | "lib": ["es6"], 10 | "module": "commonjs", 11 | "moduleResolution": "node", 12 | "noImplicitAny": true, 13 | "resolveJsonModule": true, 14 | "sourceMap": true, 15 | "strict": true, 16 | "target": "es6" 17 | }, 18 | "exclude": ["node_modules"], 19 | "include": ["helpers/**/*", "src/**/*", "test/**/*"] 20 | } 21 | -------------------------------------------------------------------------------- /tsconfig.prod.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist", 5 | "rootDir": "./src" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | --------------------------------------------------------------------------------